From 62ef8daba01eefff41d6867f6ee4b63ed9f2a36b Mon Sep 17 00:00:00 2001 From: Ritesh Kumar Date: Tue, 15 Nov 2022 09:15:37 +0530 Subject: [PATCH] disp: msm: dsi: skip clearing dynamic refresh done status in dsi ctrl ISR After triggering dynamic refresh, if there is any dsi_ctrl_isr, dynamic refresh done status also gets cleared as part of it. Because of this, wait4dynamic_refresh_done timeout error is seen even though dynamic refresh is done successfully. Change-Id: I39b42c60d15d9cb0557669f95ff2ed83989f9cd3 Signed-off-by: Ritesh Kumar --- msm/dsi/dsi_ctrl_hw_cmn.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/msm/dsi/dsi_ctrl_hw_cmn.c b/msm/dsi/dsi_ctrl_hw_cmn.c index 1dfaa9ae4c..e67042b8e7 100644 --- a/msm/dsi/dsi_ctrl_hw_cmn.c +++ b/msm/dsi/dsi_ctrl_hw_cmn.c @@ -1204,11 +1204,12 @@ void dsi_ctrl_hw_cmn_clear_interrupt_status(struct dsi_ctrl_hw *ctrl, u32 ints) reg |= BIT(30); /* - * Do not clear error status. - * It will be cleared as part of - * error handler function. + * Do not clear error status. It will be cleared as part of error handler function. + * Do not clear dynamic refresh done status. It will be cleared as part of + * wait4dynamic_refresh_done() function. */ - reg &= ~BIT(24); + reg &= ~(BIT(24) | BIT(28)); + DSI_W32(ctrl, DSI_INT_CTRL, reg); DSI_CTRL_HW_DBG(ctrl, "Clear interrupts, ints = 0x%x, INT_CTRL=0x%x\n",