This series introduces a QMI TMD (Qualcomm Messaging Interface-based Thermal Mitigation Device) helper library to control thermal mitigation devices on remote subsystems such as the Modem and CDSP.
The objective is to enable thermal mitigation for Qualcomm remote subsystems (for example, modem and CDSP) by using subsystem temperature data into the existing Linux thermal framework. Major functionality provided by this series: -> Initializes a QMI handle and performs TMD service discovery -> Monitors TMD service availability (arrival/removal) -> Creates cooling devices from DT-provided TMD names -> Supports multiple mitigation devices per subsystem via index-based binding -> Sends cooling-state updates to remote TMD endpoints To support cooling device with id (index-based binding), this series depends on: https://lore.kernel.org/all/[email protected]/ This series also revives qmi-cooling from Casey’s earlier QMI cooling series: https://lore.kernel.org/linux-devicetree/[email protected]/ Key design differences from the earlier series: ->Integrates qmi-cooling as a library and hooks probe/unregister into the remoteproc core framework ->Uses an index-based API for cooling-device binding ->Cleans up the macro name and removes unused code --- 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 support for QMI TMD cooling devices Dipa Ramesh Mantre (1): arm64: dts: qcom: hamoa: Enable CDSP cooling Gaurav Kohli (6): dt-bindings: remoteproc: qcom,pas: add thermal mitigation properties remoteproc: qcom: pas: register TMD thermal cooling devices 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 | 14 + MAINTAINERS | 6 + arch/arm64/boot/dts/qcom/hamoa.dtsi | 63 +++ arch/arm64/boot/dts/qcom/kodiak.dtsi | 127 ++++- arch/arm64/boot/dts/qcom/lemans.dtsi | 126 ++++- arch/arm64/boot/dts/qcom/monaco.dtsi | 99 ++++ .../boot/dts/qcom/qcs6490-radxa-dragon-q6a.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 | 18 + .../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 | 61 ++- drivers/soc/qcom/Kconfig | 10 + drivers/soc/qcom/Makefile | 1 + drivers/soc/qcom/qmi_tmd.c | 604 +++++++++++++++++++++ include/linux/soc/qcom/qmi.h | 1 + include/linux/soc/qcom/qmi_tmd.h | 23 + 19 files changed, 1223 insertions(+), 17 deletions(-) --- base-commit: a87737435cfa134f9cdcc696ba3080759d04cf72 change-id: 20260609-qmi-tmd-383d30e1a60a Best regards, -- Gaurav Kohli <[email protected]>

