2023-05-17 20:17:29

by Konrad Dybcio

[permalink] [raw]
Subject: [PATCH v2 0/3] More RPMhPD levels + sm8550

Bring in missing RPMhPd levels from downstream and add ones we'll
need for GPU on SM8550.

Patch 1 adds the missing ones with an easy-to-read diff, patch 2
reformats the block and patch 3 adds the necessary levels to 8550 dt.

Signed-off-by: Konrad Dybcio <[email protected]>
---
Changes in v2:
- pick up tags
- rename oppN to opp-<value of opp-level> to stop the renaming madness
- Link to v1: https://lore.kernel.org/r/[email protected]

---
Konrad Dybcio (3):
dt-bindings: power: qcom,rpmpd: add missing RPMH levels
dt-bindings: power: qcom,rpmpd: Format RPMh levels better
arm64: dts: qcom: sm8550: Add missing RPMhPD OPP levels

arch/arm64/boot/dts/qcom/sm8550.dtsi | 40 +++++++++++++++++++++++++---------
include/dt-bindings/power/qcom-rpmpd.h | 38 ++++++++++++++++++++------------
2 files changed, 54 insertions(+), 24 deletions(-)
---
base-commit: 065efa589871e93b6610c70c1e9de274ef1f1ba2
change-id: 20230517-topic-kailua-rpmhpd-d24c4c538c3a

Best regards,
--
Konrad Dybcio <[email protected]>



2023-05-17 20:19:35

by Konrad Dybcio

[permalink] [raw]
Subject: [PATCH v2 1/3] dt-bindings: power: qcom,rpmpd: add missing RPMH levels

There are a lot of RPMh levels that we haven't included yet.. some
sadly turned out to be necessary, add them!

Acked-by: Krzysztof Kozlowski <[email protected]>
Acked-by: Conor Dooley <[email protected]>
Signed-off-by: Konrad Dybcio <[email protected]>
---
include/dt-bindings/power/qcom-rpmpd.h | 10 ++++++++++
1 file changed, 10 insertions(+)

diff --git a/include/dt-bindings/power/qcom-rpmpd.h b/include/dt-bindings/power/qcom-rpmpd.h
index 1bf8e87ecd7e..e34c01e650d6 100644
--- a/include/dt-bindings/power/qcom-rpmpd.h
+++ b/include/dt-bindings/power/qcom-rpmpd.h
@@ -209,18 +209,28 @@
/* SDM845 Power Domain performance levels */
#define RPMH_REGULATOR_LEVEL_RETENTION 16
#define RPMH_REGULATOR_LEVEL_MIN_SVS 48
+#define RPMH_REGULATOR_LEVEL_LOW_SVS_D2 52
#define RPMH_REGULATOR_LEVEL_LOW_SVS_D1 56
+#define RPMH_REGULATOR_LEVEL_LOW_SVS_D0 60
#define RPMH_REGULATOR_LEVEL_LOW_SVS 64
+#define RPMH_REGULATOR_LEVEL_LOW_SVS_P1 72
#define RPMH_REGULATOR_LEVEL_LOW_SVS_L1 80
+#define RPMH_REGULATOR_LEVEL_LOW_SVS_L2 96
#define RPMH_REGULATOR_LEVEL_SVS 128
#define RPMH_REGULATOR_LEVEL_SVS_L0 144
#define RPMH_REGULATOR_LEVEL_SVS_L1 192
#define RPMH_REGULATOR_LEVEL_SVS_L2 224
#define RPMH_REGULATOR_LEVEL_NOM 256
+#define RPMH_REGULATOR_LEVEL_NOM_L0 288
#define RPMH_REGULATOR_LEVEL_NOM_L1 320
#define RPMH_REGULATOR_LEVEL_NOM_L2 336
#define RPMH_REGULATOR_LEVEL_TURBO 384
+#define RPMH_REGULATOR_LEVEL_TURBO_L0 400
#define RPMH_REGULATOR_LEVEL_TURBO_L1 416
+#define RPMH_REGULATOR_LEVEL_TURBO_L2 432
+#define RPMH_REGULATOR_LEVEL_TURBO_L3 448
+#define RPMH_REGULATOR_LEVEL_SUPER_TURBO 464
+#define RPMH_REGULATOR_LEVEL_SUPER_TURBO_NO_CPR 480

/* MDM9607 Power Domains */
#define MDM9607_VDDCX 0

--
2.40.1


2023-05-17 20:20:15

by Konrad Dybcio

[permalink] [raw]
Subject: [PATCH v2 2/3] dt-bindings: power: qcom,rpmpd: Format RPMh levels better

After adding the missing levels with a nice, easy-to-read diff,
reformat the defines to make them nice to look at..

Acked-by: Krzysztof Kozlowski <[email protected]>
Acked-by: Conor Dooley <[email protected]>
Signed-off-by: Konrad Dybcio <[email protected]>
---
include/dt-bindings/power/qcom-rpmpd.h | 46 +++++++++++++++++-----------------
1 file changed, 23 insertions(+), 23 deletions(-)

diff --git a/include/dt-bindings/power/qcom-rpmpd.h b/include/dt-bindings/power/qcom-rpmpd.h
index e34c01e650d6..4ede277d20e1 100644
--- a/include/dt-bindings/power/qcom-rpmpd.h
+++ b/include/dt-bindings/power/qcom-rpmpd.h
@@ -207,29 +207,29 @@
#define SC8280XP_XO 15

/* SDM845 Power Domain performance levels */
-#define RPMH_REGULATOR_LEVEL_RETENTION 16
-#define RPMH_REGULATOR_LEVEL_MIN_SVS 48
-#define RPMH_REGULATOR_LEVEL_LOW_SVS_D2 52
-#define RPMH_REGULATOR_LEVEL_LOW_SVS_D1 56
-#define RPMH_REGULATOR_LEVEL_LOW_SVS_D0 60
-#define RPMH_REGULATOR_LEVEL_LOW_SVS 64
-#define RPMH_REGULATOR_LEVEL_LOW_SVS_P1 72
-#define RPMH_REGULATOR_LEVEL_LOW_SVS_L1 80
-#define RPMH_REGULATOR_LEVEL_LOW_SVS_L2 96
-#define RPMH_REGULATOR_LEVEL_SVS 128
-#define RPMH_REGULATOR_LEVEL_SVS_L0 144
-#define RPMH_REGULATOR_LEVEL_SVS_L1 192
-#define RPMH_REGULATOR_LEVEL_SVS_L2 224
-#define RPMH_REGULATOR_LEVEL_NOM 256
-#define RPMH_REGULATOR_LEVEL_NOM_L0 288
-#define RPMH_REGULATOR_LEVEL_NOM_L1 320
-#define RPMH_REGULATOR_LEVEL_NOM_L2 336
-#define RPMH_REGULATOR_LEVEL_TURBO 384
-#define RPMH_REGULATOR_LEVEL_TURBO_L0 400
-#define RPMH_REGULATOR_LEVEL_TURBO_L1 416
-#define RPMH_REGULATOR_LEVEL_TURBO_L2 432
-#define RPMH_REGULATOR_LEVEL_TURBO_L3 448
-#define RPMH_REGULATOR_LEVEL_SUPER_TURBO 464
+#define RPMH_REGULATOR_LEVEL_RETENTION 16
+#define RPMH_REGULATOR_LEVEL_MIN_SVS 48
+#define RPMH_REGULATOR_LEVEL_LOW_SVS_D2 52
+#define RPMH_REGULATOR_LEVEL_LOW_SVS_D1 56
+#define RPMH_REGULATOR_LEVEL_LOW_SVS_D0 60
+#define RPMH_REGULATOR_LEVEL_LOW_SVS 64
+#define RPMH_REGULATOR_LEVEL_LOW_SVS_P1 72
+#define RPMH_REGULATOR_LEVEL_LOW_SVS_L1 80
+#define RPMH_REGULATOR_LEVEL_LOW_SVS_L2 96
+#define RPMH_REGULATOR_LEVEL_SVS 128
+#define RPMH_REGULATOR_LEVEL_SVS_L0 144
+#define RPMH_REGULATOR_LEVEL_SVS_L1 192
+#define RPMH_REGULATOR_LEVEL_SVS_L2 224
+#define RPMH_REGULATOR_LEVEL_NOM 256
+#define RPMH_REGULATOR_LEVEL_NOM_L0 288
+#define RPMH_REGULATOR_LEVEL_NOM_L1 320
+#define RPMH_REGULATOR_LEVEL_NOM_L2 336
+#define RPMH_REGULATOR_LEVEL_TURBO 384
+#define RPMH_REGULATOR_LEVEL_TURBO_L0 400
+#define RPMH_REGULATOR_LEVEL_TURBO_L1 416
+#define RPMH_REGULATOR_LEVEL_TURBO_L2 432
+#define RPMH_REGULATOR_LEVEL_TURBO_L3 448
+#define RPMH_REGULATOR_LEVEL_SUPER_TURBO 464
#define RPMH_REGULATOR_LEVEL_SUPER_TURBO_NO_CPR 480

