Re: [PATCH] PCI: update bridge resources to get bigger ranges

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

 



On 04/27/2011 12:44 PM, Bjorn Helgaas wrote:
> On Wed, Apr 27, 2011 at 11:11 AM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
>>> now before we build more things on top of it.
>>
>> pciehp hotplug path is calling pci_assign_unassigned_bridge_resources() instead.
>> it only update the bridge itself and will not go up.
> 
> 1) Why does only pciehp call pci_assign_unassigned_bridge_resources()?
>  Is there something special about pciehp that means it needs that
> call, while none of the other hotplug drivers do?  I would have
> thought they should all have similar _configure_device() functions.

only can test pciehp here. also FW is removing support for acpiphp.

> We have a whole list of functions including
> 
>     pciehp_configure_device
>     cpci_configure_slot
>     cpqhp_configure_device
>     shpchp_configure_device
>     ibm_configure_device
>     cb_alloc
>     sgi_hotplug enable_slot
>     acpiphp enable_device
> 
> that are disturbingly similar, yet different in the particulars.  I
> suspect that there should be a lot of unification here.
> 
> 2) As you say, pciehp_configure_device() calls
> pci_assign_unassigned_bridge_resources(), which ultimately calls
> release_child_resources().  But you didn't answer my question: how do
> we know it's safe to release child resources under the bridge?  Do we
> know somehow that there are no drivers bound to devices below the
> bridge?  Are we assuming that there's only one device (the newly
> hot-added one) below the bridge?  Is that true for all potential
> callers of pci_assign_unassigned_bridge_resources()?
the devices or bridges under that pci bridge are not binding to drivers yet when hot add happen.

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