* [PATCH 0/3] More highbank fixes for 3.8
@ 2013-01-31 20:01 Rob Herring
2013-01-31 20:01 ` [PATCH 1/3] ARM: scu: add empty scu_enable for !CONFIG_SMP Rob Herring
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Rob Herring @ 2013-01-31 20:01 UTC (permalink / raw)
To: linux-arm-kernel
From: Rob Herring <rob.herring@calxeda.com>
A couple more fixes for highbank related to fallout from using MPIDR
value for the physical cpu id and an scu build error introduced by
suspend fixes.
Rob
Rob Herring (3):
ARM: scu: add empty scu_enable for !CONFIG_SMP
ARM: scu: mask cluster id from cpu_logical_map
ARM: highbank: mask cluster id from cpu_logical_map
arch/arm/include/asm/smp_scu.h | 8 +++++++-
arch/arm/kernel/smp_scu.c | 2 +-
arch/arm/mach-highbank/highbank.c | 3 ++-
arch/arm/mach-highbank/sysregs.h | 4 ++--
4 files changed, 12 insertions(+), 5 deletions(-)
--
1.7.10.4
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/3] ARM: scu: add empty scu_enable for !CONFIG_SMP
2013-01-31 20:01 [PATCH 0/3] More highbank fixes for 3.8 Rob Herring
@ 2013-01-31 20:01 ` Rob Herring
2013-01-31 20:01 ` [PATCH 2/3] ARM: scu: mask cluster id from cpu_logical_map Rob Herring
2013-01-31 20:01 ` [PATCH 3/3] ARM: highbank: " Rob Herring
2 siblings, 0 replies; 4+ messages in thread
From: Rob Herring @ 2013-01-31 20:01 UTC (permalink / raw)
To: linux-arm-kernel
From: Rob Herring <rob.herring@calxeda.com>
Add an empty version of scu_enable for !SMP builds. This fixes
compile error for highbank suspend code on !SMP builds.
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
---
arch/arm/include/asm/smp_scu.h | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/arch/arm/include/asm/smp_scu.h b/arch/arm/include/asm/smp_scu.h
index 4eb6d00..86dff32 100644
--- a/arch/arm/include/asm/smp_scu.h
+++ b/arch/arm/include/asm/smp_scu.h
@@ -7,8 +7,14 @@
#ifndef __ASSEMBLER__
unsigned int scu_get_core_count(void __iomem *);
-void scu_enable(void __iomem *);
int scu_power_mode(void __iomem *, unsigned int);
+
+#ifdef CONFIG_SMP
+void scu_enable(void __iomem *scu_base);
+#else
+static inline void scu_enable(void __iomem *scu_base) {}
+#endif
+
#endif
#endif
--
1.7.10.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/3] ARM: scu: mask cluster id from cpu_logical_map
2013-01-31 20:01 [PATCH 0/3] More highbank fixes for 3.8 Rob Herring
2013-01-31 20:01 ` [PATCH 1/3] ARM: scu: add empty scu_enable for !CONFIG_SMP Rob Herring
@ 2013-01-31 20:01 ` Rob Herring
2013-01-31 20:01 ` [PATCH 3/3] ARM: highbank: " Rob Herring
2 siblings, 0 replies; 4+ messages in thread
From: Rob Herring @ 2013-01-31 20:01 UTC (permalink / raw)
To: linux-arm-kernel
From: Rob Herring <rob.herring@calxeda.com>
With commit a0ae0240 (ARM: kernel: add device tree init map function),
the cpu id value may include the cluster id and is no longer 0-3, so we
need to mask it in scu_power_mode to get the local cpu number. Since we
are only dealing with the cpu we are running on, the cluster id should
not ever be needed.
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
---
arch/arm/kernel/smp_scu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/kernel/smp_scu.c b/arch/arm/kernel/smp_scu.c
index b9f015e..45eac87 100644
--- a/arch/arm/kernel/smp_scu.c
+++ b/arch/arm/kernel/smp_scu.c
@@ -75,7 +75,7 @@ void scu_enable(void __iomem *scu_base)
int scu_power_mode(void __iomem *scu_base, unsigned int mode)
{
unsigned int val;
- int cpu = cpu_logical_map(smp_processor_id());
+ int cpu = MPIDR_AFFINITY_LEVEL(cpu_logical_map(smp_processor_id()), 0);
if (mode > 3 || mode == 1 || cpu > 3)
return -EINVAL;
--
1.7.10.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 3/3] ARM: highbank: mask cluster id from cpu_logical_map
2013-01-31 20:01 [PATCH 0/3] More highbank fixes for 3.8 Rob Herring
2013-01-31 20:01 ` [PATCH 1/3] ARM: scu: add empty scu_enable for !CONFIG_SMP Rob Herring
2013-01-31 20:01 ` [PATCH 2/3] ARM: scu: mask cluster id from cpu_logical_map Rob Herring
@ 2013-01-31 20:01 ` Rob Herring
2 siblings, 0 replies; 4+ messages in thread
From: Rob Herring @ 2013-01-31 20:01 UTC (permalink / raw)
To: linux-arm-kernel
From: Rob Herring <rob.herring@calxeda.com>
With commit a0ae0240 (ARM: kernel: add device tree init map function),
the cpu id value may include the cluster id and is no longer 0-3, so we
need to mask it now to get the right hard cpu index.
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
---
arch/arm/mach-highbank/highbank.c | 3 ++-
arch/arm/mach-highbank/sysregs.h | 4 ++--
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/arch/arm/mach-highbank/highbank.c b/arch/arm/mach-highbank/highbank.c
index 981dc1e..e6c0612 100644
--- a/arch/arm/mach-highbank/highbank.c
+++ b/arch/arm/mach-highbank/highbank.c
@@ -28,6 +28,7 @@
#include <asm/arch_timer.h>
#include <asm/cacheflush.h>
+#include <asm/cputype.h>
#include <asm/smp_plat.h>
#include <asm/smp_twd.h>
#include <asm/hardware/arm_timer.h>
@@ -59,7 +60,7 @@ static void __init highbank_scu_map_io(void)
void highbank_set_cpu_jump(int cpu, void *jump_addr)
{
- cpu = cpu_logical_map(cpu);
+ cpu = MPIDR_AFFINITY_LEVEL(cpu_logical_map(cpu), 0);
writel(virt_to_phys(jump_addr), HB_JUMP_TABLE_VIRT(cpu));
__cpuc_flush_dcache_area(HB_JUMP_TABLE_VIRT(cpu), 16);
outer_clean_range(HB_JUMP_TABLE_PHYS(cpu),
diff --git a/arch/arm/mach-highbank/sysregs.h b/arch/arm/mach-highbank/sysregs.h
index 70af9d1..5995df7 100644
--- a/arch/arm/mach-highbank/sysregs.h
+++ b/arch/arm/mach-highbank/sysregs.h
@@ -37,7 +37,7 @@ extern void __iomem *sregs_base;
static inline void highbank_set_core_pwr(void)
{
- int cpu = cpu_logical_map(smp_processor_id());
+ int cpu = MPIDR_AFFINITY_LEVEL(cpu_logical_map(smp_processor_id()), 0);
if (scu_base_addr)
scu_power_mode(scu_base_addr, SCU_PM_POWEROFF);
else
@@ -46,7 +46,7 @@ static inline void highbank_set_core_pwr(void)
static inline void highbank_clear_core_pwr(void)
{
- int cpu = cpu_logical_map(smp_processor_id());
+ int cpu = MPIDR_AFFINITY_LEVEL(cpu_logical_map(smp_processor_id()), 0);
if (scu_base_addr)
scu_power_mode(scu_base_addr, SCU_PM_NORMAL);
else
--
1.7.10.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-01-31 20:01 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-31 20:01 [PATCH 0/3] More highbank fixes for 3.8 Rob Herring
2013-01-31 20:01 ` [PATCH 1/3] ARM: scu: add empty scu_enable for !CONFIG_SMP Rob Herring
2013-01-31 20:01 ` [PATCH 2/3] ARM: scu: mask cluster id from cpu_logical_map Rob Herring
2013-01-31 20:01 ` [PATCH 3/3] ARM: highbank: " Rob Herring
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).