All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Heiko Stübner" <heiko@sntech.de>
To: devicetree@vger.kernel.org, Daniele Briguglio <hello@superkali.me>
Cc: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
	alchark@gmail.com, linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
	Daniele Briguglio <daniele.briguglio@icloud.com>,
	Daniele Briguglio <hello@superkali.me>
Subject: Re: [PATCH] rockchip: dts: rk3588: add missing OPP nodes for lower frequencies
Date: Thu, 03 Apr 2025 11:24:25 +0200	[thread overview]
Message-ID: <2652016.Lt9SDvczpP@diego> (raw)
In-Reply-To: <20250403091840.3349637-1-hello@superkali.me>

Hi,

Am Donnerstag, 3. April 2025, 11:18:40 MESZ schrieb Daniele Briguglio:
> From: Daniele Briguglio <daniele.briguglio@icloud.com>
> 
> This Patch adds missing Operating Performance Point (OPP) nodes for lower
> frequencies to the RK3588 device tree. These additions improve power
> management by enabling the CPU clusters to scale down to lower
> frequencies when under light loads, which should improve energy
> efficiency and reduce power consumption.
> 
> The changes add OPP nodes for 408MHz, 600MHz, 816MHz, and 1008MHz
> (for cluster1 and cluster2 only, as cluster0 already had 1008MHz)
> with appropriate voltage settings across all three CPU clusters in
> the RK3588 SoC.

the general consensus is that you don't save energy when you're not
reducing the voltage together with the frequency.

For example cluster0 @1GHz runs at 675mV already, so reducing just the
frequency, when you're not allowed to reduce the voltage with it won't
save energy, just make things slow.


Heiko

