drm/nouveau/flcn/msgq: drop nvkm_msgqueue argument to functions
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:29 +0000 (10:50 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nvkm/falcon/msgq.c

index 7fdd81b..1c7dab8 100644 (file)
 #include "qmgr.h"
 
 static void
-msg_queue_open(struct nvkm_msgqueue *priv, struct nvkm_msgqueue_queue *queue)
+msg_queue_open(struct nvkm_msgqueue_queue *queue)
 {
-       struct nvkm_falcon *falcon = priv->falcon;
        mutex_lock(&queue->mutex);
-       queue->position = nvkm_falcon_rd32(falcon, queue->tail_reg);
+       queue->position = nvkm_falcon_rd32(queue->qmgr->falcon, queue->tail_reg);
 }
 
 static void
-msg_queue_close(struct nvkm_msgqueue *priv, struct nvkm_msgqueue_queue *queue,
-               bool commit)
+msg_queue_close(struct nvkm_msgqueue_queue *queue, bool commit)
 {
-       struct nvkm_falcon *falcon = priv->falcon;
+       struct nvkm_falcon *falcon = queue->qmgr->falcon;
 
        if (commit)
                nvkm_falcon_wr32(falcon, queue->tail_reg, queue->position);
@@ -43,19 +41,17 @@ msg_queue_close(struct nvkm_msgqueue *priv, struct nvkm_msgqueue_queue *queue,
 }
 
 static bool
-msg_queue_empty(struct nvkm_msgqueue *priv, struct nvkm_msgqueue_queue *queue)
+msg_queue_empty(struct nvkm_msgqueue_queue *queue)
 {
-       struct nvkm_falcon *falcon = priv->falcon;
-       u32 head = nvkm_falcon_rd32(falcon, queue->head_reg);
-       u32 tail = nvkm_falcon_rd32(falcon, queue->tail_reg);
+       u32 head = nvkm_falcon_rd32(queue->qmgr->falcon, queue->head_reg);
+       u32 tail = nvkm_falcon_rd32(queue->qmgr->falcon, queue->tail_reg);
        return head == tail;
 }
 
 static int
-msg_queue_pop(struct nvkm_msgqueue *priv, struct nvkm_msgqueue_queue *queue,
-             void *data, u32 size)
+msg_queue_pop(struct nvkm_msgqueue_queue *queue, void *data, u32 size)
 {
-       struct nvkm_falcon *falcon = priv->falcon;
+       struct nvkm_falcon *falcon = queue->qmgr->falcon;
        u32 head, tail, available;
 
        head = nvkm_falcon_rd32(falcon, queue->head_reg);
@@ -72,23 +68,22 @@ msg_queue_pop(struct nvkm_msgqueue *priv, struct nvkm_msgqueue_queue *queue,
                return -EINVAL;
        }
 
-       nvkm_falcon_read_dmem(priv->falcon, tail, size, 0, data);
+       nvkm_falcon_read_dmem(falcon, tail, size, 0, data);
        queue->position += ALIGN(size, QUEUE_ALIGNMENT);
        return 0;
 }
 
 static int
-msg_queue_read(struct nvkm_msgqueue *priv, struct nvkm_msgqueue_queue *queue,
-              struct nv_falcon_msg *hdr)
+msg_queue_read(struct nvkm_msgqueue_queue *queue, struct nv_falcon_msg *hdr)
 {
        int ret = 0;
 
-       msg_queue_open(priv, queue);
+       msg_queue_open(queue);
 
-       if (msg_queue_empty(priv, queue))
+       if (msg_queue_empty(queue))
                goto close;
 
-       ret = msg_queue_pop(priv, queue, hdr, HDR_SIZE);
+       ret = msg_queue_pop(queue, hdr, HDR_SIZE);
        if (ret) {
                FLCNQ_ERR(queue, "failed to read message header");
                goto close;
@@ -103,7 +98,7 @@ msg_queue_read(struct nvkm_msgqueue *priv, struct nvkm_msgqueue_queue *queue,
        if (hdr->size > HDR_SIZE) {
                u32 read_size = hdr->size - HDR_SIZE;
 
-               ret = msg_queue_pop(priv, queue, (hdr + 1), read_size);
+               ret = msg_queue_pop(queue, (hdr + 1), read_size);
                if (ret) {
                        FLCNQ_ERR(queue, "failed to read message data");
                        goto close;
@@ -112,14 +107,12 @@ msg_queue_read(struct nvkm_msgqueue *priv, struct nvkm_msgqueue_queue *queue,
 
        ret = 1;
 close:
-       msg_queue_close(priv, queue, (ret >= 0));
+       msg_queue_close(queue, (ret >= 0));
        return ret;
 }
 
 static int
-msgqueue_msg_handle(struct nvkm_msgqueue *priv,
-                   struct nvkm_falcon_msgq *msgq,
-                   struct nv_falcon_msg *hdr)
+msgqueue_msg_handle(struct nvkm_falcon_msgq *msgq, struct nv_falcon_msg *hdr)
 {
        struct nvkm_falcon_qmgr_seq *seq;
 
@@ -197,8 +190,8 @@ nvkm_msgqueue_process_msgs(struct nvkm_msgqueue *priv,
                if (!ret)
                        priv->init_msg_received = true;
        } else {
-               while (msg_queue_read(priv, queue, hdr) > 0)
-                       msgqueue_msg_handle(priv, queue, hdr);
+               while (msg_queue_read(queue, hdr) > 0)
+                       msgqueue_msg_handle(queue, hdr);
        }
 }