[PATCH V2 5/5] remoteproc: imx_rproc: change to ioremap_wc for dram

Dong Aisheng dongas86 at gmail.com
Wed Jul 14 03:21:04 PDT 2021


On Wed, Jul 14, 2021 at 8:59 AM Peng Fan <peng.fan at nxp.com> wrote:
>
> Hi Mathieu,
>
> > Subject: Re: [PATCH V2 5/5] remoteproc: imx_rproc: change to ioremap_wc
> > for dram
> >
> > On Wed, Jul 07, 2021 at 05:40:33PM +0800, Dong Aisheng wrote:
> > > DRAM is not io memory, so changed to ioremap_wc. This is also aligned
> > > with core io accessories. e.g. memcpy/memset and cpu direct access.
> > >
> > > Cc: Bjorn Andersson <bjorn.andersson at linaro.org>
> > > Cc: Mathieu Poirier <mathieu.poirier at linaro.org>
> > > Fixes: 5e4c1243071d ("remoteproc: imx_rproc: support remote cores
> > > booted before Linux Kernel")
> > > Reviewed-by: Peng Fan <peng.fan at nxp.com>
> > > Signed-off-by: Dong Aisheng <aisheng.dong at nxp.com>
> > > ---
> > > v1->v2:
> > >  * new patch
> >
> > It's a new patch and yet Peng's RB tag is already on it...
>
> Aisheng's reply in the other email.
> "
> Above two lines were added by mistake. (copied from patch 4)
> I'm going to wait for review comments first and resend with changes if any.
>
> Regards
> Aisheng
> "
>
> >
> > > ---
> > >  drivers/remoteproc/imx_rproc.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/remoteproc/imx_rproc.c
> > > b/drivers/remoteproc/imx_rproc.c index ff620688fad9..4ae416ba5080
> > > 100644
> > > --- a/drivers/remoteproc/imx_rproc.c
> > > +++ b/drivers/remoteproc/imx_rproc.c
> > > @@ -597,7 +597,7 @@ static int imx_rproc_addr_init(struct imx_rproc
> > *priv,
> > >                     break;
> > >
> > >             /* Not use resource version, because we might share region */
> > > -           priv->mem[b].cpu_addr = devm_ioremap(&pdev->dev, res.start,
> > resource_size(&res));
> > > +           priv->mem[b].cpu_addr = devm_ioremap_wc(&pdev->dev,
> > res.start,
> > > +resource_size(&res));
> >
> > How was it working before?
>
> we took all memory used by M-core as io memory, including TCM/SRAM/DRAM.
>
> Will it really work for all platforms and was this
> > extensively tested?
>
> Aisheng may confirm, I not test this patchset.
>
> >
> > Peng - I will need an explicit reply from you that you are in agreement with
> > this change.
>
> I not test, but it should work per my understanding.
> i.MX TCM area has limitation that not use ioremap_wc, DRAM has no such
> limitation. Just think this not deserve a fix tag.
>

I tested with MX8MQ, i could find more to test although it should work
theoretically.
Why adding fixes tag is because using normal memory accessories (e.g. memset)
for io memory (device type) may have issues.
Does it make sense?

Regards
Aisheng


> > I will also need you to review patch 01 and 02 of this set.
>
> Sure, I'll review.
>
> Thanks,
> Peng.
>
> >
> > Thanks,
> > Mathieu
> >
> > >             if (!priv->mem[b].cpu_addr) {
> > >                     dev_err(dev, "failed to remap %pr\n", &res);
> > >                     return -ENOMEM;
> > > --
> > > 2.25.1
> > >



More information about the linux-arm-kernel mailing list