forked from coolsnowwolf/lede
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
rockchip: backport 6.11 rk3568 gpufreq fix
Some cost down devices require this fixes.
- Loading branch information
Showing
4 changed files
with
272 additions
and
0 deletions.
There are no files selected for viewing
73 changes: 73 additions & 0 deletions
73
.../linux/rockchip/patches-6.1/014-v6.11-arm64-dts-rockchip-Add-GPU-OPP-voltage-ranges.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
From 2e1fae80023a38ea03dfca3eab65b3b46617ef3b Mon Sep 17 00:00:00 2001 | ||
From: Dragan Simic <dsimic@manjaro.org> | ||
Date: Sun, 30 Jun 2024 18:00:40 +0200 | ||
Subject: [PATCH] arm64: dts: rockchip: Add GPU OPP voltage ranges to RK356x | ||
SoC dtsi | ||
|
||
Add support for voltage ranges to the GPU OPPs defined in the SoC dtsi for | ||
Rockchip RK356x. This is, for example, useful for RK356x-based boards that | ||
are designed to use the same power supply for the GPU and NPU portions of | ||
the SoC, which is described further in the following documents: | ||
|
||
- Rockchip RK3566 Hardware Design Guide, version 1.1.0, page 37 | ||
- Rockchip RK3568 Hardware Design Guide, version 1.2, page 78 | ||
|
||
The values for the exact GPU OPP voltages and the lower limits for the GPU | ||
OPP voltage ranges differ from the values found in the vendor kernel source | ||
(cf. downstream commit f8b9431ee38e ("arm64: dts: rockchip: rk3568: support | ||
adjust opp-table by otp")), [1][2] and present the exact GPU OPP voltage | ||
values that have served us well so far. | ||
|
||
[1] https://github.com/rockchip-linux/kernel/commit/f8b9431ee38ed561650be7092ab93f564598daa9 | ||
[2] https://raw.githubusercontent.com/rockchip-linux/kernel/f8b9431ee38ed561650be7092ab93f564598daa9/arch/arm64/boot/dts/rockchip/rk3568.dtsi | ||
|
||
Suggested-by: Diederik de Haas <didi.debian@cknow.org> | ||
Helped-by: Jonas Karlman <jonas@kwiboo.se> | ||
Signed-off-by: Dragan Simic <dsimic@manjaro.org> | ||
Link: https://lore.kernel.org/r/7e9ba70fd54a21d6f1f267df11e0acabff8d24e0.1719763100.git.dsimic@manjaro.org | ||
Signed-off-by: Heiko Stuebner <heiko@sntech.de> | ||
--- | ||
arch/arm64/boot/dts/rockchip/rk356x.dtsi | 12 ++++++------ | ||
1 file changed, 6 insertions(+), 6 deletions(-) | ||
|
||
--- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi | ||
+++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi | ||
@@ -154,32 +154,32 @@ | ||
|
||
opp-200000000 { | ||
opp-hz = /bits/ 64 <200000000>; | ||
- opp-microvolt = <825000>; | ||
+ opp-microvolt = <825000 825000 1000000>; | ||
}; | ||
|
||
opp-300000000 { | ||
opp-hz = /bits/ 64 <300000000>; | ||
- opp-microvolt = <825000>; | ||
+ opp-microvolt = <825000 825000 1000000>; | ||
}; | ||
|
||
opp-400000000 { | ||
opp-hz = /bits/ 64 <400000000>; | ||
- opp-microvolt = <825000>; | ||
+ opp-microvolt = <825000 825000 1000000>; | ||
}; | ||
|
||
opp-600000000 { | ||
opp-hz = /bits/ 64 <600000000>; | ||
- opp-microvolt = <825000>; | ||
+ opp-microvolt = <825000 825000 1000000>; | ||
}; | ||
|
||
opp-700000000 { | ||
opp-hz = /bits/ 64 <700000000>; | ||
- opp-microvolt = <900000>; | ||
+ opp-microvolt = <900000 900000 1000000>; | ||
}; | ||
|
||
opp-800000000 { | ||
opp-hz = /bits/ 64 <800000000>; | ||
- opp-microvolt = <1000000>; | ||
+ opp-microvolt = <1000000 1000000 1000000>; | ||
}; | ||
}; | ||
|
63 changes: 63 additions & 0 deletions
63
.../linux/rockchip/patches-6.1/015-v6.11-arm64-dts-rockchip-Update-GPU-OPP-voltages-in.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
From eb665b1c06bcaf16df10018550d8f467ed4b2887 Mon Sep 17 00:00:00 2001 | ||
From: Dragan Simic <dsimic@manjaro.org> | ||
Date: Sun, 30 Jun 2024 18:00:41 +0200 | ||
Subject: [PATCH] arm64: dts: rockchip: Update GPU OPP voltages in RK356x SoC | ||
dtsi | ||
|
||
Update the values for the exact Rockchip RK356x GPU OPP voltages and the | ||
lower limits for the GPU OPP voltage ranges, using the most conservative | ||
values (i.e. the highest per-OPP voltages) found in the vendor kernel source | ||
(cf. downstream commit f8b9431ee38e ("arm64: dts: rockchip: rk3568: support | ||
adjust opp-table by otp")). [1][2] | ||
|
||
Using the most conservative per-OPP voltages ensures reliable GPU operation | ||
regardless of the actual GPU binning, with the downside of possibly using | ||
a bit more power than absolutely needed. | ||
|
||
[1] https://github.com/rockchip-linux/kernel/commit/f8b9431ee38ed561650be7092ab93f564598daa9 | ||
[2] https://raw.githubusercontent.com/rockchip-linux/kernel/f8b9431ee38ed561650be7092ab93f564598daa9/arch/arm64/boot/dts/rockchip/rk3568.dtsi | ||
|
||
Suggested-by: Diederik de Haas <didi.debian@cknow.org> | ||
Helped-by: Jonas Karlman <jonas@kwiboo.se> | ||
Signed-off-by: Dragan Simic <dsimic@manjaro.org> | ||
Link: https://lore.kernel.org/r/80301764e8983c8410c806ed2256403823709897.1719763100.git.dsimic@manjaro.org | ||
Signed-off-by: Heiko Stuebner <heiko@sntech.de> | ||
--- | ||
arch/arm64/boot/dts/rockchip/rk356x.dtsi | 10 +++++----- | ||
1 file changed, 5 insertions(+), 5 deletions(-) | ||
|
||
--- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi | ||
+++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi | ||
@@ -154,27 +154,27 @@ | ||
|
||
opp-200000000 { | ||
opp-hz = /bits/ 64 <200000000>; | ||
- opp-microvolt = <825000 825000 1000000>; | ||
+ opp-microvolt = <850000 850000 1000000>; | ||
}; | ||
|
||
opp-300000000 { | ||
opp-hz = /bits/ 64 <300000000>; | ||
- opp-microvolt = <825000 825000 1000000>; | ||
+ opp-microvolt = <850000 850000 1000000>; | ||
}; | ||
|
||
opp-400000000 { | ||
opp-hz = /bits/ 64 <400000000>; | ||
- opp-microvolt = <825000 825000 1000000>; | ||
+ opp-microvolt = <850000 850000 1000000>; | ||
}; | ||
|
||
opp-600000000 { | ||
opp-hz = /bits/ 64 <600000000>; | ||
- opp-microvolt = <825000 825000 1000000>; | ||
+ opp-microvolt = <900000 900000 1000000>; | ||
}; | ||
|
||
opp-700000000 { | ||
opp-hz = /bits/ 64 <700000000>; | ||
- opp-microvolt = <900000 900000 1000000>; | ||
+ opp-microvolt = <950000 950000 1000000>; | ||
}; | ||
|
||
opp-800000000 { |
73 changes: 73 additions & 0 deletions
73
.../linux/rockchip/patches-6.6/011-v6.11-arm64-dts-rockchip-Add-GPU-OPP-voltage-ranges.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
From 2e1fae80023a38ea03dfca3eab65b3b46617ef3b Mon Sep 17 00:00:00 2001 | ||
From: Dragan Simic <dsimic@manjaro.org> | ||
Date: Sun, 30 Jun 2024 18:00:40 +0200 | ||
Subject: [PATCH] arm64: dts: rockchip: Add GPU OPP voltage ranges to RK356x | ||
SoC dtsi | ||
|
||
Add support for voltage ranges to the GPU OPPs defined in the SoC dtsi for | ||
Rockchip RK356x. This is, for example, useful for RK356x-based boards that | ||
are designed to use the same power supply for the GPU and NPU portions of | ||
the SoC, which is described further in the following documents: | ||
|
||
- Rockchip RK3566 Hardware Design Guide, version 1.1.0, page 37 | ||
- Rockchip RK3568 Hardware Design Guide, version 1.2, page 78 | ||
|
||
The values for the exact GPU OPP voltages and the lower limits for the GPU | ||
OPP voltage ranges differ from the values found in the vendor kernel source | ||
(cf. downstream commit f8b9431ee38e ("arm64: dts: rockchip: rk3568: support | ||
adjust opp-table by otp")), [1][2] and present the exact GPU OPP voltage | ||
values that have served us well so far. | ||
|
||
[1] https://github.com/rockchip-linux/kernel/commit/f8b9431ee38ed561650be7092ab93f564598daa9 | ||
[2] https://raw.githubusercontent.com/rockchip-linux/kernel/f8b9431ee38ed561650be7092ab93f564598daa9/arch/arm64/boot/dts/rockchip/rk3568.dtsi | ||
|
||
Suggested-by: Diederik de Haas <didi.debian@cknow.org> | ||
Helped-by: Jonas Karlman <jonas@kwiboo.se> | ||
Signed-off-by: Dragan Simic <dsimic@manjaro.org> | ||
Link: https://lore.kernel.org/r/7e9ba70fd54a21d6f1f267df11e0acabff8d24e0.1719763100.git.dsimic@manjaro.org | ||
Signed-off-by: Heiko Stuebner <heiko@sntech.de> | ||
--- | ||
arch/arm64/boot/dts/rockchip/rk356x.dtsi | 12 ++++++------ | ||
1 file changed, 6 insertions(+), 6 deletions(-) | ||
|
||
--- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi | ||
+++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi | ||
@@ -154,32 +154,32 @@ | ||
|
||
opp-200000000 { | ||
opp-hz = /bits/ 64 <200000000>; | ||
- opp-microvolt = <825000>; | ||
+ opp-microvolt = <825000 825000 1000000>; | ||
}; | ||
|
||
opp-300000000 { | ||
opp-hz = /bits/ 64 <300000000>; | ||
- opp-microvolt = <825000>; | ||
+ opp-microvolt = <825000 825000 1000000>; | ||
}; | ||
|
||
opp-400000000 { | ||
opp-hz = /bits/ 64 <400000000>; | ||
- opp-microvolt = <825000>; | ||
+ opp-microvolt = <825000 825000 1000000>; | ||
}; | ||
|
||
opp-600000000 { | ||
opp-hz = /bits/ 64 <600000000>; | ||
- opp-microvolt = <825000>; | ||
+ opp-microvolt = <825000 825000 1000000>; | ||
}; | ||
|
||
opp-700000000 { | ||
opp-hz = /bits/ 64 <700000000>; | ||
- opp-microvolt = <900000>; | ||
+ opp-microvolt = <900000 900000 1000000>; | ||
}; | ||
|
||
opp-800000000 { | ||
opp-hz = /bits/ 64 <800000000>; | ||
- opp-microvolt = <1000000>; | ||
+ opp-microvolt = <1000000 1000000 1000000>; | ||
}; | ||
}; | ||
|
63 changes: 63 additions & 0 deletions
63
.../linux/rockchip/patches-6.6/012-v6.11-arm64-dts-rockchip-Update-GPU-OPP-voltages-in.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
From eb665b1c06bcaf16df10018550d8f467ed4b2887 Mon Sep 17 00:00:00 2001 | ||
From: Dragan Simic <dsimic@manjaro.org> | ||
Date: Sun, 30 Jun 2024 18:00:41 +0200 | ||
Subject: [PATCH] arm64: dts: rockchip: Update GPU OPP voltages in RK356x SoC | ||
dtsi | ||
|
||
Update the values for the exact Rockchip RK356x GPU OPP voltages and the | ||
lower limits for the GPU OPP voltage ranges, using the most conservative | ||
values (i.e. the highest per-OPP voltages) found in the vendor kernel source | ||
(cf. downstream commit f8b9431ee38e ("arm64: dts: rockchip: rk3568: support | ||
adjust opp-table by otp")). [1][2] | ||
|
||
Using the most conservative per-OPP voltages ensures reliable GPU operation | ||
regardless of the actual GPU binning, with the downside of possibly using | ||
a bit more power than absolutely needed. | ||
|
||
[1] https://github.com/rockchip-linux/kernel/commit/f8b9431ee38ed561650be7092ab93f564598daa9 | ||
[2] https://raw.githubusercontent.com/rockchip-linux/kernel/f8b9431ee38ed561650be7092ab93f564598daa9/arch/arm64/boot/dts/rockchip/rk3568.dtsi | ||
|
||
Suggested-by: Diederik de Haas <didi.debian@cknow.org> | ||
Helped-by: Jonas Karlman <jonas@kwiboo.se> | ||
Signed-off-by: Dragan Simic <dsimic@manjaro.org> | ||
Link: https://lore.kernel.org/r/80301764e8983c8410c806ed2256403823709897.1719763100.git.dsimic@manjaro.org | ||
Signed-off-by: Heiko Stuebner <heiko@sntech.de> | ||
--- | ||
arch/arm64/boot/dts/rockchip/rk356x.dtsi | 10 +++++----- | ||
1 file changed, 5 insertions(+), 5 deletions(-) | ||
|
||
--- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi | ||
+++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi | ||
@@ -154,27 +154,27 @@ | ||
|
||
opp-200000000 { | ||
opp-hz = /bits/ 64 <200000000>; | ||
- opp-microvolt = <825000 825000 1000000>; | ||
+ opp-microvolt = <850000 850000 1000000>; | ||
}; | ||
|
||
opp-300000000 { | ||
opp-hz = /bits/ 64 <300000000>; | ||
- opp-microvolt = <825000 825000 1000000>; | ||
+ opp-microvolt = <850000 850000 1000000>; | ||
}; | ||
|
||
opp-400000000 { | ||
opp-hz = /bits/ 64 <400000000>; | ||
- opp-microvolt = <825000 825000 1000000>; | ||
+ opp-microvolt = <850000 850000 1000000>; | ||
}; | ||
|
||
opp-600000000 { | ||
opp-hz = /bits/ 64 <600000000>; | ||
- opp-microvolt = <825000 825000 1000000>; | ||
+ opp-microvolt = <900000 900000 1000000>; | ||
}; | ||
|
||
opp-700000000 { | ||
opp-hz = /bits/ 64 <700000000>; | ||
- opp-microvolt = <900000 900000 1000000>; | ||
+ opp-microvolt = <950000 950000 1000000>; | ||
}; | ||
|
||
opp-800000000 { |