diff options
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/engine/sw/nv50.h')
-rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/engine/sw/nv50.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/sw/nv50.h b/drivers/gpu/drm/nouveau/nvkm/engine/sw/nv50.h new file mode 100644 index 000000000000..618e41fa36d0 --- /dev/null +++ b/drivers/gpu/drm/nouveau/nvkm/engine/sw/nv50.h | |||
@@ -0,0 +1,46 @@ | |||
1 | #ifndef __NVKM_SW_NV50_H__ | ||
2 | #define __NVKM_SW_NV50_H__ | ||
3 | |||
4 | #include <engine/sw.h> | ||
5 | |||
6 | struct nv50_sw_oclass { | ||
7 | struct nouveau_oclass base; | ||
8 | struct nouveau_oclass *cclass; | ||
9 | struct nouveau_oclass *sclass; | ||
10 | }; | ||
11 | |||
12 | struct nv50_sw_priv { | ||
13 | struct nouveau_sw base; | ||
14 | }; | ||
15 | |||
16 | int nv50_sw_ctor(struct nouveau_object *, struct nouveau_object *, | ||
17 | struct nouveau_oclass *, void *, u32, | ||
18 | struct nouveau_object **); | ||
19 | |||
20 | struct nv50_sw_cclass { | ||
21 | struct nouveau_oclass base; | ||
22 | int (*vblank)(struct nvkm_notify *); | ||
23 | }; | ||
24 | |||
25 | struct nv50_sw_chan { | ||
26 | struct nouveau_sw_chan base; | ||
27 | struct { | ||
28 | struct nvkm_notify notify[4]; | ||
29 | u32 channel; | ||
30 | u32 ctxdma; | ||
31 | u64 offset; | ||
32 | u32 value; | ||
33 | } vblank; | ||
34 | }; | ||
35 | |||
36 | int nv50_sw_context_ctor(struct nouveau_object *, | ||
37 | struct nouveau_object *, | ||
38 | struct nouveau_oclass *, void *, u32, | ||
39 | struct nouveau_object **); | ||
40 | void nv50_sw_context_dtor(struct nouveau_object *); | ||
41 | |||
42 | int nv50_sw_mthd_vblsem_value(struct nouveau_object *, u32, void *, u32); | ||
43 | int nv50_sw_mthd_vblsem_release(struct nouveau_object *, u32, void *, u32); | ||
44 | int nv50_sw_mthd_flip(struct nouveau_object *, u32, void *, u32); | ||
45 | |||
46 | #endif | ||