summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/compote/compote.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/nouveau/compote/compote.h')
-rw-r--r--drivers/gpu/drm/nouveau/compote/compote.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/compote/compote.h b/drivers/gpu/drm/nouveau/compote/compote.h
index 4d9d2166faf4..0a37d0a1922d 100644
--- a/drivers/gpu/drm/nouveau/compote/compote.h
+++ b/drivers/gpu/drm/nouveau/compote/compote.h
@@ -33,6 +33,8 @@ struct compote_file {
struct compote_device *cdevice;
struct file *file;
struct nouveau_cli nvclient;
+ struct list_head channels;
+ struct rw_semaphore rwsem;
};
struct compote_mo {
@@ -53,9 +55,21 @@ struct compote_mo_va {
const struct vm_operations_struct *ttm_vm_ops;
};
+struct compote_channel {
+ struct list_head list;
+ struct compote_file *cfile;
+ struct nouveau_channel *nvchan;
+ struct kref kref;
+};
+
long compote_ioctl_mem_alloc(struct compote_file *cfile, void __user *uarg);
long compote_ioctl_mem_free(struct compote_file *cfile, void __user *uarg);
+int compote_ioctl_channel_alloc(struct compote_file *cfile, void __user *uarg);
+int compote_ioctl_channel_free(struct compote_file *cfile, void __user *uarg);
+void compote_channel_ref(struct compote_channel *channel);
+void compote_channel_unref(struct compote_channel *channel);
+
void compote_mo_ref(struct compote_mo *mo);
void compote_mo_unref(struct compote_mo *mo);
int compote_mo_mmap(struct compote_file *cfile,