From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3BC31331A4E for ; Fri, 20 Feb 2026 07:29:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771572553; cv=none; b=Uz7UtlcDwtl2Lh8BO0iheWGVe1EPH7deYTDnIzcOr6wZejPQ8EptAnN7Jf7ou+k1MnwKGq1qyoH5yPECMs7ibxGWG4DoNHWs3lDgxFHngVsnJ3dyPqsN7VkAGFNrmzQ7SiRxTx5mvMDFV2avebQ2cHxPtEYJ+U5u0vKMU00dtow= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771572553; c=relaxed/simple; bh=pPjKdwM9pmwO4ao95fJig6405dk2rzL3k/DXFhE4Olg=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=auA2rktVl58q3nYulPPZdk8Aql6sWddBNHVd0eefSj8dr0ydWPZQcs8tZx0B2BmZPy/QjgmVnU+ajF3CtqhXzEDsTf23SitmRorWcOgr7PfBdsZlO0foCZqo1vsSUxaUwnoaAJqvoBm6e0ArwGKIZXXGuMUQnKsX0Es2sNX9kd8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=WMr6nv7b; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=AkNvneXG; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="WMr6nv7b"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="AkNvneXG" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61K5RsKO1645702 for ; Fri, 20 Feb 2026 07:29:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= nmdzgEkoO24WLtSkwTLlj9tbQJ0T6NhXURDMGInhV6w=; b=WMr6nv7be7sSjsGo T9gpWrneL0U2f4F8/jIZ2/V3GK4SamK+KYpwciacuBWJ1jDrE9Qdt3a+scb+bQVq 3W7hj9xRFDLFlZWu5pMGCEXtq0gszJNXO3w/2VCzxmTaHhdR7/XlL7xOCzkeIvHP r5gmLPqdnDMfr29LlgZsmeDroWHTpCmeo0/vw1anFOf+szsYlsjlDQTYVl6vD/xB LTHkujNDjCxso9DCzl5ftSlKp96OlL2kTJJo4r7gS7x3Ck1MEZc45JjhS/cedR7i Wdq2cfuflccKJgm9T85E+vDVPQMu3+T1h5cAJOCXRE8t9ye6zlVN6XRFbeMk12PY 2LKTCg== Received: from mail-pf1-f197.google.com (mail-pf1-f197.google.com [209.85.210.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ce1k83413-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 20 Feb 2026 07:29:10 +0000 (GMT) Received: by mail-pf1-f197.google.com with SMTP id d2e1a72fcca58-8249ba7f6e8so915777b3a.2 for ; Thu, 19 Feb 2026 23:29:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771572550; x=1772177350; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=nmdzgEkoO24WLtSkwTLlj9tbQJ0T6NhXURDMGInhV6w=; b=AkNvneXGbI8HU8/nR47M0qTlZhnwUmh4uZiGSjBsVA5Ug5NX1cBuHpWqOXaP+LLrIj hfSFXpn/OFazFlGQbVmRElryXmnLjUWiZ5nbpTynO0ZVf7bmobM1ILYZMYqdcMLFQTt9 PmlF8aYrsqdBMIqm8jvry/Zx6IKaaZepIrT5HPOQEPODRaTuKKPYNSCd9VbvVcPH1eja /9ssNwiJz6jwNQS2VcC/hjUcxnI7W2jpUsmr5sU4JAQG7kYoMAiM8wKxT8W7brBXX8bg ne3kHxwHa64c0Bi2bWm+Bw/V3NTDp5HqjouSl1BJyHuXmzlEXkXyk6TUm9eQnHFwuTYT TWGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771572550; x=1772177350; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=nmdzgEkoO24WLtSkwTLlj9tbQJ0T6NhXURDMGInhV6w=; b=bGUw7T5uRhkbqE39syc1UUcKBtWJtZ1/YeU7xl1QHO7WJ+plPBP7KPRLiOZlA4EEqU vlRQ8NkaVzyE1YUL+R5pwLHfmu4w5j44ZRSLe6P3PinMjpVetZgmvlkDHLJmBjopMWBQ flkxfGHSdfarBm2Tepr/gPNAE61pF2xstQx2UIZMu7zvVNeShipk2Eo56REHUchgZky4 0MLWbOixkgmBpSa9cXSNfTIxIef8I37BjmZAwW17SV5FuCHFg4t2YGAmuK7aCUF5r5Eg yigBx6rc/6js9+AnIS8SY/gUodHahEN/LmnfGA30P118HTWt+JM69X4Y5AU0MvRtMrX1 g+hQ== X-Forwarded-Encrypted: i=1; AJvYcCV3FAhMqpaP1SKeu8m/pWhIKjjFSpxHHz3+QE52rPHLeresVNGvOnaMGxk+vUXbvEKjtzr22Jk9Qyr7Wrg=@vger.kernel.org X-Gm-Message-State: AOJu0Yxz/h1YNVqmOWwqoenf3/WONhNgUmouAd6sk6OT1Hv0fuLr4c5G Tc8+cyMtmhBXewaUkKgfbVzDIbGNSWLzeYwvwpVQM7b0bC58uEd+NDTiKeXvtkauL0hmn4/qyOh jvq2XXVURzkkhzMBbZZ3aR36oa8mvkVzwCOK+HtE/2RoTmGKo8LCx3o8AYHeYKqHKOGE= X-Gm-Gg: AZuq6aII6tMW0qQApqxLtrjmf7jSuWzwdRKGteYRdeCkoILad46sjBqxamWEsyLa2LP pwKq88sxoOoQJSv5OOmpmxkcD7l8+Ikp1tdp/eQpzcYaJuVzmkDwaOaCQpOav3qGW5F7ovGR4Kb m5jKyJAqahXC9eNAy5GmCvoTkrGime48XjuWuEymdN6suiigC9CJ+QcNQ/gNSjHh5hbKR1u0p/m WClPiMF6Oa8WGicvxjYhGCn3zF4yNWsyRHBdb+Oxgl51HkkxPCXa3pu8gj5+eEhHSmuDGHJAJXL lXRZl/2PmoxOlhpNt5s/xaUraOwQ3Xihrj4OniBmneEbGUsR4WWUz2ft8yKsgiVHoweM0cBwMwp VsdOzWKJpRlUv2TBiEXKewiK62cBoktx3NY7J55rNMW0x3wJFBHg= X-Received: by 2002:a05:6a00:3d0c:b0:81c:c98c:aeb7 with SMTP id d2e1a72fcca58-824d94d00abmr19343486b3a.7.1771572549767; Thu, 19 Feb 2026 23:29:09 -0800 (PST) X-Received: by 2002:a05:6a00:3d0c:b0:81c:c98c:aeb7 with SMTP id d2e1a72fcca58-824d94d00abmr19343453b3a.7.1771572549211; Thu, 19 Feb 2026 23:29:09 -0800 (PST) Received: from [10.218.12.237] ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-824c6b69b13sm20291596b3a.30.2026.02.19.23.29.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 19 Feb 2026 23:29:08 -0800 (PST) Message-ID: Date: Fri, 20 Feb 2026 12:59:02 +0530 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 2/8] dt-bindings: thermal: Add qcom,qmi-cooling yaml bindings To: Krzysztof Kozlowski 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 References: <20260127155722.2797783-1-gaurav.kohli@oss.qualcomm.com> <20260127155722.2797783-3-gaurav.kohli@oss.qualcomm.com> <20260128-whispering-caracal-of-respect-a26638@quoll> <36706481-2549-4716-8e6d-0e4db42591a2@oss.qualcomm.com> <546faeda-d896-403c-a449-5c9b0cd7159e@kernel.org> <17474333-bb82-49d7-bc04-45ab21095c38@oss.qualcomm.com> Content-Language: en-US From: Gaurav Kohli In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Proofpoint-GUID: MrwodAFhOgER3Q87Xn0Al0ACYfvSq7G7 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjIwMDA2NCBTYWx0ZWRfXxggDVsY7g49s GB0atCT7gKYPrNkQT8riWwb5lu/EcN0eBFHJ6x4i8XezFewGsC0b5FzWwnM5Ha1IoebVBRUoUbn +YiVxaWaHFZkxNKP+FDcQddmmVa3tOs+GiAUZtpH9ukKq/F61WNMnWVtgMOtlwz0aL2SX4KcJ5H MM0n4qweMPgHJUM7Lh3ozj3E3kOazuM//LNki5amlm1EtNclSpYK+u4T9lVJb44sJX5+nl1WZoE j3AjDAJKi5pdUL2eiammsBQbdSub9Ww3B40ZoKfkapmxdXOLLFZD6o9irenhUqOJmy7orYP/wzB /d3A1BDCNagQkWz7sURqBRWLzfFSlfXQNUVGWcYmow80zONoXgGHAAvu0l9jtr98TGTmSQ8BANT lzYAtR8SIeInoqdRA5amfFdL6cy3YOqoTK8LBGpbWUEivFqg2zCExrZd67ZvpgbZIQBWpghDTfI tP2yQbGkBm3UsSWQAcA== X-Authority-Analysis: v=2.4 cv=cdrfb3DM c=1 sm=1 tr=0 ts=69980d47 cx=c_pps a=rEQLjTOiSrHUhVqRoksmgQ==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=Y8yh3MHrz31bv1ga194A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=2VI0MkxyNR6bbpdq8BZq:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-ORIG-GUID: MrwodAFhOgER3Q87Xn0Al0ACYfvSq7G7 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-19_06,2026-02-20_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 bulkscore=0 adultscore=0 priorityscore=1501 phishscore=0 impostorscore=0 lowpriorityscore=0 suspectscore=0 malwarescore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602200064 On 2/11/2026 1:43 PM, Krzysztof Kozlowski wrote: > On 11/02/2026 08:37, Gaurav Kohli wrote: >> >> >> 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 >>>>>> --- >>>>>> .../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. > > I asked not to create any children nodes. > We have multiple cores within a subsystem(cdsp) and each core has its own independent DCVS. And also we have dedicated TSENS sensor placed on each core within the subsystem. As a result, each core requires its own cooling device, which must be linked to its TSENS thermal zone. Because of this, we introduced multiple child nodes—one for each cooling device. ------ ---------------------------------------- | | -------> | cdsp | | | | | | | | HVX compute(tsens1) HMX NPU(tsens2) | | | | ---------------------------------------- | SOC | | | | | | | ----------------------------------------- | | -------> | Modem | | | | | ------ | (modem Lte) (modem nr) (modem pa) | ----------------------------------------- Unfortunately, we don't have target in this series which supports multiple cores within the subsystem, but there are targets which supports multiple cores. We will post patches for those once upstream dependency aligns. If it make sense, we will add superset node examples in dt bindings for future targets also. We can use another approach, we can take this cooling node out of remoteproc node and use soc node to define child node. This has it's own drawback, here qmi-tmd will probe and wait for remoteproc subsystem to be up. For cases where remoteproc won't be up, qmi-tmd will still do probe and sits indefinitely. So we need your guidance here. >> >>>> >>>>>> + 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 >>>>>> + >>>>>> +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 > > You did not answer the question what are the differences, so I am not > going to ask third time. NAK. For exact hw diff, we are checking internally and will update for this. Right now we only know that we have two cdsp subsystem in Leman's and each has it's own firmware/cores. ------ ---------------------------------------- | | -------> | cdsp0 | | | | | | | | HVX compute(tsens1) HMX NPU(tsens2) | | | ---------------------------------------- | SOC | | | | | | | ----------------------------------------- | | -------> | cdsp1 | | | | | ------ | tsesn3 tsens4 | ----------------------------------------- > >> with new dt property for each subsystem instance id. Please let us know > > Instance IDs are not allowed, either. Please read writing bindings doc > or slides from talks. > > Best regards, > Krzysztof