> -----Original Message----- > From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf > Of Michel Dänzer > Sent: Thursday, August 25, 2016 11:04 PM > To: amd-gfx at lists.freedesktop.org > Subject: [PATCH xf86-video-ati] Also handle disabled CRTCs in > drmmode_clear_pending_flip > > From: Michel Dänzer <michel.daenzer at amd.com> > > If disabling a CRTC had to be deferred due to a pending flip in > drmmode_crtc_dpms, there may no longer be any outputs associated with > the CRTC when we get here. So we have to check for !crtc->enabled and > call drmmode_crtc_dpms in that case as well. > > Fixes: 9090309e057d ("Wait for pending flips to complete before turning > off an output or CRTC") > > Signed-off-by: Michel Dänzer <michel.daenzer at amd.com> Reviewed-by: Alex Deucher <alexander.deucher at amd.com> > --- > src/drmmode_display.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/src/drmmode_display.c b/src/drmmode_display.c > index cb228da..e474046 100644 > --- a/src/drmmode_display.c > +++ b/src/drmmode_display.c > @@ -2181,8 +2181,9 @@ drmmode_clear_pending_flip(xf86CrtcPtr crtc) > > drmmode_crtc->flip_pending = FALSE; > > - if (drmmode_crtc->pending_dpms_mode != DPMSModeOn && > - drmmode_crtc->dpms_mode != drmmode_crtc- > >pending_dpms_mode) { > + if (!crtc->enabled || > + (drmmode_crtc->pending_dpms_mode != DPMSModeOn && > + drmmode_crtc->dpms_mode != drmmode_crtc- > >pending_dpms_mode)) { > xf86CrtcConfigPtr xf86_config = > XF86_CRTC_CONFIG_PTR(crtc->scrn); > int o; > > @@ -2193,8 +2194,9 @@ drmmode_clear_pending_flip(xf86CrtcPtr crtc) > continue; > > drmmode_output_dpms(output, drmmode_crtc- > >pending_dpms_mode); > - drmmode_crtc_dpms(crtc, drmmode_crtc- > >pending_dpms_mode); > } > + > + drmmode_crtc_dpms(crtc, drmmode_crtc- > >pending_dpms_mode); > } > } > > -- > 2.9.3 > > _______________________________________________ > amd-gfx mailing list > amd-gfx at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx