From: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
To: Krzysztof Kozlowski <krzk@kernel.org>
Cc: andersson@kernel.org, mathieu.poirier@linaro.org,
robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
rui.zhang@intel.com, lukasz.luba@arm.com, konradybcio@kernel.org,
mani@kernel.org, casey.connolly@linaro.org,
amit.kucheria@oss.qualcomm.com, linux-arm-msm@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-pm@vger.kernel.org, manaf.pallikunhi@oss.qualcomm.com
Subject: Re: [PATCH v2 2/8] dt-bindings: thermal: Add qcom,qmi-cooling yaml bindings
Date: Wed, 11 Feb 2026 13:07:46 +0530 [thread overview]
Message-ID: <17474333-bb82-49d7-bc04-45ab21095c38@oss.qualcomm.com> (raw)
In-Reply-To: <546faeda-d896-403c-a449-5c9b0cd7159e@kernel.org>
On 2/8/2026 3:36 PM, Krzysztof Kozlowski wrote:
> On 29/01/2026 13:06, Gaurav Kohli wrote:
>>
>> On 1/28/2026 4:57 PM, Krzysztof Kozlowski wrote:
>>> On Tue, Jan 27, 2026 at 09:27:16PM +0530, Gaurav Kohli wrote:
>>>> The cooling subnode of a remoteproc represents a client of the Thermal
>>>> Mitigation Device QMI service running on it. Each subnode of the cooling
>>>> node represents a single control exposed by the service.
>>>>
>>>> Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
>>>> ---
>>>> .../bindings/remoteproc/qcom,pas-common.yaml | 6 ++
>>>> .../bindings/thermal/qcom,qmi-cooling.yaml | 72 +++++++++++++++++++
>>>> 2 files changed, 78 insertions(+)
>>>> create mode 100644 Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
>>>> index 68c17bf18987..6a736161d5ae 100644
>>>> --- a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
>>>> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
>>>> @@ -80,6 +80,12 @@ properties:
>>>> and devices related to the ADSP.
>>>> unevaluatedProperties: false
>>>>
>>>> + cooling:
>>>> + $ref: /schemas/thermal/qcom,qmi-cooling.yaml#
>>>> + description:
>>>> + Cooling subnode which represents the cooling devices exposed by the Modem.
>>> I do not see the reason why you need 3 (!!!) children here. Everything
>>> should be folded here.
>>
>>
>> Thanks Krzysztof for review.
>>
>> Each subsystem may support multiple thermal mitigation devices through
>> remote TMD service.
>>
>> Because of this multiplicity, introduced separate binding file.
>
> This explains nothing. Subsystem does not matter for the binding. My
> comment stays.
>
thanks for this suggestion, we will use qcom,pas-common.yaml to define
bindings and avoid creating new file.
>>
>>>> + unevaluatedProperties: false
>>>> +
>>>> required:
>>>> - clocks
>>>> - clock-names
>>>> diff --git a/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml b/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
>>>> new file mode 100644
>>>> index 000000000000..0dd3bd84c176
>>>> --- /dev/null
>>>> +++ b/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
>>>> @@ -0,0 +1,72 @@
>>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>>>> +
>>>> +%YAML 1.2
>>>> +---
>>>> +$id: http://devicetree.org/schemas/thermal/qcom,qmi-cooling.yaml#
>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>> +
>>>> +title: Qualcomm QMI based thermal mitigation (TMD) cooling devices
>>>> +
>>>> +maintainers:
>>>> + - Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
>>>> +
>>>> +description:
>>>> + Qualcomm QMI-based TMD cooling devices are used to mitigate thermal conditions
>>>> + across multiple remote subsystems. These devices operate based on junction
>>>> + temperature sensors (TSENS) associated with thermal zones for each subsystem.
>>>> +
>>>> +properties:
>>>> + compatible:
>>>> + enum:
>>>> + - qcom,qmi-cooling-cdsp
>>>> + - qcom,qmi-cooling-cdsp1
>>> What are the differences between them?
>>
>>
>> Some SOcs support multiple CDSP/NSP instances. Each instance requires
>> it's own
>>
>> compatible string to distinguish.
>
> Why? What are the differences?
>
> I will not ask third time, but just respond with NAK.
>
For Leman's, we have multiple NSP subsystem to support compute and each
instance has it's own firmware and separate hardware like below for cdsp
Below data is from lemans.dtsi for cdsp subsystem:
-> remoteproc@26300000 {
-> remoteproc@2a300000 {
That's why, we have introduced different compatible to distinguish
multiple instance, but we can also solve this with single compatible
with new dt property for each subsystem instance id. Please let us know
if you are fine, we can use that.
>>
>>
>>> Why these are not SoC specific?
>>
>>
>> They are not soc specific because the qmi thermal mitigation interface
>> exposed by CDSP is architecturally
>>
>> identical across multiple SOCS.
>
> I have doubts on that but anyway if you want exception from standard
> compatible rules you must come with arguments in terms of hardware and
> firmware. Above is not enough. Everyone claims that.
>
>>
>>
>>>> +
>>>> +patternProperties:
>>>> + "cdsp-tmd[0-9]*$":
>>>> + type: object
>>> No, you do not need childnode. See writing bindings (covers exactly this
>>> case).
>>
>>
>> Each subsystem may support multiple thermal mitigation devices through
>> remote TMD service. So
>>
>> need childnode to distinguish for different mitigations.
>
> NAK
>
As each subsystem supports multiple cooling devices, So introduced
multiple child nodes for cooling binding in thermal zone.
>
>
> Best regards,
> Krzysztof
next prev parent reply other threads:[~2026-02-11 7:37 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-27 15:57 [PATCH v2 0/8] Add RemoteProc cooling support Gaurav Kohli
2026-01-27 15:57 ` [PATCH v2 1/8] thermal: Add Remote Proc cooling driver Gaurav Kohli
2026-01-28 11:32 ` Krzysztof Kozlowski
2026-01-30 6:39 ` Gaurav Kohli
2026-02-08 10:08 ` Krzysztof Kozlowski
2026-01-28 11:36 ` Krzysztof Kozlowski
2026-01-30 6:42 ` Gaurav Kohli
2026-01-30 5:39 ` kernel test robot
2026-01-30 6:47 ` kernel test robot
2026-03-06 9:19 ` Daniel Lezcano
2026-03-06 9:27 ` Lukasz Luba
2026-03-09 6:34 ` Gaurav Kohli
2026-01-27 15:57 ` [PATCH v2 2/8] dt-bindings: thermal: Add qcom,qmi-cooling yaml bindings Gaurav Kohli
2026-01-28 11:27 ` Krzysztof Kozlowski
2026-01-29 12:06 ` Gaurav Kohli
2026-02-08 10:06 ` Krzysztof Kozlowski
2026-02-11 7:37 ` Gaurav Kohli [this message]
2026-02-11 8:13 ` Krzysztof Kozlowski
2026-02-20 7:29 ` Gaurav Kohli
2026-02-20 7:44 ` Krzysztof Kozlowski
2026-02-24 12:09 ` Gaurav Kohli
2026-02-24 12:17 ` Krzysztof Kozlowski
2026-03-16 19:57 ` Daniel Lezcano
2026-03-18 10:17 ` Gaurav Kohli
2026-03-19 9:51 ` Konrad Dybcio
2026-03-21 9:00 ` Daniel Lezcano
2026-03-23 12:29 ` Konrad Dybcio
2026-03-23 14:19 ` Daniel Lezcano
2026-03-23 14:25 ` Gaurav Kohli
2026-02-24 12:52 ` Dmitry Baryshkov
2026-01-28 11:28 ` Krzysztof Kozlowski
2026-01-29 12:12 ` Gaurav Kohli
2026-01-29 0:45 ` Dmitry Baryshkov
2026-01-30 7:08 ` Gaurav Kohli
2026-01-30 9:02 ` Dmitry Baryshkov
2026-01-27 15:57 ` [PATCH v2 3/8] remoteproc: qcom: probe all child devices Gaurav Kohli
2026-01-27 16:50 ` Dmitry Baryshkov
2026-01-27 15:57 ` [PATCH v2 4/8] thermal: qcom: add qmi-cooling driver Gaurav Kohli
2026-01-30 9:05 ` kernel test robot
2026-03-06 9:31 ` Daniel Lezcano
2026-03-16 10:19 ` Gaurav Kohli
2026-03-13 14:15 ` Daniel Lezcano
2026-03-17 7:25 ` Gaurav Kohli
2026-01-27 15:57 ` [PATCH v2 5/8] arm64: dts: qcom: lemans: Enable CDSP cooling Gaurav Kohli
2026-01-29 0:43 ` Dmitry Baryshkov
2026-01-29 12:10 ` Gaurav Kohli
2026-01-29 12:29 ` Dmitry Baryshkov
2026-01-29 13:40 ` Gaurav Kohli
2026-01-30 1:20 ` Dmitry Baryshkov
2026-01-27 15:57 ` [PATCH v2 6/8] arm64: dts: qcom: talos: " Gaurav Kohli
2026-01-27 15:57 ` [PATCH v2 7/8] arm64: dts: qcom: kodiak: " Gaurav Kohli
2026-01-27 15:57 ` [PATCH v2 8/8] arm64: dts: qcom: monaco: " Gaurav Kohli
2026-03-06 9:09 ` [PATCH v2 0/8] Add RemoteProc cooling support Daniel Lezcano
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=17474333-bb82-49d7-bc04-45ab21095c38@oss.qualcomm.com \
--to=gaurav.kohli@oss.qualcomm.com \
--cc=amit.kucheria@oss.qualcomm.com \
--cc=andersson@kernel.org \
--cc=casey.connolly@linaro.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=krzk@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=lukasz.luba@arm.com \
--cc=manaf.pallikunhi@oss.qualcomm.com \
--cc=mani@kernel.org \
--cc=mathieu.poirier@linaro.org \
--cc=robh@kernel.org \
--cc=rui.zhang@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox