On 11/12/2024 12.26, Danilo Krummrich wrote: > On Thu, Oct 31, 2024 at 01:52:37AM -0700, Zhi Wang wrote: >> The name "repc" has different meanings in different contexts. >> >> To improve the readability, it's better to refine it to a name that >> reflects what it actually represents. >> >> Rename "repc" to "gsp_rpc_len" in the GSP message recv path. Add an >> section in the doc to explain the terms. >> >> No functional change is intended. >> >> Signed-off-by: Zhi Wang <zhiw@xxxxxxxxxx> >> --- >> .../gpu/drm/nouveau/nvkm/subdev/gsp/r535.c | 46 +++++++++++-------- >> 1 file changed, 27 insertions(+), 19 deletions(-) >> >> diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c >> index 1a07c0191356..f6ed51921e50 100644 >> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c >> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c >> @@ -104,6 +104,9 @@ >> * | params | >> * +------------------------+ >> * >> + * decoders: > > Maybe nomenclature or terminology instead? > Can do. >> + * >> + * - gsp_rpc_len: size of (GSP RPC header + payload) >> */ >> >> struct r535_gsp_msg { >> @@ -133,7 +136,8 @@ r535_rpc_status_to_errno(uint32_t rpc_status) >> } >> >> static void * >> -r535_gsp_msgq_wait(struct nvkm_gsp *gsp, u32 repc, u32 *prepc, int *ptime) >> +r535_gsp_msgq_wait(struct nvkm_gsp *gsp, u32 gsp_rpc_len, u32 *prepc, >> + int *ptime) >> { >> struct r535_gsp_msg *mqe; >> u32 size, rptr = *gsp->msgq.rptr; >> @@ -141,7 +145,8 @@ r535_gsp_msgq_wait(struct nvkm_gsp *gsp, u32 repc, u32 *prepc, int *ptime) >> u8 *msg; >> u32 len; >> >> - size = DIV_ROUND_UP(GSP_MSG_HDR_SIZE + repc, GSP_PAGE_SIZE); >> + size = DIV_ROUND_UP(GSP_MSG_HDR_SIZE + gsp_rpc_len, >> + GSP_PAGE_SIZE); >> if (WARN_ON(!size || size >= gsp->msgq.cnt)) >> return ERR_PTR(-EINVAL); >> >> @@ -167,21 +172,21 @@ r535_gsp_msgq_wait(struct nvkm_gsp *gsp, u32 repc, u32 *prepc, int *ptime) >> return mqe->data; >> } >> >> - size = ALIGN(repc + GSP_MSG_HDR_SIZE, GSP_PAGE_SIZE); >> + size = ALIGN(gsp_rpc_len + GSP_MSG_HDR_SIZE, GSP_PAGE_SIZE); >> >> - msg = kvmalloc(repc, GFP_KERNEL); >> + msg = kvmalloc(gsp_rpc_len, GFP_KERNEL); >> if (!msg) >> return ERR_PTR(-ENOMEM); >> >> len = ((gsp->msgq.cnt - rptr) * GSP_PAGE_SIZE) - sizeof(*mqe); >> - len = min_t(u32, repc, len); >> + len = min_t(u32, gsp_rpc_len, len); >> memcpy(msg, mqe->data, len); >> >> - repc -= len; >> + gsp_rpc_len -= len; >> >> - if (repc) { >> + if (gsp_rpc_len) { >> mqe = (void *)((u8 *)gsp->shm.msgq.ptr + 0x1000 + 0 * 0x1000); >> - memcpy(msg + len, mqe, repc); >> + memcpy(msg + len, mqe, gsp_rpc_len); >> } >> >> rptr = (rptr + DIV_ROUND_UP(size, GSP_PAGE_SIZE)) % gsp->msgq.cnt; >> @@ -192,9 +197,9 @@ r535_gsp_msgq_wait(struct nvkm_gsp *gsp, u32 repc, u32 *prepc, int *ptime) >> } >> >> static void * >> -r535_gsp_msgq_recv(struct nvkm_gsp *gsp, u32 repc, int *ptime) >> +r535_gsp_msgq_recv(struct nvkm_gsp *gsp, u32 gsp_rpc_len, int *ptime) >> { >> - return r535_gsp_msgq_wait(gsp, repc, NULL, ptime); >> + return r535_gsp_msgq_wait(gsp, gsp_rpc_len, NULL, ptime); >> } >> >> static int >> @@ -317,7 +322,7 @@ r535_gsp_msg_dump(struct nvkm_gsp *gsp, struct nvfw_gsp_rpc *msg, int lvl) >> } >> >> static struct nvfw_gsp_rpc * >> -r535_gsp_msg_recv(struct nvkm_gsp *gsp, int fn, u32 repc) >> +r535_gsp_msg_recv(struct nvkm_gsp *gsp, int fn, u32 gsp_rpc_len) >> { >> struct nvkm_subdev *subdev = &gsp->subdev; >> struct nvfw_gsp_rpc *msg; >> @@ -342,10 +347,11 @@ r535_gsp_msg_recv(struct nvkm_gsp *gsp, int fn, u32 repc) >> r535_gsp_msg_dump(gsp, msg, NV_DBG_TRACE); >> >> if (fn && msg->function == fn) { >> - if (repc) { >> - if (msg->length < sizeof(*msg) + repc) { >> + if (gsp_rpc_len) { >> + if (msg->length < sizeof(*msg) + gsp_rpc_len) { >> nvkm_error(subdev, "msg len %d < %zd\n", >> - msg->length, sizeof(*msg) + repc); >> + msg->length, sizeof(*msg) + >> + gsp_rpc_len); >> r535_gsp_msg_dump(gsp, msg, NV_DBG_ERROR); >> r535_gsp_msg_done(gsp, msg); >> return ERR_PTR(-EIO); >> @@ -414,7 +420,8 @@ r535_gsp_rpc_poll(struct nvkm_gsp *gsp, u32 fn) >> } >> >> static void * >> -r535_gsp_rpc_send(struct nvkm_gsp *gsp, void *argv, bool wait, u32 repc) >> +r535_gsp_rpc_send(struct nvkm_gsp *gsp, void *argv, bool wait, >> + u32 gsp_rpc_len) >> { >> struct nvfw_gsp_rpc *rpc = container_of(argv, typeof(*rpc), data); >> struct nvfw_gsp_rpc *msg; >> @@ -434,7 +441,7 @@ r535_gsp_rpc_send(struct nvkm_gsp *gsp, void *argv, bool wait, u32 repc) >> return ERR_PTR(ret); >> >> if (wait) { >> - msg = r535_gsp_msg_recv(gsp, fn, repc); >> + msg = r535_gsp_msg_recv(gsp, fn, gsp_rpc_len); >> if (!IS_ERR_OR_NULL(msg)) >> repv = msg->data; >> else >> @@ -770,7 +777,8 @@ r535_gsp_rpc_get(struct nvkm_gsp *gsp, u32 fn, u32 argc) >> } >> >> static void * >> -r535_gsp_rpc_push(struct nvkm_gsp *gsp, void *argv, bool wait, u32 repc) >> +r535_gsp_rpc_push(struct nvkm_gsp *gsp, void *argv, bool wait, >> + u32 gsp_rpc_len) >> { >> struct nvfw_gsp_rpc *rpc = container_of(argv, typeof(*rpc), data); >> struct r535_gsp_msg *cmd = container_of((void *)rpc, typeof(*cmd), data); >> @@ -817,7 +825,7 @@ r535_gsp_rpc_push(struct nvkm_gsp *gsp, void *argv, bool wait, u32 repc) >> >> /* Wait for reply. */ >> if (wait) { >> - rpc = r535_gsp_msg_recv(gsp, fn, repc); >> + rpc = r535_gsp_msg_recv(gsp, fn, gsp_rpc_len); >> if (!IS_ERR_OR_NULL(rpc)) >> repv = rpc->data; >> else >> @@ -826,7 +834,7 @@ r535_gsp_rpc_push(struct nvkm_gsp *gsp, void *argv, bool wait, u32 repc) >> repv = NULL; >> } >> } else { >> - repv = r535_gsp_rpc_send(gsp, argv, wait, repc); >> + repv = r535_gsp_rpc_send(gsp, argv, wait, gsp_rpc_len); >> } >> >> done: >> -- >> 2.34.1 >>