mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 22:40:54 -04:00
Merge "disp: msm: sde: fix race between disable commit and vblank work"
This commit is contained in:
commit
22e9e28e8a
1 changed files with 11 additions and 9 deletions
|
|
@ -3850,8 +3850,10 @@ static int _sde_crtc_vblank_enable_no_lock(
|
|||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
drm_for_each_encoder_mask(enc, crtc->dev,
|
||||
crtc->state->encoder_mask) {
|
||||
drm_for_each_encoder(enc, crtc->dev) {
|
||||
if (enc->crtc != crtc)
|
||||
continue;
|
||||
|
||||
SDE_EVT32(DRMID(&sde_crtc->base), DRMID(enc), enable,
|
||||
sde_crtc->enabled);
|
||||
|
||||
|
|
@ -3859,8 +3861,10 @@ static int _sde_crtc_vblank_enable_no_lock(
|
|||
sde_crtc_vblank_cb, (void *)crtc);
|
||||
}
|
||||
} else {
|
||||
drm_for_each_encoder_mask(enc, crtc->dev,
|
||||
crtc->state->encoder_mask) {
|
||||
drm_for_each_encoder(enc, crtc->dev) {
|
||||
if (enc->crtc != crtc)
|
||||
continue;
|
||||
|
||||
SDE_EVT32(DRMID(&sde_crtc->base), DRMID(enc), enable,
|
||||
sde_crtc->enabled);
|
||||
|
||||
|
|
@ -4159,11 +4163,9 @@ static void sde_crtc_disable(struct drm_crtc *crtc)
|
|||
msm_mode_object_event_notify(&crtc->base, crtc->dev, &event,
|
||||
(u8 *)&power_on);
|
||||
|
||||
if (atomic_read(&sde_crtc->frame_pending)) {
|
||||
mutex_unlock(&sde_crtc->crtc_lock);
|
||||
_sde_crtc_flush_event_thread(crtc);
|
||||
mutex_lock(&sde_crtc->crtc_lock);
|
||||
}
|
||||
mutex_unlock(&sde_crtc->crtc_lock);
|
||||
_sde_crtc_flush_event_thread(crtc);
|
||||
mutex_lock(&sde_crtc->crtc_lock);
|
||||
|
||||
kthread_cancel_delayed_work_sync(&sde_crtc->static_cache_read_work);
|
||||
kthread_cancel_delayed_work_sync(&sde_crtc->idle_notify_work);
|
||||
|
|
|
|||
Loading…
Reference in a new issue