diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2013-02-14 13:43:21 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2013-02-20 16:00:53 +1000 |
commit | 264ce192b3e7f45d0adb37bfbab2b01a3fbe6c30 (patch) | |
tree | 68ba7f61bc07f54378e562ce385f60dc814b4fad /drivers/gpu/drm/nouveau/nouveau_fence.h | |
parent | 827520ce06568f699dad275dcca61647cce08757 (diff) |
drm/nv84-/fence: prepare for emit/sync support of sysram sequences
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 | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_fence.h b/drivers/gpu/drm/nouveau/nouveau_fence.h index a5c47e348e22..c89943407b52 100644 --- a/drivers/gpu/drm/nouveau/nouveau_fence.h +++ b/drivers/gpu/drm/nouveau/nouveau_fence.h @@ -7,15 +7,15 @@ struct nouveau_fence { struct list_head head; struct kref kref; + bool sysmem; + struct nouveau_channel *channel; unsigned long timeout; u32 sequence; - - void (*work)(void *priv, bool signalled); - void *priv; }; -int nouveau_fence_new(struct nouveau_channel *, struct nouveau_fence **); +int nouveau_fence_new(struct nouveau_channel *, bool sysmem, + struct nouveau_fence **); struct nouveau_fence * nouveau_fence_ref(struct nouveau_fence *); void nouveau_fence_unref(struct nouveau_fence **); @@ -79,24 +79,18 @@ int nouveau_flip_complete(void *chan); struct nv84_fence_chan { struct nouveau_fence_chan base; struct nouveau_vma vma; + struct nouveau_vma vma_gart; struct nouveau_vma dispc_vma[4]; }; struct nv84_fence_priv { struct nouveau_fence_priv base; struct nouveau_bo *bo; + struct nouveau_bo *bo_gart; u32 *suspend; }; 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 *); -bool nv84_fence_suspend(struct nouveau_drm *); -void nv84_fence_resume(struct nouveau_drm *); -void nv84_fence_destroy(struct nouveau_drm *); #endif |