[PATCH 4/4] arm64: dts: qcom: msm8916: Improve GPU OPP table

From: Konrad Dybcio
Date: Wed Mar 29 2023 - 15:18:03 EST


Add required-opps to ensure reasonable power domain levels are voted
for (currently we've been piggybacking off of miracles and MDP
votes), add missing frequencies and add newlines between each
subnode.

Fixes: 61b83be9117c ("arm64: dts: qcom: msm8916: Add gpu support")
Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/msm8916.dtsi | 22 ++++++++++++++++++----
1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
index 639b158b4fbe..13bd0c647c1d 100644
--- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
@@ -1287,18 +1287,31 @@ gpu@1c00000 {
<&gcc GCC_BIMC_GFX_CLK>,
<&gcc GCC_BIMC_GPU_CLK>,
<&gcc GFX3D_CLK_SRC>;
- power-domains = <&gcc OXILI_GDSC>;
+ power-domains = <&rpmpd MSM8916_VDDCX>;
operating-points-v2 = <&gpu_opp_table>;
iommus = <&gpu_iommu 1>, <&gpu_iommu 2>;

gpu_opp_table: opp-table {
compatible = "operating-points-v2";

+ opp-27000000 {
+ opp-hz = /bits/ 64 <27000000>;
+ required-opps = <&rpmpd_opp_svs_krait>;
+ };
+
+ opp-200000000 {
+ opp-hz = /bits/ 64 <200000000>;
+ required-opps = <&rpmpd_opp_svs_soc>;
+ };
+
+ opp-310000000 {
+ opp-hz = /bits/ 64 <310000000>;
+ required-opps = <&rpmpd_opp_nom>;
+ };
+
opp-400000000 {
opp-hz = /bits/ 64 <400000000>;
- };
- opp-19200000 {
- opp-hz = /bits/ 64 <19200000>;
+ required-opps = <&rpmpd_opp_super_turbo>;
};
};
};
@@ -1368,6 +1381,7 @@ gpu_iommu: iommu@1f08000 {
clocks = <&gcc GCC_SMMU_CFG_CLK>,
<&gcc GCC_GFX_TCU_CLK>;
clock-names = "iface", "bus";
+ power-domains = <&gcc OXILI_GDSC>;
qcom,iommu-secure-id = <18>;

/* GFX3D_USER */

--
2.40.0