>>   Device drivers that have interrupt routines *MUST* understand they 
>> are suspended so they don't update their hardware, and return 
>> DDI_INTR_UNCLAIMED, even if they have disabled their own interrupts.  
>> The only exception, is if there is a single routine for several 
>> hardware devices, and in that case it is important for the isr to know 
>> which devices have been suspended, and service interrupts for those 
>> that have not.
>>   
> 
> I am having trouble understanding this idea.... one ISR for multiple 
> devices?  

Maybe, but only if they're multiple instances of the same driver (in which 
case the argument to the ISR distinguishes the particular instance).  The 
key is "shared interrupt line"; the system will call all ISRs registered 
for every interrupt line whenever it sees an interrupt on that source, in 
order.  The return code indicates whether the driver agrees that this 
hardware interrupt was caused by its hardware, and that it's responsible 
for dealing with it.

Imagine a network card and a disk interface on the same "IRQ".

_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to