Re: [PATCH v4 01/10] dt-bindings: firmware: qcom: tmd: add TMD device type constants

Dmitry Baryshkov <[email protected]>
Newsgroups org.kernel.vger.linux-remoteproc,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-hardening,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pm
Message-ID <dv4n4ntnfvhouv23asgshgs7wcolkmqs7lbuni52maexo4s44x@4bqhf33x4fr6>
On Mon, Jul 06, 2026 at 07:03:18PM +0200, Daniel Lezcano wrote:
> On 7/3/26 17:42, Dmitry Baryshkov wrote:
> > On Fri, Jul 03, 2026 at 07:43:39PM +0530, Gaurav Kohli wrote:
> > > 
> > > 
> > > On 7/3/2026 1:23 PM, Konrad Dybcio wrote:
> > > > On 7/3/26 7:03 AM, Gaurav Kohli wrote:
> > > > > Add Device Tree binding constants for Qualcomm Thermal Mitigation
> > > > > Device (TMD) types used by remoteproc-backed thermal cooling devices.
> > > > > 
> > > > > Qualcomm remote processors expose thermal mitigation endpoints
> > > > > through QMI. These endpoints can be registered with the thermal
> > > > > framework via the `#cooling-cells` property on the remoteproc node.
> > > > > 
> > > > > The QMI TMD protocol identifies devices using string names (for example,
> > > > > "pa", "modem", and "cdsp_sw"), while the DT cooling-device binding with
> > > > > `#cooling-cells = <3>` requires numeric device id in the form:
> > > > > 
> > > > >     <&phandle device_id min_state max_state>
> > > > > 
> > > > > Define common TMD device index constants shared across currently
> > > > > supported platforms. If a future target requires a different mapping,
> > > > > additional target-specific constants can be introduced while preserving
> > > > > existing DT ABI.
> > > > > 
> > > > > Signed-off-by: Gaurav Kohli <[email protected]>
> > > > > ---
> > > > >    MAINTAINERS                                 |  1 +
> > > > >    include/dt-bindings/firmware/qcom,qmi-tmd.h | 20 ++++++++++++++++++++
> > > > >    2 files changed, 21 insertions(+)
> > > > > 
> > > > > diff --git a/MAINTAINERS b/MAINTAINERS
> > > > > index 57656ec0e9d5..ffd85fd1dd80 100644
> > > > > --- a/MAINTAINERS
> > > > > +++ b/MAINTAINERS
> > > > > @@ -3410,6 +3410,7 @@ F:	drivers/firmware/qcom/
> > > > >    F:	drivers/soc/qcom/
> > > > >    F:	drivers/watchdog/gunyah_wdt.c
> > > > >    F:	include/dt-bindings/arm/qcom,ids.h
> > > > > +F:	include/dt-bindings/firmware/qcom,qmi-tmd.h
> > > > >    F:	include/dt-bindings/firmware/qcom,scm.h
> > > > >    F:	include/dt-bindings/soc/qcom*
> > > > >    F:	include/linux/firmware/qcom
> > > > > diff --git a/include/dt-bindings/firmware/qcom,qmi-tmd.h b/include/dt-bindings/firmware/qcom,qmi-tmd.h
> > > > > new file mode 100644
> > > > > index 000000000000..73efecef0f3c
> > > > > --- /dev/null
> > > > > +++ b/include/dt-bindings/firmware/qcom,qmi-tmd.h
> > > > > @@ -0,0 +1,20 @@
> > > > > +/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
> > > > > +/*
> > > > > + * Qualcomm QMI TMD (Thermal Mitigation Device) cooling device indices
> > > > > + *
> > > > > + * These indices are used in device tree cooling-maps to reference
> > > > > + * specific TMD devices provided by remote processors via QMI.
> > > > > + *
> > > > > + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> > > > > + */
> > > > > +#ifndef _DT_BINDINGS_FIRMWARE_QCOM_QMI_TMD_H
> > > > > +#define _DT_BINDINGS_FIRMWARE_QCOM_QMI_TMD_H
> > > > > +
> > > > > +/* CDSP thermal mitigation device id */
> > > > > +#define QCOM_CDSP_TMD_CDSP_SW	0
> > > > > +
> > > > > +/* Modem thermal mitigation device id */
> > > > > +#define QCOM_MODEM_TMD_PA	0
> > > > > +#define QCOM_MODEM_TMD_MODEM	1
> > > > 
> > > > What about the dozens other ones that Dmitry's laptop reports?Ri
> > > > 
> > > 
> > > Thanks for the review, Konrad.
> > > 
> > > We are only defining constants for the TMD devices that are actually used
> > > for thermal mitigation on the platforms supported by this series.
> > 
> > Why are you using only those TMD devices?
> > 
> > > More constants can be added as needed.
> > 
> > Kodiak is one of the supported platforms.
> 
> What would be the benefit of having more than thirteen cooling devices
> declared in the thermal framework and having only a couple of them mapped in
> a thermal zone ?
> 
> I agree there are more TMDs but if they are unused for the moment, why do we
> need to add them ? Can we do that incrementally ?

That's what I am trying to understand: why the implementation uses only
the selected two devices, if the modem on Kodiak supports others. How
can we find out, which TMDs to use on other devices.

-- 
With best wishes
Dmitry
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.