[PATCH v2 07/11] soc/fsl/qbman: Rework ioremap() calls for ARM/PPC

Scott Wood oss at buserror.net
Mon Apr 24 11:47:41 AEST 2017


On Wed, 2017-04-19 at 16:48 -0400, Roy Pledge wrote:
> Rework ioremap() for PPC and ARM. The PPC devices require a
> non-coherent mapping while ARM will work with a non-cachable/write
> combine mapping.
> 
> Signed-off-by: Roy Pledge <roy.pledge at nxp.com>
> ---
>  drivers/soc/fsl/qbman/bman_portal.c | 16 +++++++++++++---
>  drivers/soc/fsl/qbman/qman_portal.c | 16 +++++++++++++---
>  2 files changed, 26 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/soc/fsl/qbman/bman_portal.c
> b/drivers/soc/fsl/qbman/bman_portal.c
> index 8354d4d..a661f30 100644
> --- a/drivers/soc/fsl/qbman/bman_portal.c
> +++ b/drivers/soc/fsl/qbman/bman_portal.c
> @@ -125,7 +125,18 @@ static int bman_portal_probe(struct platform_device
> *pdev)
>  	}
>  	pcfg->irq = irq;
>  
> -	va = ioremap_prot(addr_phys[0]->start, resource_size(addr_phys[0]),
> 0);
> +#ifdef CONFIG_PPC
> +	/* PPC requires a cacheable/non-coherent mapping of the portal */
> +	va = ioremap_prot(addr_phys[0]->start, resource_size(addr_phys[0]),
> +			  (pgprot_val(PAGE_KERNEL) & ~_PAGE_COHERENT));
> +#else
> +	/*
> +	 * For ARM we can use write combine mapping.  A cacheable/non
> shareable
> +	 * mapping will perform better but equires additional platform
> +	 * support which is not currently available
> +	 */

s/equires/requires/

Would be nice to describe the platform support that is required.

-Scott



More information about the Linuxppc-dev mailing list