0b0b0893d4
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: Liviu Dudau <Liviu.Dudau@arm.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Linus 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> |
||
---|---|---|
.. | ||
testcase-data | ||
address.c | ||
base.c | ||
device.c | ||
dynamic.c | ||
fdt_address.c | ||
fdt.c | ||
irq.c | ||
Kconfig | ||
Makefile | ||
of_mdio.c | ||
of_mtd.c | ||
of_net.c | ||
of_pci_irq.c | ||
of_pci.c | ||
of_private.h | ||
of_reserved_mem.c | ||
pdt.c | ||
platform.c | ||
selftest.c |