Re: [PATCH] PCI: dwc: Warn only for non-prefetchable memory resource size >4GB

From: Bjorn Helgaas
Date: Wed May 13 2020 - 18:36:26 EST


[+cc Alan; please cc authors of relevant commits,
updated Andrew's email address]

On Thu, May 14, 2020 at 12:38:55AM +0530, Vidya Sagar wrote:
> commit 9e73fa02aa009 ("PCI: dwc: Warn if MEM resource size exceeds max for
> 32-bits") enables warning for MEM resources of size >4GB but prefetchable
> memory resources also come under this category where sizes can go beyond
> 4GB. Avoid logging a warning for prefetchable memory resources.
>
> Signed-off-by: Vidya Sagar <vidyas@xxxxxxxxxx>
> ---
> drivers/pci/controller/dwc/pcie-designware-host.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c
> index 42fbfe2a1b8f..a29396529ea4 100644
> --- a/drivers/pci/controller/dwc/pcie-designware-host.c
> +++ b/drivers/pci/controller/dwc/pcie-designware-host.c
> @@ -366,7 +366,8 @@ int dw_pcie_host_init(struct pcie_port *pp)
> pp->mem = win->res;
> pp->mem->name = "MEM";
> mem_size = resource_size(pp->mem);
> - if (upper_32_bits(mem_size))
> + if (upper_32_bits(mem_size) &&
> + !(win->res->flags & IORESOURCE_PREFETCH))
> dev_warn(dev, "MEM resource size exceeds max for 32 bits\n");
> pp->mem_size = mem_size;
> pp->mem_bus_addr = pp->mem->start - win->offset;
> --
> 2.17.1
>