summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkwm <kwm@058c260c-8361-11dd-a0ac-aa2bafec7d09>2011-10-23 16:43:22 +0800
committerkwm <kwm@058c260c-8361-11dd-a0ac-aa2bafec7d09>2011-10-23 16:43:22 +0800
commitb03af042fdd042b8dd2a6a5354b1c87a47307688 (patch)
treebcb3ee9545518a3745eab6c894e2ccf539c78e42
parent043b249171b9f1cd5d0457f5074ea6470dde8e5d (diff)
downloadxorg-devel-ports-b03af042fdd042b8dd2a6a5354b1c87a47307688.tar.gz
xorg-devel-ports-b03af042fdd042b8dd2a6a5354b1c87a47307688.tar.zst
xorg-devel-ports-b03af042fdd042b8dd2a6a5354b1c87a47307688.zip
Revert the patch. Somehow this breaks on my hybrid sandybridge system.
Also reported by another users. git-svn-id: https://trillian.chruetertee.ch/svn/ports/branches/xorg-dev@319 058c260c-8361-11dd-a0ac-aa2bafec7d09
-rw-r--r--graphics/libdrm/Makefile2
-rw-r--r--graphics/libdrm/files/extra-xf86drmMode.c48
2 files changed, 14 insertions, 36 deletions
diff --git a/graphics/libdrm/Makefile b/graphics/libdrm/Makefile
index b8703ae..2ccd93e 100644
--- a/graphics/libdrm/Makefile
+++ b/graphics/libdrm/Makefile
@@ -7,7 +7,7 @@
PORTNAME= libdrm
PORTVERSION= 2.4.26
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics x11
MASTER_SITES= http://dri.freedesktop.org/libdrm/
diff --git a/graphics/libdrm/files/extra-xf86drmMode.c b/graphics/libdrm/files/extra-xf86drmMode.c
index 8d6934e..d91a923 100644
--- a/graphics/libdrm/files/extra-xf86drmMode.c
+++ b/graphics/libdrm/files/extra-xf86drmMode.c
@@ -1,6 +1,15 @@
--- xf86drmMode.c.orig 2010-09-08 14:23:39.000000000 +0200
-+++ xf86drmMode.c 2011-10-02 14:45:33.000000000 +0200
-@@ -659,7 +659,7 @@ int drmModeConnectorSetProperty(int fd,
++++ xf86drmMode.c 2011-07-18 18:59:11.000000000 +0200
+@@ -54,7 +54,7 @@
+
+ static inline DRM_IOCTL(int fd, int cmd, void *arg)
+ {
+- int ret = drmIoctl(fd, cmd, arg);
++ int ret = drmIoctl(fd, (unsigned)cmd, arg);
+ return ret < 0 ? -errno : ret;
+ }
+
+@@ -659,7 +659,7 @@
*/
int drmCheckModesettingSupported(const char *busid)
{
@@ -9,43 +18,12 @@
char pci_dev_dir[1024];
int domain, bus, dev, func;
DIR *sysdir;
-@@ -709,6 +709,39 @@ int drmCheckModesettingSupported(const c
+@@ -709,6 +709,8 @@
closedir(sysdir);
if (found)
return 0;
+#elif defined(__FreeBSD__)
-+ char kbusid[1024], sbusid[1024];
-+ char oid[128];
-+ int domain, bus, dev, func;
-+ int i, modesetting, ret;
-+ size_t len;
-+
-+ ret = sscanf(busid, "pci:%04x:%02x:%02x.%d", &domain, &bus, &dev,
-+ &func);
-+ if (ret != 4)
-+ return -EINVAL;
-+ snprintf(kbusid, sizeof(kbusid), "pci:%04x:%02x:%02x.%d", domain, bus,
-+ dev, func);
-+
-+ /* How many GPUs do we expect in the machine ? */
-+ for (i = 0; i < 16; i++) {
-+ snprintf(oid, sizeof(oid), "hw.dri.%d.busid", i);
-+ len = sizeof(sbusid);
-+ ret = sysctlbyname(oid, sbusid, &len, NULL, 0);
-+ if (ret == -1) {
-+ if (errno == ENOENT)
-+ continue;
-+ return -EINVAL;
-+ }
-+ if (strcmp(sbusid, kbusid) != 0)
-+ continue;
-+ snprintf(oid, sizeof(oid), "hw.dri.%d.modesetting", i);
-+ len = sizeof(modesetting);
-+ ret = sysctlbyname(oid, &modesetting, &len, NULL, 0);
-+ if (ret == -1 || len != sizeof(modesetting))
-+ return -EINVAL;
-+ return (modesetting ? 0 : -ENOSYS);
-+ }
++ return 0;
#endif
return -ENOSYS;