From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Shilimkar, Santosh" Subject: RE: [PATCH 6/6] omap: Fix SMP on UP interrupt handling for multi-omap Date: Fri, 3 Sep 2010 17:36:27 +0530 Message-ID: References: <20100817141210.GJ12184@atomide.com> <20100817154035.GD20325@n2100.arm.linux.org.uk> <20100819073810.GR12184@atomide.com> <4C6CFBAF.6020407@canonical.com> <20100819095705.GU12184@atomide.com> <20100819102025.GA32151@n2100.arm.linux.org.uk> <20100820120622.GL25742@atomide.com> <20100830225527.GC11597@atomide.com> <20100902133637.GJ26319@n2100.arm.linux.org.uk> <20100902161659.GJ11597@atomide.com> <20100902162337.GP11597@atomide.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT Return-path: Received: from bear.ext.ti.com ([192.94.94.41]:33901 "EHLO bear.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753229Ab0ICMGy convert rfc822-to-8bit (ORCPT ); Fri, 3 Sep 2010 08:06:54 -0400 In-Reply-To: <20100902162337.GP11597@atomide.com> Content-Language: en-US Sender: linux-omap-owner@vger.kernel.org List-Id: linux-omap@vger.kernel.org To: Tony Lindgren , Russell King - ARM Linux Cc: "linux-omap@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , Bryan Wu , Will Deacon > -----Original Message----- > From: linux-omap-owner@vger.kernel.org [mailto:linux-omap- > owner@vger.kernel.org] On Behalf Of Tony Lindgren > Sent: Thursday, September 02, 2010 9:54 PM > To: Russell King - ARM Linux > Cc: linux-omap@vger.kernel.org; linux-arm-kernel@lists.infradead.org; > Bryan Wu; Will Deacon > Subject: [PATCH 6/6] omap: Fix SMP on UP interrupt handling for multi-omap > > From c04a57fc3b41d886f56ccdc27cf9758de0c95202 Mon Sep 17 00:00:00 2001 > From: Tony Lindgren > Date: Tue, 17 Aug 2010 13:33:23 +0300 > Subject: [PATCH 6/6] omap: Fix SMP on UP interrupt handling for multi-omap > > Fix SMP on UP interrupt handling for multi-omap > > Signed-off-by: Tony Lindgren > --- > arch/arm/mach-omap2/omap-smp.c | 13 +++++++++---- > arch/arm/mach-omap2/timer-gp.c | 7 +++++-- > 2 files changed, 14 insertions(+), 6 deletions(-) > > diff --git a/arch/arm/mach-omap2/omap-smp.c b/arch/arm/mach-omap2/omap- > smp.c > index 9e9f70e..a8bb49c 100644 > --- a/arch/arm/mach-omap2/omap-smp.c > +++ b/arch/arm/mach-omap2/omap-smp.c > @@ -22,6 +22,7 @@ > > #include > #include > +#include > #include > #include > #include > @@ -114,11 +115,15 @@ void __init smp_init_cpus(void) > { > unsigned int i, ncores; > > - /* Never released */ > - scu_base = ioremap(OMAP44XX_SCU_BASE, SZ_256); > - BUG_ON(!scu_base); > + if (smp_on_up()) { > + ncores = 1; I am not sure if this is the correct approach. The SCU hardware is not present other than OMAP4. So we should just return here when the silicon is not omap4. if (!cpu_is_omap44xx()) return -ENODEV; > + } else { > + /* Never released */ > + scu_base = ioremap(OMAP44XX_SCU_BASE, SZ_256); > + BUG_ON(!scu_base); > > - ncores = get_core_count(); > + ncores = get_core_count(); > + } > > for (i = 0; i < ncores; i++) > set_cpu_possible(i, true); > diff --git a/arch/arm/mach-omap2/timer-gp.c b/arch/arm/mach-omap2/timer- > gp.c > index 74fbed8..badf5f2 100644 > --- a/arch/arm/mach-omap2/timer-gp.c > +++ b/arch/arm/mach-omap2/timer-gp.c > @@ -37,6 +37,7 @@ > #include > > #include > +#include > #include > #include > > @@ -228,8 +229,10 @@ static void __init omap2_gp_clocksource_init(void) > static void __init omap2_gp_timer_init(void) > { > #ifdef CONFIG_LOCAL_TIMERS > - twd_base = ioremap(OMAP44XX_LOCAL_TWD_BASE, SZ_256); > - BUG_ON(!twd_base); > + if (smp_on_up()) { > + twd_base = ioremap(OMAP44XX_LOCAL_TWD_BASE, SZ_256); > + BUG_ON(!twd_base); > + } > #endif > omap_dm_timer_init(); > > -- > 1.7.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-omap" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html From mboxrd@z Thu Jan 1 00:00:00 1970 From: santosh.shilimkar@ti.com (Shilimkar, Santosh) Date: Fri, 3 Sep 2010 17:36:27 +0530 Subject: [PATCH 6/6] omap: Fix SMP on UP interrupt handling for multi-omap In-Reply-To: <20100902162337.GP11597@atomide.com> References: <20100817141210.GJ12184@atomide.com> <20100817154035.GD20325@n2100.arm.linux.org.uk> <20100819073810.GR12184@atomide.com> <4C6CFBAF.6020407@canonical.com> <20100819095705.GU12184@atomide.com> <20100819102025.GA32151@n2100.arm.linux.org.uk> <20100820120622.GL25742@atomide.com> <20100830225527.GC11597@atomide.com> <20100902133637.GJ26319@n2100.arm.linux.org.uk> <20100902161659.GJ11597@atomide.com> <20100902162337.GP11597@atomide.com> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org > -----Original Message----- > From: linux-omap-owner at vger.kernel.org [mailto:linux-omap- > owner at vger.kernel.org] On Behalf Of Tony Lindgren > Sent: Thursday, September 02, 2010 9:54 PM > To: Russell King - ARM Linux > Cc: linux-omap at vger.kernel.org; linux-arm-kernel at lists.infradead.org; > Bryan Wu; Will Deacon > Subject: [PATCH 6/6] omap: Fix SMP on UP interrupt handling for multi-omap > > From c04a57fc3b41d886f56ccdc27cf9758de0c95202 Mon Sep 17 00:00:00 2001 > From: Tony Lindgren > Date: Tue, 17 Aug 2010 13:33:23 +0300 > Subject: [PATCH 6/6] omap: Fix SMP on UP interrupt handling for multi-omap > > Fix SMP on UP interrupt handling for multi-omap > > Signed-off-by: Tony Lindgren > --- > arch/arm/mach-omap2/omap-smp.c | 13 +++++++++---- > arch/arm/mach-omap2/timer-gp.c | 7 +++++-- > 2 files changed, 14 insertions(+), 6 deletions(-) > > diff --git a/arch/arm/mach-omap2/omap-smp.c b/arch/arm/mach-omap2/omap- > smp.c > index 9e9f70e..a8bb49c 100644 > --- a/arch/arm/mach-omap2/omap-smp.c > +++ b/arch/arm/mach-omap2/omap-smp.c > @@ -22,6 +22,7 @@ > > #include > #include > +#include > #include > #include > #include > @@ -114,11 +115,15 @@ void __init smp_init_cpus(void) > { > unsigned int i, ncores; > > - /* Never released */ > - scu_base = ioremap(OMAP44XX_SCU_BASE, SZ_256); > - BUG_ON(!scu_base); > + if (smp_on_up()) { > + ncores = 1; I am not sure if this is the correct approach. The SCU hardware is not present other than OMAP4. So we should just return here when the silicon is not omap4. if (!cpu_is_omap44xx()) return -ENODEV; > + } else { > + /* Never released */ > + scu_base = ioremap(OMAP44XX_SCU_BASE, SZ_256); > + BUG_ON(!scu_base); > > - ncores = get_core_count(); > + ncores = get_core_count(); > + } > > for (i = 0; i < ncores; i++) > set_cpu_possible(i, true); > diff --git a/arch/arm/mach-omap2/timer-gp.c b/arch/arm/mach-omap2/timer- > gp.c > index 74fbed8..badf5f2 100644 > --- a/arch/arm/mach-omap2/timer-gp.c > +++ b/arch/arm/mach-omap2/timer-gp.c > @@ -37,6 +37,7 @@ > #include > > #include > +#include > #include > #include > > @@ -228,8 +229,10 @@ static void __init omap2_gp_clocksource_init(void) > static void __init omap2_gp_timer_init(void) > { > #ifdef CONFIG_LOCAL_TIMERS > - twd_base = ioremap(OMAP44XX_LOCAL_TWD_BASE, SZ_256); > - BUG_ON(!twd_base); > + if (smp_on_up()) { > + twd_base = ioremap(OMAP44XX_LOCAL_TWD_BASE, SZ_256); > + BUG_ON(!twd_base); > + } > #endif > omap_dm_timer_init(); > > -- > 1.7.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-omap" in > the body of a message to majordomo at vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html