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 u8 route; 14 u64 token; 15 16 struct nouveau_handle *parent; 17 struct nouveau_object *object; 18 }; 19 20 int nouveau_handle_create(struct nouveau_object *, u32 parent, u32 handle, 21 struct nouveau_object *, struct nouveau_handle **); 22 void nouveau_handle_destroy(struct nouveau_handle *); 23 int nouveau_handle_init(struct nouveau_handle *); 24 int nouveau_handle_fini(struct nouveau_handle *, bool suspend); 25 26 int nouveau_handle_new(struct nouveau_object *, u32 parent, u32 handle, 27 u16 oclass, void *data, u32 size, 28 struct nouveau_object **); 29 int nouveau_handle_del(struct nouveau_object *, u32 parent, u32 handle); 30 31 struct nouveau_object * 32 nouveau_handle_ref(struct nouveau_object *, u32 name); 33 34 struct nouveau_handle *nouveau_handle_get_class(struct nouveau_object *, u16); 35 struct nouveau_handle *nouveau_handle_get_vinst(struct nouveau_object *, u64); 36 struct nouveau_handle *nouveau_handle_get_cinst(struct nouveau_object *, u32); 37 void nouveau_handle_put(struct nouveau_handle *); 38 39 #endif 40