From: Bjorn Andersson <bjorn.andersson@linaro.org>
To: Rob Herring <robh+dt@kernel.org>
Cc: Stephan Gerhold <stephan@gerhold.net>,
Andy Gross <agross@kernel.org>,
Frank Rowand <frowand.list@gmail.com>,
linux-arm-msm <linux-arm-msm@vger.kernel.org>,
devicetree@vger.kernel.org,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/3] dt-bindings: soc: smem: Make indirection optional
Date: Tue, 28 Sep 2021 17:06:51 -0500 [thread overview]
Message-ID: <YVOR+/xfdRUwGt5D@builder.lan> (raw)
In-Reply-To: <CAL_Jsq+pLhWMeObzbq2xQVK3+vVLqd3L0BNGd=CCZmhVZM8dDw@mail.gmail.com>
On Tue 28 Sep 14:51 CDT 2021, Rob Herring wrote:
> On Tue, Sep 28, 2021 at 12:49 PM Bjorn Andersson
> <bjorn.andersson@linaro.org> wrote:
> >
> > On Tue 28 Sep 12:34 CDT 2021, Rob Herring wrote:
> >
> > > On Tue, Sep 28, 2021 at 5:22 AM Stephan Gerhold <stephan@gerhold.net> wrote:
> > > >
> > > > On Mon, Sep 27, 2021 at 09:45:44PM -0700, Bjorn Andersson wrote:
> > > > > In the olden days the Qualcomm shared memory (SMEM) region consisted of
> > > > > multiple chunks of memory, so SMEM was described as a standalone node
> > > > > with references to its various memory regions.
> > > > >
> > > > > But practically all modern Qualcomm platforms has a single reserved memory
> > > > > region used for SMEM. So rather than having to use two nodes to describe
> > > > > the one SMEM region, update the binding to allow the reserved-memory
> > > > > region alone to describe SMEM.
> > > > >
> > > > > The olden format is preserved as valid, as this is widely used already.
> > > > >
> > > > > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> > > > > ---
> > > > > .../bindings/soc/qcom/qcom,smem.yaml | 34 ++++++++++++++++---
> > > > > 1 file changed, 30 insertions(+), 4 deletions(-)
> > > > >
> > > > > diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,smem.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,smem.yaml
> > > > > index f7e17713b3d8..4149cf2b66be 100644
> > > > > --- a/Documentation/devicetree/bindings/soc/qcom/qcom,smem.yaml
> > > > > +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,smem.yaml
> > > > > [...]
> > > > > @@ -43,6 +55,20 @@ examples:
> > > > > #size-cells = <1>;
> > > > > ranges;
> > > > >
> > > > > + smem@fa00000 {
> > > >
> > > > I think this is a good opportunity to make a decision which node name
> > > > should be used here. :)
> > >
> > > reserved-memory node names are kind of a mess, so I haven't tried for
> > > any standard... It needs to be solved globally.
> > >
> >
> > I'd be happy to paint the shed any color you decide :)
>
> I didn't ask for it to be painted. Unless it is for everyone, I don't
> care unless there's some clear pattern used already.
>
As Stephan indicated, I feel that I'll set precedence when I change
"memory" -> "smem" in the last patch.
> > That said, the binding itself doesn't mandate any node name, so it's
> > just the example here that would be "wrong" - and just as wrong as it
> > currently is.
>
> The example is right. The dts is wrong.
>
But I can't both not paint the node and resolve the fact that the dts is
wrong. So which one should I go with?
Should we leave the node name as is until we've decided what to do with
the reserved-memory children? Or should I start accepting patches that
changes "memory" to a list of non-generic names?
> Perhaps we need a schema for 'any node name that doesn't match already
> defined ones'.
>
> > > > You use smem@ here but mentioned before that you think using the generic
> > > > memory@ would be better [1]. And you use memory@ in PATCH 3/3:
> > > >
> > > > - smem_mem: memory@86000000 {
> > > > + memory@86000000 {
> > > > + compatible = "qcom,smem";
> > > > reg = <0x0 0x86000000 0 0x200000>;
> > > > no-map;
> > > > + hwlocks = <&tcsr_mutex 3>;
> > > > };
> > > >
> > > > However, if you would use memory@ as example in this DT schema,
> > > > Rob's bot would complain with the same error that I mentioned earlier [2]:
> > > >
> > > > soc/qcom/qcom,smem.example.dt.yaml: memory@fa00000: 'device_type' is a required property
> > > > From schema: dtschema/schemas/memory.yaml
> > > >
> > > > We should either fix the error when using memory@ or start using some
> > > > different node name (Stephen Boyd suggested shared-memory@ for example).
> > > > Otherwise we'll just keep introducing more and more dtbs_check errors
> > > > for the Qualcomm device trees.
> > >
> > > A different node name. A node name should only have 1 meaning and
> > > 'memory' is already defined.
> > >
> > > The main issue here is what to name nodes with only a size and no address.
> > >
> >
> > This particular node has both address and size (as does all of the other
> > reserved-memory regions we use upstream today)...
>
> I'm not talking about *just* QCom. If we define something here, it's
> got to cover everyone.
>
> In summary, you can't use 'memory' or anything other established,
> standard node name.
>
I know that "memory" is wrong, but I'm not sure about what you're asking
me to do.
Regards,
Bjorn
next prev parent reply other threads:[~2021-09-28 22:06 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-28 4:45 [PATCH 1/3] dt-bindings: soc: smem: Make indirection optional Bjorn Andersson
2021-09-28 4:45 ` [PATCH 2/3] soc: qcom: smem: Support reserved-memory description Bjorn Andersson
2021-09-28 4:45 ` [PATCH 3/3] arm64: dts: qcom: sdm845: Drop standalone smem node Bjorn Andersson
2021-09-28 10:22 ` [PATCH 1/3] dt-bindings: soc: smem: Make indirection optional Stephan Gerhold
2021-09-28 17:34 ` Rob Herring
2021-09-28 17:49 ` Bjorn Andersson
2021-09-28 19:51 ` Rob Herring
2021-09-28 22:06 ` Bjorn Andersson [this message]
2021-09-28 12:28 ` Rob Herring
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=YVOR+/xfdRUwGt5D@builder.lan \
--to=bjorn.andersson@linaro.org \
--cc=agross@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=frowand.list@gmail.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh+dt@kernel.org \
--cc=stephan@gerhold.net \
/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