public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] arm64: dts: qcom: x1e80100: Add '#cooling-cells' for CPU nodes
@ 2025-10-15  6:57 Manivannan Sadhasivam
  2025-10-19 16:01 ` Dmitry Baryshkov
  0 siblings, 1 reply; 6+ messages in thread
From: Manivannan Sadhasivam @ 2025-10-15  6:57 UTC (permalink / raw)
  To: andersson, konradybcio, robh, krzk+dt, conor+dt
  Cc: linux-arm-msm, devicetree, linux-kernel, Manivannan Sadhasivam,
	Manivannan Sadhasivam

From: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>

Enable passive cooling for CPUs in the X1E80100 SoC by adding the
'#cooling-cells' property. This will allow the OS to mitigate the CPU
power dissipation with the help of SCMI DVFS.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
---
 arch/arm64/boot/dts/qcom/x1e80100.dtsi | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
index 51576d9c935d..001cf9cbb0c5 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
@@ -76,6 +76,7 @@ cpu0: cpu@0 {
 			power-domains = <&cpu_pd0>, <&scmi_dvfs 0>;
 			power-domain-names = "psci", "perf";
 			cpu-idle-states = <&cluster_c4>;
+			#cooling-cells = <2>;
 
 			l2_0: l2-cache {
 				compatible = "cache";
@@ -93,6 +94,7 @@ cpu1: cpu@100 {
 			power-domains = <&cpu_pd1>, <&scmi_dvfs 0>;
 			power-domain-names = "psci", "perf";
 			cpu-idle-states = <&cluster_c4>;
+			#cooling-cells = <2>;
 		};
 
 		cpu2: cpu@200 {
@@ -104,6 +106,7 @@ cpu2: cpu@200 {
 			power-domains = <&cpu_pd2>, <&scmi_dvfs 0>;
 			power-domain-names = "psci", "perf";
 			cpu-idle-states = <&cluster_c4>;
+			#cooling-cells = <2>;
 		};
 
 		cpu3: cpu@300 {
@@ -115,6 +118,7 @@ cpu3: cpu@300 {
 			power-domains = <&cpu_pd3>, <&scmi_dvfs 0>;
 			power-domain-names = "psci", "perf";
 			cpu-idle-states = <&cluster_c4>;
+			#cooling-cells = <2>;
 		};
 
 		cpu4: cpu@10000 {
@@ -126,6 +130,7 @@ cpu4: cpu@10000 {
 			power-domains = <&cpu_pd4>, <&scmi_dvfs 1>;
 			power-domain-names = "psci", "perf";
 			cpu-idle-states = <&cluster_c4>;
+			#cooling-cells = <2>;
 
 			l2_1: l2-cache {
 				compatible = "cache";
@@ -143,6 +148,7 @@ cpu5: cpu@10100 {
 			power-domains = <&cpu_pd5>, <&scmi_dvfs 1>;
 			power-domain-names = "psci", "perf";
 			cpu-idle-states = <&cluster_c4>;
+			#cooling-cells = <2>;
 		};
 
 		cpu6: cpu@10200 {
@@ -154,6 +160,7 @@ cpu6: cpu@10200 {
 			power-domains = <&cpu_pd6>, <&scmi_dvfs 1>;
 			power-domain-names = "psci", "perf";
 			cpu-idle-states = <&cluster_c4>;
+			#cooling-cells = <2>;
 		};
 
 		cpu7: cpu@10300 {
@@ -165,6 +172,7 @@ cpu7: cpu@10300 {
 			power-domains = <&cpu_pd7>, <&scmi_dvfs 1>;
 			power-domain-names = "psci", "perf";
 			cpu-idle-states = <&cluster_c4>;
+			#cooling-cells = <2>;
 		};
 
 		cpu8: cpu@20000 {
@@ -176,6 +184,7 @@ cpu8: cpu@20000 {
 			power-domains = <&cpu_pd8>, <&scmi_dvfs 2>;
 			power-domain-names = "psci", "perf";
 			cpu-idle-states = <&cluster_c4>;
+			#cooling-cells = <2>;
 
 			l2_2: l2-cache {
 				compatible = "cache";
@@ -193,6 +202,7 @@ cpu9: cpu@20100 {
 			power-domains = <&cpu_pd9>, <&scmi_dvfs 2>;
 			power-domain-names = "psci", "perf";
 			cpu-idle-states = <&cluster_c4>;
+			#cooling-cells = <2>;
 		};
 
 		cpu10: cpu@20200 {
@@ -204,6 +214,7 @@ cpu10: cpu@20200 {
 			power-domains = <&cpu_pd10>, <&scmi_dvfs 2>;
 			power-domain-names = "psci", "perf";
 			cpu-idle-states = <&cluster_c4>;
+			#cooling-cells = <2>;
 		};
 
 		cpu11: cpu@20300 {
@@ -215,6 +226,7 @@ cpu11: cpu@20300 {
 			power-domains = <&cpu_pd11>, <&scmi_dvfs 2>;
 			power-domain-names = "psci", "perf";
 			cpu-idle-states = <&cluster_c4>;
+			#cooling-cells = <2>;
 		};
 
 		cpu-map {
-- 
2.48.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] arm64: dts: qcom: x1e80100: Add '#cooling-cells' for CPU nodes
  2025-10-15  6:57 [PATCH] arm64: dts: qcom: x1e80100: Add '#cooling-cells' for CPU nodes Manivannan Sadhasivam
@ 2025-10-19 16:01 ` Dmitry Baryshkov
  2025-12-08  5:13   ` Manivannan Sadhasivam
  0 siblings, 1 reply; 6+ messages in thread
From: Dmitry Baryshkov @ 2025-10-19 16:01 UTC (permalink / raw)
  To: Manivannan Sadhasivam
  Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm,
	devicetree, linux-kernel, Manivannan Sadhasivam

On Wed, Oct 15, 2025 at 12:27:03PM +0530, Manivannan Sadhasivam wrote:
> From: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
> 
> Enable passive cooling for CPUs in the X1E80100 SoC by adding the
> '#cooling-cells' property. This will allow the OS to mitigate the CPU
> power dissipation with the help of SCMI DVFS.

#cooling-cells isn't enough, the devices need to be listed in the
thermal maps.

> 
> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
> Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
> ---
>  arch/arm64/boot/dts/qcom/x1e80100.dtsi | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] arm64: dts: qcom: x1e80100: Add '#cooling-cells' for CPU nodes
  2025-10-19 16:01 ` Dmitry Baryshkov
@ 2025-12-08  5:13   ` Manivannan Sadhasivam
  2025-12-18 12:54     ` Konrad Dybcio
  0 siblings, 1 reply; 6+ messages in thread
From: Manivannan Sadhasivam @ 2025-12-08  5:13 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Manivannan Sadhasivam, andersson, konradybcio, robh, krzk+dt,
	conor+dt, linux-arm-msm, devicetree, linux-kernel

On Sun, Oct 19, 2025 at 07:01:30PM +0300, Dmitry Baryshkov wrote:
> On Wed, Oct 15, 2025 at 12:27:03PM +0530, Manivannan Sadhasivam wrote:
> > From: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
> > 
> > Enable passive cooling for CPUs in the X1E80100 SoC by adding the
> > '#cooling-cells' property. This will allow the OS to mitigate the CPU
> > power dissipation with the help of SCMI DVFS.
> 
> #cooling-cells isn't enough, the devices need to be listed in the
> thermal maps.
> 

Not strictly required unless the cooling device and trip points are wired in DT.
But I don't want to do that yet, and just expose the cooling devices to
userspace so that I can experiment with something like thermal-daemon.

- Mani

-- 
மணிவண்ணன் சதாசிவம்

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] arm64: dts: qcom: x1e80100: Add '#cooling-cells' for CPU nodes
  2025-12-08  5:13   ` Manivannan Sadhasivam
@ 2025-12-18 12:54     ` Konrad Dybcio
  2025-12-18 13:40       ` Dmitry Baryshkov
  0 siblings, 1 reply; 6+ messages in thread
From: Konrad Dybcio @ 2025-12-18 12:54 UTC (permalink / raw)
  To: Manivannan Sadhasivam, Dmitry Baryshkov
  Cc: Manivannan Sadhasivam, andersson, konradybcio, robh, krzk+dt,
	conor+dt, linux-arm-msm, devicetree, linux-kernel

On 12/8/25 6:13 AM, Manivannan Sadhasivam wrote:
> On Sun, Oct 19, 2025 at 07:01:30PM +0300, Dmitry Baryshkov wrote:
>> On Wed, Oct 15, 2025 at 12:27:03PM +0530, Manivannan Sadhasivam wrote:
>>> From: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
>>>
>>> Enable passive cooling for CPUs in the X1E80100 SoC by adding the
>>> '#cooling-cells' property. This will allow the OS to mitigate the CPU
>>> power dissipation with the help of SCMI DVFS.
>>
>> #cooling-cells isn't enough, the devices need to be listed in the
>> thermal maps.
>>
> 
> Not strictly required unless the cooling device and trip points are wired in DT.
> But I don't want to do that yet, and just expose the cooling devices to
> userspace so that I can experiment with something like thermal-daemon.

Rob, Krzysztof,

Would it be an overly ambitious idea to make #cooling-cells required for
CPU nodes? I'd imagine some sort of cpuidle or cpufreq is desired on almost
all platforms, which could be used as a cooling/throttling measure..

Konrad

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] arm64: dts: qcom: x1e80100: Add '#cooling-cells' for CPU nodes
  2025-12-18 12:54     ` Konrad Dybcio
@ 2025-12-18 13:40       ` Dmitry Baryshkov
  2025-12-18 13:44         ` Konrad Dybcio
  0 siblings, 1 reply; 6+ messages in thread
From: Dmitry Baryshkov @ 2025-12-18 13:40 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Manivannan Sadhasivam, Manivannan Sadhasivam, andersson,
	konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree,
	linux-kernel

On Thu, Dec 18, 2025 at 01:54:30PM +0100, Konrad Dybcio wrote:
> On 12/8/25 6:13 AM, Manivannan Sadhasivam wrote:
> > On Sun, Oct 19, 2025 at 07:01:30PM +0300, Dmitry Baryshkov wrote:
> >> On Wed, Oct 15, 2025 at 12:27:03PM +0530, Manivannan Sadhasivam wrote:
> >>> From: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
> >>>
> >>> Enable passive cooling for CPUs in the X1E80100 SoC by adding the
> >>> '#cooling-cells' property. This will allow the OS to mitigate the CPU
> >>> power dissipation with the help of SCMI DVFS.
> >>
> >> #cooling-cells isn't enough, the devices need to be listed in the
> >> thermal maps.
> >>
> > 
> > Not strictly required unless the cooling device and trip points are wired in DT.
> > But I don't want to do that yet, and just expose the cooling devices to
> > userspace so that I can experiment with something like thermal-daemon.
> 
> Rob, Krzysztof,
> 
> Would it be an overly ambitious idea to make #cooling-cells required for
> CPU nodes? I'd imagine some sort of cpuidle or cpufreq is desired on almost
> all platforms, which could be used as a cooling/throttling measure..

Looking at my museum, i.MX devices don't have #cooling-cells before
i.MX6.

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] arm64: dts: qcom: x1e80100: Add '#cooling-cells' for CPU nodes
  2025-12-18 13:40       ` Dmitry Baryshkov
@ 2025-12-18 13:44         ` Konrad Dybcio
  0 siblings, 0 replies; 6+ messages in thread
From: Konrad Dybcio @ 2025-12-18 13:44 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Manivannan Sadhasivam, Manivannan Sadhasivam, andersson,
	konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree,
	linux-kernel

On 12/18/25 2:40 PM, Dmitry Baryshkov wrote:
> On Thu, Dec 18, 2025 at 01:54:30PM +0100, Konrad Dybcio wrote:
>> On 12/8/25 6:13 AM, Manivannan Sadhasivam wrote:
>>> On Sun, Oct 19, 2025 at 07:01:30PM +0300, Dmitry Baryshkov wrote:
>>>> On Wed, Oct 15, 2025 at 12:27:03PM +0530, Manivannan Sadhasivam wrote:
>>>>> From: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
>>>>>
>>>>> Enable passive cooling for CPUs in the X1E80100 SoC by adding the
>>>>> '#cooling-cells' property. This will allow the OS to mitigate the CPU
>>>>> power dissipation with the help of SCMI DVFS.
>>>>
>>>> #cooling-cells isn't enough, the devices need to be listed in the
>>>> thermal maps.
>>>>
>>>
>>> Not strictly required unless the cooling device and trip points are wired in DT.
>>> But I don't want to do that yet, and just expose the cooling devices to
>>> userspace so that I can experiment with something like thermal-daemon.
>>
>> Rob, Krzysztof,
>>
>> Would it be an overly ambitious idea to make #cooling-cells required for
>> CPU nodes? I'd imagine some sort of cpuidle or cpufreq is desired on almost
>> all platforms, which could be used as a cooling/throttling measure..
> 
> Looking at my museum, i.MX devices don't have #cooling-cells before
> i.MX6.

Right, but they are still arm platforms so they have the wfi instruction,
meaning *some* sort of idle injection could happen as a cooling measure

I was wondering if there's any ancient platforms (probably from the 90s?)
that wouldn't even feature such things (and hence it wouldn't make sense
to define CPUs as cooling devices).. such old platforms would probably be
single-core, so turning off auxiliary ones as a last resort wouldn't work
either

Konrad

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-12-18 13:44 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-15  6:57 [PATCH] arm64: dts: qcom: x1e80100: Add '#cooling-cells' for CPU nodes Manivannan Sadhasivam
2025-10-19 16:01 ` Dmitry Baryshkov
2025-12-08  5:13   ` Manivannan Sadhasivam
2025-12-18 12:54     ` Konrad Dybcio
2025-12-18 13:40       ` Dmitry Baryshkov
2025-12-18 13:44         ` Konrad Dybcio

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox