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

Commit a413b2bd authored by Ashish Garg's avatar Ashish Garg Committed by Gerrit - the friendly Code Review server
Browse files

msm: mdss: ensure clocks are on till pixel transfer is completed



When pixel transfer is going on, there is a race condition during
which pixel clock can get turned off due to early clock gating
before CMD_MDP interrupt is triggered which can cause interrupt
storm. This change ensures CMD_MDP interrupt is received before
turning off clocks.

Change-Id: I33b664334912584170c12733329051b067c3f1da
Signed-off-by: default avatarAshish Garg <ashigarg@codeaurora.org>
parent a385b633
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -161,7 +161,14 @@ void mdss_dsi_clk_req(struct mdss_dsi_ctrl_pdata *ctrl,

	MDSS_XLOG(ctrl->ndx, enable, ctrl->mdp_busy, current->pid,
		client);
	if (enable == 0) {
	/*
	 * ensure that before going into ecg or turning
	 * off the clocks, cmd_mdp_busy is not true. During a
	 * race condition, clocks are turned off and so the
	 * isr for cmd_mdp_busy does not get cleared in hw.
	 */
	if (enable == MDSS_DSI_CLK_OFF ||
		enable == MDSS_DSI_CLK_EARLY_GATE) {
		/* need wait before disable */
		mutex_lock(&ctrl->cmd_mutex);
		mdss_dsi_cmd_mdp_busy(ctrl);