linux-stable/arch/mips/include/asm
Will Deacon 346e91ee09 mips/mmiowb: Add unconditional mmiowb() to arch_spin_unlock()
The mmiowb() macro is horribly difficult to use and drivers will continue
to work most of the time if they omit a call when it is required.

Rather than rely on driver authors getting this right, push mmiowb() into
arch_spin_unlock() for mips. If this is deemed to be a performance issue,
a subsequent optimisation could make use of ARCH_HAS_MMIOWB to elide
the barrier in cases where no I/O writes were performed inside the
critical section.

Acked-by: Paul Burton <paul.burton@mips.com>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2019-04-08 12:00:28 +01:00
..
dec
emma
fw License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ip32
lasat License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mach-ar7 MIPS: Make (UN)CAC_ADDR() PHYS_OFFSET-agnostic 2018-07-30 10:27:20 -07:00
mach-ath25 MIPS: ath25: use generic dma noncoherent ops 2018-06-24 09:27:27 -07:00
mach-ath79 Here's the main MIPS pull request for v5.1: 2019-03-05 11:28:25 -08:00
mach-au1x00 MIPS: Alchemy: update cpu-feature-overrides 2018-12-23 07:58:26 -08:00
mach-bcm47xx MIPS: BCM47XX: Add support for Netgear WNR1000 V3 2018-04-23 16:39:34 +01:00
mach-bcm63xx MIPS: BCM63XX: drop unused and broken DSP platform device 2018-12-31 07:12:35 -08:00
mach-bmips MIPS: bmips: use generic dma noncoherent ops 2018-06-24 09:27:27 -07:00
mach-cavium-octeon MIPS: Octeon: move swiotlb declarations out of dma-coherence.h 2018-06-24 09:26:03 -07:00
mach-cobalt MIPS16e2: Provide feature overrides for non-MIPS16 systems 2017-07-11 14:13:06 +02:00
mach-db1x00 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mach-dec MIPS16e2: Provide feature overrides for non-MIPS16 systems 2017-07-11 14:13:06 +02:00
mach-emma2rh
mach-generic MIPS: Only include mmzone.h when CONFIG_NEED_MULTIPLE_NODES=y 2018-11-21 19:54:59 -08:00
mach-ip22 MIPS16e2: Provide feature overrides for non-MIPS16 systems 2017-07-11 14:13:06 +02:00
mach-ip27 MIPS: SGI-IP27: rework HUB interrupts 2019-02-19 12:46:03 -08:00
mach-ip28 MIPS16e2: Provide feature overrides for non-MIPS16 systems 2017-07-11 14:13:06 +02:00
mach-ip32 MIPS: IP32: use generic dma noncoherent ops 2018-06-24 09:27:27 -07:00
mach-jazz MIPS: jazz: split dma mapping operations from dma-default 2018-06-24 09:27:27 -07:00
mach-jz4740 mmc: jz4740: Use GPIO descriptor for power 2018-12-17 08:26:24 +01:00
mach-lantiq MIPS: lantiq: Use CP0_LEGACY_COMPARE_IRQ 2019-01-07 13:38:35 -08:00
mach-lasat License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mach-loongson32 MIPS: Loongson32: Remove unused platform devices 2019-01-22 11:17:21 -08:00
mach-loongson64 Kconfig file consolidation for v4.21 2018-12-29 13:40:29 -08:00
mach-malta Update MIPS email addresses 2017-11-03 09:02:30 -07:00
mach-netlogic MIPS16e2: Provide feature overrides for non-MIPS16 systems 2017-07-11 14:13:06 +02:00
mach-paravirt MIPS: paravirt: Fix undefined reference to smp_bootstrap 2016-09-13 16:45:15 +02:00
mach-pic32 MIPS: Make (UN)CAC_ADDR() PHYS_OFFSET-agnostic 2018-07-30 10:27:20 -07:00
mach-pistachio
mach-pmcs-msp71xx
mach-pnx833x
mach-ralink License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mach-rc32434 ata: rb532_cf: Convert to use GPIO descriptors 2018-12-04 17:15:25 -07:00
mach-rm MIPS16e2: Provide feature overrides for non-MIPS16 systems 2017-07-11 14:13:06 +02:00
mach-sibyte MIPS16e2: Provide feature overrides for non-MIPS16 systems 2017-07-11 14:13:06 +02:00
mach-tx39xx License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mach-tx49xx License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mach-vr41xx License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mach-xilfpga MIPS: xilfpga: Add mipsfpga platform code 2015-11-11 08:38:44 +01:00
mips-boards License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
netlogic MIPS: netlogic: xlr: Remove erroneous check in nlm_fmn_send() 2018-08-08 09:48:32 -07:00
octeon MIPS: OCTEON: program rx/tx-delay always from DT 2019-02-07 15:22:38 -08:00
pci MIPS: SGI-IP27: rework HUB interrupts 2019-02-19 12:46:03 -08:00
sgi License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sibyte MIPS: BCM1480: bcm1480_regs.h: strip redundant comments 2016-05-13 14:02:13 +02:00
sn MIPS: SGI-IP27: clean up bridge access and header files 2019-02-19 12:46:02 -08:00
txx9 JFFS2 changes: 2018-08-14 10:57:44 -07:00
vr41xx gpio: vr41xx: Delete vr41xx_gpio_pullupdown() callback 2018-09-17 10:55:24 -07:00
xtalk
abi.h signals: Prepare to split out <linux/signal_types.h> from <linux/signal.h> 2017-03-02 08:42:37 +01:00
addrspace.h MIPS: Adjust MIPS64 CAC_BASE to reflect Config.K0 2016-10-06 18:02:35 +02:00
amon.h
arch_hweight.h
asm-eva.h MIPS: Add kernel_pref & user_pref helpers 2018-10-15 23:11:13 -07:00
asm-offsets.h
asm-prototypes.h MIPS: Export tlbmiss_handler_setup_pgd near its definition 2018-08-10 17:27:51 -07:00
asm.h MIPS: Remove unused PREF, PREFE & PREFX macros 2018-10-15 23:11:14 -07:00
asmmacro-32.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
asmmacro-64.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
asmmacro.h MIPS: Fix odd fp register warnings with MIPS64r2 2017-11-10 20:58:56 +00:00
atomic.h MIPS: Loongson: Introduce and use loongson_llsc_mb() 2019-02-04 10:53:34 -08:00
barrier.h Here's the main MIPS pull request for v5.1: 2019-03-05 11:28:25 -08:00
bcache.h
bitops.h MIPS: Loongson: Introduce and use loongson_llsc_mb() 2019-02-04 10:53:34 -08:00
bitrev.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bmips-spaces.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bmips.h MIPS: bmips: use generic dma noncoherent ops 2018-06-24 09:27:27 -07:00
bootinfo.h MIPS: platform: add machtype IDs for more Ingenic SoCs 2018-01-18 22:07:16 +00:00
branch.h MIPS: Fix unaligned PC interpretation in `compute_return_epc' 2017-06-29 02:42:26 +02:00
break.h
bug.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bugs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cache.h Revert "MIPS: Don't unnecessarily include kmalloc.h into <asm/cache.h>." 2017-08-07 12:01:17 +02:00
cacheflush.h MIPS: Delete unused flush_cache_sigtramp() 2019-02-07 12:59:45 -08:00
cacheops.h MIPS: Loongson: Add Loongson-3A R2 basic support 2016-05-13 14:02:14 +02:00
cdmm.h
cevt-r4k.h
checksum.h Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
clock.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
clocksource.h MIPS: VDSO: Add implementations of gettimeofday() and clock_gettime() 2015-11-11 08:36:41 +01:00
cmp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cmpxchg.h MIPS: Fix set_pte() for Netlogic XLR using cmpxchg64() 2019-02-06 14:59:24 -08:00
compat-signal.h Merge branch 'misc.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2017-11-17 11:54:55 -08:00
compat.h asm-generic: Move common compat types to asm-generic/compat.h 2018-08-29 15:42:20 +02:00
compiler.h MIPS: Simplify GCC_OFF_SMALL_ASM definition 2018-11-07 16:26:42 -08:00
cop2.h
cpu-features.h MIPS: MemoryMapID (MMID) Support 2019-02-04 10:56:41 -08:00
cpu-info.h MIPS: Expand MIPS32 ASIDs to 64 bits 2018-12-05 14:46:44 -08:00
cpu-type.h MIPS: Remove unused R6000 support 2017-08-29 15:21:51 +02:00
cpu.h MIPS: MemoryMapID (MMID) Support 2019-02-04 10:56:41 -08:00
cpufeature.h MIPS: Enable GENERIC_CPU_AUTOPROBE 2017-04-10 11:56:04 +02:00
debug.h
delay.h
div64.h
dma-coherence.h dma-mapping: move the dma_coherent flag to struct device 2018-09-20 09:01:15 +02:00
dma-direct.h MIPS: consolidate the swiotlb implementations 2018-06-24 09:26:03 -07:00
dma-mapping.h dma-mapping: add a kconfig symbol for arch_setup_dma_ops availability 2019-02-13 19:12:33 +01:00
dma.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ds1287.h
dsemul.h MIPS: Don't compile math-emu when CONFIG_MIPS_FP_SUPPORT=n 2018-11-09 10:23:18 -08:00
dsp.h
edac.h MIPS: Avoid using .set mips0 to restore ISA 2018-11-09 10:23:19 -08:00
elf.h MIPS: Avoid FP ELF checks when CONFIG_MIPS_FP_SUPPORT=n 2018-11-09 10:23:18 -08:00
errno.h
eva.h
exec.h
extable.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fb.h
fixmap.h
floppy.h MIPS: Don't use dma_cache_sync to implement fd_cacheflush 2017-08-30 00:57:29 +02:00
fpregdef.h
fpu.h MIPS: Stub asm/fpu.h functions 2018-11-09 10:23:15 -08:00
fpu_emulator.h MIPS: Simplify FP context initialization 2018-11-09 10:23:13 -08:00
ftrace.h
futex.h MIPS: Loongson: Introduce and use loongson_llsc_mb() 2019-02-04 10:53:34 -08:00
ginvt.h MIPS: Add GINVT instruction helpers 2019-02-04 10:56:35 -08:00
gio_device.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
gt64120.h
hardirq.h
hazards.h MIPS: Avoid using .set mips0 to restore ISA 2018-11-09 10:23:19 -08:00
highmem.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hpet.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hugetlb.h hugetlb: introduce generic version of huge_ptep_get 2018-10-26 16:26:34 -07:00
hw_irq.h
i8259.h MIPS: IRQ: Remove useless i8259_of_init() prototype. 2017-01-03 16:34:48 +01:00
ide.h
idle.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
inst.h
io.h mips/mmiowb: Add unconditional mmiowb() to arch_spin_unlock() 2019-04-08 12:00:28 +01:00
irq.h MIPS: Fix minimum alignment requirement of IRQ stack 2017-07-11 14:13:06 +02:00
irq_cpu.h
irq_gt641xx.h
irq_regs.h MIPS: Select CONFIG_HANDLE_DOMAIN_IRQ and make it work. 2016-05-13 14:01:40 +02:00
irqflags.h MIPS: Loongson32: workaround di issue 2019-01-22 17:32:01 -08:00
isa-rev.h MIPS: Introduce isa-rev.h to define MIPS_ISA_REV 2018-03-09 11:22:45 +00:00
isadep.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
jazz.h
jazzdma.h mips/jazz: remove the mapping_error dma_map_ops method 2018-12-06 06:56:38 -08:00
jump_label.h MIPS: Fix kernel crash for R6 in jump label branch function 2019-03-11 11:11:11 -07:00
Kbuild mips/mmiowb: Add unconditional mmiowb() to arch_spin_unlock() 2019-04-08 12:00:28 +01:00
kdebug.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
kexec.h MIPS: kexec: Relax memory restriction 2018-09-22 10:32:34 -07:00
kgdb.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
kmap_types.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
kprobes.h MIPS/kprobes: Remove jprobe implementation 2018-06-21 12:33:09 +02:00
kvm_host.h KVM: Call kvm_arch_memslots_updated() before updating memslots 2019-02-20 22:48:32 +01:00
kvm_para.h KVM: Introduce paravirtualization hints and KVM_HINTS_DEDICATED 2018-03-06 18:40:44 +01:00
linkage.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
llsc.h MIPS: Move definitions for 32/64-bit agonstic inline assembler to new file. 2016-05-09 12:00:05 +02:00
local.h MIPS: Avoid using .set mips0 to restore ISA 2018-11-09 10:23:19 -08:00
m48t37.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
maar.h Update MIPS email addresses 2017-11-03 09:02:30 -07:00
machine.h MIPS: generic: Fix machine compatible matching 2018-02-05 10:37:48 +00:00
mc146818-time.h MIPS: Convert read_persistent_clock() to read_persistent_clock64() 2018-05-14 23:58:23 +01:00
mc146818rtc.h
mips-cm.h Update MIPS email addresses 2017-11-03 09:02:30 -07:00
mips-cpc.h Update MIPS email addresses 2017-11-03 09:02:30 -07:00
mips-cps.h Update MIPS email addresses 2017-11-03 09:02:30 -07:00
mips-gic.h Update MIPS email addresses 2017-11-03 09:02:30 -07:00
mips-r2-to-r6-emul.h MIPS: traps: Correct the SIGTRAP debug ABI in do_watch' and do_trap_or_bp' 2016-04-03 12:32:09 +02:00
mips_machine.h
mips_mt.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mipsmtregs.h MIPS: Avoid using .set mips0 to restore ISA 2018-11-09 10:23:19 -08:00
mipsprom.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mipsregs.h MIPS: MemoryMapID (MMID) Support 2019-02-04 10:56:41 -08:00
mmiowb.h mips/mmiowb: Add unconditional mmiowb() to arch_spin_unlock() 2019-04-08 12:00:28 +01:00
mmu.h MIPS: MemoryMapID (MMID) Support 2019-02-04 10:56:41 -08:00
mmu_context.h MIPS: MemoryMapID (MMID) Support 2019-02-04 10:56:41 -08:00
mmzone.h MIPS: Only include mmzone.h when CONFIG_NEED_MULTIPLE_NODES=y 2018-11-21 19:54:59 -08:00
module.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
msa.h MIPS: MSA: Update helpers to use new asm macros 2018-01-22 20:52:27 +00:00
msc01_ic.h
nile4.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
paccess.h
page.h MIPS: Enable IOREMAP_PROT config option for MIPS cpus 2018-11-05 10:15:28 -08:00
pci.h PCI: remove PCI_DMA_BUS_IS_PHYS 2018-05-07 07:15:41 +02:00
perf_event.h
pgalloc.h mm: treewide: remove unused address argument from pte_alloc functions 2019-01-04 13:13:47 -08:00
pgtable-32.h MIPS: mm: adjust PKMAP location 2017-06-08 14:51:58 +02:00
pgtable-64.h MIPS: Ensure pmd_present() returns false after pmd_mknotpresent() 2018-11-20 21:05:39 -08:00
pgtable-bits.h MIPS: Allow RIXI to be used on non-R2 or R6 cores 2016-05-13 15:30:25 +02:00
pgtable.h MIPS: Fix set_pte() for Netlogic XLR using cmpxchg64() 2019-02-06 14:59:24 -08:00
pm-cps.h Update MIPS email addresses 2017-11-03 09:02:30 -07:00
pm.h
pmon.h
prefetch.h
processor.h MIPS: Remove struct task_struct fpu state when CONFIG_MIPS_FP_SUPPORT=n 2018-11-09 10:23:19 -08:00
prom.h
ptrace.h MIPS: ptrace: Fix regs_return_value for kernel context 2016-10-12 14:34:45 +02:00
r4k-timer.h
r4kcache.h MIPS: c-r4k: Add r4k_blast_scache_node for Loongson-3 2018-11-20 21:04:17 -08:00
reboot.h
reg.h
regdef.h
rtlx.h
seccomp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
serial.h MIPS: Add custom serial.h with BASE_BAUD override for generic kernel 2017-11-28 16:53:24 +01:00
setup.h mips: unify prom_putchar() declarations 2018-07-17 09:40:17 -07:00
sgialib.h mips: unify prom_putchar() declarations 2018-07-17 09:40:17 -07:00
sgiarcs.h MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
shmparam.h
sigcontext.h
signal.h Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2016-08-06 09:13:11 -04:00
sim.h MIPS: Remove nabi_no_regargs 2018-08-01 13:20:15 -07:00
smp-cps.h Update MIPS email addresses 2017-11-03 09:02:30 -07:00
smp-ops.h MIPS: SGI-IP27: do boot CPU init later 2019-02-19 12:46:03 -08:00
smp.h MIPS: kexec: Make a framework for both jumping and halting on nonboot CPUs 2018-09-22 10:31:50 -07:00
sni.h
socket.h
sparsemem.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
spinlock.h mips/mmiowb: Add unconditional mmiowb() to arch_spin_unlock() 2019-04-08 12:00:28 +01:00
spinlock_types.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
spram.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
stackframe.h MIPS: Avoid using .set mips0 to restore ISA 2018-11-09 10:23:19 -08:00
stackprotector.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
stacktrace.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
string.h
switch_to.h MIPS: Avoid FCSR sanitization when CONFIG_MIPS_FP_SUPPORT=n 2018-11-09 10:23:18 -08:00
syscall.h mips: fix mips_get_syscall_arg o32 check 2018-11-21 11:21:52 -08:00
termios.h Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
thread_info.h Construct init thread stack in the linker script rather than by union 2018-01-09 23:21:02 +00:00
time.h MIPS: Convert update_persistent_clock() to update_persistent_clock64() 2018-05-14 23:58:23 +01:00
timex.h
tlb.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tlbdebug.h
tlbex.h MIPS: Consistently declare TLB functions 2018-08-10 17:27:53 -07:00
tlbflush.h MIPS: mm: Remove local_flush_tlb_mm() 2019-02-04 10:56:24 -08:00
tlbmisc.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
topology.h MIPS: Abstract CPU core & VP(E) ID access through accessor functions 2017-08-30 00:57:26 +02:00
traps.h
txx9irq.h
txx9pio.h
txx9tmr.h
types.h
uaccess.h get rid of legacy 'get_ds()' function 2019-03-04 10:50:14 -08:00
uasm.h mips: bpf: implement jitting of BPF_ALU | BPF_ARSH | BPF_X 2018-12-07 13:30:48 -08:00
unistd.h y2038: rename old time and utime syscalls 2019-02-07 00:13:28 +01:00
uprobes.h uprobes: remove function declarations from arch/{mips,s390} 2016-10-07 18:46:30 -07:00
vdso.h locking/atomics: COCCINELLE/treewide: Convert trivial ACCESS_ONCE() patterns to READ_ONCE()/WRITE_ONCE() 2017-10-25 11:01:08 +02:00
vga.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vpe.h
war.h
watch.h MIPS: Fix watchpoint restoration 2016-05-09 12:00:02 +02:00
wbflush.h
yamon-dt.h Update MIPS email addresses 2017-11-03 09:02:30 -07:00