• Liviu Dudau's avatar
    of/pci: Fix the conversion of IO ranges into IO resources · 0b0b0893
    Liviu Dudau authored
    The ranges property for a host bridge controller in DT describes the
    mapping between the PCI bus address and the CPU physical address.  The
    resources framework however expects that the IO resources start at a pseudo
    "port" address 0 (zero) and have a maximum size of IO_SPACE_LIMIT.  The
    conversion from PCI ranges to resources failed to take that into account,
    returning a CPU physical address instead of a port number.
    
    Also fix all the drivers that depend on the old behaviour by fetching the
    CPU physical address based on the port number where it is being needed.
    Signed-off-by: default avatarLiviu Dudau <Liviu.Dudau@arm.com>
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    CC: Grant Likely <grant.likely@linaro.org>
    CC: Rob Herring <robh+dt@kernel.org>
    CC: Arnd Bergmann <arnd@arndb.de>
    CC: Thierry Reding <thierry.reding@gmail.com>
    CC: Simon Horman <horms@verge.net.au>
    CC: Catalin Marinas <catalin.marinas@arm.com>
    0b0b0893
pci-tegra.c 48.3 KB