Dateien
android_kernel_samsung_sm86…/msm
Andhavarapu Karthik 13d31e5111 disp: msm: sde: avoid race on in_clone_mode flag in wb encoder
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.

Made changes to avoid the race between irq thread and commit thread
over in_clone_mode flag, by adding a lock over wb physical encoder.

Change-Id: Iba9b6613c49d413239c9603228fe16b0d64c0ab6
Signed-off-by: Andhavarapu Karthik <quic_kartkart@quicinc.com>
2023-12-18 18:14:40 +05:30
..