Devicetree
 help / color / mirror / Atom feed
From: Sudeep Holla <sudeep.holla@kernel.org>
To: Sibi Sankar <sibi.sankar@oss.qualcomm.com>
Cc: Pragnesh Papaniya <pragnesh.papaniya@oss.qualcomm.com>,
	Cristian Marussi <cristian.marussi@arm.com>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	MyungJoo Ham <myungjoo.ham@samsung.com>,
	Kyungmin Park <kyungmin.park@samsung.com>,
	Chanwoo Choi <cw00.choi@samsung.com>,
	Dmitry Osipenko <digetx@gmail.com>,
	Thierry Reding <thierry.reding@kernel.org>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konradybcio@kernel.org>,
	Rajendra Nayak <rajendra.nayak@oss.qualcomm.com>,
	Pankaj Patil <pankaj.patil@oss.qualcomm.com>,
	linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
	arm-scmi@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	devicetree@vger.kernel.org, linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: Re: [PATCH RFC 01/10] firmware: arm_scmi: Add SCMI QCOM Generic Extension Protocol documentation
Date: Thu, 13 Aug 2026 08:18:54 +0100	[thread overview]
Message-ID: <20260813-remarkable-handsome-heron-e99e78@sudeepholla> (raw)
In-Reply-To: <f39b2be0-b6d6-43a6-a412-44ff433c51f6@oss.qualcomm.com>

On Tue, Aug 04, 2026 at 02:07:28AM +0530, Sibi Sankar wrote:
> 
> On 7/24/2026 2:43 PM, Sudeep Holla wrote:
> > On Fri, Jul 24, 2026 at 12:48:06PM +0530, Pragnesh Papaniya wrote:
> > > Add System Control Management Interface (SCMI) Qualcomm Generic Extension
> > > Protocol documentation. It consists of a small set of generic SET/GET/
> > > START/STOP commands, which is used to turn on/off and configure Qualcomm
> > > SoC specific algorithms that run on the SCP.
> > > 
> > > It currently only supports MEMLAT (memory latency governor) algorithm.
> > > The immutable pairing of the MEMLAT algorithm string with the supported
> > > param_ids associated with it are documented here.
> > > 
> > > Co-developed-by: Sibi Sankar <sibi.sankar@oss.qualcomm.com>
> > > Signed-off-by: Sibi Sankar <sibi.sankar@oss.qualcomm.com>
> > > Signed-off-by: Pragnesh Papaniya <pragnesh.papaniya@oss.qualcomm.com>
> > > ---
> > >   .../arm_scmi/vendors/qcom/qcom_generic.rst         | 954 +++++++++++++++++++++
> > >   1 file changed, 954 insertions(+)
> > > 
> > > diff --git a/drivers/firmware/arm_scmi/vendors/qcom/qcom_generic.rst b/drivers/firmware/arm_scmi/vendors/qcom/qcom_generic.rst
> > > new file mode 100644
> > > index 000000000000..42e327d53841
> > > --- /dev/null
> > > +++ b/drivers/firmware/arm_scmi/vendors/qcom/qcom_generic.rst
> > > @@ -0,0 +1,954 @@
> > > +.. SPDX-License-Identifier: GPL-2.0
> > > +.. include:: <isonum.txt>
> > > +
> > > +==================================================================================
> > > +System Control and Management Interface (SCMI) Qualcomm Generic Extension Protocol
> > > +==================================================================================
> > > +
> > > +:Copyright: |copy| Qualcomm Technologies, Inc. and/or its subsidiaries.
> > > +
> > > +:Authors:
> > > +   - Sibi Sankar <sibi.sankar@oss.qualcomm.com>
> > > +   - Pragnesh Papaniya <pragnesh.papaniya@oss.qualcomm.com>
> > > +
> > > +System Control and Management Interface Qualcomm Generic Extension Vendor Protocol
> > > +==================================================================================
> > > +
> > > +System Control Management Interface (SCMI) Qualcomm Generic Extension Protocol
> > > +consists of a small set of generic SET/GET/START/STOP commands, which is used to
> > > +turn on/off and configure Qualcomm SoC specific algorithms that run on the SCP.
> > > +Each algorithm is identified through an algorithm string and has an immutable list
> > > +of param_ids. All supported algorithms (currently just MEMLAT) have their own
> > > +dedicated section and are listed after the generic commands.
> > > +
> 
> Hey Sudeep,
> 
> Will set some context here, this version of the vendor protocol is currently
> running in the wild on 5 SoCs (Hamoa, Purwa, Glymur, Mahua, Kaanapali).

While noted, this does not impact the code quality or review process for an
entirely new feature. That context would be relevant for a localized fix or
system quirk, but it is not applicable here.

> The ABI/Specification that this vendor protocol uses can't be changed in
> any way since other Os'es like Windows/Android expect it to behave as
> described in this document and will break userspace.

The current rationale isn't entirely clear to me. Windows historically favors
ACPI over native SCMI, meaning that supporting a proprietary vendor protocol
would require non-native workarounds potentially hidden within interfaces like
PEP. I am skeptical of this architectural direction. Since Android leverages
the Linux kernel and already manages this through vendor modules, maintaining
those as modules seems like the optimal path until we agree on the interface
that can be merged.

> series is meant for the devfreq portion (since it introduces a new devfreq
> governor) and is not for the vendor protocol. We certainly can take design
> improvements for future revisions but making changes to this major/minor
> version of the firmware isn't possible.
>

