disp: msm: sde: fix frame event signal for cwb

Submit a cwb frame event signal to notify the crtc that cwb
is completed. Currently cwb also uses the same frame done
event as primary. When a single cwb commit is completed, because
cwb is on a slower path there is a race condition in which the
subsequent frame done event for primary clears the refcount.
This fix isolates the events and removes this situation.

Change-Id: Ic3e18302eb8a497cbd7a00f271de2ab320576c83
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
This commit is contained in:
Nilaan Gunabalachandran
2019-12-13 08:15:03 -05:00
zatwierdzone przez Gerrit - the friendly Code Review server
rodzic b3cb4343b1
commit 868fb9cb24
3 zmienionych plików z 9 dodań i 3 usunięć

Wyświetl plik

@@ -2337,7 +2337,8 @@ static void sde_crtc_frame_event_work(struct kthread_work *work)
SDE_EVT32_VERBOSE(DRMID(crtc), fevent->event, SDE_EVTLOG_FUNC_ENTRY);
in_clone_mode = sde_encoder_in_clone_mode(fevent->connector->encoder);
in_clone_mode = (fevent->event & SDE_ENCODER_FRAME_EVENT_CWB_DONE) ?
true : false;
if (!in_clone_mode && (fevent->event & (SDE_ENCODER_FRAME_EVENT_ERROR
| SDE_ENCODER_FRAME_EVENT_PANEL_DEAD