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 | <yvggh2zs6qkuyuzvwydkecswnjoyba2d7t27br6xpk6d2csp53@i25g6okdktz5> |
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. Running the same tool produces: TMD service: instance=0x00 (modem) node=0 port=20 29 mitigation device(s): [ 0] pa max_mitigation_level=3 [ 1] pa_fr1 max_mitigation_level=3 [ 2] modem max_mitigation_level=3 [ 3] cpuv_restriction_cold max_mitigation_level=1 [ 4] modem_current max_mitigation_level=3 [ 5] vbatt_low max_mitigation_level=3 [ 6] charge_state max_mitigation_level=3 [ 7] modem_skin max_mitigation_level=3 [ 8] modem_bw max_mitigation_level=5 [ 9] mmw0 max_mitigation_level=3 [10] mmw1 max_mitigation_level=3 [11] mmw2 max_mitigation_level=3 [12] mmw3 max_mitigation_level=3 [13] mmw_skin0 max_mitigation_level=3 [14] mmw_skin1 max_mitigation_level=3 [15] mmw_skin2 max_mitigation_level=3 [16] mmw_skin3 max_mitigation_level=3 [17] mmw_skin0_dsc max_mitigation_level=15 [18] mmw_skin1_dsc max_mitigation_level=15 [19] mmw_skin2_dsc max_mitigation_level=15 [20] mmw_skin3_dsc max_mitigation_level=15 [21] wlan max_mitigation_level=4 [22] wlan_bw max_mitigation_level=1 [23] modem_skin_lte_dsc max_mitigation_level=255 [24] modem_skin_nr_dsc max_mitigation_level=255 [25] pa_dsc max_mitigation_level=255 [26] pa_fr1_dsc max_mitigation_level=255 [27] modem_bw_backoff max_mitigation_level=255 [28] cpr_cold max_mitigation_level=3 TMD service: instance=0x01 (adsp) node=5 port=8 1 mitigation device(s): [ 0] cpuv_restriction_cold max_mitigation_level=1 TMD service: instance=0x43 (cdsp) node=10 port=9 3 mitigation device(s): [ 0] cpuv_restriction_cold max_mitigation_level=1 [ 1] cdsp_hw max_mitigation_level=1 [ 2] cdsp_sw max_mitigation_level=7 > > > https://lore.kernel.org/linux-arm-msm/4gs664zboaqgpok33x7bgorfmhh3f2fahjkt4jjl6fbzpwixnm@hxzz2xeogd4k/ > > > > Konrad > -- With best wishes Dmitry