summaryrefslogtreecommitdiffstats
path: root/arch/arc/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-12-19 01:26:41 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2014-12-19 01:26:41 +0100
commit22943a6a6ba3bbbf5cc11cec409e779374e88107 (patch)
tree9cd343f44c81bc0ca404948707a05604ccbc90ec /arch/arc/include
parentMerge tag 'nios2-fixes-v3.19' of git://git.rocketboards.org/linux-socfpga-next (diff)
parentARC: rename default defconfig (diff)
downloadlinux-22943a6a6ba3bbbf5cc11cec409e779374e88107.tar.xz
linux-22943a6a6ba3bbbf5cc11cec409e779374e88107.zip
Merge tag 'arc-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc
Pull arch/arc updates from Vineet Gupta: "Minor updates for ARC for 3.19" * tag 'arc-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: ARC: rename default defconfig ARC: [nsimosci] move peripherals to match model to FPGA ARC: document memory clobber in irq control macros ARC: R-M-W assist locks only needed for !LLSC ARC: add power management options
Diffstat (limited to 'arch/arc/include')
-rw-r--r--arch/arc/include/asm/irqflags.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arc/include/asm/irqflags.h b/arch/arc/include/asm/irqflags.h
index 742816f1b210..27ecc6975a58 100644
--- a/arch/arc/include/asm/irqflags.h
+++ b/arch/arc/include/asm/irqflags.h
@@ -41,6 +41,15 @@
/******************************************************************
* IRQ Control Macros
+ *
+ * All of them have "memory" clobber (compiler barrier) which is needed to
+ * ensure that LD/ST requiring irq safetly (R-M-W when LLSC is not available)
+ * are redone after IRQs are re-enabled (and gcc doesn't reuse stale register)
+ *
+ * Noted at the time of Abilis Timer List corruption
+ * Orig Bug + Rejected solution : https://lkml.org/lkml/2013/3/29/67
+ * Reasoning : https://lkml.org/lkml/2013/4/8/15
+ *
******************************************************************/
/*