Re: BAR Conflict

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

 



On 9/3/2011 8:40 AM, Bjorn Helgaas wrote:

This thread sort of petered out, but I don't think we changed
anything, and I think we still have a problem.  If so, I'd like to
capture it in a bugzilla so we don't forget about it.

I think the problem is that a driver (pci-stub or any other driver)
can't use request_mem_region() on a device BAR if that BAR happens to
conflict with an E820 reserved area.

From Maxim's case, we have this:

    BIOS-e820: 00000000fa000000 - 00000000fc000000 (reserved)
    pci_root PNP0A08:00: host bridge window [mem 0xf0000000-0xfebfffff]
    pci 0000:00:1c.0: PCI bridge to [bus 05-05]
pci 0000:00:1c.0: bridge window [mem 0xf0000000-0xfbffffff 64bit pref]
    pci 0000:05:00.0: reg 14: [mem 0xf0000000-0xf7ffffff 64bit pref]
    pci 0000:05:00.0: reg 1c: [mem 0xf8000000-0xfbffffff 64bit pref]
    pci-stub 0000:05:00.0: BAR 3: can't reserve [mem
0xf8000000-0xfbffffff 64bit pref]

and the iomem_resource tree looks like this:

    f0000000-febfffff : PCI Bus 0000:00
      f0000000-fbffffff : PCI Bus 0000:05
        f0000000-f7ffffff : 0000:05:00.0
        f8000000-fbffffff : 0000:05:00.0
          fa000000-fbffffff : reserved

The fa000000-fbffffff reserved area (from E820) doesn't cause us to
move the 05:00.0 BAR at 0xf8000000, but it does prevent us from
requesting that region in a driver.  I think this is a bug.

Maxim, if you agree that this is still a problem, would you mind
opening a report at http://bugzilla.kernel.org?  You can put it under
Drivers/PCI and CC me if you like.

Thanks,
  Bjorn

Hello Bjorn,

This is still a problem although I have immediate workaround to solve it. We are interested in having it fixed in upstream. I've created a report here https://bugzilla.kernel.org/show_bug.cgi?id=42552.

Thank you for your help

Regards,
Maxim

--
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


[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