The issue scenario is as follows:
1. User space issues CWB commit N-1, frame got picked up and wr_ptr_irq
is received.
2. Next commit N CWB disable commit is programmed waits for N-1 wb_done
irq.
3. The kickoff count is decremented on wb_done_irq of commit N-1
and wb wait_for_idle is exited.
4. wb_frame_done irq thread execution stalled before populating fences
and commit thread execution continues.
5. wb_reset disables in_clone_mode flag, the stalled wb_done_irq thread
resumes its execution and signals the release fences on primary
CRTC.
6. Commit N-1 frame_done irq is received and release fences is
signaled again.
Userspace assumes Commit N also completed on receiving of second release
fence causing corruption in screen. This patch stores in_clone_mode
flag in wb_done_irq and only CWB retire fence is signaled.
Change-Id: I758e19178e4ba8722a01fca72d230f066831aec9
Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
Signed-off-by: Akash Gajjar <quic_agajjar@quicinc.com>