Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
dmaobj.h
Go to the documentation of this file.
1 #ifndef __NOUVEAU_DMAOBJ_H__
2 #define __NOUVEAU_DMAOBJ_H__
3 
4 #include <core/object.h>
5 #include <core/engine.h>
6 
7 struct nouveau_gpuobj;
8 
9 struct nouveau_dmaobj {
15 };
16 
17 #define nouveau_dmaobj_create(p,e,c,a,s,d) \
18  nouveau_dmaobj_create_((p), (e), (c), (a), (s), sizeof(**d), (void **)d)
19 #define nouveau_dmaobj_destroy(p) \
20  nouveau_object_destroy(&(p)->base)
21 #define nouveau_dmaobj_init(p) \
22  nouveau_object_init(&(p)->base)
23 #define nouveau_dmaobj_fini(p,s) \
24  nouveau_object_fini(&(p)->base, (s))
25 
27  struct nouveau_oclass *, void *data, u32 size,
28  int length, void **);
29 
30 #define _nouveau_dmaobj_dtor nouveau_object_destroy
31 #define _nouveau_dmaobj_init nouveau_object_init
32 #define _nouveau_dmaobj_fini nouveau_object_fini
33 
37  struct nouveau_dmaobj *, struct nouveau_gpuobj **);
38 };
39 
40 #define nouveau_dmaeng_create(p,e,c,d) \
41  nouveau_engine_create((p), (e), (c), true, "DMAOBJ", "dmaobj", (d))
42 #define nouveau_dmaeng_destroy(p) \
43  nouveau_engine_destroy(&(p)->base)
44 #define nouveau_dmaeng_init(p) \
45  nouveau_engine_init(&(p)->base)
46 #define nouveau_dmaeng_fini(p,s) \
47  nouveau_engine_fini(&(p)->base, (s))
48 
49 #define _nouveau_dmaeng_dtor _nouveau_engine_dtor
50 #define _nouveau_dmaeng_init _nouveau_engine_init
51 #define _nouveau_dmaeng_fini _nouveau_engine_fini
52 
56 
57 #endif