From 9ed99b6b0b3bd1f77f25958bc43f40fd6897a616 Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Tue, 20 Dec 2022 11:12:15 +0000 Subject: [PATCH] x11/dri2: remove open-coded drmGetNodeTypeFromFd Similar to 4d4c5f06519fe4c40d6fe1b2ccff812ff3b3b402 - this commit removes our local open-coded helper in favour of the upstream implementation. Signed-off-by: Emil Velikov --- va/x11/dri2_util.c | 29 +++-------------------------- 1 file changed, 3 insertions(+), 26 deletions(-) diff --git a/va/x11/dri2_util.c b/va/x11/dri2_util.c index 8bc99c142..64a9aa440 100644 --- a/va/x11/dri2_util.c +++ b/va/x11/dri2_util.c @@ -172,29 +172,6 @@ dri2Close(VADriverContextP ctx) close(dri_state->base.fd); } -int -va_isRenderNodeFd(int fd) -{ - struct stat st; - char *name; - - /* Check by device node */ - if (fstat(fd, &st) == 0) - return S_ISCHR(st.st_mode) && (st.st_rdev & 0x80); - - /* Check by device name */ - name = drmGetDeviceNameFromFd(fd); - if (name) { - /* drmGetDeviceNameFromFd returns a strdup'ed string */ - int r = (strncmp(name, "/dev/dri/renderD", 16) == 0); - drmFree(name); - return r; - } - - /* Unrecoverable error */ - return -1; -} - Bool va_isDRI2Connected(VADriverContextP ctx, char **driver_name) { @@ -203,7 +180,7 @@ va_isDRI2Connected(VADriverContextP ctx, char **driver_name) int error_base; int event_base; char *device_name = NULL; - int is_render_nodes; + int node_type; drm_magic_t magic; *driver_name = NULL; @@ -223,10 +200,10 @@ va_isDRI2Connected(VADriverContextP ctx, char **driver_name) dri_state->base.fd = open(device_name, O_RDWR); - if (dri_state->base.fd < 0 || (is_render_nodes = va_isRenderNodeFd(dri_state->base.fd)) < 0) + if (dri_state->base.fd < 0 || (node_type = drmGetNodeTypeFromFd(dri_state->base.fd)) < 0) goto err_out; - if (!is_render_nodes) { + if (node_type != DRM_NODE_RENDER) { if (drmGetMagic(dri_state->base.fd, &magic)) goto err_out;