#ifndef __NOUVEAU_UVMM_H__
#define __NOUVEAU_UVMM_H__
#include <drm/drm_gpuvm.h>
#include "nouveau_drv.h"
struct nouveau_uvmm { … };
struct nouveau_uvma_region { … };
struct nouveau_uvma { … };
#define uvmm_from_gpuvm(x) …
#define uvma_from_va(x) …
#define to_uvmm(x) …
struct nouveau_uvmm_bind_job { … };
struct nouveau_uvmm_bind_job_args { … };
#define to_uvmm_bind_job(job) …
void nouveau_uvmm_fini(struct nouveau_uvmm *uvmm);
void nouveau_uvmm_bo_map_all(struct nouveau_bo *nvbov, struct nouveau_mem *mem);
void nouveau_uvmm_bo_unmap_all(struct nouveau_bo *nvbo);
int nouveau_uvmm_ioctl_vm_init(struct drm_device *dev, void *data,
struct drm_file *file_priv);
int nouveau_uvmm_ioctl_vm_bind(struct drm_device *dev, void *data,
struct drm_file *file_priv);
static inline void nouveau_uvmm_lock(struct nouveau_uvmm *uvmm)
{ … }
static inline void nouveau_uvmm_unlock(struct nouveau_uvmm *uvmm)
{ … }
#endif