1 #ifndef __NVKM_UMEM_H__
2 #define __NVKM_UMEM_H__
3 #define nvkm_umem(p) container_of((p), struct nvkm_umem, object)
4 #include <core/object.h>
5 #include "mem.h"
6 
7 struct nvkm_umem {
8 	struct nvkm_object object;
9 	struct nvkm_mmu *mmu;
10 	u8 type:8;
11 	bool priv:1;
12 	bool mappable:1;
13 	bool io:1;
14 
15 	struct nvkm_memory *memory;
16 	struct list_head head;
17 
18 	union {
19 		struct nvkm_vma *bar;
20 		void *map;
21 	};
22 };
23 
24 int nvkm_umem_new(const struct nvkm_oclass *, void *argv, u32 argc,
25 		  struct nvkm_object **);
26 #endif
27