disp: msm: dsi: defer clk setting when doing const_fps RFI
When doing const fps RFI, dynamic refresh clock was done in the next frame kick off, so as the orginal RFI work flow, the clock setting also should be done here. Change-Id: Ic3e6a35dc7264df028f5d848ac6f1eea04a95126 Signed-off-by: Yuan Zhao <yzhao@codeaurora.org> Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

parent
e4f4455a5f
commit
484387e860
@@ -4529,7 +4529,7 @@ static int _dsi_display_dyn_update_clks(struct dsi_display *display,
|
|||||||
*/
|
*/
|
||||||
if ((ctrl_version >= DSI_CTRL_VERSION_2_5) &&
|
if ((ctrl_version >= DSI_CTRL_VERSION_2_5) &&
|
||||||
(dyn_clk_caps->maintain_const_fps))
|
(dyn_clk_caps->maintain_const_fps))
|
||||||
goto defer_dfps_wait;
|
return 0;
|
||||||
|
|
||||||
/* wait for dynamic refresh done */
|
/* wait for dynamic refresh done */
|
||||||
display_for_each_ctrl(i, display) {
|
display_for_each_ctrl(i, display) {
|
||||||
@@ -4549,7 +4549,6 @@ static int _dsi_display_dyn_update_clks(struct dsi_display *display,
|
|||||||
dsi_phy_dynamic_refresh_clear(ctrl->phy);
|
dsi_phy_dynamic_refresh_clear(ctrl->phy);
|
||||||
}
|
}
|
||||||
|
|
||||||
defer_dfps_wait:
|
|
||||||
if (rc)
|
if (rc)
|
||||||
DSI_ERR("could not switch back to src clks %d\n", rc);
|
DSI_ERR("could not switch back to src clks %d\n", rc);
|
||||||
|
|
||||||
|
@@ -1122,6 +1122,9 @@ int dsi_conn_post_kickoff(struct drm_connector *connector,
|
|||||||
ctrl->ctrl);
|
ctrl->ctrl);
|
||||||
if (rc)
|
if (rc)
|
||||||
DSI_ERR("wait4dfps refresh failed\n");
|
DSI_ERR("wait4dfps refresh failed\n");
|
||||||
|
|
||||||
|
dsi_phy_dynamic_refresh_clear(ctrl->phy);
|
||||||
|
dsi_clk_disable_unprepare(&display->clock_info.pll_clks);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user