Re: PCI lost interrupts and PLX chips

From: Dimitris Lampridis
Date: Thu Jan 13 2005 - 08:00:28 EST


First of all, thanks for your concern.

On Thu, 2005-01-13 at 14:49, linux-os wrote:
> You can look at /proc/interrupts to see if your device ever interrupted.
> If it did, then got shut off, you probably forgot to return IRQ_HANDLED
> in the interrupt-service-routine. The newer code requires a return-value
> from the ISR.
>
No interrupt at /proc/interrupts. The ISR never gets called. If it
would, it returns IRQ_HANDLED.
As I mentioned on the first mail, using a logical analyzer I saw the
device generating interrupts behind the PCI bridge, but I didn't see
them pass through the bridge, so I didn't expect to read something at
/proc/interrupts.

> If it got a bunch of spurious interrupts that made it impossible
> to initialize the device properly, then use some flag to tell
> your ISR that the device wasn't enabled yet. If it got an interrupt
> before the device was enabled, the ISR writes 0 to the PLX CSR after
> reading and throwing away the existing value. That will quiet the
> device until it can be properly initialized.
>
Same here, ISR never gets called.

> If you never got any interrupts, then you have some other bug.
> You can readily force the PLX to generate interrupts for testing
> purposes.

How can I do that? Don't bother explaining everything. Maybe a link
to somewhere on the net where I can learn more?

Thanks,
Dimitris

-
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/