disp: msm: send power_on event in dual display composer kill scenario

On composer kill event, drm lastclose occurs during which suspend
commit gets triggered on primary. If secondary display is stuck in
continuous splash, then we do a early return without triggering
this suspend commit. On composer start, userspace waits for power on
event, but the drm_driver has never entered suspend state, so power
on event is never sent to userspace. This causes HWC deadlock side
effect and the current change triggers null_commit on secondary
display and then issues a suspend commit on both the displays to
avoid this deadlock issue.

Change-Id: I126f43ba3dd2c3bfa83346e8fd4678f35527893d
Signed-off-by: Jayaprakash Madisetty <quic_jmadiset@quicinc.com>
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
Цей коміт міститься в:
Jayaprakash Madisetty
2022-01-20 11:58:11 +05:30
зафіксовано Veera Sundaram Sankaran
джерело 7a013221ae
коміт b837aa4c77
3 змінених файлів з 58 додано та 4 видалено

Переглянути файл

@@ -131,6 +131,8 @@ struct msm_kms_funcs {
struct drm_atomic_state *state);
/* check for continuous splash status */
bool (*check_for_splash)(struct msm_kms *kms);
/*trigger null flush if stuck in cont splash*/
int (*trigger_null_flush)(struct msm_kms *kms);
/* topology lm information */
int (*get_mixer_count)(const struct msm_kms *kms,
const struct drm_display_mode *mode,