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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux