diff mbox series

[v2,15/16] remoteproc: st: associate memory device to memory regions

Message ID 1512060411-729-16-git-send-email-loic.pallardy@st.com
State New
Headers show
Series remoteproc: add fixed memory region support | expand

Commit Message

Loic Pallardy Nov. 30, 2017, 4:46 p.m. UTC
Enable memory device creation for each memory region added
by rproc_add_carveout function.

Signed-off-by: Loic Pallardy <loic.pallardy@st.com>

---
 drivers/remoteproc/st_remoteproc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

-- 
1.9.1

Comments

Bjorn Andersson Dec. 14, 2017, 5:37 a.m. UTC | #1
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 <loic.pallardy@st.com>

> ---

>  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
Loic Pallardy Jan. 15, 2018, 9:04 p.m. UTC | #2
> -----Original Message-----

> From: Bjorn Andersson [mailto:bjorn.andersson@linaro.org]

> Sent: Thursday, December 14, 2017 6:37 AM

> To: Loic PALLARDY <loic.pallardy@st.com>

> Cc: ohad@wizery.com; linux-remoteproc@vger.kernel.org; linux-

> kernel@vger.kernel.org; Arnaud POULIQUEN <arnaud.pouliquen@st.com>;

> benjamin.gaignard@linaro.org

> 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 <loic.pallardy@st.com>

> > ---

> >  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
diff mbox series

Patch

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));
 		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);
 	}
 
 	err = clk_prepare(ddata->clk);