linux/arch/mips/include/asm
Markos Chandras cccf34e941 MIPS: c-r4k: Fix cache flushing for MT cores
MT_SMP is not the only SMP option for MT cores. The MT_SMP option
allows more than one VPE per core to appear as a secondary CPU in the
system. Because of how CM works, it propagates the address-based
cache ops to the secondary cores but not the index-based ones.
Because of that, the code does not use IPIs to flush the L1 caches on
secondary cores because the CM would have done that already. However,
the CM functionality is independent of the type of SMP kernel so even in
non-MT kernels, IPIs are not necessary. As a result of which, we change
the conditional to depend on the CM presence. Moreover, since VPEs on
the same core share the same L1 caches, there is no need to send an
IPI on all of them so we calculate a suitable cpumask with only one
VPE per core.

Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Cc: <stable@vger.kernel.org> # 3.15+
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/10654/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2015-07-10 10:59:16 +02:00
..
dec
emma
fw
ip32
lasat
mach-ar7
mach-ath25
mach-ath79 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2015-06-27 12:44:34 -07:00
mach-au1x00
mach-bcm47xx MIPS: BCM47XX: Support Luxul XWR-1750 board 2015-06-21 21:53:53 +02:00
mach-bcm63xx MIPS: BCM63xx: Utilize asm/bmips-spaces.h 2015-06-21 21:53:32 +02:00
mach-bmips MIPS: BMIPS: Define BMIPS_FIXADDR_TOP in asm/bmips-spaces.h 2015-06-21 21:53:30 +02:00
mach-cavium-octeon
mach-cobalt
mach-db1x00
mach-dec MIPS: DEC: Update CPU overrides 2015-06-21 21:52:44 +02:00
mach-emma2rh
mach-generic MIPS: Fix KVM guest fixmap address 2015-06-21 21:53:54 +02:00
mach-ip22
mach-ip27 MIPS: IP27: Update/restructure CPU overrides 2015-06-21 21:54:13 +02:00
mach-ip28
mach-ip32
mach-jazz
mach-jz4740 MIPS: ingenic: Initial JZ4780 support 2015-06-21 21:53:26 +02:00
mach-lantiq
mach-lasat
mach-loongson32 MIPS: Loongson: Naming style cleanup and rework 2015-06-21 21:53:59 +02:00
mach-loongson64 MIPS, CPUFREQ: Fix spelling of Institute. 2015-07-07 20:59:42 +02:00
mach-malta
mach-netlogic
mach-paravirt
mach-pistachio
mach-pmcs-msp71xx
mach-pnx833x
mach-ralink
mach-rc32434
mach-rm
mach-sead3
mach-sibyte
mach-tx39xx
mach-tx49xx
mach-vr41xx
mips-boards
netlogic
octeon
pci
sgi
sibyte
sn
txx9
vr41xx
xtalk MIPS: Xtalk: Update xwidget.h with known Xtalk device numbers 2015-06-21 21:54:21 +02:00
Kbuild remove scatterlist.h generation from arch Kbuild files 2015-05-19 09:14:34 -06:00
abi.h
addrspace.h
amon.h
arch_hweight.h
asm-eva.h
asm-offsets.h
asm.h
asmmacro-32.h
asmmacro-64.h
asmmacro.h MIPS: asmmacro: Ensure 64-bit FP registers are used with MSA 2015-06-24 14:45:17 +02:00
atomic.h
barrier.h locking/arch: Rename set_mb() to smp_store_mb() 2015-05-19 08:32:00 +02:00
bcache.h
bitops.h MIPS: Replace smp_mb with release barrier function in unlocks. 2015-06-21 21:54:30 +02:00
bmips-spaces.h MIPS: BMIPS: Define BMIPS_FIXADDR_TOP in asm/bmips-spaces.h 2015-06-21 21:53:30 +02:00
bmips.h
bootinfo.h
branch.h
break.h
bug.h
bugs.h
cache.h
cacheflush.h
cacheops.h
cdmm.h
cevt-r4k.h
checksum.h
clkdev.h
clock.h
cmp.h
cmpxchg.h arch: Remove __ARCH_HAVE_CMPXCHG 2015-05-13 10:55:42 +02:00
compat-signal.h
compat.h
compiler.h
cop2.h
cpu-features.h MIPS: R12000: Enable branch prediction global history 2015-06-21 21:54:13 +02:00
cpu-info.h
cpu-type.h MIPS: ingenic: Initial JZ4780 support 2015-06-21 21:53:26 +02:00
cpu.h MIPS: R12000: Enable branch prediction global history 2015-06-21 21:54:13 +02:00
debug.h
delay.h
device.h
div64.h
dma-coherence.h
dma-mapping.h remove <asm/scatterlist.h> 2015-05-05 13:35:39 -06:00
dma.h
ds1287.h
dsp.h
edac.h EDAC: Cleanup atomic_scrub mess 2015-05-28 15:31:53 +02:00
elf.h MIPS: Fix a preemption issue with thread's FPU defaults 2015-05-12 23:15:49 +02:00
errno.h
eva.h
exec.h
fb.h
fixmap.h
floppy.h
fpregdef.h
fpu.h
fpu_emulator.h
ftrace.h
futex.h
gio_device.h
gpio.h
gt64120.h
hardirq.h
hazards.h MIPS: hazards: Add hazard macros for tlb read 2015-06-21 21:52:28 +02:00
highmem.h
hpet.h
hugetlb.h mm/hugetlb: remove arch_prepare/release_hugepage from arch headers 2015-06-25 17:00:35 -07:00
hw_irq.h
i8259.h MIPS: i8259: DT support 2015-06-21 21:54:29 +02:00
ide.h
idle.h
inst.h
io.h
irq.h
irq_cpu.h
irq_gt641xx.h
irq_regs.h
irqflags.h MIPS/IRQCHIP: Move irq_chip from arch/mips to drivers/irqchip. 2015-06-21 21:52:50 +02:00
isadep.h
jazz.h
jazzdma.h
jump_label.h
kdebug.h
kexec.h
kgdb.h MIPS: Get rid of 'kgdb_early_setup' cruft. 2015-06-21 21:54:10 +02:00
kmap_types.h
kprobes.h
kvm_host.h KVM: add memslots argument to kvm_arch_memslots_updated 2015-05-26 12:40:17 +02:00
kvm_para.h
linkage.h
local.h
m48t37.h
maar.h
mc146818-time.h
mc146818rtc.h
mips-cm.h MIPS: include errno.h for ENODEV in mips-cm.h 2015-06-21 21:54:28 +02:00
mips-cpc.h
mips-r2-to-r6-emul.h
mips_machine.h
mips_mt.h
mipsmtregs.h
mipsprom.h
mipsregs.h MIPS: R12000: Enable branch prediction global history 2015-06-21 21:54:13 +02:00
mm-arch-hooks.h mm: new mm hook framework 2015-06-24 17:49:41 -07:00
mmu.h
mmu_context.h
mmzone.h
module.h
msa.h
msc01_ic.h
nile4.h
paccess.h
page.h
pci.h Merge branch 'for-4.2/sg' of git://git.kernel.dk/linux-block 2015-06-25 15:22:36 -07:00
perf_event.h
pgalloc.h
pgtable-32.h MIPS: BCM77xx: Remove legacy __cpuinit{,data} sections that crept in 2015-06-21 21:53:42 +02:00
pgtable-64.h
pgtable-bits.h MIPS: pgtable-bits: Fix XPA damage to R6 definitions. 2015-06-09 10:45:05 +02:00
pgtable.h mm: clarify that the function operates on hugepage pte 2015-06-24 17:49:44 -07:00
pm-cps.h
pm.h
pmon.h
prefetch.h
processor.h
prom.h MIPS: prepare for user enabling of CONFIG_OF 2015-06-21 21:54:14 +02:00
ptrace.h
r4k-timer.h
r4kcache.h
reboot.h
reg.h
regdef.h
rtlx.h
seccomp.h
setup.h
sgialib.h
sgiarcs.h
shmparam.h
sigcontext.h
signal.h
sim.h
smp-cps.h
smp-ops.h
smp.h MIPS: c-r4k: Fix cache flushing for MT cores 2015-07-10 10:59:16 +02:00
sni.h
socket.h
sparsemem.h
spinlock.h MIPS: spinlock: Adjust arch_spin_lock back-off time 2015-06-24 14:57:46 +02:00
spinlock_types.h
spram.h
stackframe.h
stackprotector.h
stacktrace.h
string.h
switch_to.h MIPS: MSA: bugfix - disable MSA correctly for new threads/processes. 2015-06-10 11:24:53 +02:00
syscall.h
termios.h
thread_info.h
time.h
timex.h
tlb.h
tlbdebug.h
tlbflush.h
tlbmisc.h
topology.h sched/topology: Rename topology_thread_cpumask() to topology_sibling_cpumask() 2015-05-27 15:22:15 +02:00
traps.h
txx9irq.h MIPS/IRQCHIP: Move irq_chip from arch/mips to drivers/irqchip. 2015-06-21 21:52:50 +02:00
txx9pio.h
txx9tmr.h
types.h
uaccess.h Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2015-06-27 12:44:34 -07:00
uasm.h
unaligned.h
unistd.h
vdso.h
vga.h
vpe.h
war.h
watch.h
wbflush.h