Re: [PATCH v1 0/2] PCI: Sparc 64-bit resource fixups

From: Khalid Aziz
Date: Wed Feb 21 2018 - 15:38:13 EST


On 02/20/2018 04:39 PM, Bjorn Helgaas wrote:

Both these patches are on my pci/sparc branch and appeared in the
Feb 19 linux-next tree.

Any testing and feedback (especially on the second patch, which should
change /proc/iomem) would be great.

They're headed for v4.17 unless I hear about issues.

It would be useful to hear about what's still broken so I can try to
pull in the other patches.


Hi Bjorn,

I tested these two patches on an M7 machine. With these two patches, one of the PCI devices was able to claim BAR 0 which it fails to without these patches. This device happens to be a NIC, so with these two patches, the NIC finally works on my test machine. I have attached log showing all the failures to claim a BAR. First file is from 4.16-rc2 while the second one is from 4.16-rc2+these two patches. There still are a number of failures to claim BAR even with these two patches.

I am also attaching /proc/iomem for the 4.16-rc2 kernel and 4.16-rc2 with these two patches.

--
Khalid
pci 0000:03:00.0: can't claim BAR 0 [mem 0x2000100000000-0x20001007fffff 64bit pref]: no compatible bridge window
pci 0000:03:00.0: can't claim BAR 6 [mem 0x2000000100000-0x200000017ffff]: no compatible bridge window
pci 0000:03:00.1: can't claim BAR 6 [mem 0x2000000180000-0x20000001fffff]: no compatible bridge window
pci 0000:03:00.2: can't claim BAR 3 [mem 0x2000100d10000-0x2000100d17fff 64bit pref]: address conflict with 0000:03:00.1 [mem 0x2000100b90000-0x2000100d8ffff 64bit pref]
pci 0000:03:00.2: can't claim BAR 7 [mem 0x2000100e20000-0x200010101ffff 64bit pref]: address conflict with 0000:03:00.1 [mem 0x2000101000000-0x20001017fffff 64bit pref]
pci 0000:03:00.2: can't claim BAR 10 [mem 0x2000101020000-0x200010109ffff 64bit pref]: address conflict with 0000:03:00.1 [mem 0x2000101000000-0x20001017fffff 64bit pref]
pci 0000:03:00.3: can't claim BAR 3 [mem 0x2000100d18000-0x2000100d1ffff 64bit pref]: address conflict with 0000:03:00.1 [mem 0x2000100b90000-0x2000100d8ffff 64bit pref]
pci 0000:04:00.0: can't claim BAR 0 [mem 0x2000110000000-0x200011000ffff 64bit]: no compatible bridge window
pci 0000:04:00.0: can't claim BAR 2 [mem 0x2000110010000-0x2000110011fff 64bit]: no compatible bridge window
pci 0001:54:00.0: can't claim BAR 1 [mem 0x2020120000000-0x202012000ffff 64bit]: no compatible bridge window
pci 0001:54:00.0: can't claim BAR 3 [mem 0x2020120040000-0x202012007ffff 64bit]: no compatible bridge window
pci 0001:54:00.0: can't claim BAR 6 [mem 0x2020010100000-0x20200101fffff]: no compatible bridge window
pci 0001:54:00.0: can't claim BAR 7 [mem 0x2020120180000-0x202012027ffff 64bit]: no compatible bridge window
pci 0001:54:00.0: can't claim BAR 9 [mem 0x2020120280000-0x202012067ffff 64bit]: no compatible bridge window
i40e 0000:03:00.0: BAR 0: can't reserve [mem size 0x00800000 64bit pref]
pci 0000:00:01.0: can't claim BAR 14 [mem 0x2000000100000-0x20000002fffff]: address conflict with Video RAM area [??? 0x20000001a0000-0x20000001bffff flags 0x80000000]
pci 0000:01:00.0: can't claim BAR 14 [mem 0x2000000100000-0x20000002fffff]: no compatible bridge window
pci 0000:02:01.0: can't claim BAR 14 [mem 0x2000000100000-0x20000002fffff]: no compatible bridge window
pci 0000:03:00.0: can't claim BAR 6 [mem 0x2000000100000-0x200000017ffff]: no compatible bridge window
pci 0000:03:00.1: can't claim BAR 6 [mem 0x2000000180000-0x20000001fffff]: no compatible bridge window
pci 0000:03:00.2: can't claim BAR 6 [mem 0x2000000200000-0x200000027ffff]: no compatible bridge window
pci 0000:03:00.3: can't claim BAR 6 [mem 0x2000000280000-0x20000002fffff]: no compatible bridge window
pci 0000:04:00.0: can't claim BAR 0 [mem 0x2000110000000-0x200011000ffff 64bit]: no compatible bridge window
pci 0000:04:00.0: can't claim BAR 2 [mem 0x2000110010000-0x2000110011fff 64bit]: no compatible bridge window
pci 0001:00:02.0: can't claim BAR 14 [mem 0x2020000100000-0x20200101fffff]: address conflict with Video RAM area [??? 0x20200001a0000-0x20200001bffff flags 0x80000000]
pci 0001:05:00.0: can't claim BAR 14 [mem 0x2020000100000-0x20200101fffff]: no compatible bridge window
pci 0001:06:04.0: can't claim BAR 14 [mem 0x2020000100000-0x20200080fffff]: no compatible bridge window
pci 0001:06:05.0: can't claim BAR 14 [mem 0x2020008100000-0x20200100fffff]: no compatible bridge window
pci 0001:06:17.0: can't claim BAR 14 [mem 0x2020010100000-0x20200101fffff]: no compatible bridge window
pci 0001:54:00.0: can't claim BAR 1 [mem 0x2020120000000-0x202012000ffff 64bit]: no compatible bridge window
pci 0001:54:00.0: can't claim BAR 3 [mem 0x2020120040000-0x202012007ffff 64bit]: no compatible bridge window
pci 0001:54:00.0: can't claim BAR 6 [mem 0x2020010100000-0x20200101fffff]: no compatible bridge window
pci 0001:54:00.0: can't claim BAR 7 [mem 0x2020120080000-0x202012017ffff 64bit]: no compatible bridge window
pci 0001:54:00.0: can't claim BAR 9 [mem 0x2020120180000-0x202012057ffff 64bit]: no compatible bridge window
50400000-8fec9fff : System RAM
90000000-1fefffffff : System RAM
400000000000-401fef5cffff : System RAM
400000004000-4000006da93f : Kernel code
4000006da940-400000a9985f : Kernel data
400000b44000-400000d04517 : Kernel bss
2000000100000-200007effffff : /pci@300
20000001a0000-20000001bffff : Video RAM area
20000001c0000-20000001c7fff : Video ROM
20000001f0000-20000001fffff : System ROM
2000000200000-20000003fffff : PCI Bus 0000:01
2000000200000-20000003fffff : PCI Bus 0000:02
2000000200000-20000003fffff : PCI Bus 0000:03
2000000200000-200000027ffff : 0000:03:00.2
2000000280000-20000002fffff : 0000:03:00.3
2000000400000-20000103fffff : PCI Bus 0000:06
2000000400000-20000103fffff : PCI Bus 0000:07
2000000400000-20000083fffff : PCI Bus 0000:08
2000008400000-20000103fffff : PCI Bus 0000:28
2000100000000-2000dffffffff : /pci@300
2000100100000-20001200fffff : PCI Bus 0000:01
2000100100000-20001200fffff : PCI Bus 0000:02
2000100100000-20001100fffff : PCI Bus 0000:03
2000100800000-2000100807fff : 0000:03:00.0
2000100808000-200010080ffff : 0000:03:00.1
2000100808000-200010080ffff : i40e
2000100910000-2000100b0ffff : 0000:03:00.0
2000100b10000-2000100b8ffff : 0000:03:00.0
2000100b90000-2000100d8ffff : 0000:03:00.1
2000100d10000-2000100d17fff : i40e
2000100d18000-2000100d1ffff : i40e
2000100d90000-2000100e0ffff : 0000:03:00.1
2000101000000-20001017fffff : 0000:03:00.1
2000101000000-20001017fffff : i40e
2000101800000-2000101ffffff : 0000:03:00.2
2000101800000-2000101ffffff : i40e
2000102000000-20001027fffff : 0000:03:00.3
2000102000000-20001027fffff : i40e
2000102900000-2000102afffff : 0000:03:00.3
2000102b00000-2000102b7ffff : 0000:03:00.3
2000110000000-200011000ffff : xhci-hcd
2000110100000-20001200fffff : PCI Bus 0000:04
2000120100000-20001400fffff : PCI Bus 0000:06
2000120100000-20001400fffff : PCI Bus 0000:07
2000120100000-20001300fffff : PCI Bus 0000:08
2000130100000-20001400fffff : PCI Bus 0000:28
2020000100000-202007effffff : /pci@302
20200001a0000-20200001bffff : Video RAM area
20200001c0000-20200001c7fff : Video ROM
20200001f0000-20200001fffff : System ROM
2020000200000-20200002fffff : PCI Bus 0001:01
2020000200000-20200002fffff : PCI Bus 0001:02
2020000200000-20200002fffff : PCI Bus 0001:03
2020000300000-20200103fffff : PCI Bus 0001:05
2020000300000-20200103fffff : PCI Bus 0001:06
2020000300000-20200082fffff : PCI Bus 0001:07
2020008300000-20200102fffff : PCI Bus 0001:2d
2020010300000-20200103fffff : PCI Bus 0001:54
2020100000000-2020dffffffff : /pci@302
2020100100000-20202100fffff : PCI Bus 0001:01
2020100100000-20202100fffff : PCI Bus 0001:02
2020100100000-20202100fffff : PCI Bus 0001:03
2020100108000-2020100187fff : 0001:03:00.0
2020100188000-2020100207fff : 0001:03:00.0
2020108000000-202010fffffff : 0001:03:00.0
2020110100000-20202100fffff : 0001:03:00.0
2020210100000-20202400fffff : PCI Bus 0001:05
2020210100000-20202400fffff : PCI Bus 0001:06
2020210100000-20202200fffff : PCI Bus 0001:07
2020220100000-20202300fffff : PCI Bus 0001:2d
2020230000000-202023000ffff : mpt3sas
2020230040000-202023007ffff : mpt3sas
2020230100000-20202400fffff : PCI Bus 0001:54
000c0000-000c7fff : Video ROM
000f0000-000fffff : System ROM
50400000-8fec9fff : System RAM
90000000-1fefffffff : System RAM
400000000000-401fef5cffff : System RAM
400000004000-4000006da93f : Kernel code
4000006da940-400000a998df : Kernel data
400000b44000-400000d04517 : Kernel bss
2000000100000-200007effffff : /pci@300
20000001a0000-20000001bffff : Video RAM area
2000000300000-20000102fffff : PCI Bus 0000:06
2000000300000-20000102fffff : PCI Bus 0000:07
2000000300000-20000082fffff : PCI Bus 0000:08
2000008300000-20000102fffff : PCI Bus 0000:28
2000100000000-2000dffffffff : /pci@300
2000100000000-200011fffffff : PCI Bus 0000:01
2000100000000-200011fffffff : PCI Bus 0000:02
2000100000000-200010fffffff : PCI Bus 0000:03
2000100000000-20001007fffff : 0000:03:00.0
2000100000000-20001007fffff : i40e
2000100800000-2000100807fff : 0000:03:00.0
2000100800000-2000100807fff : i40e
2000100808000-200010080ffff : 0000:03:00.1
2000100808000-200010080ffff : i40e
2000100810000-2000100a0ffff : 0000:03:00.0
2000100a10000-2000100a8ffff : 0000:03:00.0
2000100a90000-2000100c8ffff : 0000:03:00.1
2000100c90000-2000100d0ffff : 0000:03:00.1
2000100d10000-2000100d17fff : 0000:03:00.2
2000100d10000-2000100d17fff : i40e
2000100d18000-2000100d1ffff : 0000:03:00.3
2000100d18000-2000100d1ffff : i40e
2000100d20000-2000100f1ffff : 0000:03:00.2
2000100f20000-2000100f9ffff : 0000:03:00.2
2000101000000-20001017fffff : 0000:03:00.1
2000101000000-20001017fffff : i40e
2000101800000-2000101ffffff : 0000:03:00.2
2000101800000-2000101ffffff : i40e
2000102000000-20001027fffff : 0000:03:00.3
2000102000000-20001027fffff : i40e
2000102800000-20001029fffff : 0000:03:00.3
2000102a00000-2000102a7ffff : 0000:03:00.3
2000110000000-200011fffffff : PCI Bus 0000:04
2000110000000-200011000ffff : xhci-hcd
2000120000000-200013fffffff : PCI Bus 0000:06
2000120000000-200013fffffff : PCI Bus 0000:07
2000120000000-200012fffffff : PCI Bus 0000:08
2000130000000-200013fffffff : PCI Bus 0000:28
2020000100000-202007effffff : /pci@302
20200001a0000-20200001bffff : Video RAM area
2020000200000-20200102fffff : PCI Bus 0001:05
2020000200000-20200102fffff : PCI Bus 0001:06
2020000200000-20200081fffff : PCI Bus 0001:07
2020008200000-20200101fffff : PCI Bus 0001:2d
2020010200000-20200102fffff : PCI Bus 0001:54
2020010200000-20200102fffff : 0001:54:00.0
2020100000000-2020dffffffff : /pci@302
2020100000000-202020fffffff : PCI Bus 0001:01
2020100000000-202020fffffff : PCI Bus 0001:02
2020100000000-202020fffffff : PCI Bus 0001:03
2020100000000-2020100003fff : 0001:03:00.0
2020100004000-2020100007fff : 0001:03:00.0
2020100008000-2020100087fff : 0001:03:00.0
2020100088000-2020100107fff : 0001:03:00.0
2020108000000-202010fffffff : 0001:03:00.0
2020110000000-202020fffffff : 0001:03:00.0
2020210000000-202023fffffff : PCI Bus 0001:05
2020210000000-202023fffffff : PCI Bus 0001:06
2020210000000-202021fffffff : PCI Bus 0001:07
2020220000000-202022fffffff : PCI Bus 0001:2d
2020230000000-202023fffffff : PCI Bus 0001:54
2020230000000-202023000ffff : mpt3sas
2020230040000-202023007ffff : mpt3sas