xref: /openbmc/linux/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/mem.h (revision 664b0bae0b87f69bc9deb098f5e0158b9cf18e04)
1eaf1a691SBen Skeggs #ifndef __NVKM_MEM_H__
2eaf1a691SBen Skeggs #define __NVKM_MEM_H__
3eaf1a691SBen Skeggs #include "priv.h"
4eaf1a691SBen Skeggs 
5eaf1a691SBen Skeggs int nvkm_mem_new_type(struct nvkm_mmu *, int type, u8 page, u64 size,
6eaf1a691SBen Skeggs 		      void *argv, u32 argc, struct nvkm_memory **);
7eaf1a691SBen Skeggs int nvkm_mem_map_host(struct nvkm_memory *, void **pmap);
8957e18a7SBen Skeggs 
9957e18a7SBen Skeggs int nv04_mem_new(struct nvkm_mmu *, int, u8, u64, void *, u32,
10957e18a7SBen Skeggs 		 struct nvkm_memory **);
11957e18a7SBen Skeggs int nv04_mem_map(struct nvkm_mmu *, struct nvkm_memory *, void *, u32,
12957e18a7SBen Skeggs 		 u64 *, u64 *, struct nvkm_vma **);
1307661161SBen Skeggs 
1407661161SBen Skeggs int nv50_mem_new(struct nvkm_mmu *, int, u8, u64, void *, u32,
1507661161SBen Skeggs 		 struct nvkm_memory **);
1607661161SBen Skeggs int nv50_mem_map(struct nvkm_mmu *, struct nvkm_memory *, void *, u32,
1707661161SBen Skeggs 		 u64 *, u64 *, struct nvkm_vma **);
18*68af607dSBen Skeggs 
19*68af607dSBen Skeggs int gf100_mem_new(struct nvkm_mmu *, int, u8, u64, void *, u32,
20*68af607dSBen Skeggs 		  struct nvkm_memory **);
21*68af607dSBen Skeggs int gf100_mem_map(struct nvkm_mmu *, struct nvkm_memory *, void *, u32,
22*68af607dSBen Skeggs 		  u64 *, u64 *, struct nvkm_vma **);
23eaf1a691SBen Skeggs #endif
24