imx8mp pci hang during init

Maciej W. Rozycki macro at orcam.me.uk
Thu Aug 17 17:05:04 PDT 2023


On Thu, 17 Aug 2023, Bjorn Helgaas wrote:

> [+cc Maciej, smells similar to a89c82249c37 ("PCI: Work around PCIe
> link training failures") ]

 Quite so indeed.

> > [ 0.499660] imx6q-pcie 33800000.pcie: host bridge /soc at 0/pcie at 33800000 ranges:
> > [ 0.500276] clk: Not disabling unused clocks
> > [ 0.506960] imx6q-pcie 33800000.pcie: IO 0x001ff80000..0x001ff8ffff ->
> > 0x0000000000
> > [ 0.519401] imx6q-pcie 33800000.pcie: MEM 0x0018000000..0x001fefffff
> > -> 0x0018000000
> > [ 0.743554] imx6q-pcie 33800000.pcie: iATU: unroll T, 4 ob, 4 ib,
> > align 64K, limit 16G
> > [ 0.851578] imx6q-pcie 33800000.pcie: PCIe Gen.1 x1 link up
> > ^^^ hang at this point until watchdog resets

 So I think it's important to figure out where exactly in the kernel code 
the hang happens; this is presumably in host-bridge-specific link bring-up 
code polling link status, which may have to be updated according to or 
otherwise make use of a89c82249c37.  It may also be something completely 
different of course.

 Can you see if you can bump the link up beyond 2.5GT/s by poking at host 
bridge registers by hand with `setpci' once the link been successfully 
established at 2.5GT/s?

  Maciej



More information about the linux-arm-kernel mailing list