Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e3a41a9f authored by Shashank Babu Chinta Venkata's avatar Shashank Babu Chinta Venkata
Browse files

drm/msm/dsi-staging: ignore panel disable failure



When DSI controller is in bad state, sending panel off commands
cannot be guranteed. The DSI controller goes for a complete reset
during display enable. Thus, ignore failures while sending panel off
commands during display disable.

Change-Id: Ibe1f551e43de2a7981adb8ac59a60dd26225edff
Signed-off-by: default avatarShashank Babu Chinta Venkata <sbchin@codeaurora.org>
parent 92a2b707
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -3755,14 +3755,19 @@ int dsi_panel_disable(struct dsi_panel *panel)
	if (!atomic_read(&panel->esd_recovery_pending)) {
		rc = dsi_panel_tx_cmd_set(panel, DSI_CMD_SET_OFF);
		if (rc) {
			pr_err("[%s] failed to send DSI_CMD_SET_OFF cmds, rc=%d\n",
			/*
			 * Sending panel off commands may fail when  DSI
			 * controller is in a bad state. These failures can be
			 * ignored since controller will go for full reset on
			 * subsequent display enable anyway.
			 */
			pr_warn_ratelimited("[%s] failed to send DSI_CMD_SET_OFF cmds, rc=%d\n",
					panel->name, rc);
			goto error;
			rc = 0;
		}
	}
	panel->panel_initialized = false;

error:
	mutex_unlock(&panel->panel_lock);
	return rc;
}