xf86drmMode: Implement drmCheckModesettingSupported() for OpenBSD

This is implemented with kms ioctls so it could also be used as a
generic fallback.

Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
main
Jonathan Gray 2015-07-19 07:20:37 +10:00 committed by Emil Velikov
parent d1f321fdf9
commit 1d3b823650
1 changed files with 18 additions and 1 deletions

View File

@ -822,8 +822,25 @@ int drmCheckModesettingSupported(const char *busid)
#elif defined(__DragonFly__)
return 0;
#endif
return -ENOSYS;
#ifdef __OpenBSD__
int fd;
struct drm_mode_card_res res;
drmModeResPtr r = 0;
if ((fd = drmOpen(NULL, busid)) < 0)
return -EINVAL;
memset(&res, 0, sizeof(struct drm_mode_card_res));
if (drmIoctl(fd, DRM_IOCTL_MODE_GETRESOURCES, &res)) {
drmClose(fd);
return -errno;
}
drmClose(fd);
return 0;
#endif
return -ENOSYS;
}
int drmModeCrtcGetGamma(int fd, uint32_t crtc_id, uint32_t size,