[linux-yocto] [PATCH 40/42] arch/arm/mach-axxia: Fixed L2 power up failure

Cristian Bercaru cristian.bercaru at windriver.com
Thu Jun 11 01:32:25 PDT 2015


From: Charlie Paul <cpaul.windriver at gmail.com>

This patch fixes the L2 power up failure. It insures
that there is only one allocation of the dickens
variable.

Signed-off-by: Charlie Paul <cpaul.windriver at gmail.com>
---
 arch/arm/mach-axxia/axxia.c                |    2 --
 arch/arm/mach-axxia/ddr_retention.c        |    6 +++++-
 arch/arm/mach-axxia/lsi_power_management.c |    8 ++++----
 3 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/arch/arm/mach-axxia/axxia.c b/arch/arm/mach-axxia/axxia.c
index 36970da..72f7a5c 100644
--- a/arch/arm/mach-axxia/axxia.c
+++ b/arch/arm/mach-axxia/axxia.c
@@ -66,8 +66,6 @@ static void __iomem *base;
 
 #ifdef CONFIG_KEXEC
 
-static void __iomem *dickens;
-
 static void set_l3_pstate(u32 newstate)
 {
 	static const u8 hnf[] = {
diff --git a/arch/arm/mach-axxia/ddr_retention.c b/arch/arm/mach-axxia/ddr_retention.c
index 58a4845..bd03156 100644
--- a/arch/arm/mach-axxia/ddr_retention.c
+++ b/arch/arm/mach-axxia/ddr_retention.c
@@ -32,10 +32,14 @@
 #include <asm/io.h>
 #include <asm/cacheflush.h>
 #include <mach/ncr.h>
+#include "axxia.h"
 
 static void __iomem *nca;
 static void __iomem *apb;
-static void __iomem *dickens;
+#ifndef CONFIG_SMP
+void __iomem *dickens;
+#endif
+
 static int ddr_retention_enabled;
 
 enum {
diff --git a/arch/arm/mach-axxia/lsi_power_management.c b/arch/arm/mach-axxia/lsi_power_management.c
index fa73ab5..76ab676 100644
--- a/arch/arm/mach-axxia/lsi_power_management.c
+++ b/arch/arm/mach-axxia/lsi_power_management.c
@@ -544,12 +544,12 @@ int pm_cpu_powerup(u32 cpu)
 	if (first_cpu) {
 
 		rval = pm_L2_logical_powerup(cluster, cpu);
-		if (rval)
-			pr_info("CPU %d is powered up with cluster: %d\n", reqcpu, cluster);
-		else {
+		if (rval) {
 			pr_err("CPU: Failed the logical L2 power up\n");
 			goto pm_power_up;
-		}
+		} else
+			pr_info("CPU %d is powered up with cluster: %d\n", reqcpu, cluster);
+
 		cluster_power_up[cluster] = true;
 		pm_clear_bits_syscon_register(NCP_SYSCON_GIC_DISABLE, cluster_mask);
 
-- 
1.7.9.5



More information about the linux-yocto mailing list