summaryrefslogtreecommitdiffstats
path: root/arch/arc/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-12-18 16:26:41 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2014-12-18 16:26:41 -0800
commit22943a6a6ba3bbbf5cc11cec409e779374e88107 (patch)
tree9cd343f44c81bc0ca404948707a05604ccbc90ec /arch/arc/include
parent39757e7351f874a614a46d634c415ca69e154e53 (diff)
parent7a70bf797a587205991b8e3153d764561de867de (diff)
downloadblackbird-op-linux-22943a6a6ba3bbbf5cc11cec409e779374e88107.tar.gz
blackbird-op-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
+ *
******************************************************************/
/*
OpenPOWER on IntegriCloud