Browse Source

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 <[email protected]>
Signed-off-by: Amine Najahi <[email protected]>
Yuan Zhao 4 năm trước cách đây
mục cha
commit
484387e860
2 tập tin đã thay đổi với 4 bổ sung2 xóa
  1. 1 2
      msm/dsi/dsi_display.c
  2. 3 0
      msm/dsi/dsi_drm.c

+ 1 - 2
msm/dsi/dsi_display.c

@@ -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);
 
 

+ 3 - 0
msm/dsi/dsi_drm.c

@@ -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);
 			}
 			}
 		}
 		}