67
67
void (*map_pgt)(struct nouveau_gpuobj *pgd, u32 pde,
68
68
struct nouveau_gpuobj *pgt[2]);
69
69
void (*map)(struct nouveau_vma *, struct nouveau_gpuobj *,
70
struct nouveau_vram *, u32 pte, u32 cnt, u64 phys);
70
struct nouveau_mem *, u32 pte, u32 cnt,
71
72
void (*map_sg)(struct nouveau_vma *, struct nouveau_gpuobj *,
72
u32 pte, dma_addr_t *, u32 cnt);
73
struct nouveau_mem *, u32 pte, u32 cnt, dma_addr_t *);
73
74
void (*unmap)(struct nouveau_gpuobj *pgt, u32 pte, u32 cnt);
74
75
void (*flush)(struct nouveau_vm *);
82
83
int nouveau_vm_get(struct nouveau_vm *, u64 size, u32 page_shift,
83
84
u32 access, struct nouveau_vma *);
84
85
void nouveau_vm_put(struct nouveau_vma *);
85
void nouveau_vm_map(struct nouveau_vma *, struct nouveau_vram *);
86
void nouveau_vm_map_at(struct nouveau_vma *, u64 offset, struct nouveau_vram *);
86
void nouveau_vm_map(struct nouveau_vma *, struct nouveau_mem *);
87
void nouveau_vm_map_at(struct nouveau_vma *, u64 offset, struct nouveau_mem *);
87
88
void nouveau_vm_unmap(struct nouveau_vma *);
88
89
void nouveau_vm_unmap_at(struct nouveau_vma *, u64 offset, u64 length);
89
90
void nouveau_vm_map_sg(struct nouveau_vma *, u64 offset, u64 length,
91
struct nouveau_mem *, dma_addr_t *);
93
94
void nv50_vm_map_pgt(struct nouveau_gpuobj *pgd, u32 pde,
94
95
struct nouveau_gpuobj *pgt[2]);
95
96
void nv50_vm_map(struct nouveau_vma *, struct nouveau_gpuobj *,
96
struct nouveau_vram *, u32 pte, u32 cnt, u64 phys);
97
struct nouveau_mem *, u32 pte, u32 cnt, u64 phys, u64 delta);
97
98
void nv50_vm_map_sg(struct nouveau_vma *, struct nouveau_gpuobj *,
98
u32 pte, dma_addr_t *, u32 cnt);
99
struct nouveau_mem *, u32 pte, u32 cnt, dma_addr_t *);
99
100
void nv50_vm_unmap(struct nouveau_gpuobj *, u32 pte, u32 cnt);
100
101
void nv50_vm_flush(struct nouveau_vm *);
101
102
void nv50_vm_flush_engine(struct drm_device *, int engine);
104
105
void nvc0_vm_map_pgt(struct nouveau_gpuobj *pgd, u32 pde,
105
106
struct nouveau_gpuobj *pgt[2]);
106
107
void nvc0_vm_map(struct nouveau_vma *, struct nouveau_gpuobj *,
107
struct nouveau_vram *, u32 pte, u32 cnt, u64 phys);
108
struct nouveau_mem *, u32 pte, u32 cnt, u64 phys, u64 delta);
108
109
void nvc0_vm_map_sg(struct nouveau_vma *, struct nouveau_gpuobj *,
109
u32 pte, dma_addr_t *, u32 cnt);
110
struct nouveau_mem *, u32 pte, u32 cnt, dma_addr_t *);
110
111
void nvc0_vm_unmap(struct nouveau_gpuobj *, u32 pte, u32 cnt);
111
112
void nvc0_vm_flush(struct nouveau_vm *);