Commit e1cc5798 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/flcn/msgq: pass explicit message queue pointer to recv()



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent d114a139
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -73,4 +73,5 @@ void nvkm_falcon_msgq_del(struct nvkm_falcon_msgq **);
void nvkm_falcon_msgq_init(struct nvkm_falcon_msgq *,
			   u32 index, u32 offset, u32 size);
int nvkm_falcon_msgq_recv_initmsg(struct nvkm_falcon_msgq *, void *, u32 size);
void nvkm_falcon_msgq_recv(struct nvkm_falcon_msgq *);
#endif
+0 −1
Original line number Diff line number Diff line
@@ -31,7 +31,6 @@ struct nvkm_msgqueue;
int nvkm_msgqueue_new(u32, struct nvkm_falcon *, const struct nvkm_secboot *,
		      struct nvkm_msgqueue **);
void nvkm_msgqueue_del(struct nvkm_msgqueue **);
void nvkm_msgqueue_recv(struct nvkm_msgqueue *);

/* useful if we run a NVIDIA-signed firmware */
void nvkm_msgqueue_write_cmdline(struct nvkm_msgqueue *, void *);
+1 −7
Original line number Diff line number Diff line
@@ -41,13 +41,7 @@ nvkm_sec2_recv(struct work_struct *work)
		sec2->initmsg_received = true;
	}

	if (!sec2->queue) {
		nvkm_warn(&sec2->engine.subdev,
			  "recv function called while no firmware set!\n");
		return;
	}

	nvkm_msgqueue_recv(sec2->queue);
	nvkm_falcon_msgq_recv(sec2->msgq);
}

static void
+1 −2
Original line number Diff line number Diff line
@@ -160,8 +160,7 @@ nvkm_falcon_msgq_recv_initmsg(struct nvkm_falcon_msgq *msgq,
}

void
nvkm_msgqueue_process_msgs(struct nvkm_msgqueue *priv,
			   struct nvkm_msgqueue_queue *queue)
nvkm_falcon_msgq_recv(struct nvkm_falcon_msgq *queue)
{
	/*
	 * We are invoked from a worker thread, so normally we have plenty of
+0 −13
Original line number Diff line number Diff line
@@ -77,19 +77,6 @@ nvkm_msgqueue_del(struct nvkm_msgqueue **queue)
	}
}

void
nvkm_msgqueue_recv(struct nvkm_msgqueue *queue)
{
	if (!queue->func || !queue->func->recv) {
		const struct nvkm_subdev *subdev = queue->falcon->owner;

		nvkm_warn(subdev, "missing msgqueue recv function\n");
		return;
	}

	queue->func->recv(queue);
}

void
nvkm_msgqueue_ctor(const struct nvkm_msgqueue_func *func,
		   struct nvkm_falcon *falcon,
Loading