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: Ashish Garg <ashigarg@codeaurora.org>
This commit is contained in:
parent
60be71604a
commit
5d1a271056
1 changed files with 8 additions and 1 deletions
|
@ -165,7 +165,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);
|
||||
|
|
Loading…
Add table
Reference in a new issue