Hi, On Fri, Jan 12, 2018 at 04:07:44PM +0100, Sebastian Reichel wrote: > Hi, > > I have an ARM/DT based system [0], that no longer finds its ethernet cards > behind a PCIe switch. I bisected the problem and ended up on > a20c7f36bd3d. I tried providing some space using the suggested "pci=hpbussize=<N>", > but it does not seem to work. > > I added dmesg for working, broken and broken + parameter below. At > the moment I would say this is a regression and the commit should be > reverted. > > [0] arch/arm/boot/dts/imx6q-b850v3.dts > > -- Sebastian > > root@GE004097290225 b850v3:~# uname -a > Linux GE004097290225 4.14.0-rc3-00007-g4147c2fd9b12 #1678 SMP Fri Jan 12 15:42:05 CET 2018 armv7l GNU/Linux > root@GE004097290225 b850v3:~# dmesg | grep pci > [ 0.189198] OF: PCI: host bridge /soc/pcie@1ffc000 ranges: > [ 0.402498] imx6q-pcie 1ffc000.pcie: link up > [ 0.402509] imx6q-pcie 1ffc000.pcie: Link: Gen2 disabled > [ 0.402519] imx6q-pcie 1ffc000.pcie: Link up, Gen1 > [ 0.402643] imx6q-pcie 1ffc000.pcie: PCI host bridge to bus 0000:00 > [ 0.402656] pci_bus 0000:00: root bus resource [bus 00-ff] > [ 0.402667] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] > [ 0.402676] pci_bus 0000:00: root bus resource [mem 0x01000000-0x01efffff] > [ 0.402716] pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400 > [ 0.402756] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff] > [ 0.402779] pci 0000:00:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref] > [ 0.402859] pci 0000:00:00.0: supports D1 > [ 0.402870] pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold > [ 0.403276] pci 0000:01:00.0: [10b5:8605] type 01 class 0x060400 > [ 0.403478] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00003fff] > [ 0.404151] pci 0000:01:00.0: supports D1 D2 > [ 0.404159] pci 0000:01:00.0: PME# supported from D0 D1 D2 D3hot D3cold > [ 0.432595] pci 0000:01:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring > [ 0.432924] pci_bus 0000:02: busn_res: can not insert [bus 02-ff] under [bus 01] (conflicts with (null) [bus 01]) > [ 0.433056] pci 0000:02:01.0: [10b5:8605] type 01 class 0x060400 > [ 0.433912] pci 0000:02:01.0: supports D1 D2 > [ 0.433921] pci 0000:02:01.0: PME# supported from D0 D1 D2 D3hot D3cold > [ 0.434312] pci 0000:02:02.0: [10b5:8605] type 01 class 0x060400 > [ 0.435168] pci 0000:02:02.0: supports D1 D2 > [ 0.435177] pci 0000:02:02.0: PME# supported from D0 D1 D2 D3hot D3cold > [ 0.435568] pci 0000:02:03.0: [10b5:8605] type 01 class 0x060400 > [ 0.436423] pci 0000:02:03.0: supports D1 D2 > [ 0.436432] pci 0000:02:03.0: PME# supported from D0 D1 D2 D3hot D3cold > [ 0.437174] pci 0000:02:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring > [ 0.437230] pci 0000:02:02.0: bridge configuration invalid ([bus 00-00]), reconfiguring > [ 0.437285] pci 0000:02:03.0: bridge configuration invalid ([bus 00-00]), reconfiguring > [ 0.437738] pci 0000:03:00.0: [8086:1533] type 00 class 0x020000 > [ 0.437922] pci 0000:03:00.0: reg 0x10: [mem 0x00000000-0x0007ffff] > [ 0.438032] pci 0000:03:00.0: reg 0x18: [io 0x0000-0x001f] > [ 0.438091] pci 0000:03:00.0: reg 0x1c: [mem 0x00000000-0x00003fff] > [ 0.438748] pci 0000:03:00.0: PME# supported from D0 D3hot D3cold > [ 0.439458] pci_bus 0000:03: busn_res: [bus 03-ff] end is updated to 03 > [ 0.439482] pci_bus 0000:03: [bus 03] partially hidden behind bridge 0000:01 [bus 01] Even your working configuration is not actually working very well. I think this is the same problem Koen's (CC'd) patch is fixing. Could you try the patch here: https://patchwork.ozlabs.org/patch/857566/ and see if it works better?