aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_abi16.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_abi16.h')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_abi16.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_abi16.h b/drivers/gpu/drm/nouveau/nouveau_abi16.h
index e6328b008a8c..90004081a501 100644
--- a/drivers/gpu/drm/nouveau/nouveau_abi16.h
+++ b/drivers/gpu/drm/nouveau/nouveau_abi16.h
@@ -3,6 +3,7 @@
3 3
4#define ABI16_IOCTL_ARGS \ 4#define ABI16_IOCTL_ARGS \
5 struct drm_device *dev, void *data, struct drm_file *file_priv 5 struct drm_device *dev, void *data, struct drm_file *file_priv
6
6int nouveau_abi16_ioctl_getparam(ABI16_IOCTL_ARGS); 7int nouveau_abi16_ioctl_getparam(ABI16_IOCTL_ARGS);
7int nouveau_abi16_ioctl_setparam(ABI16_IOCTL_ARGS); 8int nouveau_abi16_ioctl_setparam(ABI16_IOCTL_ARGS);
8int nouveau_abi16_ioctl_channel_alloc(ABI16_IOCTL_ARGS); 9int nouveau_abi16_ioctl_channel_alloc(ABI16_IOCTL_ARGS);
@@ -11,6 +12,37 @@ int nouveau_abi16_ioctl_grobj_alloc(ABI16_IOCTL_ARGS);
11int nouveau_abi16_ioctl_notifierobj_alloc(ABI16_IOCTL_ARGS); 12int nouveau_abi16_ioctl_notifierobj_alloc(ABI16_IOCTL_ARGS);
12int nouveau_abi16_ioctl_gpuobj_free(ABI16_IOCTL_ARGS); 13int nouveau_abi16_ioctl_gpuobj_free(ABI16_IOCTL_ARGS);
13 14
15struct nouveau_abi16_ntfy {
16 struct list_head head;
17 struct nouveau_mm_node *node;
18 u32 handle;
19};
20
21struct nouveau_abi16_chan {
22 struct list_head head;
23 struct nouveau_channel *chan;
24 struct list_head notifiers;
25 struct nouveau_bo *ntfy;
26 struct nouveau_vma ntfy_vma;
27 struct nouveau_mm heap;
28};
29
30struct nouveau_abi16 {
31 struct nouveau_object *client;
32 struct nouveau_object *device;
33 struct list_head channels;
34 u64 handles;
35};
36
37struct nouveau_drm;
38struct nouveau_abi16 *nouveau_abi16_get(struct drm_file *, struct drm_device *);
39int nouveau_abi16_put(struct nouveau_abi16 *, int);
40void nouveau_abi16_fini(struct nouveau_abi16 *);
41u16 nouveau_abi16_swclass(struct nouveau_drm *);
42
43#define NOUVEAU_GEM_DOMAIN_VRAM (1 << 1)
44#define NOUVEAU_GEM_DOMAIN_GART (1 << 2)
45
14struct drm_nouveau_channel_alloc { 46struct drm_nouveau_channel_alloc {
15 uint32_t fb_ctxdma_handle; 47 uint32_t fb_ctxdma_handle;
16 uint32_t tt_ctxdma_handle; 48 uint32_t tt_ctxdma_handle;