OSDN Git Service

drm/nouveau/flcn/cmdq: cmd_queue_close always commits, simplify it
authorBen Skeggs <bskeggs@redhat.com>
Tue, 14 Jan 2020 20:34:22 +0000 (06:34 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Wed, 15 Jan 2020 00:50:28 +0000 (10:50 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nvkm/falcon/cmdq.c

index b91971e..13e6e30 100644 (file)
@@ -97,14 +97,9 @@ cmd_queue_open(struct nvkm_msgqueue *priv, struct nvkm_msgqueue_queue *queue,
 }
 
 static void
-cmd_queue_close(struct nvkm_msgqueue *priv, struct nvkm_msgqueue_queue *queue,
-               bool commit)
+cmd_queue_close(struct nvkm_msgqueue *priv, struct nvkm_msgqueue_queue *queue)
 {
-       struct nvkm_falcon *falcon = priv->falcon;
-
-       if (commit)
-               nvkm_falcon_wr32(falcon, queue->head_reg, queue->position);
-
+       nvkm_falcon_wr32(queue->qmgr->falcon, queue->head_reg, queue->position);
        mutex_unlock(&queue->mutex);
 }
 
@@ -116,7 +111,6 @@ cmd_write(struct nvkm_msgqueue *priv, struct nvkm_msgqueue_hdr *cmd,
        static unsigned timeout = 2000;
        unsigned long end_jiffies = jiffies + msecs_to_jiffies(timeout);
        int ret = -EAGAIN;
-       bool commit = true;
 
        while (ret == -EAGAIN && time_before(jiffies, end_jiffies))
                ret = cmd_queue_open(priv, queue, cmd->size);
@@ -126,7 +120,7 @@ cmd_write(struct nvkm_msgqueue *priv, struct nvkm_msgqueue_hdr *cmd,
        }
 
        cmd_queue_push(priv, queue, cmd, cmd->size);
-       cmd_queue_close(priv, queue, commit);
+       cmd_queue_close(priv, queue);
        return ret;
 }