From nobody Mon Dec 1 22:05:50 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 A060729C321 for ; Fri, 28 Nov 2025 05:05:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764306347; cv=none; b=gIXi671uQdB0frCdnRHpJYXq/2n6V345EdKB1cJJ1LCTxvRxcOCM4x5kOL8qTcqasakegaPi6pJoukw82o+Kt56qIVVTuzJjS+UHPREO5/PDYJ3rvX4B79LKx6KeX+a+VieSNjsywJqssiUNRXfgQs2N9xVcCIzVeraL9mppENg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764306347; c=relaxed/simple; bh=OdLtVtiwW1xAkEP1Tuk8yBW78hA3TuPbGrqvdFREa1Y=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=DdlkJ6n+cdbPY/ty2OpHR9FKHCohNGPMqEFjpIDY4v2RZOYYCKFOEkqDnCeLg2+ZxgQJ93PtjDDByt+FZk6sLTdcsL3qj3BwO9JRVdatEuLAXE+J1/2aPYj1OjEukmet04RE+6vrARCLyHW3ApJPRrv7QATf9VCctLEhzdHNC5w= 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=GYN6muF5; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=K+alVQn4; arc=none smtp.client-ip=205.220.180.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="GYN6muF5"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="K+alVQn4" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5ARNP62I2491990 for ; Fri, 28 Nov 2025 05:05:44 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=p+hWMKFKc2m VbzgviX4dn/1pRPQOpQtDu/1ysXFdpkk=; b=GYN6muF56IcEBaCOcGXR6byt6YR Y0ew8MqWafkQ7uJ0pbFwllIyJ1Vc47RqKBivVopa0Cer1+Yx0sc72Rqv4IRG9BE6 8/vR7mzyyyMZ8uNt5BQlqJxi2df1aZc4QRMrUNrn3qX/B88DwVIkaF5cZBOXVRZU JCOsaYLudUvomInjPYB3Jkp3+ROA5qZiv8lnlocQZO5dheonS6SO85H4Wr40d1CO 5It7KaZ417v4PX285eMadyVUugauh2KWeU75S4uVdOYzYzeKg7ZhE5ROVf8wrKN2 /AMhya4fsRhQnPRF3U352x/CzoMypw/gvXxxh6pMBNWK5InKcnP9Rov6qpQ== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4apm61t8ju-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 28 Nov 2025 05:05:44 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-297df52c960so27957565ad.1 for ; Thu, 27 Nov 2025 21:05:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1764306343; x=1764911143; 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=p+hWMKFKc2mVbzgviX4dn/1pRPQOpQtDu/1ysXFdpkk=; b=K+alVQn4rmv/JctN4Vtjbmy00DqJ0cNaalUcaTN5SHfHVPY9oo1Ugp4+I4xeDUtimP yyUq4p2dXLg8xAdqHGNCbrUpHw8WkjZ8YOPSdWDJTefMM0PU1YfJ/VBbroWMIE5j48mR F5tMiWP6oMkvSIrBMJ1GCbN1ffSFSNkKiMFoNuHQ8koa6BuRY2SmDgDJkRUMzSvA6FvT wLqxAHZd1MDeYIlwvcLOoj2Jto0toGfhe2ax7scPMB9jsOzb4FiR9a3szyYSNlaog4vj 6mv6elG9HrdPegFjA4uhzSkfW4WNgp6X7SCb6oHyFKU00CWUMzlyGhhq/jbE+mNWuSQJ 51vA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764306343; x=1764911143; 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=p+hWMKFKc2mVbzgviX4dn/1pRPQOpQtDu/1ysXFdpkk=; b=umc/sa0Za4M4Rldaa5vwqYxuR5TbSHgg6zuQqVbELG7YGZgoKq1H4xCYtuxe3Qnge/ eqIQ7NJcf9hNRkFnre3I702p1qk0DN7lzvonyAQ5bhdT8HMFuY+IuPUwQKKramrtXXJf Y9+3VDzQton9AjkDDDqqEPWwUYk0EylCh9a1Rbr5pAmIeFW6yzk0tP4ClVoqQNnej1zS Zai9xhXtgbfwMSYS5tXy3HQ6n6j/U5lbMXn1JiS7sek/WOUT/NHc4xGE+Gcpf2LXJJHV KqFedlEb3xHPgCrAlrhicyxHy7v2/7l//Xi5j0DKwcXsgvGMdzYoCVYE2GsVD9P/DSua 7iBA== X-Forwarded-Encrypted: i=1; AJvYcCXwG1H64+b2LqL9tNIbGUpp9kKFCGM2VO3bS7fnOQoXDl5nQJGf+LrAUAedPIreYcm3j5K+N/WbxpC+QXk=@vger.kernel.org X-Gm-Message-State: AOJu0Yzf27unsc0jjDIigsZB25bAqpvEWU4rHB7tWSe41ia2MmmcMW5n +XQ3w+HKNi3yds7V462+D1ZPAaQTLD/r7dgLUlFqiXMLEEfQF8F9HtBCI4//e43xr3lL0rvO49A SF0WDC5F2PZJB1lpy9k3l3eqRSMgNoSRgaOrxI95zbJNfseuCDc2PiIbVf2tzzM7HbZk= X-Gm-Gg: ASbGncux4FqJ9A5GXZJEnDUVdZOO1BIH9wSRHHnPvAHQ3u2uMt6mmZ91Bgm+H9zawBR 8oLFfnz6zDrnw/jQWqIJuX1MC16Y/IvubqZSsbOCS4GO093vR8yvtjAuWzl2U1HoCZwOr5o1eyO /aRIqpZzsdQO0Wj+sKm3HS5wG6/+L75SgAQRqMYmuPXzXpQpm9M2QQoWh3ZvmF+76AWr8LyLmU6 KvhzampcgRze9obApFqZ5PZgmJiCus19SGTEFAJZ0I4gWuovI2W0zcq9EQeR9ShhZcY+M5M7UYM tQl9/iCcdWFOzA+ckuQtJBO6pjh0qoRtWcZJ+5NYypvmZrn1j6zzl+2l5YqPNO+dFLCXSWogXcT M+Dgnot2VZwOf90KUpgpbMl4/GQIx9cexgTF5pdx/Jw== X-Received: by 2002:a17:903:8cb:b0:295:70b1:edc8 with SMTP id d9443c01a7336-29b6be917a2mr313234445ad.2.1764306343275; Thu, 27 Nov 2025 21:05:43 -0800 (PST) X-Google-Smtp-Source: AGHT+IGttVcxC48I1qXIGJ8pQYFoTXX/seoyTogxzon7pZSukIpd1r+O3xQjxLuzCwzZDbvVHZOVGA== X-Received: by 2002:a17:903:8cb:b0:295:70b1:edc8 with SMTP id d9443c01a7336-29b6be917a2mr313234025ad.2.1764306342721; Thu, 27 Nov 2025 21:05:42 -0800 (PST) Received: from hu-ekangupt-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29bceb40276sm31952075ad.73.2025.11.27.21.05.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Nov 2025 21:05:42 -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 v4 1/4] misc: fastrpc: Move fdlist to invoke context structure Date: Fri, 28 Nov 2025 10:35:31 +0530 Message-Id: <20251128050534.437755-2-ekansh.gupta@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251128050534.437755-1-ekansh.gupta@oss.qualcomm.com> References: <20251128050534.437755-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-GUID: -AXX9OCcDxY0bMLiag4AukqWK3t9qEAR X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTI4MDAzNSBTYWx0ZWRfX2VXOUmriqPLL wkOny1OGD0+b8r6sPVRSnCqLVUpMxy0I9qOS6OrvaAc7byEQEIHMELLX4NECzUxnzary76HkcZQ DAJeJhSAtEGCF4ePSaP28dilNbxJPp8h6OPvFAGs6cPaT6Rm4Z+g5YUr453g2U/INZZFYeTx3Wy zilQImlCpVe8V7mttxFvSinPY0m4vshFs90Mtob0alKP6vLbLCuxUO5q2qPL5DuYIawJnFOwMBm zc1uiyjGFBjMt5Kt0Z2sya1SdZaIgn/DtMxdfEivXeovAir9QTHatotYRwt6bNGlLu17zWQGc8Y dGWKdowrQMRHTE5KEGt+8ytCloGT9ceUF6YK5PFD/T0E1yCMjNQ4ofntchd53yzhnRBBN7vMKp1 NR1TiA0KuAC/lUbv2+ePUsuV0gHEwA== X-Proofpoint-ORIG-GUID: -AXX9OCcDxY0bMLiag4AukqWK3t9qEAR X-Authority-Analysis: v=2.4 cv=IciKmGqa c=1 sm=1 tr=0 ts=69292da8 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=hRzSbfjIAxXVlyYcgJ4A:9 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-25_02,2025-11-27_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 lowpriorityscore=0 clxscore=1015 impostorscore=0 priorityscore=1501 bulkscore=0 adultscore=0 spamscore=0 malwarescore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511280035 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 ee652ef01534..679cd8997a00 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; @@ -987,6 +988,7 @@ static int fastrpc_get_args(u32 kernel, struct fastrpc_= 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; @@ -1089,18 +1091,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]) { @@ -1122,9 +1116,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