Re: 3c59x: Using bad IRQ 0

From: Linus Torvalds (torvalds@transmeta.com)
Date: Thu Nov 23 2000 - 13:32:43 EST


On Thu, 23 Nov 2000, Tobias Ringstrom wrote:
> >
> > - enable DEBUG in arch/i386/kernel/pci-i386.h. This should make the code
> > print out what the pirq table entries are etc.
>
> Done. When adding the call to eisa_set_level_irq, the line
>
> IRQ for 00:0a.0(0) via 00:0a.0 -> PIRQ 03, mask 1eb8, excl 0000 -> newirq=9 -> assigning IRQ 9 ... OK
>
> was changed into
>
> IRQ for 00:0a.0(0) via 00:0a.0 -> PIRQ 03, mask 1eb8, excl 0000 -> newirq=9 -> assigning IRQ 9 -> edge ... OK

Ok.

The thing was marked as edge-triggered, which is basically always wrong
for a PCI interrupt. The above printout just means that it now noticed
that it was edge, and fixed it up in the ELCR.

> > - add the line "eisa_set_level_irq(irq);" to pirq_via_set() just before
> > the "return 1;"
>
> You certainly know your kernel very well... :-)

That's why they pay me the big bucks. Good.

I'll make it do the eisa_set_level_irq() in the generic code: it should
always be right (we don't do it now in the PIIX4 case, for example, but
the PIIX documentation actually says that we _should_), and there is no
need to do it separately for each interrupt router.

One down.

Now just tell me if the problem with the machine that needs warm-booting
from Windows is fixed by the other PCI change, and I'll be a happy camper.

(Or rather, I'd be a happy camper if I knew what the cause of the disk
corruption reports is. That one bugs me).

                Linus

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



This archive was generated by hypermail 2b29 : Thu Nov 23 2000 - 21:00:26 EST