disp: msm: sde: dma fence out of order handling in fence error case

Handle out of order dma fence signalling and propagation of fence
error. Out of order fence signaling is required only in Video mode.
For example, in case of N, N+1, N+2 frames where N, N+2 are good
frames and N+1 is frame with fence error. The release fence signal
sequence in video mode would be N+1, N, N+2.

Change-Id: I8b6f88cfeee945e28571b765f24ffea22fad23b8
Signed-off-by: GG Hou <quic_renjhou@quicinc.com>
This commit is contained in:
GG Hou
2023-04-17 14:11:48 +08:00
committad av Gerrit - the friendly Code Review server
förälder 725c7a0f3d
incheckning a658fb17b7
12 ändrade filer med 271 tillägg och 8 borttagningar

Visa fil

@@ -952,6 +952,15 @@ struct drm_connector *sde_connector_init(struct drm_device *dev,
int connector_poll,
int connector_type);
/**
* sde_connector_fence_error_ctx_signal - sde fence error context update for retire fence
* @conn: Pointer to drm connector object
* @input_fence_status: input fence status, negative if input fence error
* @is_vidif encoder is video mode
*/
void sde_connector_fence_error_ctx_signal(struct drm_connector *conn, int input_fence_status,
bool is_vid);
/**
* sde_connector_prepare_fence - prepare fence support for current commit
* @connector: Pointer to drm connector object