Date: Tue, 27 May 1997 21:18:52 +1000 From: Bruce Evans <bde@zeta.org.au> To: gurney_j@resnet.uoregon.edu, se@FreeBSD.ORG Cc: current@FreeBSD.ORG Subject: Re: cvs commit: src/sys/sys interrupt.h src/sys/kern kern_intr.c Message-ID: <199705271118.VAA05558@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>driver's handler in turn. There is no provision to deal >with Edge triggered shared interrupts, though. Your >driver will have to make sure, that the interrupt pin >sees a new Edge after you leave the multiplex handler, >or you will never again see an IRQ. This is normally >done by looping until the interrupt line has become >inactive, and this loop should go into the low level >(coded in assembler) interrupt code, IMHO ... No, the loop is best done in individual drivers. The low level code can't read the interrupt pin, at least for the ICU case, and drivers can more easily keep track of their state if they do they loop themselves. The only reason to return to the low level is to give other interrupt handlers a chance to run, which is only worth doing if all the drivers cooperate, but none do. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199705271118.VAA05558>