This series introduces Qualcomm Messaging Interface based Thermal Mitigation Device (QMI TMD) support to control thermal mitigation on remote subsystems such as the Modem and CDSP.
The QMI TMD is an interface that instructs a remote subsystem to adjust the performance level of the devices it manages, reducing power consumption in response to critically low battery charge, overcurrent alerts, or overheating conditions. The series is organized as follows: - Add a shared dt-bindings header mapping TMD device indices for use in DT cooling-maps, ensuring a consistent binding between the thermal zone and the QMI TMD driver. - Extend the remoteproc PAS binding with the optional #cooling-cells property to allow remoteproc nodes to be referenced as cooling devices. - Add QMI TMD support in the remoteproc PAS framework, hooking into the probe/unregister lifecycle to register and unregister cooling devices with the thermal framework. - Enable CDSP and Modem cooling on kodiak, lemans, talos, monaco and hamoa platforms using the new binding. This work revives the earlier QMI cooling series by Casey Connolly [1], with the following key differences: - Uses an id based API for cooling-device binding - Integrates QMI TMD directly into the remoteproc PAS framework and hooks into the probe/unregister lifecycle. - Removes unused code and cleans up macro names This series depends on cooling device id support from Daniel Lezcano [2]. [1] https://lore.kernel.org/linux-devicetree/[email protected]/ [2] https://lore.kernel.org/all/[email protected]/ --- Changes in v4: - Drop the tmd-names DT property. - Move TMD instance id and tmd device name into PAS platform data. - Add a shared dt-bindings header to define numeric constant for TMD id. - Add mutex documentation comments for get/set state callbacks. - Link to v3: https://lore.kernel.org/r/[email protected] Changes in v3: - Removed the remoteproc-cooling abstraction approach. - Integerated QMI TMD with remoteproc core framework. - Cleaned the macro names and removed unused code. - Switched to index-based thermal_of_cooling_device_register() api. - Link to v2: https://lore.kernel.org/linux-devicetree/[email protected]/ Changes in v2: - Update Remoreproc thermal config to tristate and removed unnecessary NULL checks. - Fixed dt binding file format and added generic name support for cdsp. - Fixed memory leak and cleaned up qmi-cooling driver file. - Corrected DT formatting errors and commit descriptions for all targets. - Link to v1: https://lore.kernel.org/linux-devicetree/[email protected]/ --- --- Casey Connolly (1): soc: qcom: Add QMI TMD support for remote thermal mitigation Dipa Ramesh Mantre (1): arm64: dts: qcom: hamoa: Enable CDSP cooling Gaurav Kohli (8): dt-bindings: firmware: qcom: tmd: add TMD device type constants dt-bindings: remoteproc: qcom,pas: add #cooling-cells property remoteproc: qcom: pas: add support for TMD thermal cooling devices remoteproc: qcom_q6v5_pas: enable QMI TMD cooling support arm64: dts: qcom: kodiak: Enable CDSP & Modem cooling arm64: dts: qcom: lemans: Enable CDSP cooling arm64: dts: qcom: talos: Enable CDSP cooling arm64: dts: qcom: monaco: Enable CDSP cooling .../bindings/remoteproc/qcom,pas-common.yaml | 39 ++ MAINTAINERS | 7 + arch/arm64/boot/dts/qcom/hamoa.dtsi | 63 +++ arch/arm64/boot/dts/qcom/kodiak.dtsi | 134 ++++- arch/arm64/boot/dts/qcom/lemans.dtsi | 125 ++++- arch/arm64/boot/dts/qcom/monaco.dtsi | 99 ++++ .../boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts | 17 + arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 17 + .../dts/qcom/qcs6490-thundercomm-minipc-g1iot.dts | 17 + .../boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts | 17 + .../boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi | 17 + .../boot/dts/qcom/sc7280-herobrine-wifi-sku.dtsi | 16 + arch/arm64/boot/dts/qcom/talos.dtsi | 19 + drivers/remoteproc/Kconfig | 1 + drivers/remoteproc/qcom_q6v5_pas.c | 120 ++++- drivers/soc/qcom/Kconfig | 10 + drivers/soc/qcom/Makefile | 1 + drivers/soc/qcom/qmi_tmd.c | 581 +++++++++++++++++++++ include/dt-bindings/firmware/qcom,qmi-tmd.h | 20 + include/linux/soc/qcom/qmi.h | 1 + include/linux/soc/qcom/qmi_tmd.h | 23 + 21 files changed, 1327 insertions(+), 17 deletions(-) --- base-commit: a87737435cfa134f9cdcc696ba3080759d04cf72 change-id: 20260609-qmi-tmd-383d30e1a60a Best regards, -- Gaurav Kohli <[email protected]>

