diff options
author | Michel Dänzer <michel@tungstengraphics.com> | 2008-09-30 11:03:04 +0200 |
---|---|---|
committer | Michel Dänzer <michel@tungstengraphics.com> | 2008-09-30 11:36:28 +0200 |
commit | ba21d5ae7fbbf5828c44c41655aff8b182453e2e (patch) | |
tree | b5a2704b723fbc4e97bb6651df2caea2cabe5413 /src | |
parent | 3110646daf05fa09faaa70066cc8c3db1bb07cec (diff) |
Update GEN_INT_CNTL register value after calling DRM modeset ioctl.
Fixes sync-to-vblank hangs after mode switch with DRM vblank-rework.
Diffstat (limited to 'src')
-rw-r--r-- | src/legacy_crtc.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/legacy_crtc.c b/src/legacy_crtc.c index 89fbb039..75ab6c8a 100644 --- a/src/legacy_crtc.c +++ b/src/legacy_crtc.c @@ -623,6 +623,7 @@ radeon_crtc_modeset_ioctl(xf86CrtcPtr crtc, Bool post) RADEONInfoPtr info = RADEONPTR(crtc->scrn); RADEONCrtcPrivatePtr radeon_crtc = crtc->driver_private; struct drm_modeset_ctl modeset; + unsigned char *RADEONMMIO = info->MMIO; if (!info->directRenderingEnabled) return; @@ -631,6 +632,8 @@ radeon_crtc_modeset_ioctl(xf86CrtcPtr crtc, Bool post) modeset.cmd = post ? _DRM_POST_MODESET : _DRM_PRE_MODESET; ioctl(info->dri->drmFD, DRM_IOCTL_MODESET_CTL, &modeset); + + info->ModeReg->gen_int_cntl = INREG( RADEON_GEN_INT_CNTL ); #endif } |