Re: MSI and MSI-X support in NIDS60

Tech-Archive recommends: Fix windows errors by optimizing your registry



Aniketa, If you are still following this thread, please post a response and I will try to answer your questions the best I can.

-ali


"Aniketa K S" <aniketaks@xxxxxxxxxxxxxx> wrote in message news:1177668244.337221.68350@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hi folks,

I have a couple of questions related to MSI/MSI-X:

How can I differentiate between MSI and MSI-X resources in
MiniportFilterResourceRequirements()? Lets consider a case where NIC
supports both MSI and MSI-X. Also let us say NIC supports only one
vector in both MSI and MSI-X. Now I want to support only MSI or MSI-X
in my Miniport Driver. How do I know which one to filter out in the
resource list?

Miniport Driver has to register message interrupt disable/enable
routines with the NDIS in the call to NdisMRegisterInterruptEx(). But
in order to achieve MSI/MSI-X vector enable/disable, one need to read/
write from NIC config space using NdisMGet/SetBusData() APIs. The
catch here is DDK says NDIS calls message interrupt enable/disable
routines from DIRQL. But the NdisMGet/SetBusData routines should be
called at DISPATCH_LEVEL. What am I missing here? Are there any NDIS
supported APIs to enable/disable individual MSI/MSI-X vectors?

Also It looks like Windows categorizes the interrupts as either line
based or message based. But not between MSI and MSI-X inside message
based (from NIC Miniport Driver perspective). Why is that?

Thanks,
Aniketa


.



Relevant Pages

  • MSI and MSI-X support in NIDS60
    ... supports both MSI and MSI-X. ... Miniport Driver has to register message interrupt disable/enable ...
    (microsoft.public.development.device.drivers)
  • [PATCH] Doc/MSI-HOWTO: cleanups
    ... This guide describes the basics of Message Signaled Interrupts (MSI), ... and how to enable your driver to use MSI or MSI-X. ... -With this new API, any existing device driver, which like to have ... the PCI subsystem restores a device's ...
    (Linux-Kernel)
  • Re: [PATCH] Doc/MSI-HOWTO: cleanups
    ... This guide describes the basics of Message Signaled Interrupts (MSI), ... MSI and MSI-X both support per-vector masking. ... -With this new API, any existing device driver, which like to have ... the PCI subsystem restores a device's ...
    (Linux-Kernel)
  • RE: [PATCH]2.6.7 MSI-X Update
    ... According to PCI specs, the software driver is prohibited to make any ... I think the MSI-X ... For the case where a device function implements both the MSI ... from some IHVs requesting the kernel to provide a device driver the ...
    (Linux-Kernel)
  • RE: [PATCH] Doc/MSI-HOWTO: cleanups
    ... This guide describes the basics of Message Signaled Interrupts (MSI), ... +PCI devices can be single-function or multi-function. ... MSI and MSI-X both support per-vector masking. ... -With this new API, any existing device driver, which like to have ...
    (Linux-Kernel)