[linux-yocto] [PATCH 10/30] LSI AXM55xx: Enable multi-cluster wfe/sev
Charlie Paul
cpaul.windriver at gmail.com
Thu Apr 17 19:36:58 PDT 2014
From: David Mercado <david.mercado at windriver.com>
By default, the system does not enable the use of ARM wfe/sev instructions
across clusters, which breaks things like arch_spin_lock. This patch enables
this feature.
LSI AXM55xx: Disable use of wfe/sev in arch_spin_lock
By default, the system does not enable the use of ARM wfe/sev instructions
across clusters, which breaks things like arch_spin_lock. The previous
solution to enable wfe/sev to work across clusters still resulted in CPU
stalls. This patch instead removes the use of wfe/sev in arch/arm/include/
asm/spinlock.h altogether.
Signed-off-by: David Mercado <david.mercado at windriver.com>
---
arch/arm/include/asm/spinlock.h | 4 ++++
arch/arm/mach-axxia/axxia.c | 1 +
2 files changed, 5 insertions(+)
diff --git a/arch/arm/include/asm/spinlock.h b/arch/arm/include/asm/spinlock.h
index 65fa3c8..022ef90 100644
--- a/arch/arm/include/asm/spinlock.h
+++ b/arch/arm/include/asm/spinlock.h
@@ -37,6 +37,10 @@
\
"nop.w" \
)
+#elif CONFIG_ARCH_AXXIA || CONFIG_ARCH_AXXIA_SIM
+/* Disable use of wfe/sev in Axxia. */
+#define SEV
+#define WFE(cond)
#else
#define SEV ALT_SMP("sev", "nop")
#define WFE(cond) ALT_SMP("wfe" cond, "nop")
diff --git a/arch/arm/mach-axxia/axxia.c b/arch/arm/mach-axxia/axxia.c
index 7b725ef..d87bb61 100644
--- a/arch/arm/mach-axxia/axxia.c
+++ b/arch/arm/mach-axxia/axxia.c
@@ -253,6 +253,7 @@ l3_set_pstate(void __iomem *l3ctrl, unsigned int req, unsigned int act)
void __init axxia_dt_init(void)
{
void __iomem *l3ctrl;
+ void __iomem *apb2ser3_base;
int rc;
/* Enable L3-cache */
--
1.7.9.5
More information about the linux-yocto
mailing list