As per PCIe spec r5.0, sec 7.5.1.3.8 only 32-bit BAR registers are defined for non-prefetchable memory and hence a warning should be reported when the size of them go beyond 32-bits. Tested-by: Thierry Reding <treding@xxxxxxxxxx> Tested-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Vidya Sagar <vidyas@xxxxxxxxxx> Reviewed-by: Rob Herring <robh@xxxxxxxxxx> --- V2: * Added 'Tested-by' and 'Reviewed-by' drivers/pci/of.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/pci/of.c b/drivers/pci/of.c index ac24cd5439a9..5ea472ae22ac 100644 --- a/drivers/pci/of.c +++ b/drivers/pci/of.c @@ -556,6 +556,11 @@ static int pci_parse_request_of_pci_ranges(struct device *dev, break; case IORESOURCE_MEM: res_valid |= !(res->flags & IORESOURCE_PREFETCH); + + if (!(res->flags & IORESOURCE_PREFETCH)) + if (upper_32_bits(resource_size(res))) + dev_warn(dev, "Memory resource size exceeds max for 32 bits\n"); + break; } } -- 2.17.1