disp: msm: dsi: wait for mdp idle before roi update
As part of partial update, the DSI command engine is programmed with the new ROI. However, because double buffering is not enabled for DSI command mode registers, updating them during a partial update use case when the previous frame is not yet finished can result in a configuration mismatch between MDP and DSI. In this scenario, DSI is configured with the new ROI, while MDP is still configured for the previous frame’s ROI. This mismatch can lead to a write pointer timeout. To avoid this issue, wait for MDP to be idle before updating the new ROI. Change-Id: I1796cb7872edaf9e1d76681c2d948bc1b567c298 Signed-off-by: Anand Tarakh <quic_atarakh@quicinc.com>
Esse commit está contido em:
@@ -8605,6 +8605,10 @@ static int dsi_display_set_roi(struct dsi_display *display,
|
||||
if (!changed)
|
||||
continue;
|
||||
|
||||
rc = dsi_ctrl_wait_for_cmd_mode_mdp_idle(ctrl->ctrl);
|
||||
if (rc)
|
||||
DSI_ERR("wait for cmd mode mdp idle failed rc = %d", rc);
|
||||
|
||||
/* re-program the ctrl with the timing based on the new roi */
|
||||
rc = dsi_ctrl_timing_setup(ctrl->ctrl);
|
||||
if (rc) {
|
||||
|
Referência em uma nova issue
Block a user