none
not receiving interrupt when MSI is configured RRS feed

  • Question

  • I have configured my multiport serial controller for MSI successfully.My controller supports MSI, as well as my system does.

    I looked at the PCI config space and can see the bit MSI_Enable at offset 0x8C is on. In my driver code also, i am looking at the descriptors and MSI is enabled as per the values. 

    I am even seeing the IRQ value as a huge hexadecimal number (and a negative number in brackets)

    Below are the registry entries i am making in the .inf file.

    HKR,Interrupt Management,,0x00000010
    HKR,Interrupt Management\MessageSignaledInterruptProperties,,0x00000010
    HKR,Interrupt Management\MessageSignaledInterruptProperties,MSISupported,0x00010001,1
    HKR,Interrupt Management\MessageSignaledInterruptProperties,MessageNumberLimit,0x00010001,4

    however i am not receiving any interrupts from the controller. I am also receiving Message_count as 0. 

    My driver is a WDF driver and i am configuring the interrupt in PrepareHardware function. None of the functions is failing. But i am not receiving any interrupts. 

    I am suspecting a problem Message_count variable. Why is it returning 0 all the times? 

     

    Tuesday, July 1, 2014 1:57 PM

Answers

  • Actually, while you ask for 4 the OS can determine to give you just one or the number you ask for.  This is dependant on the system configuration, so a driver needs to handle this in all cases.


    Don Burn Windows Filesystem and Driver Consulting Website: http://www.windrvr.com Blog: http://msmvps.com/blogs/WinDrvr

    Tuesday, July 1, 2014 5:13 PM

All replies

  • If the message count is zero, you could be getting only one MSI interrupt instead on the 4 you are asking for.  You should be getting interrupts from the controller if everything is enabled.


    Don Burn Windows Filesystem and Driver Consulting Website: http://www.windrvr.com Blog: http://msmvps.com/blogs/WinDrvr

    Tuesday, July 1, 2014 3:43 PM
  • Ok.. then there could be a problem with the code written for connecting the interrupts. I shall check the code once again.
    Tuesday, July 1, 2014 5:10 PM
  • Actually, while you ask for 4 the OS can determine to give you just one or the number you ask for.  This is dependant on the system configuration, so a driver needs to handle this in all cases.


    Don Burn Windows Filesystem and Driver Consulting Website: http://www.windrvr.com Blog: http://msmvps.com/blogs/WinDrvr

    Tuesday, July 1, 2014 5:13 PM