summaryrefslogtreecommitdiff
path: root/sys/arch/alpha/dev/shared_intr.c
AgeCommit message (Collapse)Author
2011-04-15More than a decade ago, interrupt handlers on sparc started returning 0Theo de Raadt
(interrupt was not for me), 1 (positive interrupt was for me), or -1 (i am not sure...). We have continued with this practice in as many drivers as possible, throughout the tree. This makes some of the architectures use that information in their interrupt handler calling code -- if 1 is returned (and we know this specific machine does not have edge-shared interrupts), we finish servicing other possible handlers on the same pin. If the interrupt pin remains asserted (from a different device), we will end up back in the interrupt servicing code of course... but this is cheaper than calling all the chained interrupts on a pin. This does of course count on shared level interrupts being properly sorted by IPL. There have been some concerns about starvation of drivers which incorrectly return 1. Those drivers should be hunted down so that they return -1. (other architectures will follow) ok kettenis drahn dlg miod
2010-09-20Get rid of evcount's support for arranging counters in a treeMatthew Dempsky
hierarchy. Everything attached to a single root node anyway, so at best we had a bush. "i think it is good" deraadt@
2009-09-30Remove unused last argument of alpha_shared_intr_disestablish().Miod Vallat
2006-06-15Rework the interrupt code, shaving some cycles off in the process.Brad Smith
Rather than an "iointr" routine that decomposes a vector into an IRQ, we maintain a vector table directly, hooking up each "iointr" routine at the correct vector. This also allows us to hook device interrupts up to specific vectors. From thorpej NetBSD Tested by myself and a number of end-users.
2006-01-29Add a alpha_shared_intr_reset_strays() function that resets the strayMartin Reindl
interrupt counter for a given shared interrupt descriptor. When an interrupt is successfully handled, reset the strays counter, thus preventing a "slow leak" from eventually shutting off the interrupt vector. from NetBSD via KUDO Takashi
2004-12-25Use list and queue macros where applicable to make the code easier to read;Miod Vallat
no functional change.
2004-06-28Use new event counter API for interrupt counting on alpha. By me, with someAaron Campbell
edits by Theo. deraadt@ ok
2002-03-14First round of __P removal in sysTodd C. Miller
2001-06-25cold is in systm nowMichael Shalayeff
2000-11-08tag the rest of alpha treeEric Jackson
2000-11-08Merge in big portions of the improvements NetBSD did to their alpha port.Artur Grabowski
Highlights: UVM, PMAP_NEW, bus_dma (only on some buses for now), new hardware support, possiblity for ELF, etc, etc. Too much to mention. This is still work in progress. video consoles might be broken, otherwise we have basically the same functionality as before plus more.
1999-02-08In alpha_shared_intr_stray(), if intr_maxstrays is 0 just return (NetBSD)Todd C. Miller
1999-02-08Because of BROKEN_PROM braindamage we need to allow an interuptTodd C. Miller
initialized (but not registered) as IST_LEVEL be assigned IST_EDGE.
1998-12-31semantic change: prefer unshared intr, settle for level shared. this will ↵Theo de Raadt
still fail in some cases
1998-12-27new priority mechanism for pcmcia interrupt allocation, ie. "best effort"Theo de Raadt
for machines low on interrupts. work by fgsch, and myself
1998-06-29isa_intr_check(), alpha style.Jason Downs
1997-11-10$OpenBSD$Niklas Hallqvist
1997-07-09alpha/common/ insults my filecTheo de Raadt