GNU Linux-libre 4.19.245-gnu1
[releases.git] / drivers / gpu / drm / nouveau / nvkm / subdev / mmu / umem.h
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