From 59441ee3dae15e0e81ed20688b0ba6dba12d7917 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Wed, 11 Jul 2018 18:58:20 +0200 Subject: [PATCH] Call drmmode_do_crtc_dpms from drmmode_crtc_dpms as well Leo pointed out that drmmode_do_crtc_dpms wasn't getting called when turning off an output with xrandr --output --off This meant that the vblank sequence number and timestamp wouldn't be saved before turning off the CRTC in this case. Reported-by: Leo (Sunpeng) Li (Ported from amdgpu commit ceeacb455cd058492a493aac954deab8455804b5) Acked-by: Alex Deucher --- src/drmmode_display.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/drmmode_display.c b/src/drmmode_display.c index 3117b8f1..cf1f6e80 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -361,8 +361,7 @@ drmmode_crtc_dpms(xf86CrtcPtr crtc, int mode) /* Disable unused CRTCs */ if (!crtc->enabled || mode != DPMSModeOn) { - drmmode_crtc_wait_pending_event(drmmode_crtc, pRADEONEnt->fd, - drmmode_crtc->flip_pending); + drmmode_do_crtc_dpms(crtc, DPMSModeOff); drmModeSetCrtc(pRADEONEnt->fd, drmmode_crtc->mode_crtc->crtc_id, 0, 0, 0, NULL, 0, NULL); drmmode_fb_reference(pRADEONEnt->fd, &drmmode_crtc->fb, NULL);