* [PATCH] ARM: mach-shmobile: sh73a0 twd_base fix
@ 2011-05-19 6:26 ` Magnus Damm
0 siblings, 0 replies; 6+ messages in thread
From: Magnus Damm @ 2011-05-19 6:26 UTC (permalink / raw)
To: linux-arm-kernel
From: Magnus Damm <damm@opensource.se>
Fix the case of too late twd_base initialization for SMP
on sh73a0 which bas been broken because sh73a0 specific
smp_prepare_cpu() and percpu_timer_setup() changed order
in the commits:
05c74a6cbcfb416286a947668ba32f63d99fe74a
c413521eb4e2d7ffd5ce432a144708d479054bd3
Without this fix the sh73a0 SMP kernel panics on boot.
Signed-off-by: Magnus Damm <damm@opensource.se>
---
arch/arm/mach-shmobile/smp-sh73a0.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
--- 0001/arch/arm/mach-shmobile/smp-sh73a0.c
+++ work/arch/arm/mach-shmobile/smp-sh73a0.c 2011-05-19 14:50:24.000000000 +0900
@@ -59,6 +59,11 @@ unsigned int __init sh73a0_get_core_coun
{
void __iomem *scu_base = scu_base_addr();
+#ifdef CONFIG_HAVE_ARM_TWD
+ /* twd_base needs to be initialized before percpu_timer_setup() */
+ twd_base = (void __iomem *)0xf0000600;
+#endif
+
return scu_get_core_count(scu_base);
}
@@ -82,10 +87,6 @@ int __cpuinit sh73a0_boot_secondary(unsi
void __init sh73a0_smp_prepare_cpus(void)
{
-#ifdef CONFIG_HAVE_ARM_TWD
- twd_base = (void __iomem *)0xf0000600;
-#endif
-
scu_enable(scu_base_addr());
/* Map the reset vector (in headsmp.S) */
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] ARM: mach-shmobile: sh73a0 twd_base fix
@ 2011-05-19 6:26 ` Magnus Damm
0 siblings, 0 replies; 6+ messages in thread
From: Magnus Damm @ 2011-05-19 6:26 UTC (permalink / raw)
To: linux-arm-kernel
From: Magnus Damm <damm@opensource.se>
Fix the case of too late twd_base initialization for SMP
on sh73a0 which bas been broken because sh73a0 specific
smp_prepare_cpu() and percpu_timer_setup() changed order
in the commits:
05c74a6cbcfb416286a947668ba32f63d99fe74a
c413521eb4e2d7ffd5ce432a144708d479054bd3
Without this fix the sh73a0 SMP kernel panics on boot.
Signed-off-by: Magnus Damm <damm@opensource.se>
---
arch/arm/mach-shmobile/smp-sh73a0.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
--- 0001/arch/arm/mach-shmobile/smp-sh73a0.c
+++ work/arch/arm/mach-shmobile/smp-sh73a0.c 2011-05-19 14:50:24.000000000 +0900
@@ -59,6 +59,11 @@ unsigned int __init sh73a0_get_core_coun
{
void __iomem *scu_base = scu_base_addr();
+#ifdef CONFIG_HAVE_ARM_TWD
+ /* twd_base needs to be initialized before percpu_timer_setup() */
+ twd_base = (void __iomem *)0xf0000600;
+#endif
+
return scu_get_core_count(scu_base);
}
@@ -82,10 +87,6 @@ int __cpuinit sh73a0_boot_secondary(unsi
void __init sh73a0_smp_prepare_cpus(void)
{
-#ifdef CONFIG_HAVE_ARM_TWD
- twd_base = (void __iomem *)0xf0000600;
-#endif
-
scu_enable(scu_base_addr());
/* Map the reset vector (in headsmp.S) */
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] ARM: mach-shmobile: sh73a0 twd_base fix
2011-05-19 6:26 ` Magnus Damm
@ 2011-05-19 6:54 ` Santosh Shilimkar
-1 siblings, 0 replies; 6+ messages in thread
From: Santosh Shilimkar @ 2011-05-19 6:42 UTC (permalink / raw)
To: linux-arm-kernel
On 5/19/2011 11:56 AM, Magnus Damm wrote:
> From: Magnus Damm<damm@opensource.se>
>
> Fix the case of too late twd_base initialization for SMP
> on sh73a0 which bas been broken because sh73a0 specific
> smp_prepare_cpu() and percpu_timer_setup() changed order
> in the commits:
>
> 05c74a6cbcfb416286a947668ba32f63d99fe74a
> c413521eb4e2d7ffd5ce432a144708d479054bd3
>
> Without this fix the sh73a0 SMP kernel panics on boot.
>
> Signed-off-by: Magnus Damm<damm@opensource.se>
> ---
>
> arch/arm/mach-shmobile/smp-sh73a0.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> --- 0001/arch/arm/mach-shmobile/smp-sh73a0.c
> +++ work/arch/arm/mach-shmobile/smp-sh73a0.c 2011-05-19 14:50:24.000000000 +0900
> @@ -59,6 +59,11 @@ unsigned int __init sh73a0_get_core_coun
> {
> void __iomem *scu_base = scu_base_addr();
>
> +#ifdef CONFIG_HAVE_ARM_TWD
> + /* twd_base needs to be initialized before percpu_timer_setup() */
> + twd_base = (void __iomem *)0xf0000600;
You might want to ioremap(PA) instead of hard-coding it. Even if you
want a fixed VA, at least use macro.
Regards,
Santosh
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] ARM: mach-shmobile: sh73a0 twd_base fix
@ 2011-05-19 6:54 ` Santosh Shilimkar
0 siblings, 0 replies; 6+ messages in thread
From: Santosh Shilimkar @ 2011-05-19 6:54 UTC (permalink / raw)
To: linux-arm-kernel
On 5/19/2011 11:56 AM, Magnus Damm wrote:
> From: Magnus Damm<damm@opensource.se>
>
> Fix the case of too late twd_base initialization for SMP
> on sh73a0 which bas been broken because sh73a0 specific
> smp_prepare_cpu() and percpu_timer_setup() changed order
> in the commits:
>
> 05c74a6cbcfb416286a947668ba32f63d99fe74a
> c413521eb4e2d7ffd5ce432a144708d479054bd3
>
> Without this fix the sh73a0 SMP kernel panics on boot.
>
> Signed-off-by: Magnus Damm<damm@opensource.se>
> ---
>
> arch/arm/mach-shmobile/smp-sh73a0.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> --- 0001/arch/arm/mach-shmobile/smp-sh73a0.c
> +++ work/arch/arm/mach-shmobile/smp-sh73a0.c 2011-05-19 14:50:24.000000000 +0900
> @@ -59,6 +59,11 @@ unsigned int __init sh73a0_get_core_coun
> {
> void __iomem *scu_base = scu_base_addr();
>
> +#ifdef CONFIG_HAVE_ARM_TWD
> + /* twd_base needs to be initialized before percpu_timer_setup() */
> + twd_base = (void __iomem *)0xf0000600;
You might want to ioremap(PA) instead of hard-coding it. Even if you
want a fixed VA, at least use macro.
Regards,
Santosh
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] ARM: mach-shmobile: sh73a0 twd_base fix
2011-05-19 6:26 ` Magnus Damm
@ 2011-05-19 11:50 ` Sergei Shtylyov
-1 siblings, 0 replies; 6+ messages in thread
From: Sergei Shtylyov @ 2011-05-19 11:50 UTC (permalink / raw)
To: linux-arm-kernel
Hello.
On 19-05-2011 10:26, Magnus Damm wrote:
> From: Magnus Damm<damm@opensource.se>
> Fix the case of too late twd_base initialization for SMP
> on sh73a0 which bas been broken because sh73a0 specific
> smp_prepare_cpu() and percpu_timer_setup() changed order
> in the commits:
> 05c74a6cbcfb416286a947668ba32f63d99fe74a
> c413521eb4e2d7ffd5ce432a144708d479054bd3
Please also specify those commits' summaries -- for the human readers.
> Without this fix the sh73a0 SMP kernel panics on boot.
> Signed-off-by: Magnus Damm<damm@opensource.se>
WBR, Sergei
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] ARM: mach-shmobile: sh73a0 twd_base fix
@ 2011-05-19 11:50 ` Sergei Shtylyov
0 siblings, 0 replies; 6+ messages in thread
From: Sergei Shtylyov @ 2011-05-19 11:50 UTC (permalink / raw)
To: linux-arm-kernel
Hello.
On 19-05-2011 10:26, Magnus Damm wrote:
> From: Magnus Damm<damm@opensource.se>
> Fix the case of too late twd_base initialization for SMP
> on sh73a0 which bas been broken because sh73a0 specific
> smp_prepare_cpu() and percpu_timer_setup() changed order
> in the commits:
> 05c74a6cbcfb416286a947668ba32f63d99fe74a
> c413521eb4e2d7ffd5ce432a144708d479054bd3
Please also specify those commits' summaries -- for the human readers.
> Without this fix the sh73a0 SMP kernel panics on boot.
> Signed-off-by: Magnus Damm<damm@opensource.se>
WBR, Sergei
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-05-19 11:50 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-05-19 6:26 [PATCH] ARM: mach-shmobile: sh73a0 twd_base fix Magnus Damm
2011-05-19 6:26 ` Magnus Damm
2011-05-19 6:42 ` Santosh Shilimkar
2011-05-19 6:54 ` Santosh Shilimkar
2011-05-19 11:50 ` Sergei Shtylyov
2011-05-19 11:50 ` Sergei Shtylyov
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.