[PATCH libdrm] xf86drmMode: Implement drmCheckModesettingSupported() for OpenBSD
Jonathan Gray
jsg at jsg.id.au
Sat Jul 18 14:20:37 PDT 2015
This is implemented with kms ioctls so it could also be used as a
generic fallback.
Signed-off-by: Jonathan Gray <jsg at jsg.id.au>
---
xf86drmMode.c | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/xf86drmMode.c b/xf86drmMode.c
index 529429e..1a199fa 100644
--- a/xf86drmMode.c
+++ b/xf86drmMode.c
@@ -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,
--
2.4.5
More information about the dri-devel
mailing list