From: Thomas Petazzoni Date: Mon, 19 May 2014 10:04:39 +0000 (+0100) Subject: ARM: 8060/1: mm: allow sub-architectures to override PCI I/O memory type X-Git-Tag: omap-for-v3.16/fixes-against-rc1~91^2~13^2~1^4~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1c8c3cf0b5239388e712508a85821f4718f4d889;p=pandora-kernel.git ARM: 8060/1: mm: allow sub-architectures to override PCI I/O memory type Due to a design incompatibility between the PCIe Marvell controller and the Cortex-A9, stressing PCIe devices with a lot of traffic quickly causes a deadlock. One part of the workaround for this is to have all PCIe regions mapped as strongly-ordered (MT_UNCACHED) instead of the default MT_DEVICE. While the arch_ioremap_caller() mechanism allows sub-architecture code to override ioremap(), used to map PCIe memory regions, there isn't such a mechanism to override the behavior of pci_ioremap_io(). This commit adds the arch_pci_ioremap_mem_type variable, initialized to MT_DEVICE by default, and that sub-architecture code can override. We have chosen to expose a single variable rather than offering the possibility of overriding the entire pci_ioremap_io(), because implementing pci_ioremap_io() requires calling functions (get_mem_type()) that are private to the arch/arm/mm/ code. Signed-off-by: Thomas Petazzoni Acked-by: Catalin Marinas Signed-off-by: Russell King --- Reading git-diff-tree failed