[PATCH v3 30/30] ARM: orion5x: use fixed PCI i/o mapping

Nicolas Pitre nico at fluxnic.net
Mon Mar 5 15:13:53 EST 2012


On Thu, 1 Mar 2012, Rob Herring wrote:

> From: Rob Herring <rob.herring at calxeda.com>
> 
> orion5x i/o handling must have been broken as it had no __io()
> translation. It may actually work now.
> 
> Signed-off-by: Rob Herring <rob.herring at calxeda.com>
> Cc: Lennert Buytenhek <kernel at wantstofly.org>
> Cc: Nicolas Pitre <nico at fluxnic.net>

Acked-by: Nicolas Pitre <nico at linaro.org>

> ---
>  arch/arm/mach-orion5x/common.c |   16 ++++++----------
>  1 files changed, 6 insertions(+), 10 deletions(-)
> 
> diff --git a/arch/arm/mach-orion5x/common.c b/arch/arm/mach-orion5x/common.c
> index 0e28bae..9bab4cb 100644
> --- a/arch/arm/mach-orion5x/common.c
> +++ b/arch/arm/mach-orion5x/common.c
> @@ -24,6 +24,7 @@
>  #include <asm/timex.h>
>  #include <asm/mach/arch.h>
>  #include <asm/mach/map.h>
> +#include <asm/mach/pci.h>
>  #include <asm/mach/time.h>
>  #include <mach/bridge-regs.h>
>  #include <mach/hardware.h>
> @@ -44,16 +45,6 @@ static struct map_desc orion5x_io_desc[] __initdata = {
>  		.length		= ORION5X_REGS_SIZE,
>  		.type		= MT_DEVICE,
>  	}, {
> -		.virtual	= ORION5X_PCIE_IO_VIRT_BASE,
> -		.pfn		= __phys_to_pfn(ORION5X_PCIE_IO_PHYS_BASE),
> -		.length		= ORION5X_PCIE_IO_SIZE,
> -		.type		= MT_DEVICE,
> -	}, {
> -		.virtual	= ORION5X_PCI_IO_VIRT_BASE,
> -		.pfn		= __phys_to_pfn(ORION5X_PCI_IO_PHYS_BASE),
> -		.length		= ORION5X_PCI_IO_SIZE,
> -		.type		= MT_DEVICE,
> -	}, {
>  		.virtual	= ORION5X_PCIE_WA_VIRT_BASE,
>  		.pfn		= __phys_to_pfn(ORION5X_PCIE_WA_PHYS_BASE),
>  		.length		= ORION5X_PCIE_WA_SIZE,
> @@ -63,6 +54,11 @@ static struct map_desc orion5x_io_desc[] __initdata = {
>  
>  void __init orion5x_map_io(void)
>  {
> +	unsigned long pci_io_pfn[] = {
> +		__phys_to_pfn(ORION5X_PCI_IO_PHYS_BASE),
> +		__phys_to_pfn(ORION5X_PCIE_IO_PHYS_BASE),
> +	};
> +	pci_map_io_pfn(pci_io_pfn, ARRAY_SIZE(pci_io_pfn));
>  	iotable_init(orion5x_io_desc, ARRAY_SIZE(orion5x_io_desc));
>  }
>  
> -- 
> 1.7.5.4
> 



More information about the linux-arm-kernel mailing list