Browse Source

disp: msm: dsi: Fix DFPS sequence when constant fps is enabled

When DFPS and dynamic clock switch with constant fps are
enabled, wait for dynamic refresh done only if clock switch
is triggered. In case where only fps changes, clock remains
same. So, wait for dynamic refresh done is not required.

Change-Id: I1a96d8d6756086afe2cd6e5bdc19be27c2ffed92
Signed-off-by: Ritesh Kumar <[email protected]>
Ritesh Kumar 4 năm trước cách đây
mục cha
commit
74435c1580
1 tập tin đã thay đổi với 9 bổ sung1 xóa
  1. 9 1
      msm/dsi/dsi_drm.c

+ 9 - 1
msm/dsi/dsi_drm.c

@@ -1114,8 +1114,16 @@ int dsi_conn_post_kickoff(struct drm_connector *connector,
 			return -EINVAL;
 		}
 
+		/*
+		 * When both DFPS and dynamic clock switch with constant
+		 * fps features are enabled, wait for dynamic refresh done
+		 * only in case of clock switch.
+		 * In case where only fps changes, clock remains same.
+		 * So, wait for dynamic refresh done is not required.
+		 */
 		if ((ctrl_version >= DSI_CTRL_VERSION_2_5) &&
-				(dyn_clk_caps->maintain_const_fps)) {
+			(dyn_clk_caps->maintain_const_fps) &&
+			(adj_mode.dsi_mode_flags & DSI_MODE_FLAG_DYN_CLK)) {
 			display_for_each_ctrl(i, display) {
 				ctrl = &display->ctrl[i];
 				rc = dsi_ctrl_wait4dynamic_refresh_done(