powerpc/pci: Support per-aperture memory offset
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Mon, 6 May 2013 03:40:40 +0000 (13:40 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Mon, 6 May 2013 03:40:40 +0000 (13:40 +1000)
commit3fd47f063b17692e843128e2abda3e697df42198
treed90a5bdd247b0cc5af7cf78cd18cf6e27a884f00
parent342d6666f7276723e418b91c885b0c03f02eeaaf
powerpc/pci: Support per-aperture memory offset

The PCI core supports an offset per aperture nowadays but our arch
code still has a single offset per host bridge representing the
difference betwen CPU memory addresses and PCI MMIO addresses.

This is a problem as new machines and hypervisor versions are
coming out where the 64-bit windows will have a different offset
(basically mapped 1:1) from the 32-bit windows.

This fixes it by using separate offsets. In the long run, we probably
want to get rid of that intermediary struct pci_controller and have
those directly stored into the pci_host_bridge as they are parsed
but this will be a more invasive change.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/include/asm/pci-bridge.h
arch/powerpc/kernel/pci-common.c
arch/powerpc/kernel/pci_32.c
arch/powerpc/kernel/pci_64.c
arch/powerpc/platforms/embedded6xx/mpc10x.h
arch/powerpc/platforms/powermac/pci.c
arch/powerpc/platforms/powernv/pci-ioda.c
arch/powerpc/platforms/wsp/wsp_pci.c
arch/powerpc/sysdev/fsl_pci.c
arch/powerpc/sysdev/ppc4xx_pci.c