From 8b323adf9721e621b7cfd8ecb369405bdc4177b8 Mon Sep 17 00:00:00 2001 From: Vishnuvardhan Prodduturi Date: Thu, 16 Dec 2021 17:15:28 +0530 Subject: [PATCH] ARM: dts: msm: add dispcc clock reference for holi dsi-dsiplay node Currently the dsi clock handles are under the dsi controller DT node. As soon as the controller probe finishes, the dispcc sync state can get called before the dsi_display probe potentially disturbing the clock votes for cont_splash use case. dsi_display adds its component to the list of components hence controlling the bind which adds the dsi clock votes. There is no separate component for the dsi_ctrl. Hence we are no longer protected by the component model in this case against the disp cc sync state getting triggered after the dsi_ctrl probe. To protect against this incorrect sync state trigger add a dummy MDP clk vote handle to the dsi_display DT node. Since the dsi_display driver does not parse MDP clock nodes, no actual vote shall be added and this change is done just to satisfy sync state requirements. Change-Id: I18f0f89174bdf49492b5d9aef1fce3ad90801aa3 --- display/holi-sde-display.dtsi | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/display/holi-sde-display.dtsi b/display/holi-sde-display.dtsi index 19d406208854..0caafb882c4c 100644 --- a/display/holi-sde-display.dtsi +++ b/display/holi-sde-display.dtsi @@ -1,4 +1,5 @@ #include "holi-sde-display-common.dtsi" +#include &sde_dsi { clocks = <&mdss_dsi_phy0 BYTECLK_MUX_0_CLK>, @@ -6,10 +7,26 @@ <&mdss_dsi_phy0 BYTECLK_SRC_0_CLK>, <&mdss_dsi_phy0 PCLK_SRC_0_CLK>, <&mdss_dsi_phy0 SHADOW_BYTECLK_SRC_0_CLK>, - <&mdss_dsi_phy0 SHADOW_PCLK_SRC_0_CLK>; + <&mdss_dsi_phy0 SHADOW_PCLK_SRC_0_CLK>, + /* + * Currently the dsi clock handles are under the dsi + * controller DT node. As soon as the controller probe + * finishes, the dispcc sync state can get called before + * the dsi_display probe potentially disturbing the clock + * votes for cont_splash use case. Hence we are no longer + * protected by the component model in this case against the + * disp cc sync state getting triggered after the dsi_ctrl + * probe. To protect against this incorrect sync state trigger + * add this dummy MDP clk vote handle to the dsi_display + * DT node. Since the dsi_display driver does not parse + * MDP clock nodes, no actual vote shall be added and this + * change is done just to satisfy sync state requirements. + */ + <&dispcc DISP_CC_MDSS_MDP_CLK>; clock-names = "mux_byte_clk0", "mux_pixel_clk0", "src_byte_clk0", "src_pixel_clk0", - "shadow_byte_clk0", "shadow_pixel_clk0"; + "shadow_byte_clk0", "shadow_pixel_clk0", + "mdp_core_clk"; pinctrl-names = "panel_active", "panel_suspend"; pinctrl-0 = <&sde_te_active &disp_pins_default>;