From 36bff15d08bc8bb884c31b0396d802d7eb664c43 Mon Sep 17 00:00:00 2001 From: Veera Sundaram Sankaran Date: Thu, 18 Apr 2019 17:46:55 -0700 Subject: [PATCH] disp: msm: sde: update core clk rate during cont-splash Update the bootloader set core-clk rate to the SDE software structure when continuous splash is enabled. This will make sure SDE handles the shift in core-clk rate correctly when user-mode votes for a different rate with the first frame. Change-Id: Ib8e11332578ad154b14793d8ddcfec488be63aef Signed-off-by: Veera Sundaram Sankaran --- msm/sde/sde_crtc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/msm/sde/sde_crtc.c b/msm/sde/sde_crtc.c index 21e6698b5b..c70efb9c85 100644 --- a/msm/sde/sde_crtc.c +++ b/msm/sde/sde_crtc.c @@ -6294,6 +6294,7 @@ void sde_crtc_update_cont_splash_settings(struct drm_crtc *crtc) struct sde_kms *kms = NULL; struct msm_drm_private *priv; struct sde_crtc *sde_crtc; + u64 rate; if (!crtc || !crtc->state || !crtc->dev || !crtc->dev->dev_private) { SDE_ERROR("invalid crtc\n"); @@ -6312,5 +6313,8 @@ void sde_crtc_update_cont_splash_settings(struct drm_crtc *crtc) /* update core clk value for initial state with cont-splash */ sde_crtc = to_sde_crtc(crtc); + rate = sde_power_clk_get_rate(&priv->phandle, kms->perf.clk_name); + sde_crtc->cur_perf.core_clk_rate = (rate > 0) ? + rate : kms->perf.max_core_clk_rate; sde_crtc->cur_perf.core_clk_rate = kms->perf.max_core_clk_rate; }