Subject: Re: [patch 06/13] powerpc: cell interrupt controller updates

From: Arnd Bergmann <[email-masked]>
Date: Fri, 24 Mar 2006 19:05:03 +0100

On Friday 24 March 2006 18:43, Milton Miller wrote:
> On Mar 22, 2006, at 5:00 PM, Arnd Bergmann wrote:
> >  static void spider_enable_irq(unsigned int irq)
> >  {
> > +     int nodeid = (irq / IIC_NODE_STRIDE) * 0x10;
> >       void __iomem *cfg = spider_get_irq_config(irq);
> >       irq = spider_get_nr(irq);
> >
> > -     out_be32(cfg, in_be32(cfg) | 0x3107000eu);
> > +     out_be32(cfg, in_be32(cfg) | 0x3107000eu | nodeid);
> >       out_be32(cfg + 4, in_be32(cfg + 4) | 0x00020000u | irq);
> >  }
> >
> 
> I just did a quick read of the code, but my first thought is what if 
> some other node id was previously set?  Perhaps you should mask off 
> some bits before or'ing in the node id?

Good point. The firmware always sets nodeid zero (or the same one that
we set), but I can't see any reason why we should take that for granted.

Thanks,

	Arnd <><