Re: iMX6 PCIe MSI issues

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Adding Trent and Tim (as I think they managed to fix some imx6 MSI issues)

On Fri, Nov 23, 2018 at 8:17 PM Robert Hancock <hancock@xxxxxxxxxxxxx> wrote:
>
> I am working with a custom FPGA PCI Express endpoint connected to an NXP
> iMX6D processor running the 4.19.2 kernel. It seems happy using INTx
> interrupts but when trying to enable MSI the device driver is not
> receiving any interrupts.
>
> From some register poking I have figured out:
> -the MSI address set on the PCIe device is correctly set in the iMX MSI
> controller's MSI Controller Address register (0x1ffc820)
> -the interrupt vectors are enabled in the MSI controller's Interrupt
> Enable register (0x1ffc828)
> -the interrupt vectors are not masked in the MSI controller's Interrupt
> Mask register (0x1ffc82c)
> -The MSI controller's Interrupt Status register (0x1ffc830) shows that
> the requested interrupt vectors are pending
> -In the ARM GIC, vector 152 (for msi_ctrl_int) is enabled in the IS
> enable register (0x00a01110), but not set in the IS pending (0x00a01210)
> or IS active (0x00a01310) registers
> -Vector 152 is not masked in the GPC interrupt mask (0x00a01310)
> -Vector 152 is not active in the GPC interrupt status (0x00a01310)
>
> So it appears the MSI controller is receiving and recognizing the MSI
> from the device, but the interrupt is not making it into the GIC for
> some reason. If I manually set vector 152 to pending in the GIC, the
> dw_handle_msi_irq handler in pci-designware-host.c does get called along
> with the interrupt handler(s) for the PCIe device, so it appears the
> chain from that point on is working:
>
> # devmem 0x00a01210 32 0x1000000
>
> I found someone else reporting this in 2014 with an unknown kernel
> version on the NXP forums here, but with no resolution listed there:
>
> https://community.nxp.com/thread/318307
>
> Any ideas on what may be going wrong? My next step may be to try an
> older kernel version to see if this got broken at some point.
>
> --
> Robert Hancock
> Senior Software Developer
> SED Systems
> Email: hancock@xxxxxxxxxxxxx
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux