disp: msm: sde: fence error handling for wb and cwb retire fence
Fence error handling for wb and cwb retire fence. Signal the retire fence for the fence error frame. Change-Id: I0f73195c50edab4b8aefb58cea342214be87584c Signed-off-by: GG Hou <quic_renjhou@quicinc.com>
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

parent
85015a84cb
commit
5f4735e2ce
@@ -3891,6 +3891,10 @@ int sde_crtc_sw_fence_error_handle(struct drm_crtc *crtc, int err_status)
|
||||
sde_crtc->handle_fence_error_bw_update = true;
|
||||
|
||||
drm_for_each_encoder_mask(drm_encoder, crtc->dev, crtc->state->encoder_mask) {
|
||||
/* continue if copy encoder is encountered */
|
||||
if (sde_crtc_state_in_clone_mode(drm_encoder, crtc->state))
|
||||
continue;
|
||||
|
||||
rc = sde_encoder_handle_dma_fence_out_of_order(drm_encoder);
|
||||
if (rc) {
|
||||
SDE_DEBUG("Dma fence out of order failed, rc = %d\n", rc);
|
||||
|
@@ -4423,8 +4423,12 @@ static void _sde_encoder_kickoff_phys(struct sde_encoder_virt *sde_enc,
|
||||
|
||||
/* reset input fence status and skip flush for fence error case. */
|
||||
if (sde_crtc->input_fence_status < 0) {
|
||||
SDE_EVT32(DRMID(&sde_enc->base), sde_crtc->input_fence_status);
|
||||
if (!sde_encoder_in_clone_mode(&sde_enc->base))
|
||||
sde_crtc->input_fence_status = 0;
|
||||
|
||||
SDE_EVT32(DRMID(&sde_enc->base), sde_encoder_in_clone_mode(&sde_enc->base),
|
||||
sde_crtc->input_fence_status);
|
||||
|
||||
goto handle_elevated_ahb_vote;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user