1#ifndef __NOUVEAU_HANDLE_H__
2#define __NOUVEAU_HANDLE_H__
3
4struct nouveau_handle {
5 struct nouveau_namedb *namedb;
6 struct list_head node;
7
8 struct list_head head;
9 struct list_head tree;
10 u32 name;
11 u32 priv;
12
13 struct nouveau_handle *parent;
14 struct nouveau_object *object;
15};
16
17int nouveau_handle_create(struct nouveau_object *, u32 parent, u32 handle,
18 struct nouveau_object *, struct nouveau_handle **);
19void nouveau_handle_destroy(struct nouveau_handle *);
20int nouveau_handle_init(struct nouveau_handle *);
21int nouveau_handle_fini(struct nouveau_handle *, bool suspend);
22
23struct nouveau_object *
24nouveau_handle_ref(struct nouveau_object *, u32 name);
25
26struct nouveau_handle *nouveau_handle_get_class(struct nouveau_object *, u16);
27struct nouveau_handle *nouveau_handle_get_vinst(struct nouveau_object *, u64);
28struct nouveau_handle *nouveau_handle_get_cinst(struct nouveau_object *, u32);
29void nouveau_handle_put(struct nouveau_handle *);
30
31#endif
32