All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Collins <quic_collinsd@quicinc.com>
To: Mark Brown <broonie@kernel.org>
Cc: Rob Herring <robh+dt@kernel.org>,
	Sudeep Holla <sudeep.holla@arm.com>, <devicetree@vger.kernel.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	"Cristian Marussi" <cristian.marussi@arm.com>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>, <linux-arm-msm@vger.kernel.org>,
	"Subbaraman Narayanamurthy" <quic_subbaram@quicinc.com>
Subject: Re: [RESEND PATCH 1/2] dt-bindings: firmware: arm,scmi: define support for name based regulators
Date: Fri, 28 Jan 2022 15:09:30 -0800	[thread overview]
Message-ID: <8355035c-6d90-adfd-c4e1-7bb37a2d8055@quicinc.com> (raw)
In-Reply-To: <YfREsxeSSX2pbALf@sirena.org.uk>

On 1/28/22 11:32 AM, Mark Brown wrote:
> On Mon, Jan 24, 2022 at 04:27:35PM -0800, David Collins wrote:
> 
>> Name based SCMI regulator specification helps ensure that an SCMI
>> agent doesn't need to be aware of the numbering scheme used for
> 
> What is a "SCMI agent" in this context?  This is changing how the DT
> bindings are specified, at some point things are going to need to be
> hard coded.

An SCMI agent is the entity that issues SCMI commands (i.e. the
consumer).  An SCMI platform is the entity that receives the SCMI
commands and performs the necessary operations (i.e. the provider).
This is the terminology used in the ARM SCMI spec [1].

A typical system layout could have an agent that is the application
processor (running Linux) and a platform that is an embedded controller.

The system layout that this patch is targeted for consists of an SCMI
platform implemented in software in the primary Linux OS on the
application processor and an SCMI agent in a guest VM (also running
Linux).  This provides paravirtualized regulator control to the guest VM
where full virtualization is not supported.

During the course of development of these software images, it may be
necessary to add or reorder the set of SCMI voltage domains (regulators)
implemented on the platform side.  If the voltage domains are only
identified and matched based on the ID number, then it is easy for the
platform and agent to get out of sync.

Using the voltage domain name instead of ID number for identification
and matching provides robust assurance of correct regulator usage in the
face of domains being added, removed, or reordered on the platform side.


>> +              regulator-name: true
>> +
>> +            anyOf:
>> +              - required:
>> +                  - reg
>> +              - required:
>> +                  - regulator-name
> 
> This is abusing the existing regulator-name property which is there to
> allow a human readable descriptive string to be attached to a regulator.
> It should have no effect other than being included in diagnostic output.

Would you be ok with a new DT property being added in place of
"regulator-name" in this patch which serves the same matching purpose
(perhaps "arm,scmi-domain-name")?

Thanks,
David

[1]: https://developer.arm.com/documentation/den0056/latest

WARNING: multiple messages have this Message-ID (diff)
From: David Collins <quic_collinsd@quicinc.com>
To: Mark Brown <broonie@kernel.org>
Cc: Rob Herring <robh+dt@kernel.org>,
	Sudeep Holla <sudeep.holla@arm.com>, <devicetree@vger.kernel.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	"Cristian Marussi" <cristian.marussi@arm.com>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>, <linux-arm-msm@vger.kernel.org>,
	"Subbaraman Narayanamurthy" <quic_subbaram@quicinc.com>
Subject: Re: [RESEND PATCH 1/2] dt-bindings: firmware: arm,scmi: define support for name based regulators
Date: Fri, 28 Jan 2022 15:09:30 -0800	[thread overview]
Message-ID: <8355035c-6d90-adfd-c4e1-7bb37a2d8055@quicinc.com> (raw)
In-Reply-To: <YfREsxeSSX2pbALf@sirena.org.uk>

