0001 #ifndef __NVKM_UMEM_H__
0002 #define __NVKM_UMEM_H__
0003 #define nvkm_umem(p) container_of((p), struct nvkm_umem, object)
0004 #include <core/object.h>
0005 #include "mem.h"
0006
0007 struct nvkm_umem {
0008 struct nvkm_object object;
0009 struct nvkm_mmu *mmu;
0010 u8 type:8;
0011 bool mappable:1;
0012 bool io:1;
0013
0014 struct nvkm_memory *memory;
0015 struct list_head head;
0016
0017 union {
0018 struct nvkm_vma *bar;
0019 void *map;
0020 };
0021 };
0022
0023 int nvkm_umem_new(const struct nvkm_oclass *, void *argv, u32 argc,
0024 struct nvkm_object **);
0025 #endif