aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nvkm/engine/sw/nv50.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/engine/sw/nv50.h')
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/sw/nv50.h46
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
6struct nv50_sw_oclass {
7 struct nouveau_oclass base;
8 struct nouveau_oclass *cclass;
9 struct nouveau_oclass *sclass;
10};
11
12struct nv50_sw_priv {
13 struct nouveau_sw base;
14};
15
16int nv50_sw_ctor(struct nouveau_object *, struct nouveau_object *,
17 struct nouveau_oclass *, void *, u32,
18 struct nouveau_object **);
19
20struct nv50_sw_cclass {
21 struct nouveau_oclass base;
22 int (*vblank)(struct nvkm_notify *);
23};
24
25struct 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
36int nv50_sw_context_ctor(struct nouveau_object *,
37 struct nouveau_object *,
38 struct nouveau_oclass *, void *, u32,
39 struct nouveau_object **);
40void nv50_sw_context_dtor(struct nouveau_object *);
41
42int nv50_sw_mthd_vblsem_value(struct nouveau_object *, u32, void *, u32);
43int nv50_sw_mthd_vblsem_release(struct nouveau_object *, u32, void *, u32);
44int nv50_sw_mthd_flip(struct nouveau_object *, u32, void *, u32);
45
46#endif