Sharing interruot between two drivers for the same interface

  • Thread starter Thread starter Eshanye_kp
  • Start date Start date
E

Eshanye_kp

Hi,

Can the interrupt be shared between

-two drivers on PCI interface, one of the driver being Ndis miniport for
that particular interface ?
-two drivers on PCMCIA interface, one of the driver being Ndis miniport
for that particular interface ?
- two driver on USM interface, one of the driver being Ndis miniport for
that particular interface ?

If so, is status = IoConnectInterrupt(
&DeviceExtension->InterruptObject,
BcmIrqServiceRoutine,
(PVOID) DeviceExtension,
NULL,
Vector,
Irql,
Irql,
Mode,
Shared,
Affinity,
FALSE
);

is the function used in all the non-ndis driver with shared attib and in
Ndis the called used is

Status = NdisMRegisterInterrupt(&Adapter->Interrupt,
AdapterHandle,
AiVector, // bus-relative vector number used by the NIC.
AiInterrupt, // bus-relative DIRQL for the interrupt
TRUE, // MiniportISR function should be called each time the
NIC interrupts
TRUE, // Other devices on the I/O bus can use this interrupt line
InterruptMode); // using LevelSensitive Inerrupts


.... even in non-ndis and ndis on USB interface also call the same
function to share the interrupts ?



Regards
Esha
 
PCI interrupts are sharable between any devices, if the driver is properly
written.
 
Eshanye_kp wrote:
[..]
... even in non-ndis and ndis on USB interface also call the same
function to share the interrupts ?

Yes, they are eventually all handled by the same (software) interrupt
sharing mechanism.

PCI has sharable interrupts by definition.

Stephan
 
Back
Top