On Tue, Apr 24, 2018 at 12:58 PM, Michel Dänzer <michel at daenzer.net> wrote: > From: Michel Dänzer <michel.daenzer at amd.com> > > When disabling TearFree, drmmode_crtc->scanout_id could remain as 1, > but drmmode_set_mode_major would destroy drmmode_crtc->scanout[1], so > scanout_do_update() would keep bailing, and the scanout buffer would > stop being updated. > > Fixes freeze after disabling TearFree on a CRTC with active RandR > rotation or other transform. > > Signed-off-by: Michel Dänzer <michel.daenzer at amd.com> Reviewed-by: Alex Deucher <alexander.deucher at amd.com> > --- > src/drmmode_display.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/src/drmmode_display.c b/src/drmmode_display.c > index 536890d18..793027d50 100644 > --- a/src/drmmode_display.c > +++ b/src/drmmode_display.c > @@ -846,6 +846,8 @@ drmmode_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode, > drmmode_crtc_update_tear_free(crtc); > if (drmmode_crtc->tear_free) > scanout_id = drmmode_crtc->scanout_id; > + else > + drmmode_crtc->scanout_id = 0; > > /* gamma is disabled in kernel driver for deep color */ > if (pScrn->depth != 30) > -- > 2.17.0 > > _______________________________________________ > amd-gfx mailing list > amd-gfx at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx