Date: Tue, 7 May 1996 21:12:32 +0200 From: se@zpr.uni-koeln.de (Stefan Esser) To: "Amancio Hasty Jr." <hasty@rah.star-gate.com> Cc: freebsd-hackers@freebsd.org Subject: Re: shared interrupts? Message-ID: <199605071912.AA04379@Sisyphos> In-Reply-To: "Amancio Hasty Jr." <hasty@rah.star-gate.com> "Re: shared interrupts?" (May 6, 16:02)
next in thread | previous in thread | raw e-mail | index | archive | help
On May 6, 16:02, "Amancio Hasty Jr." wrote: } Subject: Re: shared interrupts? } > > Is it possible for PCI devices to shared interrupts? } > } > Yes. } > } > > And if so how does one identify which device is generating the interrupt? } > } > One asks each device sharing the interrupt "Are *yo* talking to *me*?". } > } > 8-). } } Okay, specifically how does one ask each device "Are you really talking } to me?" Well, that specific question is easy to answer (but I don't know whether you'll like this particular answer :) It is device specific ... There is a linked list of devices belonging to each IRQ that is actually being shared, and a meta-handler polls each device in this list, possibly leading to more than one interrupt being serviced. (You are not interested in knowing whether this device originally caused this polling cycle, it suffices to check whether it could take advantage of service now :) It is good practice to have the interrupt handler in a PCI driver just do a quick check in the device's status register, whether this device is in a state that requires service and to just return if it wasn't. Regards, STefan -- Stefan Esser, Zentrum fuer Paralleles Rechnen Tel: +49 221 4706021 Universitaet zu Koeln, Weyertal 80, 50931 Koeln FAX: +49 221 4705160 ============================================================================== http://www.zpr.uni-koeln.de/~se <se@ZPR.Uni-Koeln.DE>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199605071912.AA04379>