Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
vm.h File Reference
#include <core/object.h>
#include <core/subdev.h>
#include <core/device.h>
#include <core/mm.h>

Go to the source code of this file.

Data Structures

struct  nouveau_vm_pgt
 
struct  nouveau_vm_pgd
 
struct  nouveau_vma
 
struct  nouveau_vm
 
struct  nouveau_vmmgr
 

Macros

#define nouveau_vmmgr_create(p, e, o, i, f, d)   nouveau_subdev_create((p), (e), (o), 0, (i), (f), (d))
 
#define nouveau_vmmgr_destroy(p)   nouveau_subdev_destroy(&(p)->base)
 
#define nouveau_vmmgr_init(p)   nouveau_subdev_init(&(p)->base)
 
#define nouveau_vmmgr_fini(p, s)   nouveau_subdev_fini(&(p)->base, (s))
 
#define _nouveau_vmmgr_dtor   _nouveau_subdev_dtor
 
#define _nouveau_vmmgr_init   _nouveau_subdev_init
 
#define _nouveau_vmmgr_fini   _nouveau_subdev_fini
 

Functions

int nv04_vm_create (struct nouveau_vmmgr *, u64, u64, u64, struct nouveau_vm **)
 
void nv04_vmmgr_dtor (struct nouveau_object *)
 
void nv50_vm_flush_engine (struct nouveau_subdev *, int engine)
 
void nvc0_vm_flush_engine (struct nouveau_subdev *, u64 addr, int type)
 
int nouveau_vm_create (struct nouveau_vmmgr *, u64 offset, u64 length, u64 mm_offset, u32 block, struct nouveau_vm **)
 
int nouveau_vm_new (struct nouveau_device *, u64 offset, u64 length, u64 mm_offset, struct nouveau_vm **)
 
int nouveau_vm_ref (struct nouveau_vm *, struct nouveau_vm **, struct nouveau_gpuobj *pgd)
 
int nouveau_vm_get (struct nouveau_vm *, u64 size, u32 page_shift, u32 access, struct nouveau_vma *)
 
void nouveau_vm_put (struct nouveau_vma *)
 
void nouveau_vm_map (struct nouveau_vma *, struct nouveau_mem *)
 
void nouveau_vm_map_at (struct nouveau_vma *, u64 offset, struct nouveau_mem *)
 
void nouveau_vm_unmap (struct nouveau_vma *)
 
void nouveau_vm_unmap_at (struct nouveau_vma *, u64 offset, u64 length)
 
void nouveau_vm_map_sg (struct nouveau_vma *, u64 offset, u64 length, struct nouveau_mem *)
 
void nouveau_vm_map_sg_table (struct nouveau_vma *vma, u64 delta, u64 length, struct nouveau_mem *mem)
 

Variables

struct nouveau_oclass nv04_vmmgr_oclass
 
struct nouveau_oclass nv41_vmmgr_oclass
 
struct nouveau_oclass nv44_vmmgr_oclass
 
struct nouveau_oclass nv50_vmmgr_oclass
 
struct nouveau_oclass nvc0_vmmgr_oclass
 

Macro Definition Documentation

#define _nouveau_vmmgr_dtor   _nouveau_subdev_dtor

Definition at line 106 of file vm.h.

#define _nouveau_vmmgr_fini   _nouveau_subdev_fini

Definition at line 108 of file vm.h.

#define _nouveau_vmmgr_init   _nouveau_subdev_init

Definition at line 107 of file vm.h.

#define nouveau_vmmgr_create (   p,
  e,
  o,
  i,
  f,
  d 
)    nouveau_subdev_create((p), (e), (o), 0, (i), (f), (d))

Definition at line 97 of file vm.h.

#define nouveau_vmmgr_destroy (   p)    nouveau_subdev_destroy(&(p)->base)

Definition at line 99 of file vm.h.

#define nouveau_vmmgr_fini (   p,
  s 
)    nouveau_subdev_fini(&(p)->base, (s))

Definition at line 103 of file vm.h.

#define nouveau_vmmgr_init (   p)    nouveau_subdev_init(&(p)->base)

Definition at line 101 of file vm.h.

Function Documentation

int nouveau_vm_create ( struct nouveau_vmmgr ,
u64  offset,
u64  length,
u64  mm_offset,
u32  block,
struct nouveau_vm **   
)

Definition at line 348 of file base.c.

int nouveau_vm_get ( struct nouveau_vm ,
u64  size,
u32  page_shift,
u32  access,
struct nouveau_vma  
)

Definition at line 283 of file base.c.

void nouveau_vm_map ( struct nouveau_vma ,
struct nouveau_mem  
)

Definition at line 76 of file base.c.

void nouveau_vm_map_at ( struct nouveau_vma ,
u64  offset,
struct nouveau_mem  
)

Definition at line 32 of file base.c.

void nouveau_vm_map_sg ( struct nouveau_vma ,
u64  offset,
u64  length,
struct nouveau_mem  
)

Definition at line 140 of file base.c.

void nouveau_vm_map_sg_table ( struct nouveau_vma vma,
u64  delta,
u64  length,
struct nouveau_mem mem 
)

Definition at line 82 of file base.c.

int nouveau_vm_new ( struct nouveau_device ,
u64  offset,
u64  length,
u64  mm_offset,
struct nouveau_vm **   
)

Definition at line 383 of file base.c.

void nouveau_vm_put ( struct nouveau_vma )

Definition at line 330 of file base.c.

int nouveau_vm_ref ( struct nouveau_vm ,
struct nouveau_vm **  ,
struct nouveau_gpuobj pgd 
)

Definition at line 452 of file base.c.

void nouveau_vm_unmap ( struct nouveau_vma )

Definition at line 213 of file base.c.

void nouveau_vm_unmap_at ( struct nouveau_vma ,
u64  offset,
u64  length 
)

Definition at line 178 of file base.c.

int nv04_vm_create ( struct nouveau_vmmgr ,
u64  ,
u64  ,
u64  ,
struct nouveau_vm **   
)

Definition at line 73 of file nv04.c.

void nv04_vmmgr_dtor ( struct nouveau_object )

Definition at line 128 of file nv04.c.

void nv50_vm_flush_engine ( struct nouveau_subdev ,
int  engine 
)

Definition at line 167 of file nv50.c.

void nvc0_vm_flush_engine ( struct nouveau_subdev ,
u64  addr,
int  type 
)

Definition at line 110 of file nvc0.c.

Variable Documentation

struct nouveau_oclass nv04_vmmgr_oclass

Definition at line 143 of file nv04.c.

struct nouveau_oclass nv41_vmmgr_oclass

Definition at line 151 of file nv41.c.

struct nouveau_oclass nv44_vmmgr_oclass

Definition at line 241 of file nv44.c.

struct nouveau_oclass nv50_vmmgr_oclass

Definition at line 219 of file nv50.c.

struct nouveau_oclass nvc0_vmmgr_oclass

Definition at line 181 of file nvc0.c.