Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
object.h File Reference
#include <core/os.h>
#include <core/printk.h>

Go to the source code of this file.

Data Structures

struct  nouveau_object
 
struct  nouveau_oclass
 
struct  nouveau_omthds
 
struct  nouveau_ofuncs
 

Macros

#define NV_PARENT_CLASS   0x80000000
 
#define NV_NAMEDB_CLASS   0x40000000
 
#define NV_CLIENT_CLASS   0x20000000
 
#define NV_SUBDEV_CLASS   0x10000000
 
#define NV_ENGINE_CLASS   0x08000000
 
#define NV_MEMOBJ_CLASS   0x04000000
 
#define NV_GPUOBJ_CLASS   0x02000000
 
#define NV_ENGCTX_CLASS   0x01000000
 
#define NV_OBJECT_CLASS   0x0000ffff
 
#define NOUVEAU_OBJECT_MAGIC   0x75ef0bad
 
#define nouveau_object_create(p, e, c, s, d)   nouveau_object_create_((p), (e), (c), (s), sizeof(**d), (void **)d)
 
#define nv_oclass(o)   nv_object(o)->oclass
 
#define nv_hclass(o)   nv_oclass(o)->handle
 
#define nv_iclass(o, i)   (nv_hclass(o) & (i))
 
#define nv_mclass(o)   nv_iclass(o, NV_OBJECT_CLASS)
 

Functions

int nouveau_object_create_ (struct nouveau_object *, struct nouveau_object *, struct nouveau_oclass *, u32, int size, void **)
 
void nouveau_object_destroy (struct nouveau_object *)
 
int nouveau_object_init (struct nouveau_object *)
 
int nouveau_object_fini (struct nouveau_object *, bool suspend)
 
int nouveau_object_ctor (struct nouveau_object *, struct nouveau_object *, struct nouveau_oclass *, void *, u32, struct nouveau_object **)
 
void nouveau_object_ref (struct nouveau_object *, struct nouveau_object **)
 
int nouveau_object_inc (struct nouveau_object *)
 
int nouveau_object_dec (struct nouveau_object *, bool suspend)
 
int nouveau_object_new (struct nouveau_object *, u32 parent, u32 handle, u16 oclass, void *data, u32 size, struct nouveau_object **)
 
int nouveau_object_del (struct nouveau_object *, u32 parent, u32 handle)
 
void nouveau_object_debug (void)
 

Variables

struct nouveau_ofuncs nouveau_object_ofuncs
 

Macro Definition Documentation

#define nouveau_object_create (   p,
  e,
  c,
  s,
  d 
)    nouveau_object_create_((p), (e), (c), (s), sizeof(**d), (void **)d)

Definition at line 43 of file object.h.

#define NOUVEAU_OBJECT_MAGIC   0x75ef0bad

Definition at line 24 of file object.h.

#define NV_CLIENT_CLASS   0x20000000

Definition at line 9 of file object.h.

#define NV_ENGCTX_CLASS   0x01000000

Definition at line 14 of file object.h.

#define NV_ENGINE_CLASS   0x08000000

Definition at line 11 of file object.h.

#define NV_GPUOBJ_CLASS   0x02000000

Definition at line 13 of file object.h.

#define nv_hclass (   o)    nv_oclass(o)->handle

Definition at line 60 of file object.h.

#define nv_iclass (   o,
  i 
)    (nv_hclass(o) & (i))

Definition at line 61 of file object.h.

#define nv_mclass (   o)    nv_iclass(o, NV_OBJECT_CLASS)

Definition at line 62 of file object.h.

#define NV_MEMOBJ_CLASS   0x04000000

Definition at line 12 of file object.h.

#define NV_NAMEDB_CLASS   0x40000000

Definition at line 8 of file object.h.

#define NV_OBJECT_CLASS   0x0000ffff

Definition at line 15 of file object.h.

#define nv_oclass (   o)    nv_object(o)->oclass

Definition at line 59 of file object.h.

#define NV_PARENT_CLASS   0x80000000

Definition at line 7 of file object.h.

#define NV_SUBDEV_CLASS   0x10000000

Definition at line 10 of file object.h.

Function Documentation

int nouveau_object_create_ ( struct nouveau_object ,
struct nouveau_object ,
struct nouveau_oclass ,
u32  ,
int  size,
void **   
)

Definition at line 37 of file object.c.

int nouveau_object_ctor ( struct nouveau_object ,
struct nouveau_object ,
struct nouveau_oclass ,
void ,
u32  ,
struct nouveau_object **   
)

Definition at line 133 of file object.c.

void nouveau_object_debug ( void  )

Definition at line 452 of file object.c.

int nouveau_object_dec ( struct nouveau_object ,
bool  suspend 
)

Definition at line 429 of file object.c.

int nouveau_object_del ( struct nouveau_object ,
u32  parent,
u32  handle 
)

Definition at line 276 of file object.c.

void nouveau_object_destroy ( struct nouveau_object )

Definition at line 82 of file object.c.

int nouveau_object_fini ( struct nouveau_object ,
bool  suspend 
)

Definition at line 113 of file object.c.

int nouveau_object_inc ( struct nouveau_object )

Definition at line 302 of file object.c.

int nouveau_object_init ( struct nouveau_object )

Definition at line 101 of file object.c.

int nouveau_object_new ( struct nouveau_object ,
u32  parent,
u32  handle,
u16  oclass,
void data,
u32  size,
struct nouveau_object **   
)

Definition at line 188 of file object.c.

void nouveau_object_ref ( struct nouveau_object ,
struct nouveau_object **   
)

Definition at line 170 of file object.c.

Variable Documentation

struct nouveau_ofuncs nouveau_object_ofuncs

Definition at line 125 of file object.c.