Bug 100051 - MSI interrupt not working in pci-imx6.c if PCIe switch is attached
Summary: MSI interrupt not working in pci-imx6.c if PCIe switch is attached
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: PCI (show other bugs)
Hardware: ARM Linux
: P1 normal
Assignee: drivers_pci@kernel-bugs.osdl.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-06-17 15:05 UTC by dave.mueller
Modified: 2016-02-18 21:27 UTC (History)
1 user (show)

See Also:
Kernel Version: 4.0
Subsystem:
Regression: No
Bisected commit-id:


Attachments
Proposed fix for IMX6 MSI interrupt problem (541 bytes, patch)
2015-06-17 15:05 UTC, dave.mueller
Details | Diff

Description dave.mueller 2015-06-17 15:05:16 UTC
Created attachment 180181 [details]
Proposed fix for IMX6 MSI interrupt problem

I have an i.MX6Q based custom board with an external PCIe NIC running
Linux kernel 4.0

As long as the NIC is connected directly to the i.MX6 PCIe host,
everything is fine.

But if I insert an additional PCIe switch (PEX8603) between the host and
the NIC, MSI interrupt are not working any longer.

By try and error, I figured out that the MSI_ADDR_LO and MSI_ADDR_HI register get overwritten.

The attached patch seems to fix the problem by calling the MSI init code later in the initialization process.

Note You need to log in before you can comment on or make changes to this bug.