> Signed-off-by: Daniele Briguglio <hello@superkali.me>
> ---
>  arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi | 58 ++++++++++++++++++++
>  1 file changed, 58 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi
> index 0f1a77697351..1b018823d5d3 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi
> @@ -5,6 +5,22 @@ cluster0_opp_table: opp-table-cluster0 {
>  		compatible = "operating-points-v2";
>  		opp-shared;
>  
> +		opp-408000000 {
> +			opp-hz = /bits/ 64 <408000000>;
> +			opp-microvolt = <675000 675000 950000>;
> +			clock-latency-ns = <40000>;
> +			opp-suspend;
> +		};
> +		opp-600000000 {
> +			opp-hz = /bits/ 64 <600000000>;
> +			opp-microvolt = <675000 675000 950000>;
> +			clock-latency-ns = <40000>;
> +		};
> +		opp-816000000 {
> +			opp-hz = /bits/ 64 <816000000>;
> +			opp-microvolt = <675000 675000 950000>;
> +			clock-latency-ns = <40000>;
> +		};
>  		opp-1008000000 {
>  			opp-hz = /bits/ 64 <1008000000>;
>  			opp-microvolt = <675000 675000 950000>;
> @@ -37,6 +53,27 @@ cluster1_opp_table: opp-table-cluster1 {
>  		compatible = "operating-points-v2";
>  		opp-shared;
>  
> +		opp-408000000 {
> +			opp-hz = /bits/ 64 <408000000>;
> +			opp-microvolt = <675000 675000 1000000>;
> +			clock-latency-ns = <40000>;
> +			opp-suspend;
> +		};
> +		opp-600000000 {
> +			opp-hz = /bits/ 64 <600000000>;
> +			opp-microvolt = <675000 675000 1000000>;
> +			clock-latency-ns = <40000>;
> +		};
> +		opp-816000000 {
> +			opp-hz = /bits/ 64 <816000000>;
> +			opp-microvolt = <675000 675000 1000000>;
> +			clock-latency-ns = <40000>;
> +		};
> +		opp-1008000000 {
> +			opp-hz = /bits/ 64 <1008000000>;
> +			opp-microvolt = <675000 675000 1000000>;
> +			clock-latency-ns = <40000>;
> +		};
>  		opp-1200000000 {
>  			opp-hz = /bits/ 64 <1200000000>;
>  			opp-microvolt = <675000 675000 1000000>;
> @@ -78,6 +115,27 @@ cluster2_opp_table: opp-table-cluster2 {
>  		compatible = "operating-points-v2";
>  		opp-shared;
>  
> +		opp-408000000 {
> +			opp-hz = /bits/ 64 <408000000>;
> +			opp-microvolt = <675000 675000 1000000>;
> +			clock-latency-ns = <40000>;
> +			opp-suspend;
> +		};
> +		opp-600000000 {
> +			opp-hz = /bits/ 64 <600000000>;
> +			opp-microvolt = <675000 675000 1000000>;
> +			clock-latency-ns = <40000>;
> +		};
> +		opp-816000000 {
> +			opp-hz = /bits/ 64 <816000000>;
> +			opp-microvolt = <675000 675000 1000000>;
> +			clock-latency-ns = <40000>;
> +		};
> +		opp-1008000000 {
> +			opp-hz = /bits/ 64 <1008000000>;
> +			opp-microvolt = <675000 675000 1000000>;
> +			clock-latency-ns = <40000>;
> +		};
>  		opp-1200000000 {
>  			opp-hz = /bits/ 64 <1200000000>;
>  			opp-microvolt = <675000 675000 1000000>;
> 






WARNING: multiple messages have this Message-ID (diff)
From: "Heiko Stübner" <heiko@sntech.de>
To: devicetree@vger.kernel.org, Daniele Briguglio <hello@superkali.me>
Cc: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
	alchark@gmail.com, linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
	Daniele Briguglio <daniele.briguglio@icloud.com>,
	Daniele Briguglio <hello@superkali.me>
Subject: Re: [PATCH] rockchip: dts: rk3588: add missing OPP nodes for lower frequencies
Date: Thu, 03 Apr 2025 11:24:25 +0200	[thread overview]
Message-ID: <2652016.Lt9SDvczpP@diego> (raw)
In-Reply-To: <20250403091840.3349637-1-hello@superkali.me>

Hi,

Am Donnerstag, 3. April 2025, 11:18:40 MESZ schrieb Daniele Briguglio:
> From: Daniele Briguglio <daniele.briguglio@icloud.com>
> 
> This Patch adds missing Operating Performance Point (OPP) nodes for lower
> frequencies to the RK3588 device tree. These additions improve power
> management by enabling the CPU clusters to scale down to lower
> frequencies when under light loads, which should improve energy
> efficiency and reduce power consumption.
> 
> The changes add OPP nodes for 408MHz, 600MHz, 816MHz, and 1008MHz
> (for cluster1 and cluster2 only, as cluster0 already had 1008MHz)
> with appropriate voltage settings across all three CPU clusters in
> the RK3588 SoC.

the general consensus is that you don't save energy when you're not
reducing the voltage together with the frequency.

For example cluster0 @1GHz runs at 675mV already, so reducing just the
frequency, when you're not allowed to reduce the voltage with it won't
save energy, just make things slow.


Heiko

> Signed-off-by: Daniele Briguglio <hello@superkali.me>
> ---
>  arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi | 58 ++++++++++++++++++++
>  1 file changed, 58 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi
> index 0f1a77697351..1b018823d5d3 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi
> @@ -5,6 +5,22 @@ cluster0_opp_table: opp-table-cluster0 {
>  		compatible = "operating-points-v2";
>  		opp-shared;
>  
> +		opp-408000000 {
> +			opp-hz = /bits/ 64 <408000000>;
> +			opp-microvolt = <675000 675000 950000>;
> +			clock-latency-ns = <40000>;
> +			opp-suspend;
> +		};
> +		opp-600000000 {
> +			opp-hz = /bits/ 64 <600000000>;
> +			opp-microvolt = <675000 675000 950000>;
> +			clock-latency-ns = <40000>;
> +		};
> +		opp-816000000 {
> +			opp-hz = /bits/ 64 <816000000>;
> +			opp-microvolt = <675000 675000 950000>;
> +			clock-latency-ns = <40000>;
> +		};
>  		opp-1008000000 {
>  			opp-hz = /bits/ 64 <1008000000>;
>  			opp-microvolt = <675000 675000 950000>;
> @@ -37,6 +53,27 @@ cluster1_opp_table: opp-table-cluster1 {
>  		compatible = "operating-points-v2";
>  		opp-shared;
>  
> +		opp-408000000 {
> +			opp-hz = /bits/ 64 <408000000>;
> +			opp-microvolt = <675000 675000 1000000>;
> +			clock-latency-ns = <40000>;
> +			opp-suspend;
> +		};
> +		opp-600000000 {
> +			opp-hz = /bits/ 64 <600000000>;
> +			opp-microvolt = <675000 675000 1000000>;
> +			clock-latency-ns = <40000>;
> +		};
> +		opp-816000000 {
> +			opp-hz = /bits/ 64 <816000000>;
> +			opp-microvolt = <675000 675000 1000000>;
> +			clock-latency-ns = <40000>;
> +		};
> +		opp-1008000000 {
> +			opp-hz = /bits/ 64 <1008000000>;
> +			opp-microvolt = <675000 675000 1000000>;
> +			clock-latency-ns = <40000>;
> +		};
>  		opp-1200000000 {
>  			opp-hz = /bits/ 64 <1200000000>;
>  			opp-microvolt = <675000 675000 1000000>;
> @@ -78,6 +115,27 @@ cluster2_opp_table: opp-table-cluster2 {
>  		compatible = "operating-points-v2";
>  		opp-shared;
>  
> +		opp-408000000 {
> +			opp-hz = /bits/ 64 <408000000>;
> +			opp-microvolt = <675000 675000 1000000>;
> +			clock-latency-ns = <40000>;
> +			opp-suspend;
> +		};
> +		opp-600000000 {
> +			opp-hz = /bits/ 64 <600000000>;
> +			opp-microvolt = <675000 675000 1000000>;
> +			clock-latency-ns = <40000>;
> +		};
> +		opp-816000000 {
> +			opp-hz = /bits/ 64 <816000000>;
> +			opp-microvolt = <675000 675000 1000000>;
> +			clock-latency-ns = <40000>;
> +		};
> +		opp-1008000000 {
> +			opp-hz = /bits/ 64 <1008000000>;
> +			opp-microvolt = <675000 675000 1000000>;
> +			clock-latency-ns = <40000>;
> +		};
>  		opp-1200000000 {
>  			opp-hz = /bits/ 64 <1200000000>;
>  			opp-microvolt = <675000 675000 1000000>;
> 





_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

  reply	other threads:[~2025-04-03 10:25 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-03  9:18 [PATCH] rockchip: dts: rk3588: add missing OPP nodes for lower frequencies Daniele Briguglio
2025-04-03  9:18 ` Daniele Briguglio
2025-04-03  9:24 ` Heiko Stübner [this message]
2025-04-03  9:24   ` Heiko Stübner
2025-04-03  9:41   ` Daniele Briguglio
2025-04-03  9:41     ` Daniele Briguglio

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=2652016.Lt9SDvczpP@diego \
    --to=heiko@sntech.de \
    --cc=alchark@gmail.com \
    --cc=conor+dt@kernel.org \
    --cc=daniele.briguglio@icloud.com \
    --cc=devicetree@vger.kernel.org \
    --cc=hello@superkali.me \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=robh@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.