freedreno: use drmCloseBufferHandle
authorSimon Ser <contact@emersion.fr>
Sun, 3 Oct 2021 17:49:40 +0000 (19:49 +0200)
committerSimon Ser <contact@emersion.fr>
Wed, 6 Oct 2021 07:03:21 +0000 (09:03 +0200)
Instead of manually calling drmIoctl, use the equivalent function
from libdrm core.

Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
freedreno/freedreno_bo.c

index efc5b71..3cdc973 100644 (file)
@@ -62,10 +62,7 @@ static struct fd_bo * bo_from_handle(struct fd_device *dev,
 
        bo = dev->funcs->bo_from_handle(dev, size, handle);
        if (!bo) {
-               struct drm_gem_close req = {
-                               .handle = handle,
-               };
-               drmIoctl(dev->fd, DRM_IOCTL_GEM_CLOSE, &req);
+               drmCloseBufferHandle(dev->fd, handle);
                return NULL;
        }
        bo->dev = fd_device_ref(dev);
@@ -263,13 +260,10 @@ drm_private void bo_del(struct fd_bo *bo)
         */
 
        if (bo->handle) {
-               struct drm_gem_close req = {
-                               .handle = bo->handle,
-               };
                drmHashDelete(bo->dev->handle_table, bo->handle);
                if (bo->name)
                        drmHashDelete(bo->dev->name_table, bo->name);
-               drmIoctl(bo->dev->fd, DRM_IOCTL_GEM_CLOSE, &req);
+               drmCloseBufferHandle(bo->dev->fd, bo->handle);
        }
 
        bo->funcs->destroy(bo);