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
committed by Gerrit - the friendly Code Review server
parent 725c7a0f3d
commit a658fb17b7
12 changed files with 271 additions and 8 deletions

View File

@@ -336,9 +336,10 @@ int sde_plane_validate_src_addr(struct drm_plane *plane,
* sde_plane_wait_input_fence - wait for input fence object
* @plane: Pointer to DRM plane object
* @wait_ms: Wait timeout value
* @error_status: Status of input fence
* Returns: Zero on success
*/
int sde_plane_wait_input_fence(struct drm_plane *plane, uint32_t wait_ms);
int sde_plane_wait_input_fence(struct drm_plane *plane, uint32_t wait_ms, int *error_status);
/**
* sde_plane_color_fill - enables color fill on plane