update to libdrm 2.4.53

For us the only code change is some new radeon_drm.h defines
as the xf86drmMode.c change is ifdef __FreeBSD__.
This commit is contained in:
jsg 2014-04-11 06:15:17 +00:00
parent 2274e656b9
commit 41460e9da0
2 changed files with 36 additions and 3 deletions

View File

@ -1,6 +1,6 @@
# $OpenBSD: Makefile.inc,v 1.10 2014/03/15 05:05:55 jsg Exp $
# $OpenBSD: Makefile.inc,v 1.11 2014/04/11 06:15:17 jsg Exp $
PACKAGE_VERSION= 2.4.52
PACKAGE_VERSION= 2.4.53
NOPROFILE=

View File

@ -723,7 +723,7 @@ int drmModeConnectorSetProperty(int fd, uint32_t connector_id, uint32_t property
*/
int drmCheckModesettingSupported(const char *busid)
{
#ifdef __linux__
#if defined (__linux__)
char pci_dev_dir[1024];
int domain, bus, dev, func;
DIR *sysdir;
@ -773,6 +773,39 @@ int drmCheckModesettingSupported(const char *busid)
closedir(sysdir);
if (found)
return 0;
#elif defined (__FreeBSD__) || defined (__FreeBSD_kernel__)
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);
}
#endif
#ifdef __OpenBSD__
int fd;