MSI-X support, PCIe controller (pcie-designware.c)

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MSI-X support, PCIe controller (pcie-designware.c)

1,179 Views
graffiti
Contributor I

Hi,

I am developing a system using iMX6q where we have a requirement to support a PCIe device that requires MSI-X.

According to the imx6q reference manual the pcie bridge does support MSI-X, but the driver (pcie-designware.c) does not.

Specifically, in the dw_msi_setup_irq function we see:

if (desc->msi_attrib.is_msix)

   return -EINVAL;

and tracing confirms that when we bring up the pcie device, that function is called explicitly not supporting MSI-X.

So my question: Is there a version of the pcie-designware.c driver, or an alternative driver, that supports MSI-X? (I have already checked fslc kernel and mainline latest version.)

Many thanks,

Kieran Tyrrell.

Labels (2)
0 Kudos
3 Replies

835 Views
igorpadykov
NXP Employee
NXP Employee

Hi Kieran

for MSI-X please check Chapter 40 PCI Express Root Complex Driverattached Linux Manual.


Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

835 Views
graffiti
Contributor I

Hi Igor,

Thanks for the reply, but I have checked the Linux Reference Manual and I see no reference to MSI-X.

In case of confusion, MSI is working fine, but we require MSI-X to support some extra features of the PCIe device.

Thanks, Kieran.

0 Kudos

835 Views
igorpadykov
NXP Employee
NXP Employee

Hi Kieran

sorry, I overlooked MSI-X, seems you are right i.mx6q pcie module does not support it.

Best regards
igor

0 Kudos