Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / gpu / drm / nouveau / include / nvkm / core / handle.h
1 #ifndef __NVKM_HANDLE_H__
2 #define __NVKM_HANDLE_H__
3 #include <core/os.h>
4 struct nvkm_object;
5
6 struct nvkm_handle {
7         struct nvkm_namedb *namedb;
8         struct list_head node;
9
10         struct list_head head;
11         struct list_head tree;
12         u32 name;
13         u32 priv;
14
15         u8  route;
16         u64 token;
17
18         struct nvkm_handle *parent;
19         struct nvkm_object *object;
20 };
21
22 int  nvkm_handle_create(struct nvkm_object *, u32 parent, u32 handle,
23                         struct nvkm_object *, struct nvkm_handle **);
24 void nvkm_handle_destroy(struct nvkm_handle *);
25 int  nvkm_handle_init(struct nvkm_handle *);
26 int  nvkm_handle_fini(struct nvkm_handle *, bool suspend);
27
28 struct nvkm_object *nvkm_handle_ref(struct nvkm_object *, u32 name);
29
30 struct nvkm_handle *nvkm_handle_get_class(struct nvkm_object *, u16);
31 struct nvkm_handle *nvkm_handle_get_vinst(struct nvkm_object *, u64);
32 struct nvkm_handle *nvkm_handle_get_cinst(struct nvkm_object *, u32);
33 void nvkm_handle_put(struct nvkm_handle *);
34 #endif