diff mbox

[RFC,5/8] ARM: msm: convert logical CPU numbers to physical numbers

Message ID 1312926162-22469-6-git-send-email-will.deacon@arm.com (mailing list archive)
State New, archived
Headers show

Commit Message

Will Deacon Aug. 9, 2011, 9:42 p.m. UTC
This patch uses the new cpu_logical_map() macro for converting logical
CPU numbers into physical numbers when dealing with the pen_release
variable in the SMP boot and CPU hotplug paths.

Cc: David Brown <davidb@codeaurora.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
---
 arch/arm/mach-msm/hotplug.c |    2 +-
 arch/arm/mach-msm/platsmp.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comments

David Brown Aug. 9, 2011, 10:26 p.m. UTC | #1
On Tue, Aug 09, 2011 at 10:42:39PM +0100, Will Deacon wrote:
> This patch uses the new cpu_logical_map() macro for converting logical
> CPU numbers into physical numbers when dealing with the pen_release
> variable in the SMP boot and CPU hotplug paths.
> 
> Cc: David Brown <davidb@codeaurora.org>
> Signed-off-by: Will Deacon <will.deacon@arm.com>

For MSM8660:

Tested-by: David Brown <davidb@codeaurora.org>
Acked-by: David Brown <davidb@codeaurora.org>
Will Deacon Aug. 10, 2011, 8:42 a.m. UTC | #2
On Tue, Aug 09, 2011 at 11:26:04PM +0100, David Brown wrote:
> On Tue, Aug 09, 2011 at 10:42:39PM +0100, Will Deacon wrote:
> > This patch uses the new cpu_logical_map() macro for converting logical
> > CPU numbers into physical numbers when dealing with the pen_release
> > variable in the SMP boot and CPU hotplug paths.
> > 
> > Cc: David Brown <davidb@codeaurora.org>
> > Signed-off-by: Will Deacon <will.deacon@arm.com>
> 
> For MSM8660:
> 
> Tested-by: David Brown <davidb@codeaurora.org>
> Acked-by: David Brown <davidb@codeaurora.org>

Thanks David!

Curious: did you try booting with a CPU other than physical CPU 0 or is
that not possible on your platform?

Cheers,

Will
David Brown Aug. 10, 2011, 3:51 p.m. UTC | #3
On Wed, Aug 10, 2011 at 09:42:19AM +0100, Will Deacon wrote:
> On Tue, Aug 09, 2011 at 11:26:04PM +0100, David Brown wrote:
> > On Tue, Aug 09, 2011 at 10:42:39PM +0100, Will Deacon wrote:
> > > This patch uses the new cpu_logical_map() macro for converting logical
> > > CPU numbers into physical numbers when dealing with the pen_release
> > > variable in the SMP boot and CPU hotplug paths.
> > > 
> > > Cc: David Brown <davidb@codeaurora.org>
> > > Signed-off-by: Will Deacon <will.deacon@arm.com>
> > 
> > For MSM8660:
> > 
> > Tested-by: David Brown <davidb@codeaurora.org>
> > Acked-by: David Brown <davidb@codeaurora.org>
> 
> Thanks David!
> 
> Curious: did you try booting with a CPU other than physical CPU 0 or is
> that not possible on your platform?

I haven't.  I'll look into whether that is possible.

David
diff mbox

Patch

diff --git a/arch/arm/mach-msm/hotplug.c b/arch/arm/mach-msm/hotplug.c
index 5a31f70..41c252d 100644
--- a/arch/arm/mach-msm/hotplug.c
+++ b/arch/arm/mach-msm/hotplug.c
@@ -37,7 +37,7 @@  static inline void platform_do_lowpower(unsigned int cpu)
 		    :
 		    : "memory", "cc");
 
-		if (pen_release == cpu) {
+		if (pen_release == cpu_logical_map(cpu)) {
 			/*
 			 * OK, proper wakeup, we're done
 			 */
diff --git a/arch/arm/mach-msm/platsmp.c b/arch/arm/mach-msm/platsmp.c
index 1a1af9e..e3375ee 100644
--- a/arch/arm/mach-msm/platsmp.c
+++ b/arch/arm/mach-msm/platsmp.c
@@ -117,7 +117,7 @@  int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
 	 * Note that "pen_release" is the hardware CPU ID, whereas
 	 * "cpu" is Linux's internal ID.
 	 */
-	pen_release = cpu;
+	pen_release = cpu_logical_map(cpu);
 	__cpuc_flush_dcache_area((void *)&pen_release, sizeof(pen_release));
 	outer_clean_range(__pa(&pen_release), __pa(&pen_release + 1));