diff options
Diffstat (limited to 'src/drmmode_display.c')
-rw-r--r-- | src/drmmode_display.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/drmmode_display.c b/src/drmmode_display.c index 0d738563..d09c69ce 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -1584,6 +1584,20 @@ void drmmode_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode) } } +void drmmode_fini(ScrnInfoPtr pScrn, drmmode_ptr drmmode) +{ + RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn); + RADEONInfoPtr info = RADEONPTR(pScrn); + + if (pRADEONEnt->fd_wakeup_registered == serverGeneration && + info->dri2.pKernelDRMVersion->version_minor >= 4) { + RemoveGeneralSocket(drmmode->fd); + RemoveBlockAndWakeupHandlers((BlockHandlerProcPtr)NoopDDA, + drm_wakeup_handler, drmmode); + } +} + + Bool drmmode_set_bufmgr(ScrnInfoPtr pScrn, drmmode_ptr drmmode, struct radeon_bo_manager *bufmgr) { drmmode->bufmgr = bufmgr; |