@@ -1,6 +1,15 @@
# SPDX-License-Identifier: GPL-2.0
if CPU_CAVIUM_OCTEON
+config WAR_OCTEON_BARRIER
+ bool "Enable Octeon & Octeon Plus barrier workaround"
+ default "y"
+ help
+ Some Cavium Octeon CPUs(Octeon & Octeon Plus)
+ suffer from a bug that causes a single wmb ordering barrier
+ to be ineffective, requiring the use of 2 in sequence
+ to provide an effective barrier.
+
config CAVIUM_CN63XXP1
bool "Enable CN63XXP1 errata workarounds"
default "n"
@@ -158,7 +158,7 @@
* Note that this expression is evaluated by the assembler (not the compiler),
* and that the assembler evaluates '==' as 0 or -1, not 0 or 1.
*/
-#ifdef CONFIG_CPU_CAVIUM_OCTEON
+#ifdef CONFIG_WAR_OCTEON_BARRIER
# define __SYNC_rpt(type) (1 - (type == __SYNC_wmb))
#else
# define __SYNC_rpt(type) 1