RE: [PATCH v3 4/4] remoteproc: core: don't allocate carveout if pa or da are defined

From: Loic PALLARDY
Date: Thu Feb 09 2017 - 16:35:55 EST




> -----Original Message-----
> From: Bjorn Andersson [mailto:bjorn.andersson@xxxxxxxxxx]
> Sent: Thursday, February 09, 2017 2:55 AM
> To: Loic PALLARDY <loic.pallardy@xxxxxx>
> Cc: ohad@xxxxxxxxxx; lee.jones@xxxxxxxxxx; linux-
> remoteproc@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> kernel@xxxxxxxxxxx; Patrice CHOTARD <patrice.chotard@xxxxxx>; Hugues
> FRUCHET <hugues.fruchet@xxxxxx>; peter.griffin@xxxxxxxxxx
> Subject: Re: [PATCH v3 4/4] remoteproc: core: don't allocate carveout if pa or
> da are defined
>
> On Tue 31 Jan 04:35 PST 2017, Loic Pallardy wrote:
>
> > Remoteproc doesn't check if firmware requests fixed
> > addresses for carveout regions.
> > Current assumption is that platform specific driver is in
> > charge of coprocessor specific memory region allocation and
> > remoteproc core doesn't have to handle them.
> > If a da or a pa is specified in firmware resource table, remoteproc
> > core doesn't have to perform any allocation.
> > Access to carveout will be done thanks to rproc_da_to_pa function,
> > which will provide virtual address on carveout region allocated
> > by platform specific driver.
> >
> > Signed-off-by: Loic Pallardy <loic.pallardy@xxxxxx>
> > ---
> > No change since V1
> >
> > drivers/remoteproc/remoteproc_core.c | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/drivers/remoteproc/remoteproc_core.c
> b/drivers/remoteproc/remoteproc_core.c
> > index 90b05c7..dd63ceed 100644
> > --- a/drivers/remoteproc/remoteproc_core.c
> > +++ b/drivers/remoteproc/remoteproc_core.c
> > @@ -622,6 +622,11 @@ static int rproc_handle_carveout(struct rproc
> *rproc,
> > dev_dbg(dev, "carveout rsc: name: %s, da 0x%x, pa 0x%x, len 0x%x,
> flags 0x%x\n",
> > rsc->name, rsc->da, rsc->pa, rsc->len, rsc->flags);
> >
> > + if (rsc->pa != FW_RSC_ADDR_ANY || rsc->da !=
> FW_RSC_ADDR_ANY) {
>
> For devices with an IOMMU it's valid to specify "da" and have the
> allocated region mapped there. So this is not correct.

You're right, moreover patch series touch only to pa, so even if da behavior should be changed, should be done in a dedicated patch.
I'll send a V4.

Regards,
Loic
>
> Regards,
> Bjorn