Re: [PATCH v10 4/4] PCI: Allow extend_bridge_window() to shrink resource if necessary

From: mika.westerberg@xxxxxxxxxxxxxxx
Date: Wed Oct 30 2019 - 09:25:16 EST


On Wed, Oct 30, 2019 at 12:47:44PM +0000, Nicholas Johnson wrote:
> Remove checks for resource size in extend_bridge_window(). This is
> necessary to allow the pci_bus_distribute_available_resources() to
> function when the kernel parameter pci=hpmemsize=nn[KMG] is used to
> allocate resources. Because the kernel parameter sets the size of all
> hotplug bridges to be the same, there are problems when nested hotplug
> bridges are encountered. Fitting a downstream hotplug bridge with size X
> and normal bridges with non-zero size Y into parent hotplug bridge with
> size X is impossible, and hence the downstream hotplug bridge needs to
> shrink to fit into its parent.
>
> Add check for if bridge is extended or shrunken and adjust pci_dbg to
> reflect this.
>
> Reset the resource if its new size is zero (if we have run out of a
> bridge window resource) to prevent the PCI resource assignment code from
> attempting to assign a zero-sized resource.
>
> Rename extend_bridge_window() to adjust_bridge_window() to reflect the
> fact that the window can now shrink.
>
> Signed-off-by: Nicholas Johnson <nicholas.johnson-opensource@xxxxxxxxxxxxxx>

Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>