[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1492998461.25397.16.camel@buserror.net>
Date: Sun, 23 Apr 2017 20:47:41 -0500
From: Scott Wood <oss@...error.net>
To: roy.pledge@....com, linuxppc-dev@...ts.ozlabs.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
robin.murphy@....com
Cc: madalin.bucur@....com
Subject: Re: [PATCH v2 07/11] soc/fsl/qbman: Rework ioremap() calls for
ARM/PPC
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@....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
Powered by blists - more mailing lists