#include <drm/drm_file.h>
#include <drm/drm_fourcc.h>
#include "virtgpu_drv.h"
static int virtio_gpu_gem_create(struct drm_file *file,
struct drm_device *dev,
struct virtio_gpu_object_params *params,
struct drm_gem_object **obj_p,
uint32_t *handle_p)
{ … }
int virtio_gpu_mode_dumb_create(struct drm_file *file_priv,
struct drm_device *dev,
struct drm_mode_create_dumb *args)
{ … }
int virtio_gpu_mode_dumb_mmap(struct drm_file *file_priv,
struct drm_device *dev,
uint32_t handle, uint64_t *offset_p)
{ … }
int virtio_gpu_gem_object_open(struct drm_gem_object *obj,
struct drm_file *file)
{ … }
void virtio_gpu_gem_object_close(struct drm_gem_object *obj,
struct drm_file *file)
{ … }
struct virtio_gpu_object_array *virtio_gpu_array_alloc(u32 nents)
{ … }
static void virtio_gpu_array_free(struct virtio_gpu_object_array *objs)
{ … }
struct virtio_gpu_object_array*
virtio_gpu_array_from_handles(struct drm_file *drm_file, u32 *handles, u32 nents)
{ … }
void virtio_gpu_array_add_obj(struct virtio_gpu_object_array *objs,
struct drm_gem_object *obj)
{ … }
int virtio_gpu_array_lock_resv(struct virtio_gpu_object_array *objs)
{ … }
void virtio_gpu_array_unlock_resv(struct virtio_gpu_object_array *objs)
{ … }
void virtio_gpu_array_add_fence(struct virtio_gpu_object_array *objs,
struct dma_fence *fence)
{ … }
void virtio_gpu_array_put_free(struct virtio_gpu_object_array *objs)
{ … }
void virtio_gpu_array_put_free_delayed(struct virtio_gpu_device *vgdev,
struct virtio_gpu_object_array *objs)
{ … }
void virtio_gpu_array_put_free_work(struct work_struct *work)
{ … }