blob: 363674cdf8ab9c86f18783d2de91edd6cebeae6a [file] [log] [blame]
#ifndef __NOUVEAU_HANDLE_H__
#define __NOUVEAU_HANDLE_H__
struct nouveau_handle {
struct nouveau_namedb *namedb;
struct list_head node;
struct list_head head;
struct list_head tree;
u32 name;
u32 priv;
struct nouveau_handle *parent;
struct nouveau_object *object;
};
int nouveau_handle_create(struct nouveau_object *, u32 parent, u32 handle,
struct nouveau_object *, struct nouveau_handle **);
void nouveau_handle_destroy(struct nouveau_handle *);
int nouveau_handle_init(struct nouveau_handle *);
int nouveau_handle_fini(struct nouveau_handle *, bool suspend);
struct nouveau_object *
nouveau_handle_ref(struct nouveau_object *, u32 name);
struct nouveau_handle *nouveau_handle_get_class(struct nouveau_object *, u16);
struct nouveau_handle *nouveau_handle_get_vinst(struct nouveau_object *, u64);
struct nouveau_handle *nouveau_handle_get_cinst(struct nouveau_object *, u32);
void nouveau_handle_put(struct nouveau_handle *);
#endif