On Wed, Dec 03, 2014 at 05:41:32PM -0800, Yinghai Lu wrote: > On Wed, Dec 3, 2014 at 5:38 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote: > > On Wed, Dec 3, 2014 at 2:15 PM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote: > >> There's a bugzilla for this, so this email is to make the bugzilla > >> more discoverable and to have a more public discussion about it. > >> > >> https://bugzilla.kernel.org/show_bug.cgi?id=85491 > >> > >> I think this regression is caused by 5b28541552ef ("PCI: Restrict > >> 64-bit prefetchable bridge windows to 64-bit resources"). These dmesg > >> fragments are from v3.16, which doesn't work: > >> > >> pci_bus 0000:00: root bus resource [mem 0xc0000000-0xffffffff] > >> > >> pci 0000:00:01.0: PCI bridge to [bus 01] > >> pci 0000:00:01.0: bridge window [io 0x8000-0xafff] > >> pci 0000:00:01.0: bridge window [mem 0xfdf00000-0xfdffffff] > >> pci 0000:00:01.0: bridge window [mem 0xbdf00000-0xddefffff 64bit > >> pref] <-- outside host bridge window > >> > >> pci 0000:01:00.0: reg 0x10: [mem 0xc0000000-0xcfffffff pref] > >> pci 0000:01:00.0: reg 0x14: [io 0xa000-0xa0ff] > >> pci 0000:01:00.0: reg 0x18: [mem 0xfdff0000-0xfdffffff] > >> pci 0000:01:00.0: reg 0x30: [mem 0xfdfc0000-0xfdfdffff pref] > >> > >> pci 0000:00:01.0: can't claim BAR 15 [mem 0xbdf00000-0xddefffff > >> 64bit pref]: no compatible bridge window > >> pci 0000:01:00.0: can't claim BAR 0 [mem 0xc0000000-0xcfffffff > >> pref]: no compatible bridge window > > > > Looks like we wrong type checking from parent resource searching. I don't understand what you're trying to say, but I don't think the "no compatible bridge window" problem is related to resource types. I think it's because the 00:01.0 window at [mem 0xbdf00000-0xddefffff] starts before the [mem 0xc0000000-0xffffffff] host bridge window. > oh, no, the BIOS is crazy... > > [ 0.158601] pci 0000:00:01.0: address space collision: [mem > 0xbdf00000-0xddefffff 64bit pref] conflicts with System RAM [mem > 0x00100000-0xbff9ffff] > > mmio is overlapping with ram range.... I agree, it certainly looks like the BIOS programmed the 00:01.0 window incorrectly. But I think we should just clip it so it starts at 0xc0000000 instead of 0xbdf00000. There's no reason we should depend on correct PCI configuration from the BIOS. Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html