[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