2017-12-14 05:37:34

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH v2 15/16] remoteproc: st: associate memory device to memory regions

On Thu 30 Nov 08:46 PST 2017, Loic Pallardy wrote:

> Enable memory device creation for each memory region added
> by rproc_add_carveout function.
>
> Signed-off-by: Loic Pallardy <[email protected]>
> ---
> drivers/remoteproc/st_remoteproc.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/remoteproc/st_remoteproc.c b/drivers/remoteproc/st_remoteproc.c
> index da42ec9..bf83d82 100644
> --- a/drivers/remoteproc/st_remoteproc.c
> +++ b/drivers/remoteproc/st_remoteproc.c
> @@ -279,6 +279,7 @@ static int st_rproc_parse_dt(struct platform_device *pdev)
> mem->dma = res.start;
> mem->da = res.start;
> mem->len = resource_size(&res);
> + strncpy(mem->name, node->name, sizeof(mem->name));

Please add this to the previous patch.

> mem->va = devm_ioremap_wc(dev, mem->dma, mem->len);
> if (!mem->va) {
> dev_err(dev, "Unable to map memory region: %pa+%zx\n",
> @@ -286,7 +287,7 @@ static int st_rproc_parse_dt(struct platform_device *pdev)
> return -EBUSY;
> }
>
> - rproc_add_carveout(rproc, mem, false);
> + rproc_add_carveout(rproc, mem, true);

Here you can see how easy it is to accidentally double-map the memory
region.

Regards,
Bjorn


2018-01-15 21:04:31

by Loic Pallardy

[permalink] [raw]
Subject: RE: [PATCH v2 15/16] remoteproc: st: associate memory device to memory regions



> -----Original Message-----
> From: Bjorn Andersson [mailto:[email protected]]
> Sent: Thursday, December 14, 2017 6:37 AM
> To: Loic PALLARDY <[email protected]>
> Cc: [email protected]; [email protected]; linux-
> [email protected]; Arnaud POULIQUEN <[email protected]>;
> [email protected]
> Subject: Re: [PATCH v2 15/16] remoteproc: st: associate memory device to
> memory regions
>
> On Thu 30 Nov 08:46 PST 2017, Loic Pallardy wrote:
>
> > Enable memory device creation for each memory region added
> > by rproc_add_carveout function.
> >
> > Signed-off-by: Loic Pallardy <[email protected]>
> > ---
> > drivers/remoteproc/st_remoteproc.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/remoteproc/st_remoteproc.c
> b/drivers/remoteproc/st_remoteproc.c
> > index da42ec9..bf83d82 100644
> > --- a/drivers/remoteproc/st_remoteproc.c
> > +++ b/drivers/remoteproc/st_remoteproc.c
> > @@ -279,6 +279,7 @@ static int st_rproc_parse_dt(struct platform_device
> *pdev)
> > mem->dma = res.start;
> > mem->da = res.start;
> > mem->len = resource_size(&res);
> > + strncpy(mem->name, node->name, sizeof(mem->name));
>
> Please add this to the previous patch.

As indicated in cover letter, I'll some patches to have a coherent series.

/Loic

>
> > mem->va = devm_ioremap_wc(dev, mem->dma, mem-
> >len);
> > if (!mem->va) {
> > dev_err(dev, "Unable to map memory region:
> %pa+%zx\n",
> > @@ -286,7 +287,7 @@ static int st_rproc_parse_dt(struct platform_device
> *pdev)
> > return -EBUSY;
> > }
> >
> > - rproc_add_carveout(rproc, mem, false);
> > + rproc_add_carveout(rproc, mem, true);
>
> Here you can see how easy it is to accidentally double-map the memory
> region.
>
> Regards,
> Bjorn