#include "vmwgfx_bo.h"
#include "vmwgfx_drv.h"
#include "drm/drm_prime.h"
#include "drm/drm_gem_ttm_helper.h"
#include <linux/debugfs.h>
static void vmw_gem_object_free(struct drm_gem_object *gobj)
{ … }
static int vmw_gem_object_open(struct drm_gem_object *obj,
struct drm_file *file_priv)
{ … }
static void vmw_gem_object_close(struct drm_gem_object *obj,
struct drm_file *file_priv)
{ … }
static int vmw_gem_object_pin(struct drm_gem_object *obj)
{ … }
static void vmw_gem_object_unpin(struct drm_gem_object *obj)
{ … }
static struct sg_table *vmw_gem_object_get_sg_table(struct drm_gem_object *obj)
{ … }
static int vmw_gem_vmap(struct drm_gem_object *obj, struct iosys_map *map)
{ … }
static void vmw_gem_vunmap(struct drm_gem_object *obj, struct iosys_map *map)
{ … }
static int vmw_gem_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma)
{ … }
static const struct vm_operations_struct vmw_vm_ops = …;
static const struct drm_gem_object_funcs vmw_gem_object_funcs = …;
int vmw_gem_object_create(struct vmw_private *vmw,
struct vmw_bo_params *params,
struct vmw_bo **p_vbo)
{ … }
int vmw_gem_object_create_with_handle(struct vmw_private *dev_priv,
struct drm_file *filp,
uint32_t size,
uint32_t *handle,
struct vmw_bo **p_vbo)
{ … }
struct drm_gem_object *vmw_prime_import_sg_table(struct drm_device *dev,
struct dma_buf_attachment *attach,
struct sg_table *table)
{ … }
int vmw_gem_object_create_ioctl(struct drm_device *dev, void *data,
struct drm_file *filp)
{ … }
#if defined(CONFIG_DEBUG_FS)
static void vmw_bo_print_info(int id, struct vmw_bo *bo, struct seq_file *m)
{ … }
static int vmw_debugfs_gem_info_show(struct seq_file *m, void *unused)
{ … }
DEFINE_SHOW_ATTRIBUTE(…);
#endif
void vmw_debugfs_gem_init(struct vmw_private *vdev)
{ … }