From: Sudeep Holla <sudeep.holla@arm.com>
To: Vincent Guittot <vincent.guittot@linaro.org>
Cc: Nikunj Kela <quic_nkela@quicinc.com>,
Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>,
Sudeep Holla <sudeep.holla@arm.com>,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org,
conor+dt@kernel.org, devicetree@vger.kernel.org,
"Prasad Sodagudi (QUIC)" <quic_psodagud@quicinc.com>,
srinivas.kandagatla@linaro.org, ulf.hansson@linaro.org
Subject: Re: DT Query on "New Compatible vs New Property"
Date: Wed, 24 Jan 2024 14:04:09 +0000 [thread overview]
Message-ID: <ZbEY2X8CfOc-vPbe@bogus> (raw)
In-Reply-To: <CAKfTPtCjR_MBO9Lh7=CU+dcFaigkbeKc27rVgCa-aEJyHyfK9A@mail.gmail.com>
On Wed, Jan 24, 2024 at 02:38:54PM +0100, Vincent Guittot wrote:
> On Wed, 24 Jan 2024 at 14:17, Nikunj Kela <quic_nkela@quicinc.com> wrote:
> >
> >
> > On 1/24/2024 4:48 AM, Sudeep Holla wrote:
> > > On Wed, Jan 24, 2024 at 04:27:55AM -0800, Nikunj Kela wrote:
> > >> On 1/24/2024 3:02 AM, Sudeep Holla wrote:
> > >>> Not really, still puzzled may be more than before as I don't understand
> > >>> what is going on with the approach as it seem to be deviating from my
> > >>> initial understanding.
> > >>>
> > >>> May be take an example of one driver, present the DT binding and driver
> > >>> changes to make sure there is no misunderstanding from my side. But I am
> > >>> not convinced with the explanation so far.
> > >> Hi Sudeep,
> > >>
> > >> We are not using clock protocol to deal with clocks individually. We are
> > >> trying to define different perf domains for peripherals where we are
> > >> grouping clocks/regulators/interconnect bandwidth into these perf domains
> > >> and use OPP levels via SCMI perf protocol.
> > > That clarifies on what you are trying to achieve.
> > >
> > >> This is done so as to avoid individual scmi calls for these resources
> > >> hence avoiding any race conditions and minimizing the traffic between SCMI
> > >> client and server to get better KPIs.
> > > Fair enough, why can't you just use genpd perf APIs to achieve that ?
> >
> > OPP is built on top of genpd perf only and was recommended by Ulf(PM
> > maintainer from Linaro) hence we decided to use OPP APIs instead of
> > directly genpd perf API.
> >
> >
> > >
> > >> This is being planned for sa8775p platform and any subsequent platforms will
> > >> use the same approach. The idea of using perf protocol for peripherals is
> > >> new and Qualcomm is first one trying to use that.
> > > Sure.
> > >
> > >> Therefore existing peripheral drivers will require a way to distinguish between the
> > >> two different configurations. Hope this provides little more context and
> > >> insight.
> > >>
> > > While I agree this is new, use custom APIs to control standard resources
> > > is simply *VERY VERY BAD IDEA* IMO. You may be fine to have these custom
> > > API calls in qcom specific drivers. But what if this is needed in some
> > > generic IP driver. Just not scalable and why should the maintainer of
> > > such driver accept you custom API.
> >
> > Apologies if it wasn't clear but we are not using custom APIs. We are
> > using standard OPP APIs to set to opp level of the perf domain.
> > Example-dev_pm_opp_set_opp(). As mentioned above, we are following PM
> > framework maintainers recommendation to use OPP.
> >
> >
> > >
> > > So I would suggest to work towards using std framework APIs or create one
> > > if you can justify the need for it. Please stop creating custom APIs for
> > > using SCMI. It defeats the whole standardisation it is meant to provide.
> >
> > Not sure I understand what you refer to as custom APIs here. The OPP
> > APIs are not custom APIs. They are from OPP framework built on top of
> > genpd perf. [1] and [2] patch series might provide you more insight into
> > the work that Ulf did to support SCMI perf with OPP framework.
>
> I think that you are speaking about the same thing. They plan to use
> SCMI power domain for idle states and SCMI performance domain for
> setting a performance mode. Then, the OPP library is used on top of
> perf domain to gather and manipulate the different perf levels.
>
Indeed, I just realise that after Nikunj's last email. Earlier to that,
it was not so clear and it sounded like some custom way. Anyways I am still
not convinced if this is something drivers need to handle with explicit
DT support for this distinction in particular.
--
Regards,
Sudeep
next prev parent reply other threads:[~2024-01-24 14:04 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-12 17:45 DT Query on "New Compatible vs New Property" Nikunj Kela
2023-12-12 19:01 ` Krzysztof Kozlowski
2023-12-12 19:06 ` Nikunj Kela
2023-12-14 6:17 ` Manivannan Sadhasivam
2023-12-14 7:49 ` Krzysztof Kozlowski
2023-12-14 15:18 ` Nikunj Kela
2024-01-23 16:12 ` Manivannan Sadhasivam
2024-01-24 8:02 ` Krzysztof Kozlowski
2024-01-24 8:39 ` Manivannan Sadhasivam
2024-01-24 8:45 ` Krzysztof Kozlowski
2024-01-24 8:53 ` Manivannan Sadhasivam
2024-01-24 9:01 ` Krzysztof Kozlowski
2024-01-24 9:27 ` Manivannan Sadhasivam
2024-01-24 9:40 ` Krzysztof Kozlowski
2024-01-24 10:36 ` Manivannan Sadhasivam
2024-01-24 10:23 ` Sudeep Holla
2024-01-24 10:45 ` Manivannan Sadhasivam
2024-01-24 11:02 ` Sudeep Holla
2024-01-24 12:27 ` Nikunj Kela
2024-01-24 12:48 ` Sudeep Holla
2024-01-24 13:17 ` Nikunj Kela
2024-01-24 13:38 ` Vincent Guittot
2024-01-24 14:04 ` Sudeep Holla [this message]
2024-01-24 14:28 ` Nikunj Kela
2024-01-24 17:24 ` Sudeep Holla
2024-01-24 17:33 ` Nikunj Kela
2024-02-26 14:22 ` Nikunj Kela
2024-02-28 13:27 ` Ulf Hansson
2024-02-28 14:02 ` Sudeep Holla
2024-02-28 14:20 ` Krzysztof Kozlowski
2024-02-28 16:09 ` Sudeep Holla
2024-02-28 16:22 ` Ulf Hansson
2024-02-28 17:11 ` Srinivas Kandagatla
2024-03-01 11:53 ` Ulf Hansson
2024-03-04 11:01 ` Sudeep Holla
2024-03-12 16:52 ` Nikunj Kela
2024-03-12 16:58 ` Trilok Soni
2024-03-12 17:08 ` Nikunj Kela
2024-03-12 17:21 ` Srinivas Kandagatla
2024-03-12 17:25 ` Trilok Soni
2024-03-13 9:19 ` Ulf Hansson
2024-03-13 9:31 ` Nikunj Kela
2024-03-13 11:21 ` Srinivas Kandagatla
2024-03-13 11:49 ` Srinivas Kandagatla
2024-03-13 22:40 ` Trilok Soni
2024-04-10 16:53 ` Nikunj Kela
2024-04-11 9:29 ` Sudeep Holla
2024-03-13 11:04 ` Sudeep Holla
2024-03-13 13:04 ` Srinivas Kandagatla
2024-03-14 10:55 ` Sudeep Holla
2024-03-14 12:35 ` Nikunj Kela
2024-03-14 15:38 ` Sudeep Holla
2024-03-16 19:30 ` Trilok Soni
2024-03-19 10:17 ` Srinivas Kandagatla
2024-03-19 12:00 ` Sudeep Holla
2024-03-19 14:40 ` Srinivas Kandagatla
2024-03-19 15:17 ` Sudeep Holla
2024-03-19 15:41 ` Srinivas Kandagatla
2024-03-19 16:13 ` Sudeep Holla
2024-04-10 16:55 ` Nikunj Kela
2024-04-10 17:13 ` Krzysztof Kozlowski
2024-04-10 17:24 ` Nikunj Kela
2024-04-11 15:44 ` Conor Dooley
2024-04-11 15:55 ` Nikunj Kela
2024-04-11 19:29 ` Krzysztof Kozlowski
2024-04-12 10:16 ` Sudeep Holla
2024-04-11 9:23 ` Sudeep Holla
2024-04-11 15:59 ` Nikunj Kela
2024-04-12 10:12 ` Sudeep Holla
2024-01-24 14:01 ` Sudeep Holla
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=ZbEY2X8CfOc-vPbe@bogus \
--to=sudeep.holla@arm.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=manivannan.sadhasivam@linaro.org \
--cc=quic_nkela@quicinc.com \
--cc=quic_psodagud@quicinc.com \
--cc=robh+dt@kernel.org \
--cc=srinivas.kandagatla@linaro.org \
--cc=ulf.hansson@linaro.org \
--cc=vincent.guittot@linaro.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).