MIPS: Generic: Fix big endian CPUs on generic machine
authorMatt Redfearn <matt.redfearn@imgtec.com>
Mon, 23 Jan 2017 14:08:13 +0000 (14:08 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 29 Apr 2018 09:31:56 +0000 (11:31 +0200)
commit a3078e593b74fe196e69f122f03ff0b32f652c53 upstream.

Big endian CPUs require SWAP_IO_SPACE enabled to swap accesses to little
endian peripherals.

Without this patch, big endian kernels fail to communicate with little
endian periperals, such as PCI devices, on QEMU and FPGA based
platforms.

Signed-off-by: Matt Redfearn <matt.redfearn@imgtec.com>
Fixes: eed0eabd12ef ("MIPS: generic: Introduce generic DT-based board support")
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/15105/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Cc: Amit Pundir <amit.pundir@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/mips/Kconfig

index 2d2fd79ced9d2c9e71a2aceeb4dab9c014464da1..34fbbf8fdeaa4ddc67a4a612e81515a26891c25d 100644 (file)
@@ -95,6 +95,7 @@ config MIPS_GENERIC
        select PCI_DRIVERS_GENERIC
        select PINCTRL
        select SMP_UP if SMP
+       select SWAP_IO_SPACE
        select SYS_HAS_CPU_MIPS32_R1
        select SYS_HAS_CPU_MIPS32_R2
        select SYS_HAS_CPU_MIPS32_R6