On Thu, 15 Jul 2010 09:41:42 -0600 Bjorn Helgaas <bjorn.helgaas@xxxxxx> wrote: > > If we fail to assign resources to a PCI BAR, this patch makes us try the > original address from BIOS rather than leaving it disabled. > > Linux tries to make sure all PCI device BARs are inside the upstream > PCI host bridge or P2P bridge apertures, reassigning BARs if necessary. > Windows does similar reassignment. > > Before this patch, if we could not move a BAR into an aperture, we left > the resource unassigned, i.e., at address zero. Windows leaves such BARs > at the original BIOS addresses, and this patch makes Linux do the same. > > This is a bit ugly because we disable the resource long before we try to > reassign it, so we have to keep track of the BIOS BAR address somewhere. > For lack of a better place, I put it in the struct pci_dev. > > I think it would be cleaner to attempt the assignment immediately when the > claim fails, so we could easily remember the original address. But we > currently claim motherboard resources in the middle, after attempting to > claim PCI resources and before assigning new PCI resources, and changing > that is a fairly big job. > > Addresses https://bugzilla.kernel.org/show_bug.cgi?id=16263 > > Reported-by: Andrew <nitr0@xxxxxxxxxx> > Tested-by: Andrew <nitr0@xxxxxxxxxx> > Signed-off-by: Bjorn Helgaas <bjorn.helgaas@xxxxxx> > --- Applied to my for-linus tree, will send it out this weekend. -- Jesse Barnes, Intel Open Source Technology Center -- 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