disp: msm: dsi: invoke DSI soft reset when video engine is stuck
During ESD check failure, DSI video engine can get stuck sending data from display engine. In use cases where GDSC toggle does not happen like DP MST connected or secure video playback, display does not recover back after ESD failure. This change adds support to perform soft reset when DSI video engine gets stuck. Change-Id: I9cb31e6c71c4da171f9fe22fc3bee9175711831d Signed-off-by: Ritesh Kumar <riteshk@codeaurora.org>
Cette révision appartient à :
@@ -1687,3 +1687,18 @@ int dsi_ctrl_hw_cmn_wait4dynamic_refresh_done(struct dsi_ctrl_hw *ctrl)
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool dsi_ctrl_hw_cmn_vid_engine_busy(struct dsi_ctrl_hw *ctrl)
|
||||
{
|
||||
u32 reg = 0, video_engine_busy = BIT(3);
|
||||
int rc;
|
||||
u32 const sleep_us = 1000;
|
||||
u32 const timeout_us = 50000;
|
||||
|
||||
rc = readl_poll_timeout(ctrl->base + DSI_STATUS, reg,
|
||||
!(reg & video_engine_busy), sleep_us, timeout_us);
|
||||
if (rc)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur