[PATCH] i.MX6 PCIe: Fix imx6_pcie_deassert_core_reset() polarity

Krzysztof Hałasa khalasa at piap.pl
Wed Mar 30 01:10:31 PDT 2016


Lucas Stach <l.stach at pengutronix.de> writes:

>> TW6869: PCI 0000:04:00.0, IRQ 336, MMIO 0x1100000
>> TW686x 0000:04:00.0: enabling device (0140 -> 0142)
>>
> I don't see whee the device even tries to use MSI IRQs. Even if the
> infrastructure is enabled it opts to use legacy INTA.

It only tries to use normal IRQ.

> There is no upstream driver for this chip, so I don't know where to look
> to find out if the driver tries to enable MSI.

It's been posted on linux-media list... I added pci_enable_msi() to this
driver and it didn't help.

> Is what you are saying that if you enable MSI support in the kernel, it
> breaks legacy IRQs?

Precisely.

However, MSI doesn't seem to work either. Could be a problem specific to
this TW6869 card.

Ventana GW5410 has 5 mPCIe slots, and (with MSI enabled in the system)
those IRQs (non-MSI) don't work in any slot:

304: 0 0 0 0  PCI-MSI   0 Edge   PCIe PME, aerdrv
336: 0 0 0 0      GPC 123 Level  TW8689 in J7 slot
337: 0 0 0 0      GPC 122 Level  TW8689 in J8, J10, J11
338: 0 0 0 0      GPC 121 Level  TW8689 in J6)

If I enable MSI on this card (adding pci_enable_msi()):
313: 0 0 0 0  PCI-MSI   9 Edge   TW6869 in J7 slot

The only way I can get it to work is by disabling MSI (system wide).
-- 
Krzysztof Halasa

Industrial Research Institute for Automation and Measurements PIAP
Al. Jerozolimskie 202, 02-486 Warsaw, Poland



More information about the linux-arm-kernel mailing list