|
@@ -7546,15 +7546,13 @@ int dsi_display_pre_kickoff(struct drm_connector *connector,
|
|
struct dsi_display *display,
|
|
struct dsi_display *display,
|
|
struct msm_display_kickoff_params *params)
|
|
struct msm_display_kickoff_params *params)
|
|
{
|
|
{
|
|
- int rc = 0;
|
|
|
|
|
|
+ int rc = 0, ret = 0;
|
|
int i;
|
|
int i;
|
|
|
|
|
|
/* check and setup MISR */
|
|
/* check and setup MISR */
|
|
if (display->misr_enable)
|
|
if (display->misr_enable)
|
|
_dsi_display_setup_misr(display);
|
|
_dsi_display_setup_misr(display);
|
|
|
|
|
|
- rc = dsi_display_set_roi(display, params->rois);
|
|
|
|
-
|
|
|
|
/* dynamic DSI clock setting */
|
|
/* dynamic DSI clock setting */
|
|
if (atomic_read(&display->clkrate_change_pending)) {
|
|
if (atomic_read(&display->clkrate_change_pending)) {
|
|
mutex_lock(&display->display_lock);
|
|
mutex_lock(&display->display_lock);
|
|
@@ -7572,7 +7570,6 @@ int dsi_display_pre_kickoff(struct drm_connector *connector,
|
|
*/
|
|
*/
|
|
display_for_each_ctrl(i, display) {
|
|
display_for_each_ctrl(i, display) {
|
|
struct dsi_ctrl *ctrl = display->ctrl[i].ctrl;
|
|
struct dsi_ctrl *ctrl = display->ctrl[i].ctrl;
|
|
- int ret = 0;
|
|
|
|
|
|
|
|
ret = dsi_ctrl_wait_for_cmd_mode_mdp_idle(ctrl);
|
|
ret = dsi_ctrl_wait_for_cmd_mode_mdp_idle(ctrl);
|
|
if (ret)
|
|
if (ret)
|
|
@@ -7590,6 +7587,9 @@ wait_failure:
|
|
mutex_unlock(&display->display_lock);
|
|
mutex_unlock(&display->display_lock);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (!ret)
|
|
|
|
+ rc = dsi_display_set_roi(display, params->rois);
|
|
|
|
+
|
|
return rc;
|
|
return rc;
|
|
}
|
|
}
|
|
|
|
|