summaryrefslogtreecommitdiffstats
path: root/arch/arc/Kconfig
diff options
context:
space:
mode:
authorVineet Gupta2015-07-27 13:53:28 +0200
committerVineet Gupta2016-09-30 23:48:17 +0200
commitce6365270ecd1216b48fb1440978e454ae0144de (patch)
tree2e46017d408be15aa5834675cd11c06122fc353c /arch/arc/Kconfig
parentARCv2: Support dynamic peripheral address space in HS38 rel 3.0 cores (diff)
downloadkernel-qcow2-linux-ce6365270ecd1216b48fb1440978e454ae0144de.tar.gz
kernel-qcow2-linux-ce6365270ecd1216b48fb1440978e454ae0144de.tar.xz
kernel-qcow2-linux-ce6365270ecd1216b48fb1440978e454ae0144de.zip
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 0d3e59f56974..073b3582544b 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