Regression due to "PCI: Do not allocate more buses than available in parent"
From: Sebastian Reichel
Date: Fri Jan 12 2018 - 10:07:54 EST
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]
[ 0.439909] pci 0000:04:00.0: [8086:1533] type 00 class 0x020000
[ 0.440094] pci 0000:04:00.0: reg 0x10: [mem 0x00000000-0x0007ffff]
[ 0.440204] pci 0000:04:00.0: reg 0x18: [io 0x0000-0x001f]
[ 0.440263] pci 0000:04:00.0: reg 0x1c: [mem 0x00000000-0x00003fff]
[ 0.440921] pci 0000:04:00.0: PME# supported from D0 D3hot D3cold
[ 0.441635] pci_bus 0000:04: busn_res: [bus 04-ff] end is updated to 04
[ 0.441658] pci_bus 0000:04: [bus 04] partially hidden behind bridge 0000:01 [bus 01]
[ 0.441982] pci_bus 0000:05: busn_res: [bus 05-ff] end is updated to 05
[ 0.442004] pci_bus 0000:05: [bus 05] partially hidden behind bridge 0000:01 [bus 01]
[ 0.442024] pci_bus 0000:02: busn_res: [bus 02-ff] end is updated to 05
[ 0.442035] pci_bus 0000:02: busn_res: can not insert [bus 02-05] under [bus 01] (conflicts with (null) [bus 01])
[ 0.442056] pci_bus 0000:02: [bus 02-05] partially hidden behind bridge 0000:01 [bus 01]
[ 0.442075] pci 0000:00:00.0: bridge has subordinate 01 but max busn 05
[ 0.442351] pci 0000:00:00.0: BAR 0: assigned [mem 0x01000000-0x010fffff]
[ 0.442370] pci 0000:00:00.0: BAR 8: assigned [mem 0x01100000-0x014fffff]
[ 0.442382] pci 0000:00:00.0: BAR 9: assigned [mem 0x01500000-0x016fffff pref]
[ 0.442432] pci 0000:00:00.0: BAR 6: assigned [mem 0x01700000-0x0170ffff pref]
[ 0.442446] pci 0000:00:00.0: BAR 7: assigned [io 0x1000-0x2fff]
[ 0.442465] pci 0000:01:00.0: BAR 8: assigned [mem 0x01100000-0x013fffff]
[ 0.442477] pci 0000:01:00.0: BAR 9: assigned [mem 0x01500000-0x016fffff 64bit pref]
[ 0.442489] pci 0000:01:00.0: BAR 0: assigned [mem 0x01400000-0x01403fff]
[ 0.442523] pci 0000:01:00.0: BAR 7: assigned [io 0x1000-0x2fff]
[ 0.442542] pci 0000:02:01.0: BAR 8: assigned [mem 0x01100000-0x012fffff]
[ 0.442554] pci 0000:02:01.0: BAR 9: assigned [mem 0x01500000-0x016fffff 64bit pref]
[ 0.442565] pci 0000:02:02.0: BAR 8: assigned [mem 0x01300000-0x013fffff]
[ 0.442576] pci 0000:02:01.0: BAR 7: assigned [io 0x1000-0x1fff]
[ 0.442587] pci 0000:02:02.0: BAR 7: assigned [io 0x2000-0x2fff]
[ 0.442601] pci 0000:03:00.0: BAR 0: assigned [mem 0x01100000-0x0117ffff]
[ 0.442633] pci 0000:03:00.0: BAR 3: assigned [mem 0x01180000-0x01183fff]
[ 0.442665] pci 0000:03:00.0: BAR 2: assigned [io 0x1000-0x101f]
[ 0.442698] pci 0000:02:01.0: PCI bridge to [bus 03]
[ 0.442719] pci 0000:02:01.0: bridge window [io 0x1000-0x1fff]
[ 0.442757] pci 0000:02:01.0: bridge window [mem 0x01100000-0x012fffff]
[ 0.442785] pci 0000:02:01.0: bridge window [mem 0x01500000-0x016fffff 64bit pref]
[ 0.442836] pci 0000:04:00.0: BAR 0: assigned [mem 0x01300000-0x0137ffff]
[ 0.442869] pci 0000:04:00.0: BAR 3: assigned [mem 0x01380000-0x01383fff]
[ 0.442900] pci 0000:04:00.0: BAR 2: assigned [io 0x2000-0x201f]
[ 0.442930] pci 0000:02:02.0: PCI bridge to [bus 04]
[ 0.442948] pci 0000:02:02.0: bridge window [io 0x2000-0x2fff]
[ 0.442983] pci 0000:02:02.0: bridge window [mem 0x01300000-0x013fffff]
[ 0.443046] pci 0000:02:03.0: PCI bridge to [bus 05]
[ 0.443135] pci 0000:01:00.0: PCI bridge to [bus 02-05]
[ 0.443152] pci 0000:01:00.0: bridge window [io 0x1000-0x2fff]
[ 0.443187] pci 0000:01:00.0: bridge window [mem 0x01100000-0x013fffff]
[ 0.443215] pci 0000:01:00.0: bridge window [mem 0x01500000-0x016fffff 64bit pref]
[ 0.443258] pci 0000:00:00.0: PCI bridge to [bus 01]
[ 0.443268] pci 0000:00:00.0: bridge window [io 0x1000-0x2fff]
[ 0.443279] pci 0000:00:00.0: bridge window [mem 0x01100000-0x014fffff]
[ 0.443288] pci 0000:00:00.0: bridge window [mem 0x01500000-0x016fffff pref]
[ 0.443774] pcieport 0000:00:00.0: AER enabled with IRQ 302
[ 0.444054] pcieport 0000:01:00.0: enabling device (0140 -> 0143)
[ 0.445358] pcieport 0000:02:01.0: enabling device (0140 -> 0143)
[ 0.446721] pcieport 0000:02:02.0: enabling device (0140 -> 0143)
[ 1.165358] ehci-pci: EHCI PCI platform driver
root@GE004097290225 b850v3:~# uname -a
Linux GE004097290225 4.14.0-rc3-00008-ga20c7f36bd3d #1677 SMP Fri Jan 12 14:35:23 CET 2018 armv7l GNU/Linux
root@GE004097290225 b850v3:~# dmesg | grep pci
[ 0.189490] OF: PCI: host bridge /soc/pcie@1ffc000 ranges:
[ 0.402486] imx6q-pcie 1ffc000.pcie: link up
[ 0.402496] imx6q-pcie 1ffc000.pcie: Link: Gen2 disabled
[ 0.402506] imx6q-pcie 1ffc000.pcie: Link up, Gen1
[ 0.402628] imx6q-pcie 1ffc000.pcie: PCI host bridge to bus 0000:00
[ 0.402642] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 0.402654] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
[ 0.402665] pci_bus 0000:00: root bus resource [mem 0x01000000-0x01efffff]
[ 0.402705] pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400
[ 0.402745] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
[ 0.402770] pci 0000:00:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref]
[ 0.402851] pci 0000:00:00.0: supports D1
[ 0.402863] 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.403477] 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.432587] pci 0000:01:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[ 0.432917] pci_bus 0000:02: busn_res: can not insert [bus 02-01] under [bus 01] (conflicts with (null) [bus 01])
[ 0.433260] pci_bus 0000:02: busn_res: [bus 02-01] end is updated to 02
[ 0.433271] pci_bus 0000:02: busn_res: can not insert [bus 02] under [bus 01] (conflicts with (null) [bus 01])
[ 0.433294] pci_bus 0000:02: [bus 02] partially hidden behind bridge 0000:01 [bus 01]
[ 0.433313] pci 0000:00:00.0: bridge has subordinate 01 but max busn 02
[ 0.433417] pci 0000:00:00.0: BAR 0: assigned [mem 0x01000000-0x010fffff]
[ 0.433437] pci 0000:00:00.0: BAR 8: assigned [mem 0x01100000-0x011fffff]
[ 0.433449] pci 0000:00:00.0: BAR 6: assigned [mem 0x01200000-0x0120ffff pref]
[ 0.433468] pci 0000:01:00.0: BAR 0: assigned [mem 0x01100000-0x01103fff]
[ 0.433498] pci 0000:01:00.0: PCI bridge to [bus 02]
[ 0.433593] pci 0000:00:00.0: PCI bridge to [bus 01]
[ 0.433607] pci 0000:00:00.0: bridge window [mem 0x01100000-0x011fffff]
[ 0.434037] pcieport 0000:00:00.0: AER enabled with IRQ 302
[ 0.434319] pcieport 0000:01:00.0: enabling device (0140 -> 0142)
[ 0.687103] ehci-pci: EHCI PCI platform driver
root@GE004097290225 b850v3:~# uname -a
Linux GE004097290225 4.14.0-rc3-00008-ga20c7f36bd3d #1677 SMP Fri Jan 12 14:35:23 CET 2018 armv7l GNU/Linux
root@GE004097290225 b850v3:~# dmesg | grep pci
[ 0.000000] Kernel command line: root=/dev/mmcblk1p2 ro rootwait cma=128M bootcause=POR quiet watchdog.handle_boot_enabled=1 pci=hpbussize=10 console=ttymxc2 video=DP-1:1024x768@60 video=HDMI-A-1:1024x768@60
[ 0.189510] OF: PCI: host bridge /soc/pcie@1ffc000 ranges:
[ 0.402622] imx6q-pcie 1ffc000.pcie: link up
[ 0.402632] imx6q-pcie 1ffc000.pcie: Link: Gen2 disabled
[ 0.402642] imx6q-pcie 1ffc000.pcie: Link up, Gen1
[ 0.402770] imx6q-pcie 1ffc000.pcie: PCI host bridge to bus 0000:00
[ 0.402783] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 0.402794] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
[ 0.402804] pci_bus 0000:00: root bus resource [mem 0x01000000-0x01efffff]
[ 0.402842] pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400
[ 0.402883] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
[ 0.402907] pci 0000:00:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref]
[ 0.402987] pci 0000:00:00.0: supports D1
[ 0.402999] pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold
[ 0.403408] pci 0000:01:00.0: [10b5:8605] type 01 class 0x060400
[ 0.403611] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00003fff]
[ 0.404286] pci 0000:01:00.0: supports D1 D2
[ 0.404294] pci 0000:01:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[ 0.432726] pci 0000:01:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[ 0.433051] pci_bus 0000:02: busn_res: can not insert [bus 02-01] under [bus 01] (conflicts with (null) [bus 01])
[ 0.433395] pci_bus 0000:02: busn_res: [bus 02-01] end is updated to 02
[ 0.433407] pci_bus 0000:02: busn_res: can not insert [bus 02] under [bus 01] (conflicts with (null) [bus 01])
[ 0.433430] pci_bus 0000:02: [bus 02] partially hidden behind bridge 0000:01 [bus 01]
[ 0.433450] pci 0000:00:00.0: bridge has subordinate 01 but max busn 02
[ 0.433551] pci 0000:00:00.0: BAR 0: assigned [mem 0x01000000-0x010fffff]
[ 0.433569] pci 0000:00:00.0: BAR 8: assigned [mem 0x01100000-0x011fffff]
[ 0.433582] pci 0000:00:00.0: BAR 6: assigned [mem 0x01200000-0x0120ffff pref]
[ 0.433598] pci 0000:01:00.0: BAR 0: assigned [mem 0x01100000-0x01103fff]
[ 0.433629] pci 0000:01:00.0: PCI bridge to [bus 02]
[ 0.433724] pci 0000:00:00.0: PCI bridge to [bus 01]
[ 0.433737] pci 0000:00:00.0: bridge window [mem 0x01100000-0x011fffff]
[ 0.434169] pcieport 0000:00:00.0: AER enabled with IRQ 302
[ 0.434443] pcieport 0000:01:00.0: enabling device (0140 -> 0142)
[ 0.684674] ehci-pci: EHCI PCI platform driver
Attachment:
signature.asc
Description: PGP signature