Re: [PATCH] PCI: mvebu: Fix duplicate resource requests

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

 



On 23/10/2020 02:51, Rob Herring wrote:
On Thu, Oct 22, 2020 at 5:09 PM Russell King - ARM Linux admin
<linux@xxxxxxxxxxxxxxx> wrote:
On Thu, Oct 22, 2020 at 11:05:07PM +0100, Russell King - ARM Linux admin wrote:
@@ -1001,9 +995,12 @@ static int mvebu_pcie_parse_request_resources(struct mvebu_pcie *pcie)
             pcie->realio.name = "PCI I/O";

             pci_add_resource(&bridge->windows, &pcie->realio);
+           ret = devm_request_resource(dev, &iomem_resource, &pcie->realio);
I think you're trying to claim this resource against the wrong parent.
Fixing this to ioport_resource results in in working PCIe.
Copy-n-paste... Thanks for testing.

Rob

Run tested the patch with 5.9.1 and it seems fixing the issue, not sure about the meaning of "BAR 0: error updating":


mvebu-pcie soc:pcie: host bridge /soc/pcie ranges:
mvebu-pcie soc:pcie: Parsing ranges property...
mvebu-pcie soc:pcie: MEM 0x00f1080000..0x00f1081fff -> 0x0000080000
mvebu-pcie soc:pcie: MEM 0x00f1040000..0x00f1041fff -> 0x0000040000
mvebu-pcie soc:pcie: MEM 0x00f1044000..0x00f1045fff -> 0x0000044000
mvebu-pcie soc:pcie: MEM 0x00f1048000..0x00f1049fff -> 0x0000048000
mvebu-pcie soc:pcie: MEM 0xffffffffffffffff..0x00fffffffe -> 0x0100000000
mvebu-pcie soc:pcie: IO 0xffffffffffffffff..0x00fffffffe -> 0x0100000000
mvebu-pcie soc:pcie: MEM 0xffffffffffffffff..0x00fffffffe -> 0x0200000000
mvebu-pcie soc:pcie: IO 0xffffffffffffffff..0x00fffffffe -> 0x0200000000
mvebu-pcie soc:pcie: MEM 0xffffffffffffffff..0x00fffffffe -> 0x0300000000
mvebu-pcie soc:pcie: IO 0xffffffffffffffff..0x00fffffffe -> 0x0300000000
mvebu-pcie soc:pcie: MEM 0xffffffffffffffff..0x00fffffffe -> 0x0400000000
mvebu-pcie soc:pcie: IO 0xffffffffffffffff..0x00fffffffe -> 0x0400000000
mvebu-pcie soc:pcie: PCI host bridge to bus 0000:00
pci_bus 0000:00: root bus resource [bus 00-ff]
pci_bus 0000:00: root bus resource [mem 0xf1080000-0xf1081fff] (bus address [0x00080000-0x00081fff]) pci_bus 0000:00: root bus resource [mem 0xf1040000-0xf1041fff] (bus address [0x00040000-0x00041fff]) pci_bus 0000:00: root bus resource [mem 0xf1044000-0xf1045fff] (bus address [0x00044000-0x00045fff]) pci_bus 0000:00: root bus resource [mem 0xf1048000-0xf1049fff] (bus address [0x00048000-0x00049fff])
pci_bus 0000:00: root bus resource [mem 0xe0000000-0xe7ffffff]
pci_bus 0000:00: root bus resource [io  0x1000-0xeffff]
pci_bus 0000:00: scanning bus
pci 0000:00:01.0: [11ab:6820] type 01 class 0x060400
pci 0000:00:01.0: reg 0x38: [mem 0x00000000-0x000007ff pref]
pci 0000:00:02.0: [11ab:6820] type 01 class 0x060400
pci 0000:00:02.0: reg 0x38: [mem 0x00000000-0x000007ff pref]
pci 0000:00:03.0: [11ab:6820] type 01 class 0x060400
pci 0000:00:03.0: reg 0x38: [mem 0x00000000-0x000007ff pref]
pci_bus 0000:00: fixups for bus
pci 0000:00:01.0: scanning [bus 00-00] behind bridge, pass 0
pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring
pci 0000:00:02.0: scanning [bus 00-00] behind bridge, pass 0
pci 0000:00:02.0: bridge configuration invalid ([bus 00-00]), reconfiguring
pci 0000:00:03.0: scanning [bus 00-00] behind bridge, pass 0
pci 0000:00:03.0: bridge configuration invalid ([bus 00-00]), reconfiguring
pci 0000:00:01.0: scanning [bus 00-00] behind bridge, pass 1
pci_bus 0000:01: scanning bus
pci_bus 0000:01: fixups for bus
pci_bus 0000:01: bus scan returning with max=01
pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
pci 0000:00:02.0: scanning [bus 00-00] behind bridge, pass 1
pci_bus 0000:02: scanning bus
pci 0000:02:00.0: [168c:003c] type 00 class 0x028000
pci 0000:02:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit]
pci 0000:02:00.0: reg 0x30: [mem 0x00000000-0x0000ffff pref]
pci 0000:02:00.0: supports D1 D2
pci 0000:00:02.0: ASPM: current common clock configuration is inconsistent, reconfiguring
pci_bus 0000:02: fixups for bus
pci_bus 0000:02: bus scan returning with max=02
pci_bus 0000:02: busn_res: [bus 02-ff] end is updated to 02
pci 0000:00:03.0: scanning [bus 00-00] behind bridge, pass 1
pci_bus 0000:03: scanning bus
pci 0000:03:00.0: [168c:002e] type 00 class 0x028000
pci 0000:03:00.0: reg 0x10: [mem 0x00000000-0x0000ffff 64bit]
pci 0000:03:00.0: supports D1
pci 0000:03:00.0: PME# supported from D0 D1 D3hot
pci 0000:03:00.0: PME# disabled
pci 0000:00:03.0: ASPM: current common clock configuration is inconsistent, reconfiguring
pci_bus 0000:03: fixups for bus
pci_bus 0000:03: bus scan returning with max=03
pci_bus 0000:03: busn_res: [bus 03-ff] end is updated to 03
pci_bus 0000:00: bus scan returning with max=03
pci 0000:00:02.0: BAR 8: assigned [mem 0xe0000000-0xe02fffff]
pci 0000:00:03.0: BAR 8: assigned [mem 0xe0300000-0xe03fffff]
pci 0000:00:01.0: BAR 6: assigned [mem 0xe0400000-0xe04007ff pref]
pci 0000:00:02.0: BAR 6: assigned [mem 0xe0500000-0xe05007ff pref]
pci 0000:00:03.0: BAR 6: assigned [mem 0xe0600000-0xe06007ff pref]
pci 0000:00:01.0: PCI bridge to [bus 01]
pci 0000:02:00.0: BAR 0: assigned [mem 0xe0000000-0xe01fffff 64bit]
pci 0000:02:00.0: BAR 0: error updating (0xe0000004 != 0xffffffff)
pci 0000:02:00.0: BAR 0: error updating (high 0x000000 != 0xffffffff)
pci 0000:02:00.0: BAR 6: assigned [mem 0xe0200000-0xe020ffff pref]
pci 0000:00:02.0: PCI bridge to [bus 02]
pci 0000:00:02.0: bridge window [mem 0xe0000000-0xe02fffff]
pci 0000:03:00.0: BAR 0: assigned [mem 0xe0300000-0xe030ffff 64bit]
pci 0000:03:00.0: BAR 0: error updating (0xe0300004 != 0xffffffff)
pci 0000:03:00.0: BAR 0: error updating (high 0x000000 != 0xffffffff)
pci 0000:00:03.0: PCI bridge to [bus 03]
pci 0000:00:03.0: bridge window [mem 0xe0300000-0xe03fffff]
pci 0000:00:03.0: enabling device (0140 -> 0142)
pci 0000:00:03.0: enabling bus mastering
pci 0000:00:02.0: enabling device (0140 -> 0142)
pci 0000:00:02.0: enabling bus mastering

----

Pardon the ignorance, how the further workflow of the patch from patchwork, commit to next (5.10) branch and then backport to 5.9?




Attachment: OpenPGP_0x729CFF47A416598B.asc
Description: application/pgp-keys

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


[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