Skip to content

Commit 3bd6e58

Browse files
committed
Merge tag 'asm-generic-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic
Pull asm-generic updates from Arnd Bergmann: "There are three independent sets of changes: - Sai Prakash Ranjan adds tracing support to the asm-generic version of the MMIO accessors, which is intended to help understand problems with device drivers and has been part of Qualcomm's vendor kernels for many years - A patch from Sebastian Siewior to rework the handling of IRQ stacks in softirqs across architectures, which is needed for enabling PREEMPT_RT - The last patch to remove the CONFIG_VIRT_TO_BUS option and some of the code behind that, after the last users of this old interface made it in through the netdev, scsi, media and staging trees" * tag 'asm-generic-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic: uapi: asm-generic: fcntl: Fix typo 'the the' in comment arch/*/: remove CONFIG_VIRT_TO_BUS soc: qcom: geni: Disable MMIO tracing for GENI SE serial: qcom_geni_serial: Disable MMIO tracing for geni serial asm-generic/io: Add logging support for MMIO accessors KVM: arm64: Add a flag to disable MMIO trace for nVHE KVM lib: Add register read/write tracing support drm/meson: Fix overflow implicit truncation warnings irqchip/tegra: Fix overflow implicit truncation warnings coresight: etm4x: Use asm-generic IO memory barriers arm64: io: Use asm-generic high level MMIO accessors arch/*: Disable softirq stacks on PREEMPT_RT.
2 parents fad235e + 6f05e01 commit 3bd6e58

File tree

49 files changed

+314
-377
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+314
-377
lines changed

Documentation/core-api/bus-virt-phys-mapping.rst

Lines changed: 0 additions & 220 deletions
This file was deleted.

Documentation/core-api/dma-api-howto.rst

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -707,20 +707,6 @@ to use the dma_sync_*() interfaces::
707707
}
708708
}
709709

710-
Drivers converted fully to this interface should not use virt_to_bus() any
711-
longer, nor should they use bus_to_virt(). Some drivers have to be changed a
712-
little bit, because there is no longer an equivalent to bus_to_virt() in the
713-
dynamic DMA mapping scheme - you have to always store the DMA addresses
714-
returned by the dma_alloc_coherent(), dma_pool_alloc(), and dma_map_single()
715-
calls (dma_map_sg() stores them in the scatterlist itself if the platform
716-
supports dynamic DMA mapping in hardware) in your driver structures and/or
717-
in the card registers.
718-
719-
All drivers should be using these interfaces with no exceptions. It
720-
is planned to completely remove virt_to_bus() and bus_to_virt() as
721-
they are entirely deprecated. Some ports already do not provide these
722-
as it is impossible to correctly support them.
723-
724710
Handling Errors
725711
===============
726712

Documentation/core-api/index.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ Library functionality that is used throughout the kernel.
4141
rbtree
4242
generic-radix-tree
4343
packing
44-
bus-virt-phys-mapping
4544
this_cpu_ops
4645
timekeeping
4746
errseq

Documentation/translations/zh_CN/core-api/index.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ Todolist:
5353
circular-buffers
5454
generic-radix-tree
5555
packing
56-
bus-virt-phys-mapping
5756
this_cpu_ops
5857
timekeeping
5958
errseq

arch/Kconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1406,6 +1406,9 @@ config ARCH_HAS_ELFCORE_COMPAT
14061406
config ARCH_HAS_PARANOID_L1D_FLUSH
14071407
bool
14081408

1409+
config ARCH_HAVE_TRACE_MMIO_ACCESS
1410+
bool
1411+
14091412
config DYNAMIC_SIGFRAME
14101413
bool
14111414

arch/alpha/Kconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ config ALPHA
1717
select HAVE_PERF_EVENTS
1818
select NEED_DMA_MAP_STATE
1919
select NEED_SG_DMA_LENGTH
20-
select VIRT_TO_BUS
2120
select GENERIC_IRQ_PROBE
2221
select GENERIC_PCI_IOMAP
2322
select AUTO_IRQ_AFFINITY if SMP

arch/alpha/include/asm/floppy.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
#define fd_free_dma() free_dma(FLOPPY_DMA)
2121
#define fd_clear_dma_ff() clear_dma_ff(FLOPPY_DMA)
2222
#define fd_set_dma_mode(mode) set_dma_mode(FLOPPY_DMA,mode)
23-
#define fd_set_dma_addr(addr) set_dma_addr(FLOPPY_DMA,virt_to_bus(addr))
23+
#define fd_set_dma_addr(addr) set_dma_addr(FLOPPY_DMA,isa_virt_to_bus(addr))
2424
#define fd_set_dma_count(count) set_dma_count(FLOPPY_DMA,count)
2525
#define fd_enable_irq() enable_irq(FLOPPY_IRQ)
2626
#define fd_disable_irq() disable_irq(FLOPPY_IRQ)

arch/alpha/include/asm/io.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,15 +106,15 @@ static inline void * phys_to_virt(unsigned long address)
106106
extern unsigned long __direct_map_base;
107107
extern unsigned long __direct_map_size;
108108

109-
static inline unsigned long __deprecated virt_to_bus(volatile void *address)
109+
static inline unsigned long __deprecated isa_virt_to_bus(volatile void *address)
110110
{
111111
unsigned long phys = virt_to_phys(address);
112112
unsigned long bus = phys + __direct_map_base;
113113
return phys <= __direct_map_size ? bus : 0;
114114
}
115-
#define isa_virt_to_bus virt_to_bus
115+
#define isa_virt_to_bus isa_virt_to_bus
116116

117-
static inline void * __deprecated bus_to_virt(unsigned long address)
117+
static inline void * __deprecated isa_bus_to_virt(unsigned long address)
118118
{
119119
void *virt;
120120

@@ -125,7 +125,7 @@ static inline void * __deprecated bus_to_virt(unsigned long address)
125125
virt = phys_to_virt(address);
126126
return (long)address <= 0 ? NULL : virt;
127127
}
128-
#define isa_bus_to_virt bus_to_virt
128+
#define isa_bus_to_virt isa_bus_to_virt
129129

130130
/*
131131
* There are different chipsets to interface the Alpha CPUs to the world.

arch/arm/kernel/irq.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ static void __init init_irq_stacks(void)
7070
}
7171
}
7272

73+
#ifndef CONFIG_PREEMPT_RT
7374
static void ____do_softirq(void *arg)
7475
{
7576
__do_softirq();
@@ -80,7 +81,7 @@ void do_softirq_own_stack(void)
8081
call_with_stack(____do_softirq, NULL,
8182
__this_cpu_read(irq_stack_ptr));
8283
}
83-
84+
#endif
8485
#endif
8586

8687
int arch_show_interrupts(struct seq_file *p, int prec)

arch/arm64/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ config ARM64
4949
select ARCH_HAS_ZONE_DMA_SET if EXPERT
5050
select ARCH_HAVE_ELF_PROT
5151
select ARCH_HAVE_NMI_SAFE_CMPXCHG
52+
select ARCH_HAVE_TRACE_MMIO_ACCESS
5253
select ARCH_INLINE_READ_LOCK if !PREEMPTION
5354
select ARCH_INLINE_READ_LOCK_BH if !PREEMPTION
5455
select ARCH_INLINE_READ_LOCK_IRQ if !PREEMPTION

0 commit comments

Comments
 (0)