linux/arch/arc
Vineet Gupta a5c8b52abe ARCv2: STAR 9000837815 workaround hardware exclusive transactions livelock
A quad core SMP build could get into hardware livelock with concurrent
LLOCK/SCOND. Workaround that by adding a PREFETCHW which is serialized by
SCU (System Coherency Unit). It brings the cache line in Exclusive state
and makes others invalidate their lines. This gives enough time for
winner to complete the LLOCK/SCOND, before others can get the line back.

The prefetchw in the ll/sc loop is not nice but this is the only
software workaround for current version of RTL.

Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2015-06-25 06:00:18 +05:30
..
boot ARC: [axs101] STAR 9000799830: Fix SD cards support 2015-06-19 18:09:31 +05:30
configs ARC: [axs101] Add support for AXS101 SDP (software development platform) 2015-06-19 18:09:30 +05:30
include ARCv2: STAR 9000837815 workaround hardware exclusive transactions livelock 2015-06-25 06:00:18 +05:30
kernel ARCv2: SMP: intc: IDU 2nd level intc for dynamic IRQ distribution 2015-06-22 14:06:57 +05:30
lib ARCv2: Adhere to Zero Delay loop restriction 2015-06-22 14:06:56 +05:30
mm ARCv2: MMUv4: support aliasing icache config 2015-06-22 14:06:56 +05:30
oprofile ARC: OProfile support 2013-02-15 23:16:00 +05:30
plat-axs10x ARC: [axs101] Add missing __init annotations 2015-06-19 18:09:32 +05:30
plat-sim ARCv2: SMP: Support ARConnect (MCIP) for Inter-Core-Interrupts et al 2015-06-22 14:06:56 +05:30
plat-tb10x ARC: [plat*] move code out of .init_machine into common 2014-10-13 14:46:13 +05:30
Kbuild
Kconfig ARCv2: SMP: clocksource: Enable Global Real Time counter 2015-06-22 14:06:57 +05:30
Kconfig.debug ARC: With earlycon in use, retire EARLY_PRINTK 2015-05-11 11:20:21 +05:30
Makefile ARCv2: Support for ARCv2 ISA and HS38x cores 2015-06-22 14:06:55 +05:30