Re: [PATCH v13 10/12] PCI: Assign unassigned bus resources in pci_scan_root_bus()

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

 



On Mon, Sep 29, 2014 at 4:31 PM, Benjamin Herrenschmidt
<benh@xxxxxxxxxxxxxxxxxxx> wrote:
> On Mon, 2014-09-29 at 15:33 -0600, Bjorn Helgaas wrote:
>> > Right and on powerpc and others as well. We need to survey existing
>> > resources. We also have a number of platform things that might need
>> > to happen before we do the final re-assignment pass.
>>
>> That's true today.  But I don't know whether it *has* to be this way
>> forever.  On x86, pcibios_resource_survey() throws in E820 information
>> (which we know long before we do any PCI enumeration) and some IO-APIC
>> resources (it looks like we also know these before PCI enumeration).
>> Powerpc has pcibios_reserve_legacy_regions(), but that looks like
>> mostly stuff that could be done when we find the host bridge, before
>> we enumerate PCI devices below it.
>
> Oh we can probably change that but it's going to be much more work than
> just moving the assignment into pci_scan_root_bus().

Agreed.  It's obvious that we can't apply Liviu's patch as-is.

> There are also a
> number of subtle and not-so-subtle bits of code that rely on side
> effects of the current code such as anything that tests for bus->added
> or dev->added. Again, nothing we can't sort out eventually but the
> transition might be a bit painful.
>
> We might need to introduce a new flag for platforms converted to the
> "new style" generalized resource assignment which we can deprecate once
> everybody has moved over.

There's definitely a lot of work here if we ever want to make this happen.

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




[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