On 1/28/22 11:32 AM, Mark Brown wrote:
> On Mon, Jan 24, 2022 at 04:27:35PM -0800, David Collins wrote:
> 
>> Name based SCMI regulator specification helps ensure that an SCMI
>> agent doesn't need to be aware of the numbering scheme used for
> 
> What is a "SCMI agent" in this context?  This is changing how the DT
> bindings are specified, at some point things are going to need to be
> hard coded.

An SCMI agent is the entity that issues SCMI commands (i.e. the
consumer).  An SCMI platform is the entity that receives the SCMI
commands and performs the necessary operations (i.e. the provider).
This is the terminology used in the ARM SCMI spec [1].

A typical system layout could have an agent that is the application
processor (running Linux) and a platform that is an embedded controller.

The system layout that this patch is targeted for consists of an SCMI
platform implemented in software in the primary Linux OS on the
application processor and an SCMI agent in a guest VM (also running
Linux).  This provides paravirtualized regulator control to the guest VM
where full virtualization is not supported.

During the course of development of these software images, it may be
necessary to add or reorder the set of SCMI voltage domains (regulators)
implemented on the platform side.  If the voltage domains are only
identified and matched based on the ID number, then it is easy for the
platform and agent to get out of sync.

Using the voltage domain name instead of ID number for identification
and matching provides robust assurance of correct regulator usage in the
face of domains being added, removed, or reordered on the platform side.


>> +              regulator-name: true
>> +
>> +            anyOf:
>> +              - required:
>> +                  - reg
>> +              - required:
>> +                  - regulator-name
> 
> This is abusing the existing regulator-name property which is there to
> allow a human readable descriptive string to be attached to a regulator.
> It should have no effect other than being included in diagnostic output.

Would you be ok with a new DT property being added in place of
"regulator-name" in this patch which serves the same matching purpose
(perhaps "arm,scmi-domain-name")?

Thanks,
David

[1]: https://developer.arm.com/documentation/den0056/latest

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

  reply	other threads:[~2022-01-28 23:09 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-25  0:27 [RESEND PATCH 0/2] regulator: scmi: add support for registering SCMI regulators by name David Collins
2022-01-25  0:27 ` David Collins
2022-01-25  0:27 ` [RESEND PATCH 1/2] dt-bindings: firmware: arm,scmi: define support for name based regulators David Collins
2022-01-25  0:27   ` [RESEND PATCH 1/2] dt-bindings: firmware: arm, scmi: " David Collins
2022-01-28 19:32   ` [RESEND PATCH 1/2] dt-bindings: firmware: arm,scmi: " Mark Brown
2022-01-28 19:32     ` Mark Brown
2022-01-28 23:09     ` David Collins [this message]
2022-01-28 23:09       ` David Collins
2022-02-02 17:38       ` Mark Brown
2022-02-02 17:38         ` Mark Brown
2022-02-03  0:09         ` David Collins
2022-02-03  0:09           ` David Collins
2022-02-03 11:28           ` Mark Brown
2022-02-03 11:28             ` Mark Brown
2022-01-25  0:27 ` [RESEND PATCH 2/2] regulator: scmi: add support for registering SCMI regulators by name David Collins
2022-01-25  0:27   ` David Collins
  -- strict thread matches above, loose matches on Subject: below --
2021-12-10  1:54 [PATCH 0/2] " David Collins
2022-01-24 23:20 ` [RESEND PATCH 1/2] dt-bindings: firmware: arm, scmi: define support for name based regulators David Collins
2022-01-24 23:20   ` David Collins
2022-01-24 23:20     ` [RESEND PATCH 1/2] dt-bindings: firmware: arm,scmi: " David Collins

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=8355035c-6d90-adfd-c4e1-7bb37a2d8055@quicinc.com \
    --to=quic_collinsd@quicinc.com \
    --cc=broonie@kernel.org \
    --cc=cristian.marussi@arm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=quic_subbaram@quicinc.com \
    --cc=robh+dt@kernel.org \
    --cc=sudeep.holla@arm.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.