Re: [PATCH -queue v0 4/6] [loongson] add basic fuloong2f support

From: Ralf Baechle
Date: Fri Nov 06 2009 - 03:29:37 EST


On Fri, Nov 06, 2009 at 01:39:44PM +0800, Wu Zhangjin wrote:

> > > + if ((LOONGSON_INTISR & LOONGSON_INTEN) & LOONGSON_INT_BIT_INT0) {
> > > + imr = inb(0x21) | (inb(0xa1) << 8);
> > > + isr = inb(0x20) | (inb(0xa0) << 8);
> > > + isr &= ~0x4; /* irq2 for cascade */
> > > + isr &= ~imr;
> > > + irq = ffs(isr) - 1;
> > > + }
> >
> > Any reason why you're not using i8259_irq() from <asm/i8259.h> here?
> > That function not only gets the locking right, it also minimizes the number
> > of accesses to the i8259 - which even on modern silicon can be stuningly
> > slow.

> Just asked Yanhua, He told me there is a bug in cs5536, if using the
> i8259_irq() directly, we can not get the irq. and just tried it, the
> kernel hang on booting.

Wonderful. Even 30 years after it was built there are still new i8259
bugs :-)

This is probably worth a comment in the code.

Ralf
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/