]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/arm64/include/asm/processor.h
Merge remote-tracking branch 'regulator/for-next'
[karo-tx-linux.git] / arch / arm64 / include / asm / processor.h
index 4acb7ca94fcd9c05569f3103ab09097c19ea72d5..5bb1d763d17addb2beb0d0f462869cfc183b0595 100644 (file)
 
 #include <linux/string.h>
 
+#include <asm/alternative.h>
 #include <asm/fpsimd.h>
 #include <asm/hw_breakpoint.h>
+#include <asm/lse.h>
 #include <asm/pgtable-hwdef.h>
 #include <asm/ptrace.h>
 #include <asm/types.h>
@@ -177,9 +179,11 @@ static inline void prefetchw(const void *ptr)
 }
 
 #define ARCH_HAS_SPINLOCK_PREFETCH
-static inline void spin_lock_prefetch(const void *x)
+static inline void spin_lock_prefetch(const void *ptr)
 {
-       prefetchw(x);
+       asm volatile(ARM64_LSE_ATOMIC_INSN(
+                    "prfm pstl1strm, %a0",
+                    "nop") : : "p" (ptr));
 }
 
 #define HAVE_ARCH_PICK_MMAP_LAYOUT