diff options
author | zeising <zeising@058c260c-8361-11dd-a0ac-aa2bafec7d09> | 2013-12-13 20:05:07 +0800 |
---|---|---|
committer | zeising <zeising@058c260c-8361-11dd-a0ac-aa2bafec7d09> | 2013-12-13 20:05:07 +0800 |
commit | b48b6aa8dece79cd8e65b81598a626b815d1ea6c (patch) | |
tree | 2628d0cdc40177b0f3ff1ec2957d25d22d44c8dd | |
parent | e24512935d6f2ed9f94bcd825ec36d33143993ca (diff) | |
download | xorg-devel-ports-b48b6aa8dece79cd8e65b81598a626b815d1ea6c.tar xorg-devel-ports-b48b6aa8dece79cd8e65b81598a626b815d1ea6c.tar.gz xorg-devel-ports-b48b6aa8dece79cd8e65b81598a626b815d1ea6c.tar.bz2 xorg-devel-ports-b48b6aa8dece79cd8e65b81598a626b815d1ea6c.tar.lz xorg-devel-ports-b48b6aa8dece79cd8e65b81598a626b815d1ea6c.tar.xz xorg-devel-ports-b48b6aa8dece79cd8e65b81598a626b815d1ea6c.tar.zst xorg-devel-ports-b48b6aa8dece79cd8e65b81598a626b815d1ea6c.zip |
Add patch from dumbbell to fix autoloading of kernel driver.
git-svn-id: https://trillian.chruetertee.ch/svn/ports/trunk@1327 058c260c-8361-11dd-a0ac-aa2bafec7d09
-rw-r--r-- | x11-drivers/xf86-video-ati/files/extra-src__radeon_kms.c | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/x11-drivers/xf86-video-ati/files/extra-src__radeon_kms.c b/x11-drivers/xf86-video-ati/files/extra-src__radeon_kms.c index c8ed568..9de83f0 100644 --- a/x11-drivers/xf86-video-ati/files/extra-src__radeon_kms.c +++ b/x11-drivers/xf86-video-ati/files/extra-src__radeon_kms.c @@ -1,6 +1,15 @@ --- src/radeon_kms.c.orig 2013-08-07 10:44:09.000000000 +0200 -+++ src/radeon_kms.c 2013-08-31 01:20:44.370468797 +0200 -@@ -270,7 +270,7 @@ ++++ src/radeon_kms.c 2013-08-31 19:29:11.369001510 +0200 +@@ -30,6 +30,8 @@ + + #include <errno.h> + #include <sys/ioctl.h> ++#include <sys/param.h> ++#include <sys/linker.h> + /* Driver data structures */ + #include "radeon.h" + #include "radeon_reg.h" +@@ -270,7 +272,7 @@ radeon_dirty_update(ScreenPtr screen) { RegionPtr region; @@ -9,12 +18,20 @@ if (xorg_list_is_empty(&screen->pixmap_dirty_list)) return; -@@ -606,7 +606,7 @@ +@@ -606,6 +608,16 @@ dev->domain, dev->bus, dev->dev, dev->func); #endif -- info->dri2.drm_fd = drmOpen("radeon", busid); -+ info->dri2.drm_fd = drmOpen("radeonkms", busid); ++ err = kldload("radeonkms"); ++ if (err == -1 && errno != EEXIST) { ++ ++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, ++ "[drm] Failed to load kernel module for %s: %s\n", ++ busid, strerror(errno)); ++ free(busid); ++ return FALSE; ++ } ++ + info->dri2.drm_fd = drmOpen("radeon", busid); if (info->dri2.drm_fd == -1) { - xf86DrvMsg(pScrn->scrnIndex, X_ERROR, |