[PATCH] irqchip: gic: call gic_cpu_init() as well in CPU_STARTING_FROZEN case

Joseph Lo josephl at nvidia.com
Wed Jun 19 22:09:29 EDT 2013


On Wed, 2013-06-19 at 15:02 +0800, Shawn Guo wrote:
> On Fri, Jun 14, 2013 at 08:33:59PM +0800, Shawn Guo wrote:
> > On Wed, Jun 12, 2013 at 04:17:49PM +0100, Catalin Marinas wrote:
> > > On Wed, Jun 12, 2013 at 12:30:27PM +0100, Shawn Guo wrote:
> > > > diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c
> > > > index 1760ceb..19ceaa6 100644
> > > > --- a/drivers/irqchip/irq-gic.c
> > > > +++ b/drivers/irqchip/irq-gic.c
> > > > @@ -705,7 +705,7 @@ static int gic_irq_domain_xlate(struct irq_domain *d,
> > > >  static int __cpuinit gic_secondary_init(struct notifier_block *nfb,
> > > >  					unsigned long action, void *hcpu)
> > > >  {
> > > > -	if (action == CPU_STARTING)
> > > > +	if (action == CPU_STARTING || action == CPU_STARTING_FROZEN)
> > > >  		gic_cpu_init(&gic_data[0]);
> > > >  	return NOTIFY_OK;
> > > >  }
> > > 
> > > Acked-by: Catalin Marinas <catalin.marinas at arm.com>
> > 
> > Thomas,
> > 
> > Can you please send the fix for 3.10?  Or are you fine with that I ask
> > arm-soc folks to send it?
> 
> Arnd, Olof,
> 
> Can you help send the fix for 3.10?
> 

The commit c011470 also break suspend/resume for Tegra platform on all 3.10-rcX.

> Commit c011470 (irqchip: gic: Perform the gic_secondary_init() call via
> CPU notifier) moves gic_secondary_init() that used to be called in
> .smp_secondary_init hook into a notifier call.  But it changes the
> system behavior a little bit.  Before the commit, gic_cpu_init()
> is called not only when kernel brings up the secondary cores but also
> when system resuming procedure hot-plugs the cores back to kernel.
> While after the commit, the function will not be called in the latter
> case, where the 'action' will not be CPU_STARTING but
> CPU_STARTING_FROZEN.  This behavior difference at least causes the
> following suspend/resume regression on imx6q.
> 

Shawn's patch fix the suspend/resume regression for Tegra also.

Tested-by: Joseph Lo <josephl at nvidia.com>

Thanks,
Joseph




More information about the linux-arm-kernel mailing list