diff options
author | Dave Airlie <airlied@gmail.com> | 2012-07-14 09:52:17 +0000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2012-07-16 02:39:56 +0100 |
commit | cc0a14575d9fd0aafe73cb4aa445eaf024436114 (patch) | |
tree | 991a376a4d8dc4b8c40a546e42b9c5379520d42d /xf86drm.c | |
parent | 41dfb20cdc369bb0da880c371a664f25fe665adb (diff) |
libdrm: add prime fd->handle and handle->fd interfaces
These are just basic ioctl wrappers around the prime ioctls,
along with the capability reporting.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'xf86drm.c')
-rw-r--r-- | xf86drm.c | 31 |
1 files changed, 31 insertions, 0 deletions
@@ -2542,3 +2542,34 @@ char *drmGetDeviceNameFromFd(int fd) return strdup(name); } + +int drmPrimeHandleToFD(int fd, uint32_t handle, uint32_t flags, int *prime_fd) +{ + struct drm_prime_handle args; + int ret; + + args.handle = handle; + args.flags = flags; + ret = drmIoctl(fd, DRM_IOCTL_PRIME_HANDLE_TO_FD, &args); + if (ret) + return ret; + + *prime_fd = args.fd; + return 0; +} + +int drmPrimeFDToHandle(int fd, int prime_fd, uint32_t *handle) +{ + struct drm_prime_handle args; + int ret; + + args.fd = prime_fd; + args.flags = 0; + ret = drmIoctl(fd, DRM_IOCTL_PRIME_FD_TO_HANDLE, &args); + if (ret) + return ret; + + *handle = args.handle; + return 0; +} + |