From: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
To: Bjorn Andersson <andersson@kernel.org>,
Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-pm@vger.kernel.org, linux-hardening@vger.kernel.org,
manaf.pallikunhi@oss.qualcomm.com,
Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>,
Casey Connolly <casey.connolly@linaro.org>,
Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>,
Dipa Ramesh Mantre <dipa.mantre@oss.qualcomm.com>,
Abel Vesa <abel.vesa@oss.qualcomm.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Daniel Lezcano <daniel.lezcano@oss.qualcomm.com>,
Amit Kucheria <amit.kucheria@oss.qualcomm.com>,
Konrad Dybcio <konradybcio@kernel.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Daniel Lezcano <daniel.lezcano@kernel.org>,
Zhang Rui <rui.zhang@intel.com>,
Lukasz Luba <lukasz.luba@arm.com>,
Manivannan Sadhasivam <mani@kernel.org>,
Kees Cook <kees@kernel.org>,
"Gustavo A. R. Silva" <gustavoars@kernel.org>,
cros-qcom-dts-watchers@chromium.org
Subject: Re: [PATCH v8 0/9] Add support for Qualcomm remoteproc subsystem cooling
Date: Thu, 20 Aug 2026 12:02:16 +0530 [thread overview]
Message-ID: <9eb142ae-9f79-4f7f-91ae-6a49a7103dfd@oss.qualcomm.com> (raw)
In-Reply-To: <20260809-b4-qmi-tmd-v8-0-b15d47adc379@oss.qualcomm.com>
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/20230905-caleb-qmi_cooling-v1-0-5aa39d4164a7@linaro.org/
> [2] https://lore.kernel.org/all/20260526140802.1059293-12-daniel.lezcano@oss.qualcomm.com/
>
> ---
> 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/20260731-b4-qmi-tmd-v7-0-3befd44403d5@oss.qualcomm.com
>
> 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/20260727-b4-qmi-tmd-v6-0-973cd3a226af@oss.qualcomm.com
>
> 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/20260721-b4-qmi-tmd-v5-0-99620e07f505@oss.qualcomm.com
>
> 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/20260703-qmi-tmd-v4-0-3882189c1f83@oss.qualcomm.com
>
> 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/20260609-qmi-tmd-v3-0-291a2ff4c634@oss.qualcomm.com
>
> 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/20260127155722.2797783-1-gaurav.kohli@oss.qualcomm.com/
>
> 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/20251223123227.1317244-1-gaurav.kohli@oss.qualcomm.com/
> ---
>
> ---
> 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,
next prev parent reply other threads:[~2026-08-20 6:32 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-09 12:28 [PATCH v8 0/9] Add support for Qualcomm remoteproc subsystem cooling Gaurav Kohli
2026-08-09 12:28 ` [PATCH v8 1/9] dt-bindings: remoteproc: qcom,pas: add #cooling-cells property Gaurav Kohli
2026-08-09 12:28 ` [PATCH v8 2/9] soc: qcom: Add QMI TMD support for remote thermal mitigation Gaurav Kohli
2026-08-09 12:47 ` sashiko-bot
2026-08-10 10:05 ` Gaurav Kohli
2026-08-09 12:28 ` [PATCH v8 3/9] remoteproc: qcom: pas: add support for TMD thermal cooling devices Gaurav Kohli
2026-08-09 12:45 ` sashiko-bot
2026-08-09 12:29 ` [PATCH v8 4/9] remoteproc: qcom_q6v5_pas: enable QMI TMD cooling support Gaurav Kohli
2026-08-09 12:46 ` sashiko-bot
2026-08-09 12:29 ` [PATCH v8 5/9] arm64: dts: qcom: kodiak: Enable CDSP & Modem cooling Gaurav Kohli
2026-08-09 12:29 ` [PATCH v8 6/9] arm64: dts: qcom: lemans: Enable CDSP cooling Gaurav Kohli
2026-08-09 12:29 ` [PATCH v8 7/9] arm64: dts: qcom: talos: " Gaurav Kohli
2026-08-09 12:29 ` [PATCH v8 8/9] arm64: dts: qcom: monaco: " Gaurav Kohli
2026-08-09 12:29 ` [PATCH v8 9/9] arm64: dts: qcom: hamoa: " Gaurav Kohli
2026-08-20 6:32 ` Gaurav Kohli [this message]
2026-08-20 7:47 ` [PATCH v8 0/9] Add support for Qualcomm remoteproc subsystem cooling Krzysztof Kozlowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9eb142ae-9f79-4f7f-91ae-6a49a7103dfd@oss.qualcomm.com \
--to=gaurav.kohli@oss.qualcomm.com \
--cc=abel.vesa@oss.qualcomm.com \
--cc=amit.kucheria@oss.qualcomm.com \
--cc=andersson@kernel.org \
--cc=casey.connolly@linaro.org \
--cc=conor+dt@kernel.org \
--cc=cros-qcom-dts-watchers@chromium.org \
--cc=daniel.lezcano@kernel.org \
--cc=daniel.lezcano@oss.qualcomm.com \
--cc=devicetree@vger.kernel.org \
--cc=dipa.mantre@oss.qualcomm.com \
--cc=dmitry.baryshkov@oss.qualcomm.com \
--cc=gustavoars@kernel.org \
--cc=kees@kernel.org \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=krzysztof.kozlowski@oss.qualcomm.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-remoteproc@vger.kernel.org \
--cc=lukasz.luba@arm.com \
--cc=manaf.pallikunhi@oss.qualcomm.com \
--cc=mani@kernel.org \
--cc=mathieu.poirier@linaro.org \
--cc=rafael@kernel.org \
--cc=robh@kernel.org \
--cc=rui.zhang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox