[PATCH libdrm] xf86drmMode: Implement drmCheckModesettingSupported() for OpenBSD
Emil Velikov
emil.l.velikov at gmail.com
Mon Jul 20 09:19:01 PDT 2015
On 18 July 2015 at 22:20, Jonathan Gray <jsg at jsg.id.au> wrote:
> 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;
> }
>
Not 100% on it yet, but might end up deprecated (there'll be time for
everyone can object, of course). Until/if that happens we can use
this.
With the minor nitpicks on the other two patches, that whole 3 "set" is
Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>
-Emil
More information about the dri-devel
mailing list