[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200116102300.GY2838@lahna.fi.intel.com>
Date: Thu, 16 Jan 2020 12:23:00 +0200
From: Mika Westerberg <mika.westerberg@...ux.intel.com>
To: Nicholas Johnson <nicholas.johnson-opensource@...look.com.au>
Cc: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Logan Gunthorpe <logang@...tatee.com>
Subject: Re: [PATCH v2 4/4] PCI: Allow extend_bridge_window() to shrink
resource if necessary
On Wed, Jan 15, 2020 at 05:58:05PM +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 reflect that in the
> call to pci_dbg().
>
> Do not change resource size if 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. If this happens, we are
> running out of resource space, anyway, so not shrinking the resource
> will not deny space for other resources. This prevents the following
> from happening:
>
> pcieport 0000:07:04.0: can't enable device: BAR 13 [io 0x1000-0x0fff] not claimed
>
> Signed-off-by: Nicholas Johnson <nicholas.johnson-opensource@...look.com.au>
Reviewed-by: Mika Westerberg <mika.westerberg@...ux.intel.com>
Powered by blists - more mailing lists