| 1 | #ifndef __NOUVEAU_HANDLE_H__ |
|---|---|
| 2 | #define __NOUVEAU_HANDLE_H__ |
| 3 | |
| 4 | struct 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 | |
| 17 | int nouveau_handle_create(struct nouveau_object *, u32 parent, u32 handle, |
| 18 | struct nouveau_object *, struct nouveau_handle **); |
| 19 | void nouveau_handle_destroy(struct nouveau_handle *); |
| 20 | int nouveau_handle_init(struct nouveau_handle *); |
| 21 | int nouveau_handle_fini(struct nouveau_handle *, bool suspend); |
| 22 | |
| 23 | struct nouveau_object * |
| 24 | nouveau_handle_ref(struct nouveau_object *, u32 name); |
| 25 | |
| 26 | struct nouveau_handle *nouveau_handle_get_class(struct nouveau_object *, u16); |
| 27 | struct nouveau_handle *nouveau_handle_get_vinst(struct nouveau_object *, u64); |
| 28 | struct nouveau_handle *nouveau_handle_get_cinst(struct nouveau_object *, u32); |
| 29 | void nouveau_handle_put(struct nouveau_handle *); |
| 30 | |
| 31 | #endif |
| 32 |