From 013da13ff6c940aebb087103ccca34ed6f6b069f Mon Sep 17 00:00:00 2001 From: Mike Tipton Date: Mon, 6 Jun 2022 17:47:07 -0700 Subject: [PATCH] ARM: dts: msm: Vote MMNOC BW for cam_cc_titan_top_gdsc on Kalama The cam_cc_titan_top_gdsc causes camera to permanently assert qactive when it's enabled. If MMNOC attempts to collapse when the GDSC is enabled, then the qactive signal will cause BCM to get stuck in the collapse sequence. This will eventually lead to rpmh driver timeouts when requested for MMNOC. Fix this by explicitly voting for MMNOC on behalf of the GDSC. And adding these interconnect phandles creates a dependency cycle between the GDSC and camcc, so remove the GDSC phandle from camcc. The camcc device only needed it to prevent warnings when enabling critical clocks with the enable() callback during probe, but we can accomplish the same thing by enabling the clocks manually in the probe function without checking status. Change-Id: I7772532bdf2d7443de02d6f40b48042920bf48d2 --- qcom/kalama.dtsi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/qcom/kalama.dtsi b/qcom/kalama.dtsi index a3bf22b7..ab1abfa4 100644 --- a/qcom/kalama.dtsi +++ b/qcom/kalama.dtsi @@ -1546,7 +1546,6 @@ vdd_mm-supply = <&VDD_MM_LEVEL>; vdd_mxa-supply = <&VDD_MXA_LEVEL>; vdd_mxc-supply = <&VDD_MXC_LEVEL>; - titan_top-supply = <&cam_cc_titan_top_gdsc>; clocks = <&rpmhcc RPMH_CXO_CLK>, <&rpmhcc RPMH_CXO_CLK_A>, <&sleep_clk>, @@ -1866,6 +1865,8 @@ clocks = <&gcc GCC_CAMERA_AHB_CLK>; parent-supply = <&VDD_MM_MXC_VOTER_LEVEL>; proxy-supply = <&cam_cc_titan_top_gdsc>; + interconnects = <&mmss_noc MASTER_CAMNOC_HF &mmss_noc SLAVE_MNOC_HF_MEM_NOC>; + interconnect-names = "mmnoc"; qcom,gds-timeout = <1500>; qcom,proxy-consumer-enable; qcom,retain-regs;