From nobody Mon Sep 28 08:46:38 2026 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 BD4964014BB for ; Mon, 24 Aug 2026 10:49:27 +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=1787568569; cv=none; b=KSWBY2VnFrSuI3hWObv0K77jbZNxzi9nOnzx2YdmajUi8dI/Oq8Fes/PewfkfiebfYXFxRDWEjWK6tifOe6veLqcdRZNNRKTzxBSPcT3oFYvszQzV3ZFBDcnrkg/5cxVv4N4YZkNkuMzv/O9uZyHlh/aVgR7IAuaDc8rX3F92wM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787568569; c=relaxed/simple; bh=hmRfD5hv2hilDC52QM6CRPaznt6Vo0mIHRScEu9qbZ0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=B3ZebflctcSHfMUhtnov7gv8stMhLXh8sHRuBlMrarsix0uEfFKZes6n07omi1Bnuggux8h5gwr1/otNta9ThmE7wFREUOiImNd7IEzG7Ir1dU+wwph2nMWEHdCZ0Iv2pMcfHw4hwLE8wPpNc97r4nWpwxpU7EHlL35awL2mUxY= 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=jO5SiWJS; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=dDuSJ9m1; 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="jO5SiWJS"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="dDuSJ9m1" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67O99dQI2572113 for ; Mon, 24 Aug 2026 10:49:26 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= CypDPS5i+7FSZgzBsU0HBDl5Ax6l8lVjcrNheaMq+rw=; b=jO5SiWJSeSxfrPxw 5K31x3BpHJAEaSvodqZtxqIqjb5MFtqtuW7VX9cCnGNnmKh22oJtncaZ84nLbA7P U8vViu1GyyjvdmgWCoSvZuzIWLX6XrBixvBXJQTU2eRsYlzaj6s4w/+K5KwoYlFn crYS83URoRdUpzViHHgG83ite8U7HYDwAvrqDRG1emNf2mfD+YV9C3tMhe3uWuo7 vPnbzjZAe2seXqa1OGKpAXLttcy9PyZ79HlfqJaBrYu9W2xVgkvX8C+bLuM46sVZ isdJlUA2q3nRigMfr0NLS/lJ1/vnTfsnJXsGiaWyTDvY3hEC7J5Qaq83SDso+F57 SZWt7A== Received: from mail-pj1-f71.google.com (mail-pj1-f71.google.com [209.85.216.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g8bdr22jw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 24 Aug 2026 10:49:26 +0000 (GMT) Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-38dbe39ce62so3099115a91.0 for ; Mon, 24 Aug 2026 03:49:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787568566; x=1788173366; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=CypDPS5i+7FSZgzBsU0HBDl5Ax6l8lVjcrNheaMq+rw=; b=dDuSJ9m1l3lfX4fRFA7pHGHZh/HXf+FTGRPYa4lxanqlffVvcOojILndh0DATizWsM IUOqRdoTOWqVAOZQPYaRzfHX6dBRYBlPh7RN2eKCl0+rqw2Nwt6tSzCYje2hTLGPgrtg 0B+7FHMEVnOLXiLGDIHKMQEvzHzy1SlvO844UCfIwY8ED0UlSczV4hg8fkxkPw88Fnq2 XmsJMchi4fMgVi+cwPx5AMwxsv0M29EY66XVEuynb2ls01Ld6k0fSejr8JxFfHbC8C5i 6RfnSPDZ4qp/RdDitSXAMhfhLwiEUt6JqSHF3DzwIz86Xftupym1El58BBpisqBdoMUS DNnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787568566; x=1788173366; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=CypDPS5i+7FSZgzBsU0HBDl5Ax6l8lVjcrNheaMq+rw=; b=WQfeF9K/0EpbCpNXvQAUAvK/K1P5Rh9UKXLQgzDRkWbi76Nl2+w4DqBhIPDOK1Ay/G CfRHs0CYRVn/0EpAdtufOeeKoz2YgrTG3U/xTPVHiBK3Ypicbk9AHQ1x7Svp5D2a4dtL K9drl/UuVnXf1KElu2rrMrvsYW4F6lSykEnt9YMjXEHtjACRWn6xvKBGJSmsAThBHXJ6 IeYQ0XAIPw/eOKjWeAETXksi0IVF+J2XqI348W5QsJ+hwBMdWzImTeKy4p9gq/I+bEUZ 271oFXviP1HJfzEThR7VC6LpXOCsg0tJABGA1ytAHfAHuMA9AbKaEK5IAXPUehJAknmi mMZg== X-Forwarded-Encrypted: i=1; AHgh+RqKzRH9iGFPwqu2Ui4k/5iEkaKXZOL97OBxKUfwllovIboJU6G0cI90yUVHAYY1hfWTpJ8pvA756kF3UUc=@vger.kernel.org X-Gm-Message-State: AFuF++kSl7E2T8ajcVgex8msSBBoA2v7fQmRvt2xA3vak2VbIlk94+8q n6g+vwSXqMvkRrPMvp0rCE0j7va7inaVRyPE5RNpTPAMXOdq25DsqM66NDhKN8HHm3HLuOV8+rW Zb4WSuEnVBZf1P3zMqpm/rF4yUvwP7VSjXTS4kqAlMujZEBPmo4UPtFrNBv7fpzhCM8I= X-Gm-Gg: AR+sD12zb/YffVVILSIFuu3zeXsU4LjKhFppOy8lX7kp1wOP41Pkb1Hx9UfBDH6EDz3 3VqatzEHC8KN/gAsIST21M27701Tnfx1jXr3qP4sIVUkMpxxxRIPmpgCXHJW6FVuUK1lnr5vyOX TPYScUoLimmhETRi/sSLpLI0T2OQ5SQ553WDrMoFaLfMDuiUPwR4fG/dnkr7r2Bm1V3u9qCOPLr NnYzWHJNOz6FVD7O97ICLYhQHMTetzZs8NOFi/rUNFaqSlM7tUx4or0a9zlt3jqG+0UiWVQFtQn JVKXEgr+n8f4BpnZJ1d+pxKzKCgT8qkldDuqD28u5ZvEEjaDpZNnANfVz6eT5OEpggWlZocpZEx PWuzUJA+j4fK+7rrCUYn9hMlP6o1xQfixCg== X-Received: by 2002:a17:90b:3e8d:b0:38e:9ca8:e99 with SMTP id 98e67ed59e1d1-395c4fa444bmr15906920a91.5.1787568565651; Mon, 24 Aug 2026 03:49:25 -0700 (PDT) X-Received: by 2002:a17:90b:3e8d:b0:38e:9ca8:e99 with SMTP id 98e67ed59e1d1-395c4fa444bmr15906880a91.5.1787568565184; Mon, 24 Aug 2026 03:49:25 -0700 (PDT) Received: from hu-vkatoch-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-395c91ce453sm4125829a91.4.2026.08.24.03.49.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Aug 2026 03:49:24 -0700 (PDT) From: Vinayak Katoch Date: Mon, 24 Aug 2026 16:19:05 +0530 Subject: [PATCH v3 1/3] misc: fastrpc: iterate CB nodes manually instead of of_platform_populate Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260824-dup-sessions-v3-1-4b019def4e0b@oss.qualcomm.com> References: <20260824-dup-sessions-v3-0-4b019def4e0b@oss.qualcomm.com> In-Reply-To: <20260824-dup-sessions-v3-0-4b019def4e0b@oss.qualcomm.com> To: Srinivas Kandagatla , Amol Maheshwari , Arnd Bergmann , Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Bharath Kumar , Chenna Kesava Raju , Ekansh Gupta , devicetree@vger.kernel.org, Vinayak Katoch X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1787568554; l=5195; i=vinayak.katoch@oss.qualcomm.com; s=20260609; h=from:subject:message-id; bh=hmRfD5hv2hilDC52QM6CRPaznt6Vo0mIHRScEu9qbZ0=; b=WiLB15isE1CXfEtAmICuz+9YH7t6oI0RHaX/M/hHzzWWE+okxkiNABiQCDn8U8ROqDR4phd4k 3nnCU8IPFTfBEDIFeXqV4KR0mCGcV4G22actsREthxJEAkBiyB2ueca X-Developer-Key: i=vinayak.katoch@oss.qualcomm.com; a=ed25519; pk=UrGeKKxjIjpHZIjsbQKS/8rrVaP9KVGki69pFclCH08= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI0MDA5MCBTYWx0ZWRfX+2Uh1DhfiC0q BKX26duj6QfMqhoRSRIcnmoTi/cscB1vQibss3xQ4nXfLjwyz00Re5KXC6ScfQbr4XKwgVLnlGK +ikxHkqkxadCGlJsunkKKhtsffvZN4BSTzXs5VpYYJ+DChnaJU9O1rlkv3EL96JXcVgdsIn5c46 Kw7Fn7o9FCWXFtTviJbq37zUcNtlOy9r+eiQsHZLKn2OFnD2ciE1dgVvjqp8lDSTm5QTW2/tpKO t8w+WFEcQ3bYFDb9dqp6gBWRsMnp++yfceJpg4Lwt5LPDTpLeZZBg3GIif5YmAUHk9Qn2jnQ0Cn 2QxSSNbjYIRML23NE+ZE27HjUP6i3OC3MOj+pAb/Mqz5U5QeoMknzvnfxaZdrZXnRD88xIYlxir gcv8TYxwccxPYFXD4sfZgpv0nFOp8m1/fajgGfTXaTi1+trIdh4XdyIU4nGKSkSak2oN/X7tJH3 HyBMBVGY24DeqpOU1HQ== X-Proofpoint-GUID: 9Lkxq1D8DdsQOdifGBLMV9OwrYzpg2Ow X-Proofpoint-ORIG-GUID: 9Lkxq1D8DdsQOdifGBLMV9OwrYzpg2Ow X-Proofpoint-Spam-Info: AW1haW4tMjYwODI0MDA5MCBTYWx0ZWRfX7zvN0g4lKtzb KhvEQF9MlXHTQhQ9UiiQ2/qoS63Nb+48u0OV2OLpBVli6x9Vgc/Akj/TRl3hlwm+wKmzRTFUJYE Rh5Y6aahC9NoqvI0C6Qw/oGHCmm1y4Q= X-Authority-Analysis: v=2.4 cv=W8cIkxWk c=1 sm=1 tr=0 ts=6a8c21b6 cx=c_pps a=UNFcQwm+pnOIJct1K4W+Mw==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=0tPlnvf1ouYV9MwHMgkA:9 a=QEXdDO2ut3YA:10 a=uKXjsCUrEbL0IQVhDsJ9:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-24_03,2026-08-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 lowpriorityscore=0 spamscore=0 priorityscore=1501 clxscore=1015 bulkscore=0 malwarescore=0 adultscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608240090 of_platform_populate() only guarantees that child devices are registered, not that their probes have completed before it returns. This creates a window where fastrpc_cb_init() may not have run for all context bank nodes, leaving the channel context partially initialised. Iterate over the child device tree nodes directly, initialising each qcom,fastrpc-compute-cb device synchronously. This ensures all context banks are fully initialised before fastrpc_rpmsg_probe() returns. Since fastrpc_cb_driver is no longer needed as an independent platform driver, remove it along with its match table and remove callback. Set OF_POPULATED_BUS on the rpmsg node so that of_platform_depopulate() correctly removes the manually created CB devices on teardown. Signed-off-by: Vinayak Katoch --- drivers/misc/fastrpc.c | 82 ++++++++++++++++++----------------------------= ---- 1 file changed, 29 insertions(+), 53 deletions(-) diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index 1080f9acf70a..fe127bb0c115 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -2190,7 +2190,7 @@ static const struct file_operations fastrpc_fops =3D { .compat_ioctl =3D fastrpc_device_ioctl, }; =20 -static int fastrpc_cb_probe(struct platform_device *pdev) +static int fastrpc_cb_init(struct platform_device *pdev) { struct fastrpc_channel_ctx *cctx; struct fastrpc_session_ctx *sess; @@ -2208,7 +2208,7 @@ static int fastrpc_cb_probe(struct platform_device *p= dev) =20 spin_lock_irqsave(&cctx->lock, flags); if (cctx->sesscount >=3D FASTRPC_MAX_SESSIONS) { - dev_err(&pdev->dev, "too many sessions\n"); + dev_err(dev, "too many sessions\n"); spin_unlock_irqrestore(&cctx->lock, flags); return -ENOSPC; } @@ -2245,37 +2245,6 @@ static int fastrpc_cb_probe(struct platform_device *= pdev) return 0; } =20 -static void fastrpc_cb_remove(struct platform_device *pdev) -{ - struct fastrpc_channel_ctx *cctx =3D dev_get_drvdata(pdev->dev.parent); - struct fastrpc_session_ctx *sess =3D dev_get_drvdata(&pdev->dev); - unsigned long flags; - int i; - - spin_lock_irqsave(&cctx->lock, flags); - for (i =3D 0; i < FASTRPC_MAX_SESSIONS; i++) { - if (cctx->session[i].sid =3D=3D sess->sid) { - cctx->session[i].valid =3D false; - cctx->sesscount--; - } - } - spin_unlock_irqrestore(&cctx->lock, flags); -} - -static const struct of_device_id fastrpc_match_table[] =3D { - { .compatible =3D "qcom,fastrpc-compute-cb", }, - {} -}; - -static struct platform_driver fastrpc_cb_driver =3D { - .probe =3D fastrpc_cb_probe, - .remove =3D fastrpc_cb_remove, - .driver =3D { - .name =3D "qcom,fastrpc-cb", - .of_match_table =3D fastrpc_match_table, - .suppress_bind_attrs =3D true, - }, -}; =20 static int fastrpc_device_register(struct device *dev, struct fastrpc_chan= nel_ctx *cctx, bool is_secured, const char *domain) @@ -2441,12 +2410,29 @@ static int fastrpc_rpmsg_probe(struct rpmsg_device = *rpdev) data->domain_id =3D domain_id; data->rpdev =3D rpdev; =20 - err =3D of_platform_populate(rdev->of_node, NULL, NULL, rdev); - if (err) - goto err_deregister_fdev; + of_node_set_flag(rdev->of_node, OF_POPULATED_BUS); + + for_each_available_child_of_node_scoped(rdev->of_node, np) { + struct platform_device *pdev; + + if (!of_device_is_compatible(np, "qcom,fastrpc-compute-cb")) + continue; + + pdev =3D of_platform_device_create(np, NULL, rdev); + if (!pdev) { + err =3D -EINVAL; + goto err_depopulate; + } + + err =3D fastrpc_cb_init(pdev); + if (err) + goto err_depopulate; + } =20 return 0; =20 +err_depopulate: + of_platform_depopulate(rdev); err_deregister_fdev: if (data->fdevice) misc_deregister(&data->fdevice->miscdev); @@ -2476,6 +2462,7 @@ static void fastrpc_rpmsg_remove(struct rpmsg_device = *rpdev) struct fastrpc_buf *buf, *b; struct fastrpc_user *user; unsigned long flags; + int i; =20 /* No invocations past this point */ spin_lock_irqsave(&cctx->lock, flags); @@ -2496,6 +2483,11 @@ static void fastrpc_rpmsg_remove(struct rpmsg_device= *rpdev) if (cctx->remote_heap) fastrpc_buf_free(cctx->remote_heap); =20 + spin_lock_irqsave(&cctx->lock, flags); + for (i =3D 0; i < FASTRPC_MAX_SESSIONS; i++) + cctx->session[i].valid =3D false; + spin_unlock_irqrestore(&cctx->lock, flags); + of_platform_depopulate(&rpdev->dev); =20 fastrpc_channel_ctx_put(cctx); @@ -2556,28 +2548,12 @@ static struct rpmsg_driver fastrpc_driver =3D { =20 static int fastrpc_init(void) { - int ret; - - ret =3D platform_driver_register(&fastrpc_cb_driver); - if (ret < 0) { - pr_err("fastrpc: failed to register cb driver\n"); - return ret; - } - - ret =3D register_rpmsg_driver(&fastrpc_driver); - if (ret < 0) { - pr_err("fastrpc: failed to register rpmsg driver\n"); - platform_driver_unregister(&fastrpc_cb_driver); - return ret; - } - - return 0; + return register_rpmsg_driver(&fastrpc_driver); } module_init(fastrpc_init); =20 static void fastrpc_exit(void) { - platform_driver_unregister(&fastrpc_cb_driver); unregister_rpmsg_driver(&fastrpc_driver); } module_exit(fastrpc_exit); --=20 2.34.1 From nobody Mon Sep 28 08:46:38 2026 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 2717E407CCF for ; Mon, 24 Aug 2026 10:49:32 +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=1787568574; cv=none; b=dW76ccgTZmNZr1MyqDnL8oNkGzEVa2mab4H5EYT2JVsDL41hhP83Lgw9auj6VFtLWoOuicT9KvTD3zOxPwFSP8eJtuD0X71fuPRI597wgi8qDQTerZUmYxBEYKxzOSuok3MWlmkYynitW5TvRmpsBYDb2WHYGfRaMtAGX8rhcEA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787568574; c=relaxed/simple; bh=HM6nYB94UQqzE++3ZIy64Nq0TZgXvgxYjs2hM/NXndw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=l+4tIzRaOxH7wfxbIM7o/UkT1BK/0r2QHede2mtD+46+xlSEE33VvJXlOKRWZAkD4FmF7Fnzw+ynG5nX0/JGZJdp+zwQDkjLhpLMoYcrzcmgYhgE9Wix9CB8qmwPlP/ZLVUL5fbPYI7InlnymYEBViXb0OnCIokSxaYvW83x6YA= 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=RAt365kh; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=XvW2mLaB; 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="RAt365kh"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="XvW2mLaB" 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 67O99Bi22900598 for ; Mon, 24 Aug 2026 10:49:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= vVusOYN3ugAh2ecLn7CEAf443UVMgdSl2XvYPqrDBtY=; b=RAt365khN+chPPLR D0jMxVq98NrNKKEVYf4o+yASOW+2/4AlVFAQ+x1jh7TGhJ08nftLgC6cnvwfGpdK XutpQb2nyANTKg7We6KnZ3XpzjlODeLJBkS0OeJVJ5ZcY5qXWk9pPAhpXQdHVRaq i7YReuWXfdg/leew+bHa5z5c6pKkQFk8pbSkVOo4VCK6oPVlwNkKOF2ZJ2PdciuG q7skLthocbpD1zep6K3VPEwNcMefxOYaVFySqwDmhtYCpxddqoAao0Ga3P1rKU1+ s+u2z7ksSTnsJvPAk2ebdMdwof/5J0IRW6gSUnRCRMDe5xxrDXXmIx2AmK91GOKE mbMvyQ== 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 4g8hjgrv35-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 24 Aug 2026 10:49:31 +0000 (GMT) Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-381250979d5so3520392a91.0 for ; Mon, 24 Aug 2026 03:49:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787568571; x=1788173371; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=vVusOYN3ugAh2ecLn7CEAf443UVMgdSl2XvYPqrDBtY=; b=XvW2mLaBUIlUBI2UTt9r/DYOyGKn4yK1giZM8rgeNhZUrX7Jck7hGAG3rqV7omtcWQ 7NbQZyg4v8lhceQfCKsteDBhy1wUusLVHPbg1aUNZ3SjlzTVeHO3VunAL/zRoIEKdYRd 7SAeLMDTcIkM/+n4Opn81DHtdKWzvP8Av00BQcwRIwfUfnQr82FBGknW37WZ5wOuTzvy hQEPuGadrQdqO0McsUmqb8Zc64WvhQTiY27XO/ZYlQUZ84lkYr5P2jDgTOW5OyAgl6nc krYAFnzcOhNq2nCeV7WhjLPsA4xWaqAenWw4ZkJNGEX5hKKrJb085LPLxH3Uim/HYDTH ws1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787568571; x=1788173371; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=vVusOYN3ugAh2ecLn7CEAf443UVMgdSl2XvYPqrDBtY=; b=dGaSIEJONe9totzClrBF7UUUo/lhy7NOwDP+ap0gaWi34+0zxyTpB8G+5FKHdzVyxn TuywuIyCu22shCCt/QGJhDLpWs5pzVWsH0AZHa9kcfoDjo2Ra2ID7KT0YNRkLZSAWUtm B9rtEEy8Egm0dL7dqMugwsDRGKgNVSI+YRwUd7mKRvcmkB2uvM1cE7o3n0++XDc15Zm7 Be3qHCSw2a6yJAPDpAg6Vx6olYFiCZdnyCikqfvBqJWyT+UxCJ10YInr0N6QK3/neuXt ex3XZddEHak1szUQEkDn5z+K/CASWrOXbLzjfHseDm8wERWQu/lW86k3A8mmkg/T5Hmy qoWQ== X-Forwarded-Encrypted: i=1; AHgh+RoMmBaaVcBCVFzUS2ionI+dEIrZvbCZzij2GVTbfTNcdq7u1wWRx/o99qZkH5TvuTYNn0i5MuKQ2OZ83Yo=@vger.kernel.org X-Gm-Message-State: AFuF++kljTCNSbSD15r7aGS0qUxY7gDyUiVQU8n1MyhxvfYDAj3KY7ym xzeyUpadFXoK3Xk0iCqjBWkH/llvYIueyGvAq7MDKybwBrBKke2y/SJkU9I5wiISoQpyzvcSex5 cb2s5c3Pd7b7Uxl9aw5MilwwmWaNG6gwYavMz0M3KYzU45VDtxCq7Q7fND4gSqXdSDLA= X-Gm-Gg: AR+sD13StodZm1FUb4BG8L/4OX5REP5QKdoytpw8QeotqGr1XrORrF0Ek+5KiVLJJTJ GDa9EkHdCKpowqY0Pq78CIAUC+sIkKpmto0QFRspNqvH811F7b6VvZVq6oCBh9S+hV/xrXfcbhW H4E5bdAANZuAdDUn7+ukIiZ8wB0rAbFthZIaBP1joACwiFEYCSoZl9QRyZ+NO9YbzrHH62flTpj DSvK9DpQMC5NONx71kGHMV/nAxEbKdGUhCq2f5IwWamgG7mddsvJUQiInC+TzI+2nDQLrTrJH+m zRGl8jq2eWhbPEhwUmqWyYQtNOgBCq9hrRmnBZFjr3mlyQGKo3G+gPcGd3xoL90ME7z9NcMdLWW d+UuPJveqVRVTKAm7fCj3dUyohwZYDaC05w== X-Received: by 2002:a17:90b:224f:b0:381:1f51:1ff0 with SMTP id 98e67ed59e1d1-395c354d445mr42198005a91.2.1787568570934; Mon, 24 Aug 2026 03:49:30 -0700 (PDT) X-Received: by 2002:a17:90b:224f:b0:381:1f51:1ff0 with SMTP id 98e67ed59e1d1-395c354d445mr42197936a91.2.1787568570362; Mon, 24 Aug 2026 03:49:30 -0700 (PDT) Received: from hu-vkatoch-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-395c91ce453sm4125829a91.4.2026.08.24.03.49.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Aug 2026 03:49:29 -0700 (PDT) From: Vinayak Katoch Date: Mon, 24 Aug 2026 16:19:06 +0530 Subject: [PATCH v3 2/3] misc: fastrpc: move ADSP duplicate session creation to the driver Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260824-dup-sessions-v3-2-4b019def4e0b@oss.qualcomm.com> References: <20260824-dup-sessions-v3-0-4b019def4e0b@oss.qualcomm.com> In-Reply-To: <20260824-dup-sessions-v3-0-4b019def4e0b@oss.qualcomm.com> To: Srinivas Kandagatla , Amol Maheshwari , Arnd Bergmann , Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Bharath Kumar , Chenna Kesava Raju , Ekansh Gupta , devicetree@vger.kernel.org, Vinayak Katoch X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1787568554; l=3276; i=vinayak.katoch@oss.qualcomm.com; s=20260609; h=from:subject:message-id; bh=HM6nYB94UQqzE++3ZIy64Nq0TZgXvgxYjs2hM/NXndw=; b=g9wCclPyZiAPUuGFKMrBlbJy5VBBnr74Oy+TaeeyeXIQ03nk9zb8OlN3NKcrfVGygVSTuUFQe ofWIpVDiXiSBgNx6+4kYmUdOO0EBI+0LlaoKSTOI9thyPcjuyE+pSyb X-Developer-Key: i=vinayak.katoch@oss.qualcomm.com; a=ed25519; pk=UrGeKKxjIjpHZIjsbQKS/8rrVaP9KVGki69pFclCH08= X-Proofpoint-Spam-Info: AW1haW4tMjYwODI0MDA5MCBTYWx0ZWRfX2LpQyR1WnrZn Juf3rlFN+2Q4bJat8vhfyVq8VXCKBoHxik4Bm3i7lWbRKLGDIhvzJ2ZVBVAKuUU3B6gHeJvQxPa joYzWlf1GSKXpP9PsIzRkJCoeVkC/nQ= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI0MDA5MCBTYWx0ZWRfX+hi8h9wIowCi wzFoIXp16XPu5qf6HrLw0vYAcgDqPFr5fuT1Xb+909eEtxhYBi0MKmPuBbmzZw1DWuJOTiXnRrx uwD8MTzlW/Gk7QPH64CjzSADswUOpUYYwp/n7WSSSs1d6gtFGW0q9mVff1Ko/PRhb7A6CGOazxd LTARBNedNBE9nIV44yE9eolklwpCoGx7dr9q+IvUZfjP1agst1b/+KDzSIHebCQMv+du9kwArf9 a6pGKfsRefT6W2dlhX/9IXa7PZhrSuqfieXS2NjcojdIiY6Xtg91nb7f8jJ+bd0xKp85Z+JCPNt 4+hcme0mFokW6G9+QkYH0cm/GC0VE8aVoMpb+8C7LjVmI4KV9ri9Jb0YOOF5Tdf8OU7MQoZ5ttm azP5zSd0XVsUwxYMShY7+2nQI9rKphmfAkW2nUmUfN7Ee+oidDpjQX/ztYdv8Za5a7sGGDk1V5O 7CU/dhP3ktO5PXmDumg== X-Proofpoint-ORIG-GUID: t7UBHC5fvvEXRb2tlIKqq7kEH80_Il3n X-Authority-Analysis: v=2.4 cv=CoCPtH4D c=1 sm=1 tr=0 ts=6a8c21bb cx=c_pps a=vVfyC5vLCtgYJKYeQD43oA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=_Cnv2d4ds2Bg63dH_xgA:9 a=QEXdDO2ut3YA:10 a=rl5im9kqc5Lf4LNbBjHf:22 X-Proofpoint-GUID: t7UBHC5fvvEXRb2tlIKqq7kEH80_Il3n X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-24_03,2026-08-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 priorityscore=1501 malwarescore=0 phishscore=0 bulkscore=0 adultscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608240090 For ADSP, only a limited number of FastRPC context banks (CBs) are available. Each CB supports a single session, which means only a few processes can run on ADSP simultaneously. If all sessions are consumed by fastrpc daemons, no session remains available when a user application starts, causing the application to fail. To work around this, qcom,nsessions =3D <5> was set in DT to duplicate sessions inline during fastrpc_cb_init(). This policy does not belong in DT and should be handled at the driver level instead. Remove the qcom,nsessions DT property read and the per-CB duplication logic from fastrpc_cb_init(). After all context banks have been initialised in fastrpc_rpmsg_probe(), append FASTRPC_DUP_SESSIONS (4) copies of the last session for the ADSP domain. Signed-off-by: Vinayak Katoch --- drivers/misc/fastrpc.c | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index fe127bb0c115..55653af223c8 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -30,6 +30,7 @@ #define CDSP_DOMAIN_ID (3) #define GDSP_DOMAIN_ID (4) #define FASTRPC_MAX_SESSIONS 14 +#define FASTRPC_DUP_SESSIONS 4 #define FASTRPC_MAX_VMIDS 16 #define FASTRPC_ALIGN 128 #define FASTRPC_MAX_FDLIST 16 @@ -2195,7 +2196,6 @@ static int fastrpc_cb_init(struct platform_device *pd= ev) struct fastrpc_channel_ctx *cctx; struct fastrpc_session_ctx *sess; struct device *dev =3D &pdev->dev; - int i, sessions =3D 0; unsigned long flags; int rc; u32 dma_bits; @@ -2204,8 +2204,6 @@ static int fastrpc_cb_init(struct platform_device *pd= ev) if (!cctx) return -EINVAL; =20 - of_property_read_u32(dev->of_node, "qcom,nsessions", &sessions); - spin_lock_irqsave(&cctx->lock, flags); if (cctx->sesscount >=3D FASTRPC_MAX_SESSIONS) { dev_err(dev, "too many sessions\n"); @@ -2225,16 +2223,6 @@ static int fastrpc_cb_init(struct platform_device *p= dev) if (of_property_read_u32(dev->of_node, "reg", &sess->sid)) dev_info(dev, "FastRPC Session ID not specified in DT\n"); =20 - if (sessions > 0) { - struct fastrpc_session_ctx *dup_sess; - - for (i =3D 1; i < sessions; i++) { - if (cctx->sesscount >=3D FASTRPC_MAX_SESSIONS) - break; - dup_sess =3D &cctx->session[cctx->sesscount++]; - memcpy(dup_sess, sess, sizeof(*dup_sess)); - } - } spin_unlock_irqrestore(&cctx->lock, flags); rc =3D dma_set_mask(dev, DMA_BIT_MASK(dma_bits)); if (rc) { @@ -2429,6 +2417,22 @@ static int fastrpc_rpmsg_probe(struct rpmsg_device *= rpdev) goto err_depopulate; } =20 + if (data->domain_id =3D=3D ADSP_DOMAIN_ID && data->sesscount > 0) { + struct fastrpc_session_ctx *last_sess; + struct fastrpc_session_ctx *dup_sess; + unsigned long flags; + + spin_lock_irqsave(&data->lock, flags); + last_sess =3D &data->session[data->sesscount - 1]; + for (i =3D 0; i < FASTRPC_DUP_SESSIONS; i++) { + if (data->sesscount >=3D FASTRPC_MAX_SESSIONS) + break; + dup_sess =3D &data->session[data->sesscount++]; + memcpy(dup_sess, last_sess, sizeof(*dup_sess)); + } + spin_unlock_irqrestore(&data->lock, flags); + } + return 0; =20 err_depopulate: --=20 2.34.1 From nobody Mon Sep 28 08:46:38 2026 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 54306407CF4 for ; Mon, 24 Aug 2026 10:49:38 +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=1787568581; cv=none; b=WaLgD4PoJcwrh3QPIx9OJmpq8U3uoeq45xlqR9CNBNgk1wITRthgQtamyFNQ1dqFrW0EwAz8Qse05NIk8W3ri/UkW565YUFQNfWySs7j3R8blI1QXQxLw5Zhrdj2qTj+0ONGBR+oTMscMZuypx77D7RgQqV0t8EADahjD8v1fMo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787568581; c=relaxed/simple; bh=rNneJT7obxjP1X1Bry3YcWYR3YdUEBRbf48fYw9g3dc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bRoY9zKBEbOwAvWZwkOM/pRmxrTKvSJE2JAmz8wH60mzaR6J2104f7waeZpNuozmRAgipgdmuRxNOkF/OB586K4EN7vXx9E20ZmDrBISvyOoKaU6deQBxq7W2Q7D/8qUJOkYdfvk3s8HoontBccxr5EDVJvUrAIJ+mztJ3ZuD9g= 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=gdx2D6s0; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Inc8Oscy; 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="gdx2D6s0"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Inc8Oscy" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67O993651377941 for ; Mon, 24 Aug 2026 10:49:37 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 7WU/VM3Bj2X/8OfKuOyPEmSZ4TMRuASXVohpmslL+1w=; b=gdx2D6s0AgHa5gpJ FHt2e9cLpJa1eT8hIKmdS+MDHfoMZIjr8CLDRpGio+Pd3Ll8PlAW0OyEoUHRiei+ JCZ8/lockj8DVQLZJax+LF6fd8nX2FJ21LNKC6d4cK7IXTL+kAGIybN22q2ADahH GdpPj3X2NJAjJ48YogqCwHd5yC/yxqpykq176471Th71dvlAwjAsAi+Cgap5uIdt VrWODHROI+espcLui9/DtlLunliiiVr9yvHRTazucN0NV8RugL/f4hs9Zsa6sRI6 wSQ03FoeaQenz/YW7GuEI0jUj8d3dFHrX3kGbqwYciQc3Yg+/T7JMJc8NGK6Lyvq qtijKg== Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g8huf0tgg-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 24 Aug 2026 10:49:37 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-388cfc4848dso3327667a91.3 for ; Mon, 24 Aug 2026 03:49:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787568576; x=1788173376; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=7WU/VM3Bj2X/8OfKuOyPEmSZ4TMRuASXVohpmslL+1w=; b=Inc8OscyZgqBuTxhZXbM3wIZ7B9hq+lTs1nDvN3srXlH8IA8zmY1HY/QINZsfIVi0x 2wtzyaurfyve1bIlW/AfpA/pU5V0osNl+iGXTLQ9grbvXfAX4IxnXfsp5hrghCNjaW3t LfQuvsD5qrA2ie5kWSwMIjLSVzaUt743rsX+KvCqqqM+2gXqBpb3JqKcWKw2/5ziJcbt OvJ9CET8nQfgIQC0KqvqcheNGAPg+ImYJpccNet2ETZaUUfZH9iM6OrzB+3hpYOiGlea GIf2lIlM1iI2OJxbKAS4DKjZtHPNkeVYhi80TYRat5mpFuAX6ZAV9G1lzC3SemLogk4m XQpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787568576; x=1788173376; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=7WU/VM3Bj2X/8OfKuOyPEmSZ4TMRuASXVohpmslL+1w=; b=YFHSPZjxht773gCddIl71FEAiFJFH7PKqmgGAuY3J2ccWRwMSYnyXRVudNwcjCAbxA E146Vq1ClI7zZ1V+yqkILBptER4YUVSWeeLxDrnrUy0A1KnXEbzryqSMsdum8mSUjsyZ us9RGnjFDqNvHkkXvkfgYTSq1TC9LsQqjzI9DnlJA+8/31MJgvsbXAgAsw0EPy2/ZCjG 9zLatTPOvTBcs4FnGghxhTmGUduAMhPiF9eTlUDbY3slwYk4EcYS76tU9h49Ia348vf0 vnvZvFbKdgqSbd5pBvkeQ/Rsyep16q58la9E4VPWyBeysUbRPe42NnczrDwpCpS0qwCI k3Fw== X-Forwarded-Encrypted: i=1; AHgh+RpL5+oREubH2MHvXi8bH8/ZoxDHBxobz4B8MtJaJkkt1oj7iGzMOmSiDf0jzoMztfc+tOqQaPhY0JE0xYk=@vger.kernel.org X-Gm-Message-State: AFuF++nilzb+iO3B/caFju23KQhURDtp8KPE1qgFUA4hV14Cbyc+dtQM +huduG3jewXSGstWZz5Qld/Cn/dpL3MtZ9NLDljqN6wiCH1snGbxKhqH8Sz1gkhMRG5RSpyRtwF 4h6HgErF5sFz+GyNJ6ok+tn18Uxmz5zOgaERI6h+usaO7K2fGVF6Wtb0X/7JV+bK65nQ= X-Gm-Gg: AR+sD12/pCPZkA3TATIMdgelBL4NWRjlZWldVjnuQ+ySr6GY69mtvRGDvOo+fxhISdT 4ZO2G51afxoE/B/0jlricQzUbNFcCAIgQDiJpvlUE1m3C7KqBi9uDgxFsp7PYjuCvz4Mrg7MGo6 +7o9X76bCTF0U0l8xbmJoCwkmU82vVdhRGO9NSigdb9zen7ClvTq1Mdr1FOWSnvJg4jI3oeLqAs pYM0fqUX9/kKSXFwxucUMWszGG25XsMVJVuLOunhkPDjV1y2r0gUwYfgpzD2VwWf1vXXf+PuXi6 5YVX3Sn0l/YhiZvCMhSUYOEOV1DVAj0oMZz/GVafU1xdHAesnZ+ZBtBFXA4RYfGdpAWlDiZryJA 3vnMjDq8nGjSQTf9Bff4KP4UoXdhw4zZfVQ== X-Received: by 2002:a17:90b:57e5:b0:381:11eb:d78e with SMTP id 98e67ed59e1d1-395c35f0a79mr46724261a91.14.1787568576111; Mon, 24 Aug 2026 03:49:36 -0700 (PDT) X-Received: by 2002:a17:90b:57e5:b0:381:11eb:d78e with SMTP id 98e67ed59e1d1-395c35f0a79mr46724212a91.14.1787568575679; Mon, 24 Aug 2026 03:49:35 -0700 (PDT) Received: from hu-vkatoch-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-395c91ce453sm4125829a91.4.2026.08.24.03.49.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Aug 2026 03:49:35 -0700 (PDT) From: Vinayak Katoch Date: Mon, 24 Aug 2026 16:19:07 +0530 Subject: [PATCH v3 3/3] dt-bindings: misc: qcom,fastrpc: deprecate qcom,nsessions Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260824-dup-sessions-v3-3-4b019def4e0b@oss.qualcomm.com> References: <20260824-dup-sessions-v3-0-4b019def4e0b@oss.qualcomm.com> In-Reply-To: <20260824-dup-sessions-v3-0-4b019def4e0b@oss.qualcomm.com> To: Srinivas Kandagatla , Amol Maheshwari , Arnd Bergmann , Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Bharath Kumar , Chenna Kesava Raju , Ekansh Gupta , devicetree@vger.kernel.org, Vinayak Katoch , Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1787568554; l=1158; i=vinayak.katoch@oss.qualcomm.com; s=20260609; h=from:subject:message-id; bh=rNneJT7obxjP1X1Bry3YcWYR3YdUEBRbf48fYw9g3dc=; b=UajvJt99Ve5CBv8s1vmGRXSwD6/pIsPjTMZPuuM5ulxQajMLTGSypjoe2PoSZ7onOB+az7WrS x86SR5EPYqECTHubX3g4BkIT9Df/XGR35WVFvO9m33LzsxoEblQ2/2F X-Developer-Key: i=vinayak.katoch@oss.qualcomm.com; a=ed25519; pk=UrGeKKxjIjpHZIjsbQKS/8rrVaP9KVGki69pFclCH08= X-Proofpoint-Spam-Info: AW1haW4tMjYwODI0MDA5MCBTYWx0ZWRfXw7/hc+ewJNcX /C6tMo27nTqNrtvVlk5hao/tP4xgWi9oXnDkvS+YI6IwTfELHOkYMc383lYxhcGmnYafJ5aKdSs i3O9wVoANTD2M9penT2uRNoaMcl871o= X-Authority-Analysis: v=2.4 cv=Wac8rUhX c=1 sm=1 tr=0 ts=6a8c21c1 cx=c_pps a=0uOsjrqzRL749jD1oC5vDA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=e51zU0WOd6sbzzcJbsAA:9 a=QEXdDO2ut3YA:10 a=mQ_c8vxmzFEMiUWkPHU9:22 X-Proofpoint-ORIG-GUID: TJl3R36U2oBi3FBAUBn5Z8C6A0nvHRw2 X-Proofpoint-GUID: TJl3R36U2oBi3FBAUBn5Z8C6A0nvHRw2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI0MDA5MCBTYWx0ZWRfX9qe9wlKmQtgE p3CktAhl+dK8E+9qi9HCoVrfwk8qRvYkiH1RQLm7LZG708JvEHkMxjhR6RLZmTnu3m23XxAoDZh 1lLw2bvwyvfbKnDMpRtxMA34scG5htur4ve8ZM6LeMwRjlM1k7R3i/TQ73l4qyOyPlTmewDHFxp VfyhnkreZSqNvV0a8k0yAMfT9f2DSRE4L2sa8+/NDUXNTs7ZPdQTk7ZIbsK7i5Zn3HH5t7AVdxu TQYcfAjimo3z1JBLU/tel2WnmB1DXGyQPnjp4B7NU2M03VhxwRA6fI48HuVTjOYFW5nd/3HI7Z8 xAC65Ud/MqAZSoabHwswIrDLI+4F6ch7qWX5jp/lmLXzsPmWBYeuXoCMz0gqhbBf3TOuVZE1TtK 2iWbbv8iivzPmyu8sma7w7Gz6bLkzQkGKlVP40gojQUuhv1CQnwSMYbM54AWpCaWxwzymHLrcLq /o7CyZXhmz5AvOKTwCQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-24_03,2026-08-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 suspectscore=0 impostorscore=0 adultscore=0 priorityscore=1501 bulkscore=0 lowpriorityscore=0 phishscore=0 malwarescore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608240090 The qcom,nsessions property was used to duplicate FastRPC sessions inline during context bank initialisation. Session duplication is now handled at the driver level, making this DT property redundant. Mark it deprecated. Reviewed-by: Krzysztof Kozlowski Signed-off-by: Vinayak Katoch --- Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml b/Doc= umentation/devicetree/bindings/misc/qcom,fastrpc.yaml index ca830dd06de2..683989c468cf 100644 --- a/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml +++ b/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml @@ -96,8 +96,10 @@ patternProperties: qcom,nsessions: $ref: /schemas/types.yaml#/definitions/uint32 default: 1 + deprecated: true description: > A value indicating how many sessions can share this context bank. + Session duplication is now handled by the driver. =20 required: - compatible --=20 2.34.1