linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Mathieu Poirier <mathieu.poirier@linaro.org>
To: Peng Fan <peng.fan@nxp.com>
Cc: "ohad@wizery.com" <ohad@wizery.com>,
	"patrice.chotard@st.com" <patrice.chotard@st.com>,
	"festevam@gmail.com" <festevam@gmail.com>,
	"s.hauer@pengutronix.de" <s.hauer@pengutronix.de>,
	"linux-remoteproc@vger.kernel.org"
	<linux-remoteproc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"bjorn.andersson@linaro.org" <bjorn.andersson@linaro.org>,
	"paul@crapouillou.net" <paul@crapouillou.net>,
	"o.rempel@pengutronix.de" <o.rempel@pengutronix.de>,
	"agross@kernel.org" <agross@kernel.org>,
	dl-linux-imx <linux-imx@nxp.com>,
	"kernel@pengutronix.de" <kernel@pengutronix.de>,
	"matthias.bgg@gmail.com" <matthias.bgg@gmail.com>,
	"shawnguo@kernel.org" <shawnguo@kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH V5 7/8] remoteproc: imx_rproc: ignore mapping vdev regions
Date: Wed, 13 Jan 2021 09:17:27 -0700	[thread overview]
Message-ID: <20210113161727.GA213180@xps15> (raw)
In-Reply-To: <DB6PR0402MB27602E812FD657F7EC81854F88A90@DB6PR0402MB2760.eurprd04.prod.outlook.com>

On Wed, Jan 13, 2021 at 02:19:32AM +0000, Peng Fan wrote:
> > Subject: Re: [PATCH V5 7/8] remoteproc: imx_rproc: ignore mapping vdev
> > regions
> > 
> > On Tue, Jan 12, 2021 at 09:41:12AM +0000, Peng Fan wrote:
> > > > 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@nxp.com wrote:
> > > > > From: Peng Fan <peng.fan@nxp.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@nxp.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.
> > >
> > > V6 will include the DT yaml.
> > >
> > > >
> > > > So I am guessing that you have laid out the memory regions for the
> > > > vrings and the vdev0buffer in the DT "memory-region".
> > >
> > > The dts part will be similar as following:
> > >
> > > +    #include <dt-bindings/clock/imx8mm-clock.h>
> > > +    rsc_table: rsc_table@550ff000 {
> > > +      no-map;
> > > +      reg = <0x550ff000 0x1000>;
> > > +    };
> > > +
> > > +    vdev0vring0: vdev0vring0@55000000 {
> > > +      no-map;
> > > +      reg = <0x55000000 0x8000>;
> > > +    };
> > > +
> > > +    vdev0vring1: vdev0vring1@55008000 {
> > > +      reg = <0x55008000 0x8000>;
> > > +      no-map;
> > > +    };
> > > +
> > > +    vdevbuffer: vdevbuffer@55400000 {
> > > +      compatible = "shared-dma-pool";
> > > +      reg = <0x55400000 0x100000>;
> > > +      no-map;
> > > +    };
> > > +
> > > +    imx8mm-cm4 {
> > > +      compatible = "fsl,imx8mm-cm4";
> > > +      clocks = <&clk IMX8MM_CLK_M4_DIV>;
> > > +      mbox-names = "tx", "rx", "rxdb";
> > > +      mboxes = <&mu 0 1
> > > +                &mu 1 1
> > > +                &mu 3 1>;
> > > +      memory-region = <&vdevbuffer>, <&vdev0vring0>, <&vdev0vring1>,
> > <&rsc_table>;
> > > +      syscon = <&src>;
> > > +    };
> > >
> > > >
> > > > 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.
> > >
> > > imx_rproc_parse_memory_regions will alloc carveout.
> > 
> > They _will_ but for now they don't and as such there a discrepancy between
> > the bindings and the code that was published in V6.  At this point you can
> > either drop the vrings in the DT or send another revision with the carveouts
> > allocated.  I would definitely prefer the latter because it wouldn't involve yet
> > another modification of the bindings.
> 
> You mean I drop patch v5 7/8 and send v7, right?
> 

If you do that than the implementation won't reflect the bindings.

> Or are there other changes that I need to do?

If you want to keep the bindings the same way you have them in V6, carveouts are
required in the implementation.

