From nobody Fri Apr 3 01:24:27 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4038B2D7DE7 for ; Sun, 15 Feb 2026 18:21:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771179708; cv=none; b=TW/UjF6W9BZA1RMJ0kn8PCmsKCADeZINREu4UWnCHr3cdmiSaSM2EQK1bzTktbDQkIsl8VVGS/qPymChI6zg9tgyRALDEcV4EWkePCmon4TB0Ywuba0DOEiainTIbKbPY4EU6aX+GZfWvKIql9nWhad3/xvF7rJMK21HdRwr8RM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771179708; c=relaxed/simple; bh=aYT9V4yjMFimp7i5AH4FrQXb7/rLIpKhB4tul51jh5g=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=YfWaLGjjRwbb7TfC1nkAs9njROGbx+XroCi4jXj0irolROF/t7r8mZSmiYt55MFqLcMxhk/tWIUONGxnY1wxbp5Op4w9jwL9wO/+blVdTroQ44F/KN9vbzWV0YhP6mkm8Se7H/bN+8QzPk/ukqKQmRgDVILM0GnxVWMOO5WGIo8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=E+RgyxQW; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=P9PdyRnC; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="E+RgyxQW"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="P9PdyRnC" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61FB0cdp1525347 for ; Sun, 15 Feb 2026 18:21:46 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=wwOwIZrghwl 5hfUtSY4NZTKubqv0dn/EyjKwV7U9g9A=; b=E+RgyxQWdFXLZYrSJYq5GRl3oig HV9uQBOR3sDUmD8PIfsybURlJxigPozzSSHtQXEdYHefD8jtBrK/DH0jGSMYNAfe eQ/vXvY6j4aEKajjwKXB+0Xi2dY4TnmxotEAETbDVt4F5lANd8YjBGasdTTrzUqF qatfTrsSvRq+Wlp90+ADZQmfpUQwK0fpfVF4fw5G6iQCFZKUUOBwQhrj84HuaxpB KVKYal5eutZm8NVkKEtG4ajciuxqN52MWW86dc1CTXgltqOEIW8qleCWuW5jODJ0 r3BQKoKZLWedg4EMOG320WMXHlFtV444FxWQfv9KcvPvgusj4I7aC1Y9PCw== Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cahtcjkhg-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 15 Feb 2026 18:21:46 +0000 (GMT) Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-35845fcf0f5so1313573a91.0 for ; Sun, 15 Feb 2026 10:21:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771179706; x=1771784506; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=wwOwIZrghwl5hfUtSY4NZTKubqv0dn/EyjKwV7U9g9A=; b=P9PdyRnCmqpIs4J0FyzPvNUIK2AHOom/yZQHe6MQFIM0+4gFQRxdM/XZYdhE/CDxDa dtv4GDK9JcqO4F5BYiW/1XUeBWDc7mMx4J9/wqOAsnx4moalSdNagyAgejR3Vy5oM4I9 t50IBwGhBCbxODNwYDSHpiTpiTa2Qw+YyuR3VQIZDPEAfRm3ASh8K/Lc69Hj5WSCUHYY yE66I2DIRAPOzHIW3mnKbsGXQDfRpEl1gQd8pnBZ7gCoiyCD4ojuyMAXV5ZhftukGZt2 awRsv6ApF3NvMFAMrD2xVtOCsGl9/Z0G5RmICCJGaQQfCImGDLl7gUYv4zjBJWz+V5MI oyAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771179706; x=1771784506; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=wwOwIZrghwl5hfUtSY4NZTKubqv0dn/EyjKwV7U9g9A=; b=WYxQZ04EnRfmzqc2HZA7cz2KeEqFT7pYnQCs4ZcuyhPaqOyUq3BYj7wuDzY4aK6Tld qtcodEGaDmyrVbrW5KRnugTyHPX+wEi62QQJzGr0dcmf8IvNLlc4uKhxxT7Iqb3Turgk LAhQzP5qrTAjFt9SgNyXSy6ZuS/GjOstd7N61KhbnkxtqzN4p4LHuPpoleOku4h+OrLx BCCPdQXpwTr22c076rH76emsKKYabMDZSQf75Iucjb0aSKWibqqbyPTiFkAfkIVK/OMB WB/WXPOFRe8xNYef2/pQQxMUI4r8XMVD5HDrNfJlQ5szDpxGK6B9Z2DJqrc6HS9GF787 koRw== X-Forwarded-Encrypted: i=1; AJvYcCWS1slLBZ6epuIb6SgZn+KmSmKZccra/jBPQqjRn6UjMHeWEjPx+gCMD+L4ECiONE+RPYgksWG855x2Ogk=@vger.kernel.org X-Gm-Message-State: AOJu0YzqkjXEwdgxQ7hiauAIbr2dX69SR4F4hBScVjVdMhAVWMLx5ezQ Q3ryeg5pA3jJkm+lXFlhJao2gHjpb+UXQLm4d/tJbq/HcwpEt7MEY7D3RykZcxepGw/6PAhiJZI wT4WDdksMt+USEOqSZM+x3WwEYi4y9EjGCBtYQCEwWvYsLCMaG5T93YCHWtXtUoaYuz8= X-Gm-Gg: AZuq6aJk+W9G1GAtWbPtpmZG39IRpFIisJ1e3zFZKsuC+QL5crz6u8LjR3EX84UO+hQ Ppx5rqe03dtMvOFlBNnC8br/nBDdalyvrVw0Ggn5+blaaoQsIBtuJeaVUusxZ1PCTxilJY859SJ F6BANQs047c7CR4ChHPSoaoqtNNH2RKwAlUEJAtSWKVub1KjzHIUeOHIEzUltxNBfoFP5a1CWTc 3Aj5VoMwuYyryJN/ak0IWyKZKoAJ5RBPbgGAByzVXcTnHePjUCdZaOPvR5TQXODiCiGfRWzrgeS 7lbM1Gct+y0EMuGkirpEQRIQ8Ygf4zS8QIeF62GQzzlf8+kVNEmzIoSGlqI2tKO8DgC89w1Zkxm QbzLdJaA5XQIlgvfjiWtbflkq48Xv7XtplqfwPRtbmjQAY0JqfyaboQ== X-Received: by 2002:a17:90b:3e48:b0:353:2972:74a4 with SMTP id 98e67ed59e1d1-357b51ad1c2mr5356577a91.13.1771179705627; Sun, 15 Feb 2026 10:21:45 -0800 (PST) X-Received: by 2002:a17:90b:3e48:b0:353:2972:74a4 with SMTP id 98e67ed59e1d1-357b51ad1c2mr5356567a91.13.1771179705097; Sun, 15 Feb 2026 10:21:45 -0800 (PST) Received: from hu-ekangupt-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-35662e537desm17425381a91.4.2026.02.15.10.21.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Feb 2026 10:21:44 -0800 (PST) From: Ekansh Gupta To: srini@kernel.org, linux-arm-msm@vger.kernel.org Cc: gregkh@linuxfoundation.org, quic_bkumar@quicinc.com, linux-kernel@vger.kernel.org, quic_chennak@quicinc.com, dri-devel@lists.freedesktop.org, arnd@arndb.de, dmitry.baryshkov@oss.qualcomm.com Subject: [PATCH v6 1/4] misc: fastrpc: Move fdlist to invoke context structure Date: Sun, 15 Feb 2026 23:51:32 +0530 Message-Id: <20260215182136.3995111-2-ekansh.gupta@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260215182136.3995111-1-ekansh.gupta@oss.qualcomm.com> References: <20260215182136.3995111-1-ekansh.gupta@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjE1MDE1NCBTYWx0ZWRfX9x8YnLhMaNtF HHK1FH28B1I40YKW/CIMnwFt/t9EIzLxrDc1dgmwnQwokAfhvPEFlPka9mwd6lyb3qwRVMA/Ago lWj4ZgNsisFl1RW5wl7WSy/q/ZqCNIvbgc51rgp7TR77zbGSPC5eM013nnGu7c/LmxIWaO3NBNx qo3f7tjSoBwnAVUQ6JZ7YDH5S33ZSBGOLFZRT+sBwVO9xeDEbnALeekHhR8ImersrmaT1+l32RL fKNdcWOlPsmrELLPnZB9NNXYlgonlwjramnoSWtcWKiNabe9sQ4Nf0xj8KJHzRZmXo6GiTT6KPx I+1qmHIhGPOFp6/m+c0S+fPJdPg7AjhgjmYqxQ40WSphAdMa0gts89FoJ8Byld5PfvlmE4bO71N iEedpkO1LDOfZddA95QohbThZDNbXbMLWFcK35GqTaRgLnAZTaTLe2jxnnpCs2ikujy/R+kgvV0 IgzIDkwt+Atz73TtulA== X-Proofpoint-ORIG-GUID: 3Vz5LAXc6MFVmVd5G6oMGX5rJvJ8mown X-Authority-Analysis: v=2.4 cv=DJOCIiNb c=1 sm=1 tr=0 ts=69920eba cx=c_pps a=vVfyC5vLCtgYJKYeQD43oA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=EUspDBNiAAAA:8 a=hRzSbfjIAxXVlyYcgJ4A:9 a=rl5im9kqc5Lf4LNbBjHf:22 X-Proofpoint-GUID: 3Vz5LAXc6MFVmVd5G6oMGX5rJvJ8mown X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-15_06,2026-02-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 lowpriorityscore=0 adultscore=0 priorityscore=1501 impostorscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602150154 Content-Type: text/plain; charset="utf-8" The fdlist is currently part of the meta buffer, computed during put_args. This leads to code duplication when preparing and reading critical meta buffer contents used by the FastRPC driver. 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. Signed-off-by: Ekansh Gupta --- drivers/misc/fastrpc.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index 4f5a79c50f58..ce397c687161 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; @@ -1018,6 +1019,7 @@ static int fastrpc_get_args(u32 kernel, struct fastrp= c_invoke_ctx *ctx) rpra =3D ctx->buf->virt; list =3D fastrpc_invoke_buf_start(rpra, ctx->nscalars); pages =3D fastrpc_phy_page_start(list, ctx->nscalars); + ctx->fdlist =3D (u64 *)(pages + ctx->nscalars); args =3D (uintptr_t)ctx->buf->virt + metalen; rlen =3D pkt_size - metalen; ctx->rpra =3D rpra; @@ -1120,18 +1122,10 @@ static int fastrpc_put_args(struct fastrpc_invoke_c= tx *ctx, union fastrpc_remote_arg *rpra =3D ctx->rpra; struct fastrpc_user *fl =3D ctx->fl; struct fastrpc_map *mmap =3D NULL; - struct fastrpc_invoke_buf *list; - struct fastrpc_phy_page *pages; - u64 *fdlist; - int i, inbufs, outbufs, handles; + int i, inbufs; int ret =3D 0; =20 inbufs =3D REMOTE_SCALARS_INBUFS(ctx->sc); - outbufs =3D REMOTE_SCALARS_OUTBUFS(ctx->sc); - handles =3D REMOTE_SCALARS_INHANDLES(ctx->sc) + REMOTE_SCALARS_OUTHANDLES= (ctx->sc); - list =3D fastrpc_invoke_buf_start(rpra, ctx->nscalars); - pages =3D fastrpc_phy_page_start(list, ctx->nscalars); - fdlist =3D (uint64_t *)(pages + inbufs + outbufs + handles); =20 for (i =3D inbufs; i < ctx->nbufs; ++i) { if (!ctx->maps[i]) { @@ -1153,9 +1147,9 @@ static int fastrpc_put_args(struct fastrpc_invoke_ctx= *ctx, cleanup_fdlist: /* Clean up fdlist which is updated by DSP */ for (i =3D 0; i < FASTRPC_MAX_FDLIST; i++) { - if (!fdlist[i]) + if (!ctx->fdlist[i]) break; - if (!fastrpc_map_lookup(fl, (int)fdlist[i], &mmap)) + if (!fastrpc_map_lookup(fl, (int)ctx->fdlist[i], &mmap)) fastrpc_map_put(mmap); } =20 --=20 2.34.1