diff options
Diffstat (limited to 'x11-drivers/xf86-video-ati/files/patch-src__radeon_kms.c')
-rw-r--r-- | x11-drivers/xf86-video-ati/files/patch-src__radeon_kms.c | 36 |
1 files changed, 9 insertions, 27 deletions
diff --git a/x11-drivers/xf86-video-ati/files/patch-src__radeon_kms.c b/x11-drivers/xf86-video-ati/files/patch-src__radeon_kms.c index 9966ec93ec70..08895039f67c 100644 --- a/x11-drivers/xf86-video-ati/files/patch-src__radeon_kms.c +++ b/x11-drivers/xf86-video-ati/files/patch-src__radeon_kms.c @@ -1,5 +1,5 @@ ---- src/radeon_kms.c.orig 2014-10-02 05:31:27.000000000 +0200 -+++ src/radeon_kms.c 2014-10-23 18:56:18.359108170 +0200 +--- src/radeon_kms.c.orig 2016-11-17 02:23:37 UTC ++++ src/radeon_kms.c @@ -30,6 +30,8 @@ #include <errno.h> @@ -8,36 +8,18 @@ +#include <sys/linker.h> /* Driver data structures */ #include "radeon.h" - #include "radeon_reg.h" -@@ -280,7 +282,7 @@ - radeon_dirty_update(ScreenPtr screen) - { - RegionPtr region; -- PixmapDirtyUpdatePtr ent; -+ PixmapDirtyUpdatePtr ent = NULL; + #include "radeon_drm_queue.h" +@@ -1405,6 +1407,15 @@ static int radeon_get_drm_master_fd(Scrn + XNFasprintf(&busid, "pci:%04x:%02x:%02x.%d", + dev->domain, dev->bus, dev->dev, dev->func); - if (xorg_list_is_empty(&screen->pixmap_dirty_list)) - return; -@@ -589,7 +591,7 @@ - #endif - struct pci_device *dev = info->PciInfo; - char *busid; -- int fd; -+ int fd, err; - - #ifdef XF86_PDEV_SERVER_FD - if (pRADEONEnt->platform_dev) { -@@ -608,6 +610,15 @@ - dev->domain, dev->bus, dev->dev, dev->func); - #endif - -+ err = kldload("radeonkms"); -+ if (err == -1 && errno != EEXIST) { ++ fd = kldload("radeonkms"); ++ if (fd == -1 && errno != EEXIST) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "[drm] Failed to load kernel module for %s: %s\n", + busid, strerror(errno)); + free(busid); -+ return -1; ++ return fd; + } + fd = drmOpen(NULL, busid); |