summaryrefslogtreecommitdiffstats
path: root/arch/arc/Kconfig
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2015-07-27 17:23:28 +0530
committerVineet Gupta <vgupta@synopsys.com>2016-09-30 14:48:17 -0700
commitce6365270ecd1216b48fb1440978e454ae0144de (patch)
tree2e46017d408be15aa5834675cd11c06122fc353c /arch/arc/Kconfig
parent26c01c49d559268527d78f45a6818fae0c204a45 (diff)
downloadop-kernel-dev-ce6365270ecd1216b48fb1440978e454ae0144de.zip
op-kernel-dev-ce6365270ecd1216b48fb1440978e454ae0144de.tar.gz
ARCv2: Implement atomic64 based on LLOCKD/SCONDD instructions
ARCv2 ISA provides 64-bit exclusive load/stores so use them to implement the 64-bit atomics and elide the spinlock based generic 64-bit atomics boot tested with atomic64 self-test (and GOD bless the person who wrote them, I realized my inline assmebly is sloppy as hell) Cc: Peter Zijlstra <peterz@infradead.org> Cc: Will Deacon <will.deacon@arm.com> Cc: linux-snps-arc@lists.infradead.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/Kconfig')
-rw-r--r--arch/arc/Kconfig2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
index 0d3e59f..073b358 100644
--- a/arch/arc/Kconfig
+++ b/arch/arc/Kconfig
@@ -13,7 +13,7 @@ config ARC
select CLKSRC_OF
select CLONE_BACKWARDS
select COMMON_CLK
- select GENERIC_ATOMIC64
+ select GENERIC_ATOMIC64 if !ISA_ARCV2 || !(ARC_HAS_LL64 && ARC_HAS_LLSC)
select GENERIC_CLOCKEVENTS
select GENERIC_FIND_FIRST_BIT
# for now, we don't need GENERIC_IRQ_PROBE, CONFIG_GENERIC_IRQ_CHIP
OpenPOWER on IntegriCloud