Re: [PATCH v8 0/9] Add support for Qualcomm remoteproc subsystem cooling
Gaurav Kohli <[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 | <[email protected]> |
Hi Bjorn, Mathieu, Just wanted to kindly check if this series can be picked up. Patch 1 has Krzysztof's Reviewed-by and Daniel's Acked-by, and the later patches carry the review tags received in previous versions. Please let me know if you would prefer any changes or a resend. Thanks, Gaurav On 8/9/2026 5:58 PM, Gaurav Kohli wrote: > 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. > > Not all TMD endpoints advertised by the firmware are wired into kernel > thermal zones. Endpoints such as BCL (battery current limiting) and cold > temperature protection are handled from userspace via qmi and do not > require kernel thermal zone bindings. > > The constants defined in this series cover only the endpoints actively > used for thermal mitigation in the kernel thermal framework on the > currently posted targets: cdsp_sw (CDSP software thermal limit), pa > (modem power amplifier), and modem. > > 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 v8: > - Added Reviewed-by tags from Abel and Krzysztof. > - Return -ENOTCONN when QMI TMD is disconnected. > - Use label references for Hamoa IoT NSP trip overrides. (Stephan) > - Link to v7: https://lore.kernel.org/r/[email protected] > > Changes in v7: > - Added Daniel's Acked-by/Reviewed-by tags. > - Serialized cur_state update with QMI state request. (Sashiko) > - Link to v6: https://lore.kernel.org/r/[email protected] > > Changes in v6: > - Added Reviewed-by tags from Dmitry. > - Kodiak: delete MPSS cooling maps by label on non-modem boards. (Dmitry) > - Renamed qcom,qmi-tmd.h to qcom,pas.h. (Krzysztof) > - Made QCOM_QMI_TMD tristate to fix unmet dependency issue. (Sashiko) > - Removed redundant negative TMD id check in qcom_pas_setup_tmd(). (Dmitry) > - Fixed QMI_DATA_LEN type issue by using u32. (Sashiko) > - Link to v5: https://lore.kernel.org/r/[email protected] > > Changes in v5: > - Added Reviewed-by tag (Daniel Lezcano) > - Squashed dt-bindings header patch into the yaml binding patch.(Krzysztof) > - Renamed constants: QCOM_CDSP_TMD_CDSP_SW -> QCOM_TMD_CDSP_SW, > QCOM_MODEM_TMD_PA -> QCOM_TMD_PA, QCOM_MODEM_TMD_MODEM -> > QCOM_TMD_MODEM.(Krzysztof) > - Replaced dev_err() with dev_err_probe() in qmi_tmd_init() (Krzysztof) > - Fixed qmi_tmd_exit() teardown order to prevent cancel_work_sync() > re-queue race.(Krzysztof) > - Removed only MPSS maps instead of entire cooling-maps node.(Dmitry) > - Added cover letter note clarifying TMD endpoint selection rationale.(Dmitry) > - Added NET dependency in Kconfig.(Julian) > - Link to v4: https://lore.kernel.org/r/[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 (7): > 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 | 9 + > MAINTAINERS | 8 + > arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts | 16 + > arch/arm64/boot/dts/qcom/hamoa.dtsi | 63 +++ > arch/arm64/boot/dts/qcom/kodiak.dtsi | 125 +++++ > arch/arm64/boot/dts/qcom/lemans.dtsi | 125 ++++- > arch/arm64/boot/dts/qcom/monaco.dtsi | 99 ++++ > .../boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts | 8 + > .../dts/qcom/qcs6490-thundercomm-minipc-g1iot.dts | 8 + > .../boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts | 8 + > .../boot/dts/qcom/qcs6490-vicharak-axon-mini.dts | 8 + > .../boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi | 10 + > .../boot/dts/qcom/sc7280-herobrine-wifi-sku.dtsi | 9 + > arch/arm64/boot/dts/qcom/talos.dtsi | 19 + > drivers/remoteproc/Kconfig | 1 + > drivers/remoteproc/qcom_q6v5_pas.c | 117 +++- > drivers/soc/qcom/Kconfig | 12 + > drivers/soc/qcom/Makefile | 1 + > drivers/soc/qcom/qmi_tmd.c | 595 +++++++++++++++++++++ > include/dt-bindings/thermal/qcom,pas.h | 20 + > include/linux/soc/qcom/qmi.h | 1 + > include/linux/soc/qcom/qmi_tmd.h | 36 ++ > 22 files changed, 1285 insertions(+), 13 deletions(-) > --- > base-commit: 49362394dad7df66c274c867a271394c10ca2bb8 > change-id: 20260715-b4-qmi-tmd-d23e8df1b282 > > Best regards,