summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/nouveau_fence.h
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2013-02-14 03:37:35 +0400
committerBen Skeggs <bskeggs@redhat.com>2013-02-20 10:00:52 +0400
commitbba9852feedf3d38f963278e07bdd3db622090b9 (patch)
treea7a62aee22165a817c43caccabf14940bdfdf820 /drivers/gpu/drm/nouveau/nouveau_fence.h
parenta34caf78f26bda63869471cb3f46f354f4658758 (diff)
downloadlinux-bba9852feedf3d38f963278e07bdd3db622090b9.tar.xz
drm/nv84-/fence: abstract class emit/sync functions to virt+sequence
Now can be used to operate on any buffer mapped into the GPU virtual address and not just the main inter-channel sync buffer. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_fence.h')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_fence.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_fence.h b/drivers/gpu/drm/nouveau/nouveau_fence.h
index 2324911fc4c3..f1f0c6dfc3e8 100644
--- a/drivers/gpu/drm/nouveau/nouveau_fence.h
+++ b/drivers/gpu/drm/nouveau/nouveau_fence.h
@@ -39,7 +39,9 @@ struct nouveau_fence_priv {
void (*resume)(struct nouveau_drm *);
int (*context_new)(struct nouveau_channel *);
void (*context_del)(struct nouveau_channel *);
+ int (*emit32)(struct nouveau_channel *, u64, u32);
int (*emit)(struct nouveau_fence *);
+ int (*sync32)(struct nouveau_channel *, u64, u32);
int (*sync)(struct nouveau_fence *, struct nouveau_channel *,
struct nouveau_channel *);
u32 (*read)(struct nouveau_channel *);
@@ -84,6 +86,9 @@ struct nv84_fence_priv {
};
u64 nv84_fence_crtc(struct nouveau_channel *, int);
+int nv84_fence_emit(struct nouveau_fence *);
+int nv84_fence_sync(struct nouveau_fence *, struct nouveau_channel *,
+ struct nouveau_channel *);
u32 nv84_fence_read(struct nouveau_channel *);
int nv84_fence_context_new(struct nouveau_channel *);
void nv84_fence_context_del(struct nouveau_channel *);