Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
software.h
Go to the documentation of this file.
1 #ifndef __NOUVEAU_SOFTWARE_H__
2 #define __NOUVEAU_SOFTWARE_H__
3 
4 #include <core/engine.h>
5 #include <core/engctx.h>
6 
9 
10  struct {
11  struct list_head head;
17  } vblank;
18 
19  int (*flip)(void *);
20  void *flip_data;
21 };
22 
23 #define nouveau_software_context_create(p,e,c,d) \
24  nouveau_engctx_create((p), (e), (c), (p), 0, 0, 0, (d))
25 #define nouveau_software_context_destroy(d) \
26  nouveau_engctx_destroy(&(d)->base)
27 #define nouveau_software_context_init(d) \
28  nouveau_engctx_init(&(d)->base)
29 #define nouveau_software_context_fini(d,s) \
30  nouveau_engctx_fini(&(d)->base, (s))
31 
32 #define _nouveau_software_context_dtor _nouveau_engctx_dtor
33 #define _nouveau_software_context_init _nouveau_engctx_init
34 #define _nouveau_software_context_fini _nouveau_engctx_fini
35 
38 };
39 
40 #define nouveau_software_create(p,e,c,d) \
41  nouveau_engine_create((p), (e), (c), true, "SW", "software", (d))
42 #define nouveau_software_destroy(d) \
43  nouveau_engine_destroy(&(d)->base)
44 #define nouveau_software_init(d) \
45  nouveau_engine_init(&(d)->base)
46 #define nouveau_software_fini(d,s) \
47  nouveau_engine_fini(&(d)->base, (s))
48 
49 #define _nouveau_software_dtor _nouveau_engine_dtor
50 #define _nouveau_software_init _nouveau_engine_init
51 #define _nouveau_software_fini _nouveau_engine_fini
52 
57 
58 void nv04_software_intr(struct nouveau_subdev *);
59 
60 #endif