OSDN Git Service

drm/nouveau: remove unused sysmem fence code
authorBen Skeggs <bskeggs@redhat.com>
Tue, 31 Oct 2017 17:56:19 +0000 (03:56 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Thu, 2 Nov 2017 03:32:20 +0000 (13:32 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nouveau_fence.c
drivers/gpu/drm/nouveau/nouveau_fence.h
drivers/gpu/drm/nouveau/nv84_fence.c

index 99e14e3..3e4412d 100644 (file)
@@ -474,8 +474,6 @@ nouveau_fence_new(struct nouveau_channel *chan, bool sysmem,
        if (!fence)
                return -ENOMEM;
 
-       fence->sysmem = sysmem;
-
        ret = nouveau_fence_emit(fence, chan);
        if (ret)
                nouveau_fence_unref(&fence);
index d5e58a3..28a2135 100644 (file)
@@ -12,8 +12,6 @@ struct nouveau_fence {
 
        struct list_head head;
 
-       bool sysmem;
-
        struct nouveau_channel __rcu *channel;
        unsigned long timeout;
 };
@@ -91,13 +89,11 @@ int nouveau_flip_complete(struct nvif_notify *);
 struct nv84_fence_chan {
        struct nouveau_fence_chan base;
        struct nvkm_vma vma;
-       struct nvkm_vma vma_gart;
 };
 
 struct nv84_fence_priv {
        struct nouveau_fence_priv base;
        struct nouveau_bo *bo;
-       struct nouveau_bo *bo_gart;
        u32 *suspend;
        struct mutex mutex;
 };
index bd7a8a1..e5f6249 100644 (file)
@@ -68,12 +68,7 @@ nv84_fence_emit(struct nouveau_fence *fence)
 {
        struct nouveau_channel *chan = fence->channel;
        struct nv84_fence_chan *fctx = chan->fence;
-       u64 addr = chan->chid * 16;
-
-       if (fence->sysmem)
-               addr += fctx->vma_gart.offset;
-       else
-               addr += fctx->vma.offset;
+       u64 addr = fctx->vma.offset + chan->chid * 16;
 
        return fctx->base.emit32(chan, addr, fence->base.seqno);
 }
@@ -83,12 +78,7 @@ nv84_fence_sync(struct nouveau_fence *fence,
                struct nouveau_channel *prev, struct nouveau_channel *chan)
 {
        struct nv84_fence_chan *fctx = chan->fence;
-       u64 addr = prev->chid * 16;
-
-       if (fence->sysmem)
-               addr += fctx->vma_gart.offset;
-       else
-               addr += fctx->vma.offset;
+       u64 addr = fctx->vma.offset + prev->chid * 16;
 
        return fctx->base.sync32(chan, addr, fence->base.seqno);
 }
@@ -108,7 +98,6 @@ nv84_fence_context_del(struct nouveau_channel *chan)
 
        nouveau_bo_wr32(priv->bo, chan->chid * 16 / 4, fctx->base.sequence);
        mutex_lock(&priv->mutex);
-       nouveau_bo_vma_del(priv->bo, &fctx->vma_gart);
        nouveau_bo_vma_del(priv->bo, &fctx->vma);
        mutex_unlock(&priv->mutex);
        nouveau_fence_context_del(&fctx->base);
@@ -138,10 +127,6 @@ nv84_fence_context_new(struct nouveau_channel *chan)
 
        mutex_lock(&priv->mutex);
        ret = nouveau_bo_vma_add(priv->bo, cli->vm, &fctx->vma);
-       if (ret == 0) {
-               ret = nouveau_bo_vma_add(priv->bo_gart, cli->vm,
-                                       &fctx->vma_gart);
-       }
        mutex_unlock(&priv->mutex);
 
        if (ret)
@@ -182,10 +167,6 @@ static void
 nv84_fence_destroy(struct nouveau_drm *drm)
 {
        struct nv84_fence_priv *priv = drm->fence;
-       nouveau_bo_unmap(priv->bo_gart);
-       if (priv->bo_gart)
-               nouveau_bo_unpin(priv->bo_gart);
-       nouveau_bo_ref(NULL, &priv->bo_gart);
        nouveau_bo_unmap(priv->bo);
        if (priv->bo)
                nouveau_bo_unpin(priv->bo);
@@ -238,21 +219,6 @@ nv84_fence_create(struct nouveau_drm *drm)
                        nouveau_bo_ref(NULL, &priv->bo);
        }
 
-       if (ret == 0)
-               ret = nouveau_bo_new(&drm->client, 16 * priv->base.contexts, 0,
-                                    TTM_PL_FLAG_TT | TTM_PL_FLAG_UNCACHED, 0,
-                                    0, NULL, NULL, &priv->bo_gart);
-       if (ret == 0) {
-               ret = nouveau_bo_pin(priv->bo_gart, TTM_PL_FLAG_TT, false);
-               if (ret == 0) {
-                       ret = nouveau_bo_map(priv->bo_gart);
-                       if (ret)
-                               nouveau_bo_unpin(priv->bo_gart);
-               }
-               if (ret)
-                       nouveau_bo_ref(NULL, &priv->bo_gart);
-       }
-
        if (ret)
                nv84_fence_destroy(drm);
        return ret;