nouveau: use drmCloseBufferHandle

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>
main
Simon Ser 2021-10-03 19:50:58 +02:00
parent 7b67fec649
commit 53ef4b37a1
1 changed files with 2 additions and 3 deletions

View File

@ -607,7 +607,6 @@ nouveau_bo_del(struct nouveau_bo *bo)
struct nouveau_drm *drm = nouveau_drm(&bo->device->object); struct nouveau_drm *drm = nouveau_drm(&bo->device->object);
struct nouveau_device_priv *nvdev = nouveau_device(bo->device); struct nouveau_device_priv *nvdev = nouveau_device(bo->device);
struct nouveau_bo_priv *nvbo = nouveau_bo(bo); struct nouveau_bo_priv *nvbo = nouveau_bo(bo);
struct drm_gem_close req = { .handle = bo->handle };
if (nvbo->head.next) { if (nvbo->head.next) {
pthread_mutex_lock(&nvdev->lock); pthread_mutex_lock(&nvdev->lock);
@ -621,11 +620,11 @@ nouveau_bo_del(struct nouveau_bo *bo)
* might cause the bo to be closed accidentally while * might cause the bo to be closed accidentally while
* re-importing. * re-importing.
*/ */
drmIoctl(drm->fd, DRM_IOCTL_GEM_CLOSE, &req); drmCloseBufferHandle(drm->fd, bo->handle);
} }
pthread_mutex_unlock(&nvdev->lock); pthread_mutex_unlock(&nvdev->lock);
} else { } else {
drmIoctl(drm->fd, DRM_IOCTL_GEM_CLOSE, &req); drmCloseBufferHandle(drm->fd, bo->handle);
} }
if (bo->map) if (bo->map)
drm_munmap(bo->map, bo->size); drm_munmap(bo->map, bo->size);