From nobody Thu Sep 24 13:41:53 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 0B1C446EF96 for ; Wed, 23 Sep 2026 08:40:11 +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=1790152823; cv=none; b=W0FLQrOf96JwrEU2pcTNXjKBLpXS7cXXw7tJPpz+rE1iI2p4K2E3frVCW+8pmUyKor0GZLr6n5acsEVbfhdxIMovoGnyiSUXiwqWn8Yb7l7dxaygwbsPquYaoOVXKfSCi+TBzThb/OONfLyaUm1lyTkR5NbrcvhcsiNR0pi8/Ho= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790152823; c=relaxed/simple; bh=2NFyyzgKwY0d5hBYe7MwLGfgwcNpViosAh7hxpTEgkg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qJB9KpOUlUSsjgJszgG1jhnXRjh7lc/nB8X89/iDRZwuFNLWMaJwnwELKVqAXO09+GqPkbxT97q05Q44B5DPWsLGK4+KD2GlW8I9ScDFIGzqWyhSrYoje1mDnHP/w/UbUpl66QcF5lz/d+faU653Mc8wVVZldrmW5FgVBLovCK0= 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=b4/0w7Jn; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=YAfXAUOQ; 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="b4/0w7Jn"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="YAfXAUOQ" 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 68N8Ji4K3332943 for ; Wed, 23 Sep 2026 08:40:04 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= tWqTLAkW4i1E1lvz+cnZILkUyZ8Lt+Lp/+qHaxdTMmQ=; b=b4/0w7Jn9teCNeyn 0yOhAx2//r7QxLON/6ARL6fPGV1kt74+4rTxnVgKkgZB2/Y1R7tPF5YPdtUL1BNc UZ/rmGRrqzvONyNWr/Q2cE2ZT5MTxHTUtgo4ICcb8hjKOv6kL4eh1J1ydF86CgXY M/eF+qtYxAWXTzeCPOtdsqXELS/KnuWSxzbbtPIbwMlMY/OY5SO32A6SmV6ZiRrv RbujksR1ebVEeQRLXtCqn5CqkFWr+1wE18fxq4t4DZQtKg/OhBmzImzCVigOzIBs 1M0T0452jO9xxBbEGchOM47+xBB34ydJ3ZoBcdADgHkLWhG5LOYzQw03DD2Zam7D qSTYuA== Received: from mail-dl1-f72.google.com (mail-dl1-f72.google.com [74.125.82.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gux7xudnn-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 23 Sep 2026 08:40:03 +0000 (GMT) Received: by mail-dl1-f72.google.com with SMTP id a92af1059eb24-14318be7d79so735164c88.0 for ; Wed, 23 Sep 2026 01:40:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790152803; x=1790757603; 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=tWqTLAkW4i1E1lvz+cnZILkUyZ8Lt+Lp/+qHaxdTMmQ=; b=YAfXAUOQv2eRmDeO3PMJAt06zvJT4wTuXrOYsWthLQTZ2vAr3YsGNqED4lbbTqaoDx V/UjaOpX2attdMpeSVGAawCZ9aJn8WmUpVoe2yo9Fip1FnXfgw5wmmEfd6A1Fru1LtxM WfwG/a7i60UIsXitrYfbme5QMS09nm4Jk6kjefEdScyJyRHzo9e5yIRiePVxMKSImIiO eSnbLrCMGGw4f/vYhnmO+WkspfFeEVuUdxIqhE7RFWGPrbF4c2IrkqfMZkv2tWACj8GN iDULCpVhQBXv3jPqgfTVzviekTCDIxIPXTKMPBHsnhuFTZgBMLnUpm+3fi0hj2yIVjwC 4ZzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790152803; x=1790757603; 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=tWqTLAkW4i1E1lvz+cnZILkUyZ8Lt+Lp/+qHaxdTMmQ=; b=ur9UW+JZkO08Kz5cfL2lFAGuxRAfalaHI6orrwFn1qKfe8i0EvSREFxlQG3XUv0fyz tKTMK2iogebl7uoYjw49kkcfByyGQv85Ixa9kgt9oPThbWrL1+5i5VHiWTFNOEoChdoh tH1BEhHoH58NIWpm/iEerwWLF+iPo29TUDOk1fclvpLrcEuLdl7wifUNQGwJVxu5+tF3 GV5kqiEhRYC5kc8blNFLE5lkEep6wiJ9SkHIpLFWZIhWeOHoHXwS5HYCiq4fZ1J9BRJ6 LbOOsH6t2K+UTwGKQvbmc1GClkCycy44by38sCoT03yXa7GS1zzcVle7BLmW4t/T6BZf 9zlg== X-Forwarded-Encrypted: i=1; AKwUvBxt8ixTxHRXEJmGx8Na9NT0THISxy+4vOe9V3kDLjnSifmFX04GS+yVeQ4JENw8uOdDzVJoWDIJGrM9hFQ=@vger.kernel.org X-Gm-Message-State: AFuF++kqBwo0OZv9pHVr93YO3AeWdpiJYzvh2hUlDytH/sfOA6/GuDRE xjDP70+aPy5WKaUcd4jHmxON7uQ+ohNAsgWz+k/h7h/3dWMhoBDcFApvlL22cCEYKj1V/H302I3 GEHRpnwCw1PZtbU/Ezggk9dUzjP2B7Zgla+7s2ysIRIIqa1hR5m22q3JuSvuNZ+h0zyNpA5PurN s= X-Gm-Gg: AYBFou1iyNEf9F0wGllvpD0aYdZ94KdiTZk+c6VJ9Q1XHtme64p749HLDolQBkjD0e9 XLRZJHKlk7Gvt3BJ5nj77JFW1dJC7jvihzmEeSUAfKw+azey3YtFKq7xQnCCbsgnD7mv7asjLRo ehdLfUYVjjPAl7l2zxIwMZBggZLb59Us4XB/zn1yZBZMUYY7v7aTdbsAz7bvjZIpHk6x6TvQiDz Zqbybn1by+w0zy6MRsisha9gwv1VjDNlxGdLADV0A79+7Ap/bkGkH1bLpsKZI4V4KH6JCP8SXva CiFvZglWPs+Szs1jTsg2WbKJFPlJgWn1sZY+fHjt+x0CZpHW+fLHo7Gfrqv5EeYvRfPkCrJLbH7 eB/PxSBCwv6I3gz6rUV/MtaPPyzwPfq1W X-Received: by 2002:a05:7022:3a08:b0:143:26ed:2dd5 with SMTP id a92af1059eb24-144f917a486mr2880957c88.31.1790152802679; Wed, 23 Sep 2026 01:40:02 -0700 (PDT) X-Received: by 2002:a05:7022:3a08:b0:143:26ed:2dd5 with SMTP id a92af1059eb24-144f917a486mr2880932c88.31.1790152802151; Wed, 23 Sep 2026 01:40:02 -0700 (PDT) Received: from hu-vkatoch-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-33e96d497e1sm4701275eec.25.2026.09.23.01.39.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Sep 2026 01:40:01 -0700 (PDT) From: Vinayak Katoch Date: Wed, 23 Sep 2026 14:09:33 +0530 Subject: [PATCH v5 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: <20260923-dup-sessions-v5-1-e953133a1827@oss.qualcomm.com> References: <20260923-dup-sessions-v5-0-e953133a1827@oss.qualcomm.com> In-Reply-To: <20260923-dup-sessions-v5-0-e953133a1827@oss.qualcomm.com> To: Srinivas Kandagatla , Amol Maheshwari , Arnd Bergmann , Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ekansh Gupta Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Bharath Kumar , Chenna Kesava Raju , devicetree@vger.kernel.org, Vinayak Katoch X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1790152791; l=5975; i=vinayak.katoch@oss.qualcomm.com; s=20260609; h=from:subject:message-id; bh=2NFyyzgKwY0d5hBYe7MwLGfgwcNpViosAh7hxpTEgkg=; b=mONT7plOj00vBr7bPCkQ+mur2h34QQjSDvPD2H0kmekMmjOUwMSZwsS3ccbS3yc+6u4KmFLGf bYX09Z4pyaiC54+aur6tmXDbvknthilgX/NO2T3HuR2pJi8XmJEMcSx X-Developer-Key: i=vinayak.katoch@oss.qualcomm.com; a=ed25519; pk=UrGeKKxjIjpHZIjsbQKS/8rrVaP9KVGki69pFclCH08= X-Proofpoint-GUID: _xZP1fRgJunnSqrgwFNow8OMKSaNISP1 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIzMDAzNCBTYWx0ZWRfX4llpARZ5GBlo e84GkFdnUtH9O2AS+ERjcKYh6DPOr/i3DOK/R2ruW5FDEuQtjfDHPKzy6Ih7QwPzio4jXleFMrj SsNWO3wZxwJJ57j5N7KBhxb4iHiw7JYRpvDp1HRIh2XD4h7Ko0fgjfzOL02n+jnLaciZu23lAra kg0dKvv+ZWibfNa+nJxu09QMsVGkikzng+w5/Y/EsyckOQNmLNUvC5En/sb71oEtvOoVC4YvxvE 9195EplYPbb5ZIhOxdl47O/usduves9Dt6zP3+6FZwxYTSODFi6C2qYW7T6MSHiqSq2hL7xqycs AzFkUJlCukPMJLCG4Zncq4piMrKPm4E1gA2MBSAZYA+TQ6CJNa7mzAQ0iSnyb2hwOkX+K7tn+NU z3aPE4GmnVWSUWypCjoyP4l6MGU0qSeFwocqYrRvY7nNtdpj1hB2gak+4Q7sqIq+qJI+k+VlO+h mDAiZOiu0EasINI5FAw== X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIzMDAzNCBTYWx0ZWRfX4FlliUxw23fS ZqU6IVgt9TSjuj06V6Z6/20T5bpP9OBwUx6NqyPCVpWZ8xOqM+zc427YZxfEUZBUPy5joblKgFg aPjLNe3xH6ai75gJyL35S3zuTwBvmCE= X-Authority-Analysis: v=2.4 cv=QsDLTlyd c=1 sm=1 tr=0 ts=6ab39063 cx=c_pps a=bS7HVuBVfinNPG3f6cIo3Q==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=mOEaRXDu9pUODS4UlNoA:9 a=QEXdDO2ut3YA:10 a=vBUdepa8ALXHeOFLBtFW:22 X-Proofpoint-ORIG-GUID: _xZP1fRgJunnSqrgwFNow8OMKSaNISP1 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-09-23_04,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 clxscore=1015 lowpriorityscore=0 phishscore=0 bulkscore=0 suspectscore=0 impostorscore=0 adultscore=0 malwarescore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609230034 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. Introduce fastrpc_cb_devices_create() to iterate over child DT nodes directly and call fastrpc_cb_init() synchronously for each qcom,fastrpc-compute-cb node. This ensures all context banks are fully initialised before fastrpc_rpmsg_probe() returns. Introduce fastrpc_cb_devices_destroy() as the symmetric counterpart. Before destroying the CB platform devices, invalidate all sessions under the channel lock so that any fastrpc_user still holding a reference to the channel context cannot acquire a new session backed by a destroyed device. Since fastrpc_cb_driver is no longer needed as an independent platform driver, remove it along with its match table and remove callback. Use module_rpmsg_driver() now that only a single driver registration remains. Signed-off-by: Vinayak Katoch --- drivers/misc/fastrpc.c | 104 ++++++++++++++++++++++++---------------------= ---- 1 file changed, 52 insertions(+), 52 deletions(-) diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index af18ff1992ee..f20d3e5ecc81 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -2333,7 +2333,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; @@ -2355,7 +2355,7 @@ static int fastrpc_cb_probe(struct platform_device *p= dev) spin_lock_irqsave(&cctx->lock, flags); if (cctx->sesscount >=3D FASTRPC_MAX_SESSIONS) { spin_unlock_irqrestore(&cctx->lock, flags); - dev_err(&pdev->dev, "too many sessions\n"); + dev_err(dev, "too many sessions\n"); return -ENOSPC; } dma_bits =3D cctx->soc_data->dma_addr_bits_default; @@ -2389,37 +2389,63 @@ static int fastrpc_cb_probe(struct platform_device = *pdev) return 0; } =20 -static void fastrpc_cb_remove(struct platform_device *pdev) +static void fastrpc_cb_devices_destroy(struct rpmsg_device *rpdev) { - struct fastrpc_channel_ctx *cctx =3D dev_get_drvdata(pdev->dev.parent); - struct fastrpc_session_ctx *sess =3D dev_get_drvdata(&pdev->dev); + struct fastrpc_channel_ctx *cctx =3D dev_get_drvdata(&rpdev->dev); + struct device *rdev =3D &rpdev->dev; + struct platform_device *pdev; + struct device_node *np; unsigned long flags; int i; =20 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--; + for (i =3D 0; i < cctx->sesscount; i++) + cctx->session[i].valid =3D false; + spin_unlock_irqrestore(&cctx->lock, flags); + + for_each_available_child_of_node(rdev->of_node, np) { + if (!of_device_is_compatible(np, "qcom,fastrpc-compute-cb")) { + of_node_put(np); + continue; } + + pdev =3D of_find_device_by_node(np); + of_node_put(np); + if (pdev) + of_platform_device_destroy(&pdev->dev, NULL); } - spin_unlock_irqrestore(&cctx->lock, flags); } =20 -static const struct of_device_id fastrpc_match_table[] =3D { - { .compatible =3D "qcom,fastrpc-compute-cb" }, - { } -}; +static int fastrpc_cb_devices_create(struct rpmsg_device *rpdev) +{ + struct device *rdev =3D &rpdev->dev; + struct platform_device *pdev; + struct device_node *np; + int err; =20 -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, - }, -}; + for_each_available_child_of_node(rdev->of_node, np) { + if (!of_device_is_compatible(np, "qcom,fastrpc-compute-cb")) { + of_node_put(np); + continue; + } + + pdev =3D of_platform_device_create(np, NULL, rdev); + if (!pdev) { + of_node_put(np); + fastrpc_cb_devices_destroy(rpdev); + return -EINVAL; + } + + err =3D fastrpc_cb_init(pdev); + if (err) { + of_node_put(np); + fastrpc_cb_devices_destroy(rpdev); + return err; + } + } + + return 0; +} =20 static int fastrpc_device_register(struct device *dev, struct fastrpc_chan= nel_ctx *cctx, bool is_secured, const char *domain) @@ -2639,7 +2665,7 @@ static int fastrpc_rpmsg_probe(struct rpmsg_device *r= pdev) data->rpdev =3D rpdev; dev_set_drvdata(&rpdev->dev, data); =20 - err =3D of_platform_populate(rdev->of_node, NULL, NULL, rdev); + err =3D fastrpc_cb_devices_create(rpdev); if (err) goto err_deregister_fdev; =20 @@ -2711,7 +2737,7 @@ static void fastrpc_rpmsg_remove(struct rpmsg_device = *rpdev) &cctx->remote_heap_addr, cctx->remote_heap_size, err); } =20 - of_platform_depopulate(&rpdev->dev); + fastrpc_cb_devices_destroy(rpdev); =20 fastrpc_channel_ctx_put(cctx); } @@ -2798,33 +2824,7 @@ 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; -} -module_init(fastrpc_init); - -static void fastrpc_exit(void) -{ - platform_driver_unregister(&fastrpc_cb_driver); - unregister_rpmsg_driver(&fastrpc_driver); -} -module_exit(fastrpc_exit); +module_rpmsg_driver(fastrpc_driver); =20 MODULE_DESCRIPTION("Qualcomm FastRPC"); MODULE_LICENSE("GPL v2"); --=20 2.34.1 From nobody Thu Sep 24 13:41:53 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 AFB1E47043A for ; Wed, 23 Sep 2026 08:40:13 +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=1790152827; cv=none; b=npX6MX+iLjhO42jKY9OAZjTKXfY3LqdKUcr9h0vt8K6LMK2hU+QyvW6TX6xC7s0KjlLZ6cImv0XKZf9ZW6qVImOdjNX2peaRBTKicB8krmsKl8hlUKLXnIHXv25hZ5iX1P9Pf/UR0RoIx/bHnRA2mPKDsQVzy2GwVZZbT0xLDiQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790152827; c=relaxed/simple; bh=TpBJy16S8qnRUC5bjeqAKGF99NjM6kdKLzu6h6H5AgY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=iVOiKCNJHIhTh8s2vrqMERyq7pcEFVXiFTWOPxx11jo2PEU2Z99h52N2Aq8PZpArnInYx7KpkWj6mjkqKTh5Bbh7bydlcGoygJFa5OIyhMKHvwKxoK88t0cJBceON931YhAGfvSdQyraf+r7fhDK0OuF6zlzHgQzlpHuTLtoGsQ= 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=F7wMsSmd; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=PFswQ/KZ; 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="F7wMsSmd"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="PFswQ/KZ" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68N8JZ3P2028398 for ; Wed, 23 Sep 2026 08:40:09 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= ottca0EiKIyP7vWmuQi/4WvWfdgC56k4HVx18P6/hbY=; b=F7wMsSmdgQjLZvU5 2CCvGGk7UpLvzXxhElnevwvA0wsK9FI3rJEYg/KZD7hXBDDr3zX2kwhd30kFL4yX pL7CHa7xVSl4YTWqhv6e/ENys4ZL0j4eF9hb6xCVWB6IpjM7HNMOnaKtC+zpLTwI uuGAj1aCD1L1LEQ1GVnLHE97WPS6ojYWH3Wyz9LAt63jbITK+nxqWk0YT44jaRh7 RAh7s2beQmihwxrKf3SRvryJAcDrG4liVjFCvE+tD7thHOP+JrjdB/hJRb8UV33S 8BGtfwWAfCawmZ7YvQjfIRxV5gLZQpzPwPfdW3hCDcDfHF/aBuGxjYEeJK/nKcze FH/9ZA== Received: from mail-dy1-f198.google.com (mail-dy1-f198.google.com [74.125.82.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4guy2c32w6-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 23 Sep 2026 08:40:08 +0000 (GMT) Received: by mail-dy1-f198.google.com with SMTP id 5a478bee46e88-32850005b6bso831219eec.0 for ; Wed, 23 Sep 2026 01:40:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790152808; x=1790757608; 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=ottca0EiKIyP7vWmuQi/4WvWfdgC56k4HVx18P6/hbY=; b=PFswQ/KZCxnZgDZFuCcQKqcuDAY9rhZ64vMyom8EUdrpg9wfG9Dx/UUEmocKdUTJUS gF120xekdgn+VqTS1QGruM+BpDvZhrnNjNkBPg4fgef63rdT0C/BPuwrWXlNrqJ5GTtW ZWsydAkhyXNRJ5tkJGfU62DWULCFJ2LMc2HBFwRgYNYGki3Cn5IBzxWkRoMOW8dXJtgu tZvrifjcdJuib5zCEdIx1NpUAFAwhoTroL7/E7WmJX9wbBCOjN55SvyPoUDpcawrKN+M OVOf3nPscgqI+yU4jvkwLcwoHEua6BajNTrlimbLCc7eS7Uz7bbvBseAJfVy0Nf8SpuD Gn8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790152808; x=1790757608; 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=ottca0EiKIyP7vWmuQi/4WvWfdgC56k4HVx18P6/hbY=; b=I1ukO/t16t+oR9QiVDSpYs0bxUrCYjY9vO79dIhpmO9iGGyPUZCdhMor3gW3AGvXBT eDYYefaPc90iSwNFH9kMr0zQ+qQuiZ+QiIRdFkjYa4evWMuUkx4Bn/ypl2MzoqL8zZJe NKI0cmty/QhxXdsMaAfYm4wJjcLkyqz9SGkJcOK2ksL/Ycx6dGdqO71DkeO4E0rSbzGJ G10nzs7W3Vs8tzR57STZ7mfO0Lsa7PgRUmu/vpOVDgCIEfr4sAL5X0QSaSRhdm4ZAXbJ dQtPQj9+dqDVzV9J+QRTANu8hvZZJD9b4DKWUKk0gh5Z8Ga6iIaY6UE4IYzynewaEixD a0ig== X-Forwarded-Encrypted: i=1; AKwUvBze8d1o/Py6PUjVS07uC3t0B72oo4H7jwgh0aA6CypGpQnY2CkmBhzxm9Xdg25azU6ZBdmAPj6rTR1TAMs=@vger.kernel.org X-Gm-Message-State: AFuF++lVqrDuWaIL+wwt+hAg6c2WQrltIjylYKAIf65JUHIhME0mk44H m86pDZvszdPPOz4b6oGgCViX5qpw65fTqk/CSi126E7zuD9iwoaLGNwbJFuzHPfP1r9P2Muo6Ja nm1mlilaQyx7D9aImZHjKrxQYQhGstu2s7QO6vE0ylGOTFIg8oAAbyq9z6JeOXg+SOMx4iZ1Dem w= X-Gm-Gg: AYBFou0cp8+dYaNYCLIyV4F/qxgzqAmIqwaVncoYKTK99SAmVTk3HGb4zWaGRoHeDFf ODVfVsdGh6PNSCf5os6c6wi1tPkh7Y0XEQMwquX+D6wULSq4xxlkJNG4WUsIzh7NXpPUmCfnQT5 8gJrlGk3m1mgEdEE9UmUY9HW4YvZ40vWOZqx3tkpIX9TvV+tiReYUocTFZ//8Mf55OvwHZ3XX1E 41RVrA9twRKgD7GKPHRRu1xlxchtXWjRc/dN4JtAEjL9a01CE0Ka/bCd6Bn7AlvEaZnDkr29VJ3 X+4WgUZmKVdwqiso9HyrgBPkY5LUIEUKtGgEMCmw6bGGUNIzJLJJzIVFkYy4zazkwKze3nG4HLL 5BbxRrub5VLu0Oep8a333Z4yv8KNG9xRH X-Received: by 2002:a05:693c:65d1:b0:33c:b64a:3b82 with SMTP id 5a478bee46e88-33e8c24a5f3mr1854802eec.10.1790152807790; Wed, 23 Sep 2026 01:40:07 -0700 (PDT) X-Received: by 2002:a05:693c:65d1:b0:33c:b64a:3b82 with SMTP id 5a478bee46e88-33e8c24a5f3mr1854783eec.10.1790152807221; Wed, 23 Sep 2026 01:40:07 -0700 (PDT) Received: from hu-vkatoch-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-33e96d497e1sm4701275eec.25.2026.09.23.01.40.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Sep 2026 01:40:06 -0700 (PDT) From: Vinayak Katoch Date: Wed, 23 Sep 2026 14:09:34 +0530 Subject: [PATCH v5 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: <20260923-dup-sessions-v5-2-e953133a1827@oss.qualcomm.com> References: <20260923-dup-sessions-v5-0-e953133a1827@oss.qualcomm.com> In-Reply-To: <20260923-dup-sessions-v5-0-e953133a1827@oss.qualcomm.com> To: Srinivas Kandagatla , Amol Maheshwari , Arnd Bergmann , Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ekansh Gupta Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Bharath Kumar , Chenna Kesava Raju , devicetree@vger.kernel.org, Vinayak Katoch X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1790152791; l=3250; i=vinayak.katoch@oss.qualcomm.com; s=20260609; h=from:subject:message-id; bh=TpBJy16S8qnRUC5bjeqAKGF99NjM6kdKLzu6h6H5AgY=; b=N/29XZZ2KO5pgju+btB8IieQgG4KOSTd0lXWxo5oi7fE1R/tYC2WmQBPt/3FoOvHUW/mlk4Ma ooHExQpQNfyAlOMaLjv+Yvsy7qeMrbEYL09rXJTHOnkEbEpyCXUiIZ3 X-Developer-Key: i=vinayak.katoch@oss.qualcomm.com; a=ed25519; pk=UrGeKKxjIjpHZIjsbQKS/8rrVaP9KVGki69pFclCH08= X-Proofpoint-GUID: 2Zgn3BxACiImZIEfaRacfBsyoWRqzYID X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIzMDAzNCBTYWx0ZWRfXyV/D5Cqq/3FI P0DIZIPFKXCY3tyUgCCtu1WRk9vR3bFCBChSRCgkvzUwoMwkrft6KArlk+VNcQst7sC2g+iD8HQ Eijr8XITl7X4UzdNtOvDP0wo292o3xo= X-Authority-Analysis: v=2.4 cv=Zsh4uN7G c=1 sm=1 tr=0 ts=6ab39068 cx=c_pps a=wEP8DlPgTf/vqF+yE6f9lg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=_Cnv2d4ds2Bg63dH_xgA:9 a=0bXxn9q0MV6snEgNplNhOjQmxlI=:19 a=QEXdDO2ut3YA:10 a=bBxd6f-gb0O0v-kibOvt:22 X-Proofpoint-ORIG-GUID: 2Zgn3BxACiImZIEfaRacfBsyoWRqzYID X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIzMDAzNCBTYWx0ZWRfX8mKEj+GUhU/n jP8jGRYFjDxlJUUGnVO+EE4YRzt2PXfnGQpiTCuu6Kdw22zcKvbjt8+0AlVSWPaTjseXEoP1iTZ DmZo5yLolzQ029+9MytQOGwcS3RabjovaIYGSgUUQCXPQliYjha+K2PpQPr7fEvOssyISJiyCd9 wr63lOhhPW1eCfp/wM5ElENfj8n1ubc6MvbASSEzWhx1C2jIO1EJkjI3mwf3QUrp2lsWqw2oi6u yWOiw/fnK9IbDHb43C/Qq3fOh5fPXwxt+MCP0/mJTYhXMZVjD9U2rX3Kv3ofeFMoAlnlG49AXo1 DFA3qPbUS6cXIF1Z1j++v5NUhp4BpGCtdAC/eFZY4QMP601ai7jPN3bKx0hlsqz+DYuTAPyYbDp zwCBvtoWDM3npi5dRNh+ktwzWVkH1IWz/OEuzF0fIroP3L/diTq/cyVXmpOeXCO+XZqaDJbwYaT WPEBgAKo4Vh4dJsfthw== 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-09-23_04,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0 clxscore=1015 priorityscore=1501 phishscore=0 bulkscore=0 suspectscore=0 malwarescore=0 spamscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609230034 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 | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index f20d3e5ecc81..b29c1fd00de2 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -34,6 +34,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 @@ -2338,7 +2339,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; u32 dma_bits; u32 sid =3D 0; @@ -2348,7 +2348,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); if (of_property_read_u32(dev->of_node, "reg", &sid)) dev_info(dev, "FastRPC Session ID not specified in DT\n"); =20 @@ -2369,16 +2368,6 @@ static int fastrpc_cb_init(struct platform_device *p= dev) if (cctx->domain_id =3D=3D CDSP_DOMAIN_ID) dma_bits =3D cctx->soc_data->dma_addr_bits_cdsp; =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) { @@ -2669,6 +2658,22 @@ static int fastrpc_rpmsg_probe(struct rpmsg_device *= rpdev) if (err) goto err_deregister_fdev; =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_deregister_fdev: --=20 2.34.1 From nobody Thu Sep 24 13:41:53 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 B0A394071E9 for ; Wed, 23 Sep 2026 08:40:19 +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=1790152825; cv=none; b=YhS6cKXv8fAkOUz/s6Wd6BRwJvjolHjeCpVNdCe/Du3dxiUSw2Srhr6uccMkLIrYkz8ZZx0vKWK9u5DPqeeUzJpPziZUX/SpvXW8QX2MP4QYJOfipx5ozNZdC1r/15n92lNU/lywpZ/7m1oU3UFqX3amNbJFB5ilDQ9MzIjBwHs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790152825; c=relaxed/simple; bh=4EJ+Dqj+1p2e3D/bJWAuULr9rdv/qA1bb0r2/Z+2fTQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WpsDTubyPYxNHGjQkfDV1Zt277Zj376688UxLRYasNJ0tfuZFUMSzCaitZsHwBh3C8c1X50edDG4Q1WMQ1PXF+aQ4yFGx2btqp52ORXWxSuy7AIkiIQIKBUQo46sGcl6J4SJN+h6v7OiRRAGpJED4uXY7SjZDElZMJkEun6fy4E= 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=YtcMmpo6; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=JHbpJJES; 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="YtcMmpo6"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="JHbpJJES" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68N8JQuT3701090 for ; Wed, 23 Sep 2026 08:40:14 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= KQXRpTTPtzwVRvlOFmFAjbS+ReLpP/eRuTZel+cLkNE=; b=YtcMmpo60xktOfVa 5mQhINctQVE8nlltFUfINfnW064drKr8RIoYmnWHU+gviCv0D4gRNJ5EtiC1wedq 0lvEJqtQ1nRYS7ZVV4G/tlE9F2xZdVg77oVW9MPuNv2qimpfNdEtfoFMcdw0z9QQ c3V/2ZFqnEQZ7t4NFqVYRX15SObz4g8jyJmRw2Q92s87JqIkrRU1Kbc6Ru/OHe3j MBEtb1DiCOhQTMou/fNeZc13nMMN4B5Ne2w6sJvA0QLq/lZdysoHW5Fa0Kp43NaN In5WySVIwztYi4ewBdwJXlODVqUCRujVqk4jfghUKhHav06dyxXRHMYObNjmeu7m DX+uEA== Received: from mail-dy1-f197.google.com (mail-dy1-f197.google.com [74.125.82.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gv428srp7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 23 Sep 2026 08:40:13 +0000 (GMT) Received: by mail-dy1-f197.google.com with SMTP id 5a478bee46e88-333543ac378so765438eec.1 for ; Wed, 23 Sep 2026 01:40:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790152813; x=1790757613; 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=KQXRpTTPtzwVRvlOFmFAjbS+ReLpP/eRuTZel+cLkNE=; b=JHbpJJES5bVaAAYumIl4asYBD9aROedx+lGf9qvtkmqPn0IA9Omv6ClwZbm3y73dhp EVV/uf29ljpL1RiMkNoolKhikUYuKe8M5WyiNx4LsRYJzEMOqCBRpuo8DVSX5JK0sjKz McLIpIK/Fz3gSpuGc/kcrH9wKshpnEiApu5HrhXcdgWHbgeJw0UeM7i7LT/p/Q9pjhYF 2ZeWh7umPlGqB5IRPnfvXZj3ZKDH5961PX+5Ao70n5zLAgdh7+3FX0euIzbtJR7FFLDn DAwqWktsLmbLmDe8+QsQzLr0K11bTHoeF88BYty4rFNkMXgmxNVSqXiIj+ylxuPiNX7c gKKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790152813; x=1790757613; 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=KQXRpTTPtzwVRvlOFmFAjbS+ReLpP/eRuTZel+cLkNE=; b=VFfTUcbaK69A42QxE91bamAmbXywZkzfCcj2Fh12e6IeaxtqEp0zJ1p6m2KrK6dqCN XXruUnfTdfWCbwuiqpdtEnBQGgvrkWlH5JCvunbwxf+IdzAXGu+bCeSTEgPeZcZKvNbt 40QbBUWuccpTeaQ7ClFHQUHme582YKvFu/cEILadjMc3dvikkBfH6QNWxv0doDFrYqoV 9fXocdvzsGE1tq2bz5VH/SYEEdatnPsK7Cl60wY6bwopl1bBy8NwzMVmKX3/ID0Gip9B kfLaq0yq3lhXnz0bMKxtayVDcV0K8+xWeP2IA6ArSeasixwvPIznWNGomKLHPdOjOEoW 1kWw== X-Forwarded-Encrypted: i=1; AKwUvBx5MfLaCIKjwiCrwI8B3CVuHZMLP64akppjiIKoRuhmfAeagcOLBi+9PXpu30MSJFSbQj0wrzpF7e1bBDQ=@vger.kernel.org X-Gm-Message-State: AFuF++lscLxbB5Lr+QsriOwQ7WHtAEo1BBozXfelZ7V+qXHtKOGv395S 0xQ8fNp7NR53EnhcvCGKkX5nMUQfcF9wQo7yixSV5FqAyQx155WJKW1VjdQrW4JPuFW6vkm1g7h 2eJY9vqIxMR8IVd+zm2c5mnthSqrHEO6Wtw355dRLjAClrQvimEtFksGbztOMLb/bSnN1vGKzd4 c= X-Gm-Gg: AYBFou3ZIhXkRlvDvl7BU7eXyGjJjsMtMlAgw8AaCbwEkg+dvseREFE7WkAd950FBzT ON8BCxGnOoxzwJBQ7zYoZSLyAsGCglmZD0LuH9uqCyFOUjUnDL13ov8hLUwtR+6VcQj+Ri5qt9/ d8RKDFhMNsdDQjCIIK9ULFu3EwYHLtziFybg2gnTCLQaRZHm9LEo0JZ/aIeqHg9SFFmoeyxqG3Y BR0nXYTe0U2SzqKojwl8Zobse4Sa5CDLnJEt0mUECizNTtv+JjStyGSoehvKcBzq3meyp7oTlTb mROpDiCyh09vCSsWmE1uuhfpFLokB/UiyJndBXAfN+SLbiCdYELBMjDrhmSo3TZwdDtj+QVQyDz 82udgz45VzbQgLG8R4nCpFoJG+g2NS/qi X-Received: by 2002:a05:693c:87c3:20b0:33b:f5b7:f4b3 with SMTP id 5a478bee46e88-33ea647e619mr1704602eec.27.1790152813183; Wed, 23 Sep 2026 01:40:13 -0700 (PDT) X-Received: by 2002:a05:693c:87c3:20b0:33b:f5b7:f4b3 with SMTP id 5a478bee46e88-33ea647e619mr1704574eec.27.1790152812628; Wed, 23 Sep 2026 01:40:12 -0700 (PDT) Received: from hu-vkatoch-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-33e96d497e1sm4701275eec.25.2026.09.23.01.40.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Sep 2026 01:40:12 -0700 (PDT) From: Vinayak Katoch Date: Wed, 23 Sep 2026 14:09:35 +0530 Subject: [PATCH v5 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: <20260923-dup-sessions-v5-3-e953133a1827@oss.qualcomm.com> References: <20260923-dup-sessions-v5-0-e953133a1827@oss.qualcomm.com> In-Reply-To: <20260923-dup-sessions-v5-0-e953133a1827@oss.qualcomm.com> To: Srinivas Kandagatla , Amol Maheshwari , Arnd Bergmann , Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ekansh Gupta Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Bharath Kumar , Chenna Kesava Raju , devicetree@vger.kernel.org, Vinayak Katoch , Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1790152791; l=1160; i=vinayak.katoch@oss.qualcomm.com; s=20260609; h=from:subject:message-id; bh=4EJ+Dqj+1p2e3D/bJWAuULr9rdv/qA1bb0r2/Z+2fTQ=; b=e0MgaiZWsc2oUknzB47/o7/O9yahDPbB/eRXHGFyGweqtgG5dEQKiMCoL6vwICumPCsRUFTil krWQU6b6EpwBpTcLD+l0jsxvh2hMEnmvNvfNnKFQlbB1YCmBV1FNbCV X-Developer-Key: i=vinayak.katoch@oss.qualcomm.com; a=ed25519; pk=UrGeKKxjIjpHZIjsbQKS/8rrVaP9KVGki69pFclCH08= X-Authority-Analysis: v=2.4 cv=EZdd0/mC c=1 sm=1 tr=0 ts=6ab3906d cx=c_pps a=Uww141gWH0fZj/3QKPojxA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=e51zU0WOd6sbzzcJbsAA:9 a=QEXdDO2ut3YA:10 a=PxkB5W3o20Ba91AHUih5:22 X-Proofpoint-ORIG-GUID: ZxMUfhUp-ytzb8bTq-TOmfYjYdQJZM0d X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIzMDAzNCBTYWx0ZWRfX+76IzaNcbASA wi2wlE+fid0zWsmg2iGAQWK9rUTVos/bmDQIgypsl8hvFhXfT3Y/Fsk5qrfcUqvX4BDYmj9TI1H LI93j+yz0p3smkFPaqBifO1QztNpAqF7Yz7uqSO6kXJLxvDAarq5Sc9kt/Z3h2vx2JZA5k8eiLJ vr/jbNBokxdoV7IEuU0xzJRD5YiBUIoXBxzmW2SeB2WZdaEipNcVRT/6Z8CQNejS5q42lZKbUMM Pm/I1+m0hFJKRykIyoZle33KS0BKy/gP0DYrmefHzEbSL3avYsiePL3pkLrbUxMeVtqviGcECuu vJK7IU1G7MNOEIUPAW482uNqK1PlPdLfvk+H2JNhbJOSP0Md4tSea4qv3amc6fnRR5aV+T/K4/h /3vIDX62nTW4cUOynJ8iA9KPN6D1xwwnXf/QKdVVO5q9kHQ4NEixZ8031pbKGuWnWB44MWQ5ePI BD7cpAp3jOGsx3hO5AA== X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIzMDAzNCBTYWx0ZWRfX/lYLz0mzyG1S 7K9UmubRJfQC+VjJ6swTXuvSBxtOb0qcT8sq5x1jyX+Nl8zf5hyBRTeddEEaXQdyo0DCAIGRSPa ktXDGOFmNM5Jj5kJvLy4mFlWCFT0ChI= X-Proofpoint-GUID: ZxMUfhUp-ytzb8bTq-TOmfYjYdQJZM0d 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-09-23_04,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 suspectscore=0 bulkscore=0 adultscore=0 spamscore=0 lowpriorityscore=0 phishscore=0 priorityscore=1501 impostorscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609230034 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 49d2a5e8ba39..e945c8ba75e3 100644 --- a/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml +++ b/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml @@ -101,8 +101,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