[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210111215023.GJ144935@xps15>
Date: Mon, 11 Jan 2021 14:50:23 -0700
From: Mathieu Poirier <mathieu.poirier@...aro.org>
To: peng.fan@....com
Cc: ohad@...ery.com, bjorn.andersson@...aro.org,
o.rempel@...gutronix.de, shawnguo@...nel.org,
s.hauer@...gutronix.de, kernel@...gutronix.de, festevam@...il.com,
linux-imx@....com, linux-remoteproc@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
paul@...pouillou.net, matthias.bgg@...il.com, agross@...nel.org,
patrice.chotard@...com
Subject: Re: [PATCH V5 7/8] remoteproc: imx_rproc: ignore mapping vdev regions
On Tue, Dec 29, 2020 at 11:30:18AM +0800, peng.fan@....com wrote:
> From: Peng Fan <peng.fan@....com>
>
> vdev regions are vdev0vring0, vdev0vring1, vdevbuffer and similar.
> They are handled by remoteproc common code, no need to map in imx
> rproc driver.
>
> Signed-off-by: Peng Fan <peng.fan@....com>
> ---
> drivers/remoteproc/imx_rproc.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c
> index f80428afb8a7..e62a53ee128e 100644
> --- a/drivers/remoteproc/imx_rproc.c
> +++ b/drivers/remoteproc/imx_rproc.c
> @@ -417,6 +417,9 @@ static int imx_rproc_addr_init(struct imx_rproc *priv,
> struct resource res;
>
> node = of_parse_phandle(np, "memory-region", a);
> + /* Not map vdev region */
> + if (!strcmp(node->name, "vdev"))
> + continue;
I am very confused and because I don't see an example for the DT in the
bindings document I have to guess what is going on.
So I am guessing that you have laid out the memory regions for the vrings
and the vdev0buffer in the DT "memory-region".
For the vrings I don't see the allocation of a carveout, which means that you
will take the memory out of the DMA pool and the reserve memory will be wasted.
For the vdev0buffer, what you have will work *only* if that entry is the
first one in the list of memory regions, as we agreed here [2].
[1]. https://elixir.bootlin.com/linux/v5.11-rc3/source/drivers/remoteproc/remoteproc_core.c#L321
[2]. https://patchwork.kernel.org/project/linux-remoteproc/patch/20200722131543.7024-1-peng.fan@nxp.com/
> err = of_address_to_resource(node, 0, &res);
> if (err) {
> dev_err(dev, "unable to resolve memory region\n");
> --
> 2.28.0
>
Powered by blists - more mailing lists