Message ID | 20230905-caleb-qmi_cooling-v1-0-5aa39d4164a7@linaro.org |
---|---|
Headers | show |
Series | thermal: Introduce Qualcomm Thermal Mitigation Device support | expand |
On 01/10/2023 16:57, Manivannan Sadhasivam wrote: > On Fri, Sep 29, 2023 at 05:16:16PM +0100, Caleb Connolly wrote: >> The Thermal Mitigation Device (TMD) Service is a QMI service that runs >> on remote subsystems (the modem and DSPs) on Qualcomm SoCs. >> It exposes various mitigations including passive thermal controls and >> rail voltage restrictions. >> >> This series introduces support for exposing TMDs as cooling devices >> in the kernel through the thermal framework, using the QMI interface. >> >> Each TMD client is described as a child of the remoteproc node in >> devicetree. With subnodes for each control. >> > > Daniel expressed concerns in the past aganist representing TMD driver as a > cooling device since it is not tied to thermal zones and the governors cannot > use it. Instead he suggested to represent it as a powercap device with thermal > constraints. Hi Mani, Forgive me as I'm not yet super familiar with the thermal subsystem. As I understand it, the DT layout here enables each control to be referenced under the thermal zones, at least this is the approach taken in CAF 4.9. Maybe I don't quite understand what you mean, are you saying that using thermal zones is the wrong approach? > > So please look into that approach. Any recommended reading? Or drivers I can use as a reference? Thanks > > - Mani > >> This series is based on previous work by Bhupesh Sharma which can be >> found at [1]. I'm sending this as a fresh series as it has been a >> year since the original version and I have rewritten most of the driver. >> >> [1]: https://lore.kernel.org/linux-arm-msm/20220912085049.3517140-1-bhupesh.sharma@linaro.org/ >> >> --- >> Caleb Connolly (4): >> remoteproc: qcom: probe all child devices >> dt-bindings: thermal: Add qcom,qmi-cooling yaml bindings >> thermal: qcom: add qmi-cooling driver >> MAINTAINERS: Add entry for Qualcomm Cooling Driver >> >> .../bindings/remoteproc/qcom,msm8996-mss-pil.yaml | 13 + >> .../bindings/remoteproc/qcom,pas-common.yaml | 6 + >> .../bindings/thermal/qcom,qmi-cooling.yaml | 168 +++++++ >> MAINTAINERS | 8 + >> drivers/remoteproc/qcom_q6v5.c | 4 + >> drivers/remoteproc/qcom_q6v5_mss.c | 8 - >> drivers/thermal/qcom/Kconfig | 13 + >> drivers/thermal/qcom/Makefile | 1 + >> drivers/thermal/qcom/qmi-cooling.c | 520 +++++++++++++++++++++ >> drivers/thermal/qcom/qmi-cooling.h | 428 +++++++++++++++++ >> 10 files changed, 1161 insertions(+), 8 deletions(-) >> --- >> base-commit: 9067f80db58bbce81d5f0703aa2fd261e88bc812 >> >> // Caleb (they/them) >> >
On Mon, Oct 02, 2023 at 09:43:08PM +0530, Manivannan Sadhasivam wrote: > On Mon, Oct 02, 2023 at 07:00:27PM +0300, Dmitry Baryshkov wrote: > > On Mon, 2 Oct 2023 at 18:58, Manivannan Sadhasivam <mani@kernel.org> wrote: > > > > > > On Mon, Oct 02, 2023 at 06:00:37PM +0300, Dmitry Baryshkov wrote: > > > > On Mon, 2 Oct 2023 at 17:52, Manivannan Sadhasivam <mani@kernel.org> wrote: > > > > > > > > > > On Sun, Oct 01, 2023 at 06:26:14PM +0100, Caleb Connolly wrote: > > > > > > > > > > > > > > > > > > On 01/10/2023 16:57, Manivannan Sadhasivam wrote: > > > > > > > On Fri, Sep 29, 2023 at 05:16:16PM +0100, Caleb Connolly wrote: > > > > > > > > The Thermal Mitigation Device (TMD) Service is a QMI service that runs > > > > > > > > on remote subsystems (the modem and DSPs) on Qualcomm SoCs. > > > > > > > > It exposes various mitigations including passive thermal controls and > > > > > > > > rail voltage restrictions. > > > > > > > > > > > > > > > > This series introduces support for exposing TMDs as cooling devices > > > > > > > > in the kernel through the thermal framework, using the QMI interface. > > > > > > > > > > > > > > > > Each TMD client is described as a child of the remoteproc node in > > > > > > > > devicetree. With subnodes for each control. > > > > > > > > > > > > > > > > > > > > > > Daniel expressed concerns in the past aganist representing TMD driver as a > > > > > > > cooling device since it is not tied to thermal zones and the governors cannot > > > > > > > use it. Instead he suggested to represent it as a powercap device with thermal > > > > > > > constraints. > > > > > > > > > > > > Hi Mani, > > > > > > > > > > > > Forgive me as I'm not yet super familiar with the thermal subsystem. > > > > > > > > > > > > As I understand it, the DT layout here enables each control to be referenced > > > > > > under the thermal zones, at least this is the approach taken in CAF 4.9. > > > > > > > > > > > > Maybe I don't quite understand what you mean, are you saying that using > > > > > > thermal zones is the wrong approach? > > > > > > > > > > Thermal framework expects each thermal zone represented in DT to have atleast > > > > > one corresponding thermal sensor defined using "thermal-sensors" property. But > > > > > with TMD, there is no thermal sensor AFAIK. > > > > > > > > As far as I understand, no. It is perfectly fine to have 'cooling' > > > > devices, which react to external thermal monitoring events. I might be > > > > mistaken, but I think that is the case here, isn't it? > > > > > > > > > > Yes it is represented as cooling device(s). But I do not see any cognizant way > > > to plug it with thermal zones i.e., unless TMD itself reports temperature of the > > > modem, using it as a cooling device for external temperature events doesn't > > > sound good to me. > > > > Why? We have compute, q6, wlan tsens sensors. So it seems natural to > > tell CDSP to slow down if compute sensor reports overheating. > > > > TMD is for external devices such as PCIe modems as well. Is there a temperature > sensor for that? > According to the schematics for the SC8280XP CRD sys_therm5 would be the sensor you're looking for. Regards, Bjorn
On Sun, Oct 01, 2023 at 09:27:01PM +0530, Manivannan Sadhasivam wrote: > On Fri, Sep 29, 2023 at 05:16:16PM +0100, Caleb Connolly wrote: > > The Thermal Mitigation Device (TMD) Service is a QMI service that runs > > on remote subsystems (the modem and DSPs) on Qualcomm SoCs. > > It exposes various mitigations including passive thermal controls and > > rail voltage restrictions. > > > > This series introduces support for exposing TMDs as cooling devices > > in the kernel through the thermal framework, using the QMI interface. > > > > Each TMD client is described as a child of the remoteproc node in > > devicetree. With subnodes for each control. > > > > Daniel expressed concerns in the past aganist representing TMD driver as a > cooling device since it is not tied to thermal zones and the governors cannot > use it. Instead he suggested to represent it as a powercap device with thermal > constraints. > > So please look into that approach. > The powercap framework revolves around the idea that we have some amount of power (micro-watt) being available to the system, which can be split across a range of devices. Say that we implement this as a powercap thing, what current consumption would you attribute these entires? How would you map a given uW value to the mitigation levels provided by the qmi-cooling instances? Beyond that, I'm still not sure how we would plug this in. We don't have a picture of the power consumption/flow through the system at any point in time - as the control of the power grid is distributed across the various subsystems. Regards, Bjorn
On Wed, Oct 04, 2023 at 07:36:58PM -0700, Bjorn Andersson wrote: > On Mon, Oct 02, 2023 at 09:43:08PM +0530, Manivannan Sadhasivam wrote: > > On Mon, Oct 02, 2023 at 07:00:27PM +0300, Dmitry Baryshkov wrote: > > > On Mon, 2 Oct 2023 at 18:58, Manivannan Sadhasivam <mani@kernel.org> wrote: > > > > > > > > On Mon, Oct 02, 2023 at 06:00:37PM +0300, Dmitry Baryshkov wrote: > > > > > On Mon, 2 Oct 2023 at 17:52, Manivannan Sadhasivam <mani@kernel.org> wrote: > > > > > > > > > > > > On Sun, Oct 01, 2023 at 06:26:14PM +0100, Caleb Connolly wrote: > > > > > > > > > > > > > > > > > > > > > On 01/10/2023 16:57, Manivannan Sadhasivam wrote: > > > > > > > > On Fri, Sep 29, 2023 at 05:16:16PM +0100, Caleb Connolly wrote: > > > > > > > > > The Thermal Mitigation Device (TMD) Service is a QMI service that runs > > > > > > > > > on remote subsystems (the modem and DSPs) on Qualcomm SoCs. > > > > > > > > > It exposes various mitigations including passive thermal controls and > > > > > > > > > rail voltage restrictions. > > > > > > > > > > > > > > > > > > This series introduces support for exposing TMDs as cooling devices > > > > > > > > > in the kernel through the thermal framework, using the QMI interface. > > > > > > > > > > > > > > > > > > Each TMD client is described as a child of the remoteproc node in > > > > > > > > > devicetree. With subnodes for each control. > > > > > > > > > > > > > > > > > > > > > > > > > Daniel expressed concerns in the past aganist representing TMD driver as a > > > > > > > > cooling device since it is not tied to thermal zones and the governors cannot > > > > > > > > use it. Instead he suggested to represent it as a powercap device with thermal > > > > > > > > constraints. > > > > > > > > > > > > > > Hi Mani, > > > > > > > > > > > > > > Forgive me as I'm not yet super familiar with the thermal subsystem. > > > > > > > > > > > > > > As I understand it, the DT layout here enables each control to be referenced > > > > > > > under the thermal zones, at least this is the approach taken in CAF 4.9. > > > > > > > > > > > > > > Maybe I don't quite understand what you mean, are you saying that using > > > > > > > thermal zones is the wrong approach? > > > > > > > > > > > > Thermal framework expects each thermal zone represented in DT to have atleast > > > > > > one corresponding thermal sensor defined using "thermal-sensors" property. But > > > > > > with TMD, there is no thermal sensor AFAIK. > > > > > > > > > > As far as I understand, no. It is perfectly fine to have 'cooling' > > > > > devices, which react to external thermal monitoring events. I might be > > > > > mistaken, but I think that is the case here, isn't it? > > > > > > > > > > > > > Yes it is represented as cooling device(s). But I do not see any cognizant way > > > > to plug it with thermal zones i.e., unless TMD itself reports temperature of the > > > > modem, using it as a cooling device for external temperature events doesn't > > > > sound good to me. > > > > > > Why? We have compute, q6, wlan tsens sensors. So it seems natural to > > > tell CDSP to slow down if compute sensor reports overheating. > > > > > > > TMD is for external devices such as PCIe modems as well. Is there a temperature > > sensor for that? > > > > According to the schematics for the SC8280XP CRD sys_therm5 would be the > sensor you're looking for. > Hmm, then it seems fine from my end as long we have the correct sensor data to hook up these cooling devices. - Mani > Regards, > Bjorn