> 
> Thanks,
> Peng.
> 
> > 
> > >
> > > >
> > > > 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].
> > >
> > > Yes. I agree and follow this rule from then.
> > >
> > > Thanks,
> > > Peng.
> > >
> > > >
> > > > [1].
> > > > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fel
> > > > ixir.b
> > > >
> > ootlin.com%2Flinux%2Fv5.11-rc3%2Fsource%2Fdrivers%2Fremoteproc%2Fre
> > > >
> > moteproc_core.c%23L321&amp;data=04%7C01%7Cpeng.fan%40nxp.com%7
> > > >
> > C581784529b1646b9d34b08d8b67ae8c7%7C686ea1d3bc2b4c6fa92cd99c5c
> > > >
> > 301635%7C0%7C0%7C637459986311799770%7CUnknown%7CTWFpbGZsb3
> > > >
> > d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0
> > > > %3D%7C1000&amp;sdata=Qur6YiTWlak0ZRnrUZRzawfoO38EBrAItqZm66
> > b4
> > > > m20%3D&amp;reserved=0
> > > > [2].
> > > > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpa
> > > > tch
> > > >
> > work.kernel.org%2Fproject%2Flinux-remoteproc%2Fpatch%2F202007221315
> > > >
> > 43.7024-1-peng.fan%40nxp.com%2F&amp;data=04%7C01%7Cpeng.fan%40n
> > > >
> > xp.com%7C581784529b1646b9d34b08d8b67ae8c7%7C686ea1d3bc2b4c6fa9
> > > >
> > 2cd99c5c301635%7C0%7C0%7C637459986311799770%7CUnknown%7CTW
> > > >
> > FpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJX
> > > >
> > VCI6Mn0%3D%7C1000&amp;sdata=b%2F8muWtb3yxKIsnXmKmRGYYV33%2
> > > > FHjwA6a8x58geY7eE%3D&amp;reserved=0
> > > >
> > > > >  		err = of_address_to_resource(node, 0, &res);
> > > > >  		if (err) {
> > > > >  			dev_err(dev, "unable to resolve memory region\n");
> > > > > --
> > > > > 2.28.0
> > > > >

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-01-13 16:19 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-29  3:30 [PATCH V5 0/8] remoteproc: imx_rproc: support iMX8MQ/M peng.fan
2020-12-29  3:30 ` [PATCH V5 1/8] remoteproc: introduce is_iomem to rproc_mem_entry peng.fan
2021-01-11 18:53   ` Mathieu Poirier
2020-12-29  3:30 ` [PATCH V5 2/8] remoteproc: add is_iomem to da_to_va peng.fan
2021-01-11 20:25   ` Mathieu Poirier
2020-12-29  3:30 ` [PATCH V5 3/8] remoteproc: imx_rproc: correct err message peng.fan
2021-01-11 20:35   ` Mathieu Poirier
2021-01-11 20:44   ` Mathieu Poirier
2020-12-29  3:30 ` [PATCH V5 4/8] remoteproc: imx_rproc: use devm_ioremap peng.fan
2021-01-11 20:46   ` Mathieu Poirier
2020-12-29  3:30 ` [PATCH V5 5/8] remoteproc: imx_rproc: add i.MX specific parse fw hook peng.fan
2020-12-29  3:30 ` [PATCH V5 6/8] remoteproc: imx_rproc: support i.MX8MQ/M peng.fan
2021-01-11 21:40   ` Mathieu Poirier
2020-12-29  3:30 ` [PATCH V5 7/8] remoteproc: imx_rproc: ignore mapping vdev regions peng.fan
2021-01-11 21:50   ` Mathieu Poirier
2021-01-12  9:41     ` Peng Fan
2021-01-12 18:46       ` Mathieu Poirier
2021-01-13  2:19         ` Peng Fan
2021-01-13 16:17           ` Mathieu Poirier [this message]
2021-01-14  9:52             ` Peng Fan
2021-01-14 17:10               ` Mathieu Poirier
2021-01-15  3:29                 ` Peng Fan
2020-12-29  3:30 ` [PATCH V5 8/8] remoteproc: imx_proc: enable virtio/mailbox peng.fan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210113161727.GA213180@xps15 \
    --to=mathieu.poirier@linaro.org \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=festevam@gmail.com \
    --cc=kernel@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=matthias.bgg@gmail.com \
    --cc=o.rempel@pengutronix.de \
    --cc=ohad@wizery.com \
    --cc=patrice.chotard@st.com \
    --cc=paul@crapouillou.net \
    --cc=peng.fan@nxp.com \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).