[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [rtl] off-topic: PCI interrupts
The problem is caused by "level triggered interrupts" on shared lines.
In this situation, unless you clear the interrupt source (by e.g. reading a
status register on the interrupting device), the interrupt remains asserted.
So you cannot unmask the interrupt controller. ISA is edge triggered.
Many boards have logic that handles this problem by mapping other
interrupts to a controller so you can mask the individual source
instead of all PCI interrupts at that level
Device ----}
}slave controller ---> PCI interrupt level X ->
Device ----}
Or something like that.
On Mon, Jun 18, 2001 at 09:52:51PM -0400, Reef Morse wrote:
> In my application, I can check to see if my board triggered the interrupt.
> If it didn't, I just exit to other handlers. It's about 4 lines of code in
> assembly, so it doesn't take much time. This is on an ISA bus. Does this
> apply for the PCI bus as well?
>
> Regards, Reef Morse
>
> ----- End of forwarded message from owner-rtl@fsmlabs.com -----
> -- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail majordomo@rtlinux.org OR
> echo "unsubscribe rtl <Your_email>" | mail majordomo@rtlinux.org
> --
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/rtlinux/