diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2013-02-13 23:37:35 (GMT) |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2013-02-20 06:00:52 (GMT) |
commit | bba9852feedf3d38f963278e07bdd3db622090b9 (patch) | |
tree | a7a62aee22165a817c43caccabf14940bdfdf820 /drivers/gpu/drm/nouveau/nouveau_fence.h | |
parent | a34caf78f26bda63869471cb3f46f354f4658758 (diff) | |
download | linux-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.h | 5 |
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 2324911..f1f0c6d 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 *); |