From: srini@kernel.org
To: gregkh@linuxfoundation.org
Cc: linux-kernel@vger.kernel.org,
Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>,
Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>,
Srinivas Kandagatla <srini@kernel.org>
Subject: [PATCH 04/10] misc: fastrpc: Move fdlist to invoke context structure
Date: Wed, 29 Jul 2026 10:43:46 +0100 [thread overview]
Message-ID: <20260729094352.111065-5-srini@kernel.org> (raw)
In-Reply-To: <20260729094352.111065-1-srini@kernel.org>
From: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
The fdlist is currently part of the meta buffer which is set during
fastrpc_get_args(), this fdlist is getting recalculated during
fastrpc_put_args().
Move fdlist to the invoke context structure to improve maintainability
and reduce redundancy. This centralizes its handling and simplifies
meta buffer preparation and reading logic.
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
---
drivers/misc/fastrpc.c | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
index 32da4664de58..885ba7d1bff5 100644
--- a/drivers/misc/fastrpc.c
+++ b/drivers/misc/fastrpc.c
@@ -233,6 +233,7 @@ struct fastrpc_invoke_ctx {
int pid;
int client_id;
u32 sc;
+ u64 *fdlist;
u32 *crc;
u64 ctxid;
u64 msg_sz;
@@ -1063,6 +1064,7 @@ static int fastrpc_get_args(u32 kernel, struct fastrpc_invoke_ctx *ctx)
rpra = ctx->buf->virt;
list = fastrpc_invoke_buf_start(rpra, ctx->nscalars);
pages = fastrpc_phy_page_start(list, ctx->nscalars);
+ ctx->fdlist = (u64 *)(pages + ctx->nscalars);
args = (uintptr_t)ctx->buf->virt + metalen;
rlen = pkt_size - metalen;
ctx->rpra = rpra;
@@ -1165,18 +1167,11 @@ static int fastrpc_put_args(struct fastrpc_invoke_ctx *ctx,
union fastrpc_remote_arg *rpra = ctx->rpra;
struct fastrpc_user *fl = ctx->fl;
struct fastrpc_map *mmap = NULL;
- struct fastrpc_invoke_buf *list;
- struct fastrpc_phy_page *pages;
- u64 *fdlist;
- int i, inbufs, outbufs, handles;
+ u64 *fdlist = ctx->fdlist;
+ int i, inbufs;
int ret = 0;
inbufs = REMOTE_SCALARS_INBUFS(ctx->sc);
- outbufs = REMOTE_SCALARS_OUTBUFS(ctx->sc);
- handles = REMOTE_SCALARS_INHANDLES(ctx->sc) + REMOTE_SCALARS_OUTHANDLES(ctx->sc);
- list = fastrpc_invoke_buf_start(rpra, ctx->nscalars);
- pages = fastrpc_phy_page_start(list, ctx->nscalars);
- fdlist = (uint64_t *)(pages + inbufs + outbufs + handles);
for (i = inbufs; i < ctx->nbufs; ++i) {
if (!ctx->maps[i]) {
--
2.53.0
next prev parent reply other threads:[~2026-07-29 9:44 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-29 9:43 [PATCH 00/10] misc: fastrpc: updates for 7.3 srini
2026-07-29 9:43 ` [PATCH 01/10] misc: fastrpc: Move prints outside spinlock in fastrpc_cb_probe srini
2026-07-29 9:43 ` [PATCH 02/10] misc: fastrpc: Allow fastrpc_buf_free() to accept NULL srini
2026-07-29 9:43 ` [PATCH 03/10] MAINTAINERS: fastrpc: remove inactive maintainer and add reviewer srini
2026-07-29 9:43 ` srini [this message]
2026-07-29 9:43 ` [PATCH 05/10] misc: fastrpc: Replace hardcoded ctxid mask with GENMASK srini
2026-07-29 9:43 ` [PATCH 06/10] misc: fastrpc: Expand context ID mask for DSP polling mode support srini
2026-07-29 9:43 ` [PATCH 07/10] misc: fastrpc: Add polling mode support for fastRPC driver srini
2026-07-29 9:43 ` [PATCH 08/10] dt-bindings: misc: qcom,fastrpc: Document Nord FastRPC srini
2026-07-29 9:43 ` [PATCH 09/10] dt-bindings: misc: qcom,fastrpc: Add Maili FastRPC compatible srini
2026-07-29 9:43 ` [PATCH 10/10] misc: fastrpc: Drop unhandled DSP PD exit notification srini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260729094352.111065-5-srini@kernel.org \
--to=srini@kernel.org \
--cc=dmitry.baryshkov@oss.qualcomm.com \
--cc=ekansh.gupta@oss.qualcomm.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.