Given that this patch series has been under discussion for nearly two years,
please provide a summary of the feedback that has already been incorporated
to address these concerns just for sake of argument and in your defence.

To clarify, the vendor protocol space is strictly intended for
platform-specific functionalities that cannot be standardized; it should not
be used to bypass standardization for convenience. It appears no evaluation
was done to determine if or why the standard performance protocol was
insufficient. Had that assessment occurred, I would expect the proposed
interface to align much more closely with the standard definitions as I
previously mentioned.

> Plenty of folks running linux on these SoCs would benefit a great deal from
> this series landing, so please have a bit of patience, take a look at the
> documentation/series as a whole. I still feel we should be able to land this
> series in a form that is acceptable to you. However, if you still feel you
> have
> to NAK this series regardless of its usefulness to the users, please do list
> the
> reasons and we'll try our best to convince you otherwise.
> 

The core issue here is that the proposed vendor protocol interface has been
presented as a finished product without open discussion or a willingness to
iterate based on upstream feedback. This approach bypasses standard
development processes.

IMO these vendor protocol interfaces must be debated on the mailing list prior
to finalization, similar to the 'code-first' prototyping model used for new
ACPI specifications or SCMI early prototyping. If an interface is developed
in isolation and then submitted with an expectation of immediate acceptance
without modification, we cannot approve it. I recommend we pivot to an open
review of the interface design itself.

> > This multiplexer 'N' random algorithn into one single custom SCMI protocol ID
> > (0x80) seems to go against the general SCMI design principle and this seems
> 
> Only the strings documented are allowed by the vendor protocol while the
> rest are filtered out, so we clearly don't have to worry about this. Also
> grouping a class of devfreq algorithms into a single vendor protocol should
> be treated as a SoC vendor design choice.
> 

This is precisely why I previously suggested defining MEMLAT as its own
distinct protocol. Doing so maintains architectural consistency and adheres to
core SCMI principles.

> > like a deliberated attempt to circumvent the standard SCMI protocol template.
> > Standard SCMI expects distinct features to occupy their own vendor protocol
> > IDs and utilize standard protocol discovery.
> > 

^^^ as mentioned above

-- 
Regards,
Sudeep

  reply	other threads:[~2026-08-13  7:19 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-24  7:18 [PATCH RFC 00/10] firmware: arm_scmi: vendors: Qualcomm Generic Vendor Extensions Pragnesh Papaniya
2026-07-24  7:18 ` [PATCH RFC 01/10] firmware: arm_scmi: Add SCMI QCOM Generic Extension Protocol documentation Pragnesh Papaniya
2026-07-24  7:27   ` sashiko-bot
2026-07-24  9:13   ` Sudeep Holla
2026-08-03 20:37     ` Sibi Sankar
2026-08-13  7:18       ` Sudeep Holla [this message]
2026-07-24  7:18 ` [PATCH RFC 02/10] dt-bindings: firmware: arm,scmi: Add Qualcomm Generic Extension Protocol Pragnesh Papaniya
2026-07-24  7:28   ` sashiko-bot
2026-07-24  7:18 ` [PATCH RFC 03/10] firmware: arm_scmi: vendors: Add QCOM SCMI Generic Extensions Pragnesh Papaniya
2026-07-24  7:30   ` sashiko-bot
2026-07-24  7:18 ` [PATCH RFC 04/10] PM / devfreq: Add new target_freq attribute flag for governors Pragnesh Papaniya
2026-07-24  7:35   ` sashiko-bot
2026-07-24  7:18 ` [PATCH RFC 05/10] PM / devfreq: Add new track_remote " Pragnesh Papaniya
2026-07-24  7:31   ` sashiko-bot
2026-07-24  7:18 ` [PATCH RFC 06/10] PM / devfreq: Add a governor for tracking remote device frequencies Pragnesh Papaniya
2026-07-24  7:33   ` sashiko-bot
2026-07-24  7:18 ` [PATCH RFC 07/10] PM / devfreq: Introduce the QCOM SCMI Memlat devfreq driver Pragnesh Papaniya
2026-07-24  7:18 ` [PATCH RFC 08/10] arm64: dts: qcom: glymur: Enable LLCC/DDR/DDR_QOS DVFS Pragnesh Papaniya
2026-07-24  7:18 ` [PATCH RFC 09/10] arm64: dts: qcom: hamoa: " Pragnesh Papaniya
2026-07-24  7:18 ` [PATCH RFC 10/10] arm64: dts: qcom: kaanapali: " Pragnesh Papaniya
2026-07-24  8:40 ` [PATCH RFC 00/10] firmware: arm_scmi: vendors: Qualcomm Generic Vendor Extensions Sudeep Holla
2026-07-24  9:02   ` Pragnesh Papaniya

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=20260813-remarkable-handsome-heron-e99e78@sudeepholla \
    --to=sudeep.holla@kernel.org \
    --cc=andersson@kernel.org \
    --cc=arm-scmi@vger.kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=cristian.marussi@arm.com \
    --cc=cw00.choi@samsung.com \
    --cc=devicetree@vger.kernel.org \
    --cc=digetx@gmail.com \
    --cc=jonathanh@nvidia.com \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=myungjoo.ham@samsung.com \
    --cc=pankaj.patil@oss.qualcomm.com \
    --cc=pragnesh.papaniya@oss.qualcomm.com \
    --cc=rajendra.nayak@oss.qualcomm.com \
    --cc=robh@kernel.org \
    --cc=sibi.sankar@oss.qualcomm.com \
    --cc=thierry.reding@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