disp: msm: sde: avoid rc lock deadlock during esd failure
Each mode_set call makes sure that previous frame is triggered and triggers the esd check if there is pp_timeout. This may lead to deadlock between crtc commit and event threads. Crtc commit thread acquires the rc_lock and triggers the flush_thread API on event_thread. Event thread again tries to acquire the rc_lock to wait for frame. This can be prevented by avoiding the pre_kickoff call from esd_failure notification if it is generated through pp_timeout. Change-Id: I561fef0345976ab0cae61aab6718214c47fa1393 Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
This commit is contained in:
@@ -253,9 +253,12 @@ int sde_encoder_update_caps_for_cont_splash(struct drm_encoder *encoder,
|
||||
*
|
||||
* TODO: manage the event at sde_kms level for forward processing.
|
||||
* @drm_enc: Pointer to drm encoder structure
|
||||
* @skip_pre_kickoff: Caller can avoid pre_kickoff if it is triggering this
|
||||
* event only to switch the panel TE to watchdog mode.
|
||||
* @Return: true if successful in updating the encoder structure
|
||||
*/
|
||||
int sde_encoder_display_failure_notification(struct drm_encoder *enc);
|
||||
int sde_encoder_display_failure_notification(struct drm_encoder *enc,
|
||||
bool skip_pre_kickoff);
|
||||
|
||||
/**
|
||||
* sde_encoder_recovery_events_enabled - checks if client has enabled
|
||||
|
Reference in New Issue
Block a user