/* MDM9607 Power Domains */

--
2.40.1


2023-05-17 20:23:37

by Konrad Dybcio

[permalink] [raw]
Subject: [PATCH v2 3/3] arm64: dts: qcom: sm8550: Add missing RPMhPD OPP levels

We need more granularity for things like the GPU. Add the missing levels.

This unfortunately requires some re-indexing, resulting in an ugly diff.
Rename the nodes to prevent that in the future.

Signed-off-by: Konrad Dybcio <[email protected]>
---
arch/arm64/boot/dts/qcom/sm8550.dtsi | 40 +++++++++++++++++++++++++++---------
1 file changed, 30 insertions(+), 10 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sm8550.dtsi b/arch/arm64/boot/dts/qcom/sm8550.dtsi
index 6e9bad8f6f33..1c9460dc3d44 100644
--- a/arch/arm64/boot/dts/qcom/sm8550.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8550.dtsi
@@ -3608,43 +3608,63 @@ rpmhpd: power-controller {
rpmhpd_opp_table: opp-table {
compatible = "operating-points-v2";

- rpmhpd_opp_ret: opp1 {
+ rpmhpd_opp_ret: opp-16 {
opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
};

- rpmhpd_opp_min_svs: opp2 {
+ rpmhpd_opp_min_svs: opp-48 {
opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
};

- rpmhpd_opp_low_svs: opp3 {
+ rpmhpd_opp_lov_svs_d2: opp-52 {
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D2>;
+ };
+
+ rpmhpd_opp_lov_svs_d1: opp-56 {
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D1>;
+ };
+
+ rpmhpd_opp_lov_svs_d0: opp-60 {
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D0>;
+ };
+
+ rpmhpd_opp_low_svs: opp-64 {
opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
};

- rpmhpd_opp_svs: opp4 {
+ rpmhpd_opp_low_svs_l1: opp-80 {
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_L1>;
+ };
+
+ rpmhpd_opp_svs: opp-128 {
opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
};

- rpmhpd_opp_svs_l1: opp5 {
+ rpmhpd_opp_svs_l0: opp-144 {
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS_L0>;
+ };
+
+ rpmhpd_opp_svs_l1: opp-192 {
opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
};

- rpmhpd_opp_nom: opp6 {
+ rpmhpd_opp_nom: opp-256 {
opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
};

- rpmhpd_opp_nom_l1: opp7 {
+ rpmhpd_opp_nom_l1: opp-320 {
opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
};

- rpmhpd_opp_nom_l2: opp8 {
+ rpmhpd_opp_nom_l2: opp-336 {
opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>;
};

- rpmhpd_opp_turbo: opp9 {
+ rpmhpd_opp_turbo: opp-384 {
opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
};

- rpmhpd_opp_turbo_l1: opp10 {
+ rpmhpd_opp_turbo_l1: opp-416 {
opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
};
};

--
2.40.1


2023-05-18 01:08:04

by Dmitry Baryshkov

[permalink] [raw]
Subject: Re: [PATCH v2 1/3] dt-bindings: power: qcom,rpmpd: add missing RPMH levels

On 17/05/2023 23:12, Konrad Dybcio wrote:
> There are a lot of RPMh levels that we haven't included yet.. some
> sadly turned out to be necessary, add them!
>
> Acked-by: Krzysztof Kozlowski <[email protected]>
> Acked-by: Conor Dooley <[email protected]>
> Signed-off-by: Konrad Dybcio <[email protected]>
> ---
> include/dt-bindings/power/qcom-rpmpd.h | 10 ++++++++++
> 1 file changed, 10 insertions(+)

Reviewed-by: Dmitry Baryshkov <[email protected]>

--
With best wishes
Dmitry


2023-05-18 01:35:08

by Dmitry Baryshkov

[permalink] [raw]
Subject: Re: [PATCH v2 3/3] arm64: dts: qcom: sm8550: Add missing RPMhPD OPP levels

On 17/05/2023 23:12, Konrad Dybcio wrote:
> We need more granularity for things like the GPU. Add the missing levels.
>
> This unfortunately requires some re-indexing, resulting in an ugly diff.
> Rename the nodes to prevent that in the future.
>
> Signed-off-by: Konrad Dybcio <[email protected]>
> ---
> arch/arm64/boot/dts/qcom/sm8550.dtsi | 40 +++++++++++++++++++++++++++---------
> 1 file changed, 30 insertions(+), 10 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8550.dtsi b/arch/arm64/boot/dts/qcom/sm8550.dtsi
> index 6e9bad8f6f33..1c9460dc3d44 100644
> --- a/arch/arm64/boot/dts/qcom/sm8550.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8550.dtsi
> @@ -3608,43 +3608,63 @@ rpmhpd: power-controller {
> rpmhpd_opp_table: opp-table {
> compatible = "operating-points-v2";
>
> - rpmhpd_opp_ret: opp1 {
> + rpmhpd_opp_ret: opp-16 {
> opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
> };
>
> - rpmhpd_opp_min_svs: opp2 {
> + rpmhpd_opp_min_svs: opp-48 {
> opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
> };

It might have been better to split this into two patches (one to rename
existing opp, another one to add new opp nodes). Nevertheless:

Reviewed-by: Dmitry Baryshkov <[email protected]>

(if for some reason you send another revision splitting this patch, feel
free to keep the RB tag).


>
> - rpmhpd_opp_low_svs: opp3 {
> + rpmhpd_opp_lov_svs_d2: opp-52 {
> + opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D2>;
> + };
> +
> + rpmhpd_opp_lov_svs_d1: opp-56 {
> + opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D1>;
> + };
> +
> + rpmhpd_opp_lov_svs_d0: opp-60 {
> + opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D0>;
> + };
> +
> + rpmhpd_opp_low_svs: opp-64 {
> opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
> };
>
> - rpmhpd_opp_svs: opp4 {
> + rpmhpd_opp_low_svs_l1: opp-80 {
> + opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_L1>;
> + };
> +
> + rpmhpd_opp_svs: opp-128 {
> opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
> };
>
> - rpmhpd_opp_svs_l1: opp5 {
> + rpmhpd_opp_svs_l0: opp-144 {
> + opp-level = <RPMH_REGULATOR_LEVEL_SVS_L0>;
> + };
> +
> + rpmhpd_opp_svs_l1: opp-192 {
> opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
> };
>
> - rpmhpd_opp_nom: opp6 {
> + rpmhpd_opp_nom: opp-256 {
> opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
> };
>
> - rpmhpd_opp_nom_l1: opp7 {
> + rpmhpd_opp_nom_l1: opp-320 {
> opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
> };
>
> - rpmhpd_opp_nom_l2: opp8 {
> + rpmhpd_opp_nom_l2: opp-336 {
> opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>;
> };
>
> - rpmhpd_opp_turbo: opp9 {
> + rpmhpd_opp_turbo: opp-384 {
> opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
> };
>
> - rpmhpd_opp_turbo_l1: opp10 {
> + rpmhpd_opp_turbo_l1: opp-416 {
> opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
> };
> };
>

--
With best wishes
Dmitry


2023-05-20 01:59:43

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH v2 0/3] More RPMhPD levels + sm8550

On Wed, 17 May 2023 22:12:49 +0200, Konrad Dybcio wrote:
> Bring in missing RPMhPd levels from downstream and add ones we'll
> need for GPU on SM8550.
>
> Patch 1 adds the missing ones with an easy-to-read diff, patch 2
> reformats the block and patch 3 adds the necessary levels to 8550 dt.
>
>
> [...]

Applied, thanks!

[1/3] dt-bindings: power: qcom,rpmpd: add missing RPMH levels
commit: 4755e880b08d963db24a1b3a710ee0e62f36aa49
[2/3] dt-bindings: power: qcom,rpmpd: Format RPMh levels better
commit: 1738600082987ddcf9cfce753ae3c581c8e46933
[3/3] arm64: dts: qcom: sm8550: Add missing RPMhPD OPP levels
commit: 99d33ee61cb06e1235dab404b33d4694fe18088f

Best regards,
--
Bjorn Andersson <[email protected]>