FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6359 Discussions

PCIe Arria 10 HIP MSI-X

agula
New Contributor I
561 Views

Hello,

 

I'm wondering if I could receive any guidance or documentation for MSI-X interrupt generation. For example, could I receive more clarification on the Vector Control field defined in the MSI-X table? What does the concept of masking refer to and how do I detect if it is masked? Additionally, how do I pass a message to the interrupt service routine of the host SW? There is a message field in the MSI-X table, can I put the message I want the software to receive when servicing the ISR? If not, what is the standard way for doing this? 

 

Thank you! 

0 Kudos
5 Replies
SengKok_L_Intel
Moderator
553 Views

Hi,


You may refer to the following link, section 8.1.3 (or page 115) for some of the detailed info regarding the implement MSI-X interrupts.

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug_a10_pcie_avst.pdf


Regards -SK


0 Kudos
agula
New Contributor I
545 Views

Thank you for sharing this. Based on this section, it seems the only way to send data to the software is by creating a separate memory write to a DMA region in the software driver. Is this the case? 

 

 

0 Kudos
SengKok_L_Intel
Moderator
543 Views

Yes, software needs to setup the MSI-X table via any of the BAR at the application layer.


Regards -SK


0 Kudos
SengKok_L_Intel
Moderator
520 Views

If further support is needed in this thread, please post a response within 15 days. After 15 days, this thread will be transitioned to community support. The community users will be able to help you with your follow-up questions. 


0 Kudos
agula
New Contributor I
505 Views

Hi,

When trying to use MSI-X interrupts on a virtual function, the host crashes. The host crashes when trying to use request_irq(). When using MSI-X interrupts in virtual functions can you use any BAR entry for the MSI-X table ? Does this memory region also need to be readable by the host machine or only write able ? Setting up the MSI-X table from the host PC doesn't seem to be an issue with the physical function. The user guide for this says multi-function variants can only access MSI-X table from BAR 4. Although, I am not sure if this is a mistake because the mega function wizard does not restrict me from setting the BAR to 0.  

 

Thank you

 

0 Kudos
Reply