diff options
Diffstat (limited to 'arch/arc/include/asm/barrier.h')
-rw-r--r-- | arch/arc/include/asm/barrier.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/arch/arc/include/asm/barrier.h b/arch/arc/include/asm/barrier.h index a7209983ee64..b1e327495c7d 100644 --- a/arch/arc/include/asm/barrier.h +++ b/arch/arc/include/asm/barrier.h | |||
@@ -30,9 +30,7 @@ | |||
30 | #define rmb() asm volatile("dmb 1\n" : : : "memory") | 30 | #define rmb() asm volatile("dmb 1\n" : : : "memory") |
31 | #define wmb() asm volatile("dmb 2\n" : : : "memory") | 31 | #define wmb() asm volatile("dmb 2\n" : : : "memory") |
32 | 32 | ||
33 | #endif | 33 | #elif !defined(CONFIG_ARC_PLAT_EZNPS) /* CONFIG_ISA_ARCOMPACT */ |
34 | |||
35 | #ifdef CONFIG_ISA_ARCOMPACT | ||
36 | 34 | ||
37 | /* | 35 | /* |
38 | * ARCompact based cores (ARC700) only have SYNC instruction which is super | 36 | * ARCompact based cores (ARC700) only have SYNC instruction which is super |
@@ -41,6 +39,14 @@ | |||
41 | */ | 39 | */ |
42 | 40 | ||
43 | #define mb() asm volatile("sync\n" : : : "memory") | 41 | #define mb() asm volatile("sync\n" : : : "memory") |
42 | |||
43 | #else /* CONFIG_ARC_PLAT_EZNPS */ | ||
44 | |||
45 | #include <plat/ctop.h> | ||
46 | |||
47 | #define mb() asm volatile (".word %0" : : "i"(CTOP_INST_SCHD_RW) : "memory") | ||
48 | #define rmb() asm volatile (".word %0" : : "i"(CTOP_INST_SCHD_RD) : "memory") | ||
49 | |||
44 | #endif | 50 | #endif |
45 | 51 | ||
46 | #include <asm-generic/barrier.h> | 52 | #include <asm-generic/barrier.h> |