Re: [PATCH 2/2] pci: pciehp update the slot bridge res to get bigrange for pcie devices - v9

From: Yinghai Lu
Date: Thu Nov 05 2009 - 16:07:52 EST

Alex Chiang wrote:
> * Yinghai Lu <yinghai@xxxxxxxxxx>:
>> move out bus_size_bridges and assign resources out of pciehp_add_bridge()
>> and at last do them all together one time including slot bridge, to avoid to
>> call assign resources several times, when there are several bridges under the
>> slot bridge.
>> need to introduce pci_bridge_assign_resources there.
>> handle the case the slot bridge that doesn't get pre-allocated big enough res
>> from FW.
>> for example pcie devices need 256M, but the bridge only get preallocated 2M...
>> pci_setup_bridge() will take extra check_enabled for the slot bridge, otherwise
>> update res is not updated to bridge BAR. that is bridge is enabled already for
>> port service.
>> v2: address Alex's concern about pci remove/rescan feature about
>> pci_setup_bridge changes.
>> v3: Kenji pointed out that pci_config_slot need to be called before
>> pci_bus_add_devices()
>> v4: move out pci_is_enabled checkout of pci_setup_bridge()
>> v5: change the applying sequence.
>> v6: change the functions name according to Jesse
>> v8: address Eric's concern, only overwrite leaf bridge resource that is not
>> big enough
>> v9: refresh to be applied after bjorn's patch, and remove trick about save
>> size and restore resource second try.
>> Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>
> How did you build and test this? I got this during building:
> ERROR: "pci_assign_unassigned_bridge_resources" [drivers/pci/hotplug/pciehp.ko] undefined!
> make[1]: *** [__modpost] Error 1
> make: *** [modules] Error 2
> make: *** Waiting for unfinished jobs....
> This patch fixed it for me:
> ---
> diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
> index 95fe3f4..2f15473 100644
> --- a/drivers/pci/setup-bus.c
> +++ b/drivers/pci/setup-bus.c
> @@ -962,3 +962,4 @@ again:
> goto again;
> }
> +EXPORT_SYMBOL_GPL(pci_assign_unassigned_bridge_resources);


i built that in

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at