From nobody Mon Sep 28 04:53:45 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 734413E2AB0 for ; Wed, 26 Aug 2026 13:46:06 +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=1787751968; cv=none; b=AqF8q01lYTOtHyBr5ofPiOALceWK+I1owifsHe1Eg7HhxvGtKgIvWQyrySM6+I2tLu4LwoLzDRjpmDfPztbRhTz9OJxb9h+4ilNlNzFYZpwEvC+eOi6mjkXXeR3gmpJ56rIO9lCyls+WrY3kZYJUAPykKQfwzDZHG0+PxZQTmqk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787751968; c=relaxed/simple; bh=BbU3aeT8kDtvkKAMi736qK8ufQxuuJe55yKLxu9JT1o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=H2r0uKUUuMslBNMubcPixF32VIP5SVinry5ZQqE9lARkKwY6w9W+DxO/zxgaMUZ2x/zaxmBDfSTx1dlJZ4Df2vZnXY0JyVvlyp2WqoNGGHHWJH4K9guy2wT+5GxWYE/Ufkf2/gKYFn94x6XXkuay3KP9FZgzKXvTy8y2EuRsraI= 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=W3apjqhx; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=PQzXptJx; 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="W3apjqhx"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="PQzXptJx" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67QCC4xH3983635 for ; Wed, 26 Aug 2026 13:46:05 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= wvrhRhSRgFm3KRFeRtyPfPbaECnbE0fwGNji3RrKscA=; b=W3apjqhxoZO5HRyy gYqHC/KoERrxR0zO1CGszuN0uYLt0405e149ZOqXkcWvTtGdzzmiaZwIS+YaFARj Jo/NvKN0vWymEcEx6bdEGFT90ce0j62/W1BZKbF09GHEiGmxl+rVAGg1EDyE3Jxs 6IkYaDM7r3z4di9O/jsqnbOyK07Kv36TKY3fBzYXrRoJZYQ2qK2SpqUqzCBXhpTi OdRR4rti3NYIipCrnRb0X6jgYHjhwo6nPEJ25mg9B7hcGqrnB8wQEMxBmb3hSvtC KFQoA7/8FiPxCuXx42JMAGQgoVcIrnfliKhKMriP3u3mL38pvCyun/+ugE2NyHE1 7EXW+A== Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g9wmqry33-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 13:46:04 +0000 (GMT) Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-395543dc382so1382153a91.0 for ; Wed, 26 Aug 2026 06:46:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787751964; x=1788356764; 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=wvrhRhSRgFm3KRFeRtyPfPbaECnbE0fwGNji3RrKscA=; b=PQzXptJxr1XlEkLice4BvI/2lJQqnnjht8IfTEv18XgXjnLpyCvzYVfKxS8txsBop+ IsmJQ6CoLjWmJaFrdup7uTBwIY9zF+NHir5XmcXBvR3EzBujMtfHV0rjug6M2KiRNOlB RL9gwQE9ehH8K+qAzRp8aVV9jKm3eUFvpVmasz6SLdVuqbTlVPUyTwAXU0M48fRGOAS0 EV2iqrhNqhwy0iYYrKUnDvABM6kA0cdUL83ulpuRLrBpyKrLqCoQ1dfVWxAmokmbZQO+ heuvwA6HEkccpK0GSmNfmN+M/Edfdlod6sc12NBT2Iiq2MqsNqrWZ+CNCXZzrD4n3A6S lDDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787751964; x=1788356764; 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=wvrhRhSRgFm3KRFeRtyPfPbaECnbE0fwGNji3RrKscA=; b=MPfBssRhcsgvzvrK15FJbGxrjHXTKG/t+u+Ihf15sShwh+bdqimObFnDK/og567BXz Tms13RTenw3cyQ4OCeJJSaBxBKv6nnbQwab7ZISyp+aDWvT5u4q+Gd0zilsIx0fyJCc4 6zOahx+au00SInldKl/20TJ58JEt9iQTWKlL8P0a/+0H6NJ7LvbS+u0IvVQRU1EVwYW+ NVDtzoBIES36FCJ/Tr1SDEjd82vD6/p70/uQ/NTEdLtX7novx1LhfEtFOosGL90jGSCJ B1wyLAm3QHzE7oV0+zxcv8iGsOobX75l+2PfE6rksiwT/ndU4i2bbY3dAqA37fwHRLBD hq4A== X-Forwarded-Encrypted: i=1; AHgh+Rrcn9SyOuaf11osatBsIvXxVu8SijpqIUn8ng9wyEGjhcG5toTPpqFpmeZD8+NjJPaoNnE1ZpRzvr/7QgY=@vger.kernel.org X-Gm-Message-State: AFuF++nCZmUGNb6h6txcnKxIopfBXt2XaNhAZLXrH/2w0o9+bc4laIil 2BuaN5RpY70Aqa6lUGz/N8971fbjjfd8jY3Uiu39zWw4kLpjKO/DwYOFdBHvPH3KhbfL/sNc1MZ 7jeDnRDc7SuFq8t67u1nPHJHcApy4eEZF1lCpCzZeC6N17fbzs62I0Xc6ZkSFcmM89Us= X-Gm-Gg: AR+sD10SQuypncGbzfYRVm1OtYeZ8IsNu2Zp29jtkMq8hqZa+5TnWkJUbF9N84XsRnm ZKnKI+/PVQIcRE6cmm9bwDWs6llFk3q1x4RAxR90R9l0SEs1tbvHy7AmJig0RhS4pMSxaJeiP6A +tYQJArWOj1e/en7qwmv8XvOpO994Zi1NHnmQOgBheOzvEIamE9UZqVYJE3IGAb2LU8lWHHmoU8 v6zBnHpQODFnRKcmfcK/mvh9m+7sKQiYA+CIkvz00ifL+3DfbyYywD5bx5HH9Syd/1913QtwjE9 kS0IAcHx5zREyMBK0tLf6m7Qk3wnzHUCydXjWLt6EQJtQVdDnnwKP+WDuQivBOTAAr6GMIFqZLf QfdNFWEyXJwVlkTJDU3Tl2KPnSn0AEmbUXg== X-Received: by 2002:a17:90b:54cb:b0:37d:f206:a2ac with SMTP id 98e67ed59e1d1-3966d5b7c62mr15843958a91.7.1787751964026; Wed, 26 Aug 2026 06:46:04 -0700 (PDT) X-Received: by 2002:a17:90b:54cb:b0:37d:f206:a2ac with SMTP id 98e67ed59e1d1-3966d5b7c62mr15843827a91.7.1787751963551; Wed, 26 Aug 2026 06:46:03 -0700 (PDT) Received: from hu-vkatoch-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39645b64c48sm8179696a91.8.2026.08.26.06.45.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 06:46:02 -0700 (PDT) From: Vinayak Katoch Date: Wed, 26 Aug 2026 19:15:43 +0530 Subject: [PATCH 1/6] dt-bindings: misc: fastrpc: Add memory-region property for context bank 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: <20260826-extended-mapping-v1-1-d046c1cb9a9f@oss.qualcomm.com> References: <20260826-extended-mapping-v1-0-d046c1cb9a9f@oss.qualcomm.com> In-Reply-To: <20260826-extended-mapping-v1-0-d046c1cb9a9f@oss.qualcomm.com> To: Srinivas Kandagatla , Ekansh Gupta , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Arnd Bergmann , Greg Kroah-Hartman , Bjorn Andersson , Konrad Dybcio Cc: Bharath Kumar , Chenna Kesava Raju , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Vinayak Katoch X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1787751952; l=1735; i=vinayak.katoch@oss.qualcomm.com; s=20260609; h=from:subject:message-id; bh=BbU3aeT8kDtvkKAMi736qK8ufQxuuJe55yKLxu9JT1o=; b=zF995oQ3Y0zaRNhFCXjq1tnksXYHKJozOLD4+QwP/nP+FPezLYl+3kGt9We4nGf7xCmvNvKJ/ eUDi/vV9KwtDasgYRAh3HPzMy3qvlYEsTSuS0DS8fY88DcFZiC4U25u X-Developer-Key: i=vinayak.katoch@oss.qualcomm.com; a=ed25519; pk=UrGeKKxjIjpHZIjsbQKS/8rrVaP9KVGki69pFclCH08= X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDExMyBTYWx0ZWRfX6srNstxrVSNI ekngRcu0EjW/ocRBmFXrO02MFSA/15P7cksI65ayoBbABktW5yQOrfdjDptiEtr9ukqjur7yM0G o7C0jnKAV9mzU1hhWnr33oC1MbJLNpw= X-Proofpoint-ORIG-GUID: 5goJsaDckzvLX-EHAFCBLNhk5wxRccRl X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDExMyBTYWx0ZWRfX341TNmP8s6uO LNYBRvn97BhP/c3It3EEwVf81IYIeZvIcEq5oqJ8uhvs51a1QPQfTVmdjAQkyf+C1URVtks3S2b ElQKV1uxmHqsWsSGq1nRwHLYNL4l/zgfLe5btegANNzSF/ZvsWHpgBG7e2USPl/2B8aq8f7sm/I IxGq/qiIuBepcp+Jjr303jOQ1x74rC6LKVfb3Z5bqZ/rnBanU2dRnilRU4cID9ZRorvDFHFZXTv beLrFGS5oE34HP6AKj+fLBAsfavkaHQZasgd8lwxud5lJOTcHccYSvqnelYrddvE2jyjXdjj6JT 6D0hZ3c/+ubSI1EF31pi7p2GKqWZ5dTLcnS9ZdMirocJWm4q6VBK9r4nxhqp2vsH658X9CTDHH+ XZIiFcn1pGGbSI3KUpMN/YOxoRiJBn9gGB+Fb2eMunx0NyvQX1BRI6u7CIs5BYPoGGIDrNkLtQs qy9ogqszTMokvI3SUqQ== X-Authority-Analysis: v=2.4 cv=T9S8ifKQ c=1 sm=1 tr=0 ts=6a8eee1c cx=c_pps a=RP+M6JBNLl+fLTcSJhASfg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=Z90vTsduAcvSOalKQMcA:9 a=QEXdDO2ut3YA:10 a=iS9zxrgQBfv6-_F4QbHw:22 X-Proofpoint-GUID: 5goJsaDckzvLX-EHAFCBLNhk5wxRccRl 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-26_03,2026-08-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 suspectscore=0 priorityscore=1501 malwarescore=0 phishscore=0 lowpriorityscore=0 clxscore=1015 spamscore=0 impostorscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260113 Add an optional memory-region property to the context bank node schema. The driver uses its presence to identify a context bank as dedicated for extended IOVA mapping and programs the SMMU with an iommu-addresses range to push allocations into the wider address space. Relax #address-cells to enum: [1, 2] and #size-cells to enum: [0, 2] to allow platforms that require 64-bit values in iommu-addresses to pass binding validation. Signed-off-by: Vinayak Katoch --- Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml b/Doc= umentation/devicetree/bindings/misc/qcom,fastrpc.yaml index e945c8ba75e3..f9830ef37814 100644 --- a/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml +++ b/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml @@ -73,10 +73,10 @@ properties: $ref: /schemas/types.yaml#/definitions/uint32-array =20 "#address-cells": - const: 1 + enum: [1, 2] =20 "#size-cells": - const: 0 + enum: [0, 2] =20 patternProperties: "(compute-)?cb@[0-9]*$": @@ -98,6 +98,14 @@ patternProperties: minItems: 1 maxItems: 10 =20 + memory-region: + maxItems: 1 + description: + Phandle to a reserved-memory node whose iommu-addresses property + blocks the lower IOVA range, forcing allocations into the extend= ed + address space. Its presence marks this context bank as an extend= ed + mapping bank. + qcom,nsessions: $ref: /schemas/types.yaml#/definitions/uint32 default: 1 --=20 2.34.1 From nobody Mon Sep 28 04:53:45 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 D89084307A0 for ; Wed, 26 Aug 2026 13:46:12 +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=1787751976; cv=none; b=XHErkBRNR2aM/r2OhCQoq3f3on+5eo+3y8VytDL+vcvPmn/He7NWx2JWhPW/4ZTkm2Yxe1DU/1NlnVAQtNltLFxdf6tPOJaG1IfleTZz2gaGLk5uq8KsyUfGr4WLhh1j+QTL6s9yY0b/azhpjuHNljTQ1MVg9iWVJ1/D8DI/Rio= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787751976; c=relaxed/simple; bh=5KtNYFFVry6MjZPWQFGWY4OYvhJcbDcQt2VRTsLJSig=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cDaxtaRifaLlW1+6Hbk8lahSsPZjx8c960WB9vnLyjfA2Jeu8r67UJ/Cg5+3+Kri+5E7VlQ+B3DZKOk3sUrxxsQ688EC9if8xHnGqwNdCav2Nhx8164Qoc6PgMHoLYvh/V3HI4XX5aWzh8ee1RZ+F1ItEJf+7uhk+G/2maZqP0k= 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=RVOLDpnk; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Ebtmc6MO; 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="RVOLDpnk"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Ebtmc6MO" 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 67QDHh0o1617750 for ; Wed, 26 Aug 2026 13:46:10 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= s4UvypWfe9nt7mL/wvOboSE124gWnEVIXlimAS2FGrQ=; b=RVOLDpnkM5HuLEoJ wg2SZGwMT+A/5zeZXVgxnZH8c9P1nhHsst/MpyMHDx1NPvc13hKzK9cK6o3VRsJt 6O8EsVlIkQbUjXNWui+Sq5vMNy2WOLiyjj8NSdVHEdgUi4HMUHXe/2aQL3j5jshi aEOQxTEOptfAtQ18Yh2voRXI2TYkgVsXeiEBTdVmVSDCO9JV+JLeOZe6paYYV3Fs am6ykJJ4j32aBDRTz7cThujPz6OojdUpPKrIDSWnj0mlQupz+T+ahhcomDlFoA3L WYo2rKw1oXjHUZAhBVSjiidKg8FiPulNJr+zBs6cuUFCPTPXQJCMr09tOjg1gWpN Ush1xQ== Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ga0wbr3sy-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 13:46:10 +0000 (GMT) Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-38e54b6556aso1533921a91.2 for ; Wed, 26 Aug 2026 06:46:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787751970; x=1788356770; 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=s4UvypWfe9nt7mL/wvOboSE124gWnEVIXlimAS2FGrQ=; b=Ebtmc6MOUVuarzLOEJAYxzzluZ9fT3uRT8YYmv9ZPRNssbdNJUz4aNEsVCmFH9JThB NgaxHyn9P+1zXr4ALZDm1c+UVuKVcRA1Gwj6e+vKsl0yCsGkYX23bqX1FsYuSjE9yFhe vAixmQqufgkTASe7nXvq7i44hjnfaVqeFZ1NmENuy/SxVNIMiisQXxftd6kpssi+jXzf D/7ApWl4aDBzMxkuf4W16XjnTB1pkIOylCiOJxrYgKJMjRXdQh0SCm4bOTJU+r25c38X MNp3mgpp+xoU7RzPrE0fi0mmawQJm/k3oGZ2XfKxftLSbGXFzAPVrBPFZ51T6qIPZIGo iFKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787751970; x=1788356770; 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=s4UvypWfe9nt7mL/wvOboSE124gWnEVIXlimAS2FGrQ=; b=qktcXUEJnEj083OyMli6iGFSZ2tbSirfWOGDyF52Zl4kWYZj/lfuQR3g2fM9GUe0PK 6tdMXjxBJUWFchD63Ior4g3jvHs5DmxR+oEitUu8+1tnmAbBV32MxgvOkn9ahra2Ua1i WWy6YegLJwTxhYH6cA2MZhW4aRdlBUJZz3wI4V77CjMl8EtuYtRhmuz/8joiL5LlMyD+ FK3kBQj2JgtI4WGS5Qw8AkK6PDa7/dGau2F6IcUn/EtLeXBOrPd0Sn4GxDdw2eowyt8x P9doRukZafvNlwIZLdb5OmuxBWR4rDApo7zRjSgs9PqVOSk0lHdsBInjqvXL0TWaQc7w 6giA== X-Forwarded-Encrypted: i=1; AHgh+RplFaDesFvschjrz4wBMHvcSb5iswk9pkxDGf2Qlu7XhcOO56/rH90LFlLg0sdGWqfdrXUvVT3KB+C7ams=@vger.kernel.org X-Gm-Message-State: AFuF++ltX6kvAWCTQUPxQ2AoT9ptokVlj+wBKaiKWLtZy6bzLiFRZMQC p2pSHQC6xq7dQBbHDKzQsewNiApOMPIbvuyT0H0lLWkUqNRzoZre3iUkuqqqleiJhwXwa93gzBw wEsLVyTjgs/+PBuJTXPJNmj7wgxM6FKQoJBn+07VVnZXQsT50RoeQo2DHQQe/QTJB6To= X-Gm-Gg: AR+sD11Wvfnx7ZGuSI/jXiPYRg3rmEQjNs2tUlFIptQSRmEYvxHw0fiAfMYEVNLm1ye MZTlDLRLtgmLwwzx+nyiF9YHSQeby/PZOxiwmFlXE2FGA8BmmYeoxaTHtpIkYMgy/19E0wd9kKZ GZogkBJ8ponMziniiPZMCS8SOCuJmmYP/KsKN8cI9vpuu8DJqepUI9AaCNeE/H23CL/XtPsYrf7 bCrW7ny2G4KxWUDzoxprW8Fm4pk5ViL0htVyvf8b9ASd/DsJ0qb0KUY7m88X+R3R1ObOJg3V46/ mpz1vqTLQLJh2jMNvRrMt305nR501t15bPxLEZGcQ3mc3eZClWlVv60NGBwHIfn4t26IIBnUaZ0 x0fiE+KxRjEycnXz0KyRtaSCNQFj1up02ng== X-Received: by 2002:a17:90b:4c8d:b0:395:4de4:92c7 with SMTP id 98e67ed59e1d1-3966d1443a1mr15385562a91.3.1787751969697; Wed, 26 Aug 2026 06:46:09 -0700 (PDT) X-Received: by 2002:a17:90b:4c8d:b0:395:4de4:92c7 with SMTP id 98e67ed59e1d1-3966d1443a1mr15385364a91.3.1787751968904; Wed, 26 Aug 2026 06:46:08 -0700 (PDT) Received: from hu-vkatoch-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39645b64c48sm8179696a91.8.2026.08.26.06.46.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 06:46:08 -0700 (PDT) From: Vinayak Katoch Date: Wed, 26 Aug 2026 19:15:44 +0530 Subject: [PATCH 2/6] misc: fastrpc: Handle multi-cell reg in context bank probe 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: <20260826-extended-mapping-v1-2-d046c1cb9a9f@oss.qualcomm.com> References: <20260826-extended-mapping-v1-0-d046c1cb9a9f@oss.qualcomm.com> In-Reply-To: <20260826-extended-mapping-v1-0-d046c1cb9a9f@oss.qualcomm.com> To: Srinivas Kandagatla , Ekansh Gupta , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Arnd Bergmann , Greg Kroah-Hartman , Bjorn Andersson , Konrad Dybcio Cc: Bharath Kumar , Chenna Kesava Raju , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Vinayak Katoch X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1787751952; l=1169; i=vinayak.katoch@oss.qualcomm.com; s=20260609; h=from:subject:message-id; bh=5KtNYFFVry6MjZPWQFGWY4OYvhJcbDcQt2VRTsLJSig=; b=Dn/XjaDvVV9cYH+5zOtGZwLTfrP+4+V5CgIH/jrIudFSnEDO5v5jXqK+RlPa+zfCxSI6vzCOC xcsDyZd5Df6DO0lqLdMWCd3j2Tue68X3EdlMgKW/E0+vpVcFsx5VVeE X-Developer-Key: i=vinayak.katoch@oss.qualcomm.com; a=ed25519; pk=UrGeKKxjIjpHZIjsbQKS/8rrVaP9KVGki69pFclCH08= X-Proofpoint-ORIG-GUID: whKFjUE7652Q4XnjSPNvQyOsKDcXGpMd X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDExMyBTYWx0ZWRfX/U/ux2G054iS fZgQLe6c0s9nBo4itzDS/1KfR3KRVq2Gcb81lrnMFNgoydWr7JxlJ0IeMPADVMf3+L06Q5daNeI RkrBaRFcw4B/8rGyNNResCFoAZtHzFE= X-Proofpoint-GUID: whKFjUE7652Q4XnjSPNvQyOsKDcXGpMd X-Authority-Analysis: v=2.4 cv=SoCgLvO0 c=1 sm=1 tr=0 ts=6a8eee22 cx=c_pps a=RP+M6JBNLl+fLTcSJhASfg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=OuqQISpc-kSra7OiYdkA:9 a=QEXdDO2ut3YA:10 a=iS9zxrgQBfv6-_F4QbHw:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDExMyBTYWx0ZWRfX0XaXN6Ih2rXY 809JV05Lxr2Dk1EzQnzWDx7+wIZjikx6DWtQkSDR9s8igOZ+auyAztBohNbmX/j70Yv2FsJuFUF R2BN3AoMdqWh6goX8J5Gu1PhZm4sZvZirtXpvBWv9Qb4ZQsXMmSiyKoEnfU62jCG06TDzVsvV+0 gq9kqRTVxuslS226csP27OuE8KE5Lz4dzyYqqC1m72nz6t4Ng//yKhqzqv6eX55SQrYn+GjrcXU u5KhOHH1qNX6Yng8trLdg+en1yH7imY0mhaeOTzZRstNodufp//kAxOzEuppvYQUqetLKXZDibw nmlkbz0TS26gE6/ZDRMdYsBA0XPGYyG+NVWzejBhLZweVvvNbLMDoV0V/ku689iiDHRNodrq/d3 j5Fxwayv2iz3pR8Bl/h0rxwhw/SU76Kaum5obsMOzAIh+BgAoFlXs/6fScPNSirVPPbQppWwpma ruGFrUkI/i+wx9fSaQA== 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-26_03,2026-08-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 impostorscore=0 malwarescore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 priorityscore=1501 suspectscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260113 Platforms that use #address-cells =3D <2> on the fastrpc node encode the context bank number in cell[1] of the reg property rather than cell[0]. Reading cell[0] on such platforms yields 0 for every context bank, causing all sessions to share SID 0 and corrupting IOVA address construction. Use of_property_read_u32_index() with of_n_addr_cells() - 1 as the index so the correct cell is read regardless of the parent address cell width. Signed-off-by: Vinayak Katoch --- drivers/misc/fastrpc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index 98a61b8b9013..07a0f2b229b4 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -2378,7 +2378,8 @@ static int fastrpc_cb_init(struct platform_device *pd= ev) if (!cctx) return -EINVAL; =20 - if (of_property_read_u32(dev->of_node, "reg", &sid)) + if (of_property_read_u32_index(dev->of_node, "reg", + of_n_addr_cells(dev->of_node) - 1, &sid)) dev_info(dev, "FastRPC Session ID not specified in DT\n"); =20 spin_lock_irqsave(&cctx->lock, flags); --=20 2.34.1 From nobody Mon Sep 28 04:53:45 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 9F4A14307AA for ; Wed, 26 Aug 2026 13:46:18 +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=1787751982; cv=none; b=E9crNU35J9l8Cj+SCbxx8xbWAt7e7xEuhxKJTnWcmfp8k7lXxdfyUlZSBh9/rEjUGnsf0VIeTwl+i/5W43xK76p5GTzxbfXtwXhLtO3MS+zWh5OInXgxVAzcsy8dwnb+84oJV6O5NdCiniLpMHfvT/f7AXKOYCqSnyFGlDjh3yg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787751982; c=relaxed/simple; bh=q1/8tKnQ7WG/1O5wqs9Uj1fKmN6XOdjbcNUUWVfHMek=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PiN85tmrK5YoQmkygs3xDrxaN9G6z10i0qG0vr7jh/nN+Z2VECiMuLpkJmMzmoGA0bR7o4DTbFCZDp95vBtkUZEnSyiXBs4QuscgkuT9rbO50WMceSTTG3twpkwHu27qR61nD1cUEEnqa9IloB6u7ppJZ79qjjofEnHt/K+AzMs= 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=o3hshwei; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=OmQxfAAe; 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="o3hshwei"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="OmQxfAAe" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67QCC7Y5768906 for ; Wed, 26 Aug 2026 13:46:16 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= xryu42XUsfb3+Hia4BkFfpfTTvyqqe/ZdSGW8hsbJ3c=; b=o3hshweiH06amjID wjlhCdB+aKScpqg0qIpBfhQZWzGTTmSOOpx6vm9d5IItnr5VPeo3EkTDFycd/qub PlJTFwcJ9KpslrEHTDouS/T2/DWxFmsJtGh3gDaoevdVdjTXYCZIJj8zPuyJpqmg 0Ian79ISQWIgGgYIHyCZC5sY8Eznx6rqXmsWlKPtUNhjzqv+3JpRZYRSIOaoII9d uZfqxMF48aDKHN9p6MRr/30iT+zb3jgLLA5TyAZY6ZRlN8PcA/JkgH4LAJVPGl4r qV4JaQ4Env0Gt9eH6xOmXJ+YByVevR+g6mH/o5VJQ2IEzGb1p2UkkEIRadPNg5Fl qAVYog== 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 4g9x2n0tv7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 13:46:16 +0000 (GMT) Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-38f283baf1fso1638988a91.3 for ; Wed, 26 Aug 2026 06:46:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787751976; x=1788356776; 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=xryu42XUsfb3+Hia4BkFfpfTTvyqqe/ZdSGW8hsbJ3c=; b=OmQxfAAeUXy6fpK0kWPXfmxld02eGmW8ukV5P4/gFJEQNIBtNh5aN0Q0rLB9N4wu2c oPf8hBxvOueyl2YyGOpmj71NoHEdOkFxlHaQVZV6AnHSTivyWDyAs/6muta4h4rWOAtI iqXCHGu+TmVlfNaUExD25oQbnMkYfndpZ310XCuS4T2p/ecV+gkKhR4XyPSjdqy1wEn8 AFQpfJ7GXu5wC4Rx01/O1v7tJnMbdVFjRkF6g1FUnMTKZj43UgDpaO3kDrzs0547dyAu akJEJzSvK4hsCtbqjK0ZxMVsGMMQ1cPG6QNOiEyBCaA00xvIAwd0jVl6ojdKGTbGlBrv yVTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787751976; x=1788356776; 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=xryu42XUsfb3+Hia4BkFfpfTTvyqqe/ZdSGW8hsbJ3c=; b=E/mzKYUJyOI07ETKZJN92bi4nmOLPsrirEIHzd3ez6t4NFSdQ/+xMNzO2lJ9XiYhwn 3RFmRrpvtTYipFBf2Ta+pJ6bItMq1Rd66PQR6qNgn7Ko8pO2uA3yudExpqSMBDy9oCaL ioZOy5sp/+TGHCXCgInhkWN9oV00hwfk+r1CwPRCWyqy9gJezKgzHI84bk3ku8L0XHs3 7qoaC3MAGDFWYd5TX8CVydwInqMU15aB6exeB2weM4r/QBEFBa/yODfiHeT2JcUJfrXT OphvM/4cUbTgiqc38EeLKdxIfrxduSvML3ATFOsxzhcDY5aK/CzVThxCZOJh1dR2RsDd 4QkQ== X-Forwarded-Encrypted: i=1; AHgh+RoFkcV7R0kJ3iYJIabrdw+MtiPlmsc+faOoUc+4KOwxZD/TCHioQ7ShYaNeILza+5BMx2V3lspsr+wHYKo=@vger.kernel.org X-Gm-Message-State: AFuF++lcRV99OL39WdLyKV/q0ehzkXP2rzAWnsW9b704kja66HcdMRCm hN6AQg3t+Yi2f7ReiqsLfpLNlhEL7kxG3Tqd/u3E7LqffIfCbHKhe7HSfzpXpnvSaZK039umlcb zpTe1qzef005XqegUmn+eivRQ0QvuHeEIGbTjUCKp41ZlIY/LR6C6NKxr8t7/kReMqXA= X-Gm-Gg: AR+sD10JcGN7nX2th81aiMYnaGLJ2iccJEhxOHf5WBYjt4wmLlrh7mJcCFKjF2cQ/zJ cfqvsyR9+MS/X/3+dhdBJh65kkF8XDsPvgCC2tQcSoO1hdfD3shOnp1ujHZ5ZDW3Xg+OtLIQSaI /fOnqdidRGf4QjDUX+fSImetMPfZrmacdqX5sy4WAz1Sm9kCyfN3YgYhygQwW6bKr+4lk8iuCsD oFXyloadQl6z2mSeJBG6mbXV8E4lw4jhluvpRhbOM3aAByzeO1W8xqhp6NfZr16KO4VF1hjIyKX LNfvfODdBlpUVuhj1/nmywoHszLCn0mU6jmf7hQ1e4/6chYhpzB1hnMCNU2dfIhTX8uB7hNTXCq EyiHVskPRHpwTcjXKkXoaRwa47cdlU2VJ+w== X-Received: by 2002:a17:90b:48c1:b0:38e:250b:122f with SMTP id 98e67ed59e1d1-3966d49469fmr14164982a91.16.1787751975587; Wed, 26 Aug 2026 06:46:15 -0700 (PDT) X-Received: by 2002:a17:90b:48c1:b0:38e:250b:122f with SMTP id 98e67ed59e1d1-3966d49469fmr14164660a91.16.1787751974220; Wed, 26 Aug 2026 06:46:14 -0700 (PDT) Received: from hu-vkatoch-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39645b64c48sm8179696a91.8.2026.08.26.06.46.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 06:46:13 -0700 (PDT) From: Vinayak Katoch Date: Wed, 26 Aug 2026 19:15:45 +0530 Subject: [PATCH 3/6] arm64: dts: qcom: kaanapali: Add CDSP FastRPC extended context bank 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: <20260826-extended-mapping-v1-3-d046c1cb9a9f@oss.qualcomm.com> References: <20260826-extended-mapping-v1-0-d046c1cb9a9f@oss.qualcomm.com> In-Reply-To: <20260826-extended-mapping-v1-0-d046c1cb9a9f@oss.qualcomm.com> To: Srinivas Kandagatla , Ekansh Gupta , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Arnd Bergmann , Greg Kroah-Hartman , Bjorn Andersson , Konrad Dybcio Cc: Bharath Kumar , Chenna Kesava Raju , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Vinayak Katoch X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1787751952; l=4712; i=vinayak.katoch@oss.qualcomm.com; s=20260609; h=from:subject:message-id; bh=q1/8tKnQ7WG/1O5wqs9Uj1fKmN6XOdjbcNUUWVfHMek=; b=bZieD1bufpZ1PXCwTy0U0DPG4i8ay90Xfz9dELIhPIGvz0yfjJ6YgGIJkm9q8YZh3ix5XTpYf kO+a4wPyt2nBtKmG0IUaBOculJfHlqjzyCrfhDErKAw+82NdD2qyx/M X-Developer-Key: i=vinayak.katoch@oss.qualcomm.com; a=ed25519; pk=UrGeKKxjIjpHZIjsbQKS/8rrVaP9KVGki69pFclCH08= X-Proofpoint-ORIG-GUID: nNb9I6tLkquEloITerzCyjWL0XgQRF6Q X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDExMyBTYWx0ZWRfXzQX5npd4j5wf 8giqUyH7vPb/687tjlFcOonxWMpahaKaW+NX3ooVgHm+kexdoNnJAOggQwmztn5H8A3vIt088+P XFYGYbMmrVNCNPyGJme6Yuvguq0KN/w= X-Proofpoint-GUID: nNb9I6tLkquEloITerzCyjWL0XgQRF6Q X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDExMyBTYWx0ZWRfX5v93STFWpyba vjV7mjA4WFotfW6XcRhrii8Lq+FbnOXrmMVngM4f6qArSVd1itagoSOddeRzUhTNe2yocIYxufm OyRgxnprcNK7cWfMWKzR2YoSO5HMrZwzoeICQDXF/RYf1OMU+JlURrRrg3LhZbd2jRhA/lxlsxX Oe/FASD7oe9ag1o88PdhbbialHH6gx00sHTjMM3sNMYQYK1rVphnNWFGouyAAkuFn9macl5rIbg HDOvSZ+f7SHFKK8UgwSwXeHwGadCwSfNPYm1PagRWYGfZemyFcie00zEUqfSQILn1Kc11THuKUT f5zaYfh0hB+DHpLb0Yj4LVGlo0AJ6SQ36wCnbKgmG0Mr5VmdoZKlrGdAZgdIBwxEB53+IQ7t8No bsoeiba9f9GveSCjjMHOVQg6cbxbzDjLCA/X8oftfmwLNcvG825NKXx+E8bc0xwufX9n+4GakcT GjHSZhGPBzcmd4OVr2w== X-Authority-Analysis: v=2.4 cv=PPQ/P/qC c=1 sm=1 tr=0 ts=6a8eee28 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=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=QQLvu54LoOUFz5X0MaUA:9 a=QEXdDO2ut3YA:10 a=rl5im9kqc5Lf4LNbBjHf: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-26_03,2026-08-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 priorityscore=1501 malwarescore=0 lowpriorityscore=0 clxscore=1015 suspectscore=0 impostorscore=0 spamscore=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-2608260113 Add a fastrpc_far_region reserved-memory node and link compute-cb@13 to it via memory-region so the driver detects it as the extended mapping bank. Bump #address-cells and #size-cells to <2> on the fastrpc ancestor nodes and update all compute-cb reg values to the 4-cell format to accommodate the 64-bit iommu-addresses values. Signed-off-by: Vinayak Katoch --- arch/arm64/boot/dts/qcom/kaanapali.dtsi | 35 +++++++++++++++++++++--------= ---- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/= qcom/kaanapali.dtsi index 131fd2a16c54..0f258eb2a7a9 100644 --- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi +++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi @@ -451,6 +451,10 @@ rmtfs_mem: rmtfs@d7c00000 { qcom,client-id =3D <1>; qcom,vmid =3D ; }; + + fastrpc_far_region: fastrpc_far_region { + iommu-addresses =3D <&fastrpc_far_cb 0x0 0x0 0x4 0x0>; + }; }; =20 smp2p-adsp { @@ -6011,6 +6015,8 @@ remoteproc_cdsp: remoteproc@26300000 { qcom,qmp =3D <&aoss_qmp>; qcom,smem-states =3D <&smp2p_cdsp_out 0>; qcom,smem-state-names =3D "stop"; + #address-cells =3D <2>; + #size-cells =3D <2>; =20 status =3D "disabled"; =20 @@ -6022,17 +6028,19 @@ IPCC_MPROC_SIGNAL_GLINK_QMP IPCC_MPROC_SIGNAL_GLINK_QMP>; qcom,remote-pid =3D <5>; label =3D "cdsp"; + #address-cells =3D <2>; + #size-cells =3D <2>; =20 fastrpc { compatible =3D "qcom,kaanapali-fastrpc"; qcom,glink-channels =3D "fastrpcglink-apps-dsp"; label =3D "cdsp"; - #address-cells =3D <1>; - #size-cells =3D <0>; + #address-cells =3D <2>; + #size-cells =3D <2>; =20 compute-cb@1 { compatible =3D "qcom,fastrpc-compute-cb"; - reg =3D <1>; + reg =3D <0x0 0x1 0x0 0x0>; iommus =3D <&apps_smmu 0x19c1 0x0>, <&apps_smmu 0x1961 0x0>, <&apps_smmu 0x0c21 0x0>, @@ -6042,7 +6050,7 @@ compute-cb@1 { =20 compute-cb@2 { compatible =3D "qcom,fastrpc-compute-cb"; - reg =3D <2>; + reg =3D <0x0 0x2 0x0 0x0>; iommus =3D <&apps_smmu 0x1962 0x0>, <&apps_smmu 0x0c02 0x20>, <&apps_smmu 0x0c42 0x0>, @@ -6052,7 +6060,7 @@ compute-cb@2 { =20 compute-cb@3 { compatible =3D "qcom,fastrpc-compute-cb"; - reg =3D <3>; + reg =3D <0x0 0x3 0x0 0x0>; iommus =3D <&apps_smmu 0x1963 0x0>, <&apps_smmu 0x0c23 0x0>, <&apps_smmu 0x0c03 0x40>, @@ -6062,7 +6070,7 @@ compute-cb@3 { =20 compute-cb@4 { compatible =3D "qcom,fastrpc-compute-cb"; - reg =3D <4>; + reg =3D <0x0 0x4 0x0 0x0>; iommus =3D <&apps_smmu 0x1964 0x0>, <&apps_smmu 0x0c44 0x0>, <&apps_smmu 0x0c04 0x20>, @@ -6072,7 +6080,7 @@ compute-cb@4 { =20 compute-cb@5 { compatible =3D "qcom,fastrpc-compute-cb"; - reg =3D <5>; + reg =3D <0x0 0x5 0x0 0x0>; iommus =3D <&apps_smmu 0x1965 0x0>, <&apps_smmu 0x0c45 0x0>, <&apps_smmu 0x0c05 0x20>, @@ -6082,7 +6090,7 @@ compute-cb@5 { =20 compute-cb@6 { compatible =3D "qcom,fastrpc-compute-cb"; - reg =3D <6>; + reg =3D <0x0 0x6 0x0 0x0>; iommus =3D <&apps_smmu 0x1966 0x0>, <&apps_smmu 0x0c06 0x20>, <&apps_smmu 0x0c46 0x0>, @@ -6092,7 +6100,7 @@ compute-cb@6 { =20 compute-cb@7 { compatible =3D "qcom,fastrpc-compute-cb"; - reg =3D <7>; + reg =3D <0x0 0x7 0x0 0x0>; iommus =3D <&apps_smmu 0x1967 0x0>, <&apps_smmu 0x0c27 0x0>, <&apps_smmu 0x0c07 0x40>, @@ -6102,7 +6110,7 @@ compute-cb@7 { =20 compute-cb@8 { compatible =3D "qcom,fastrpc-compute-cb"; - reg =3D <8>; + reg =3D <0x0 0x8 0x0 0x0>; iommus =3D <&apps_smmu 0x1968 0x0>, <&apps_smmu 0x0c08 0x20>, <&apps_smmu 0x0c48 0x0>, @@ -6112,7 +6120,7 @@ compute-cb@8 { =20 compute-cb@12 { compatible =3D "qcom,fastrpc-compute-cb"; - reg =3D <12>; + reg =3D <0x0 0xc 0x0 0x0>; iommus =3D <&apps_smmu 0x196c 0x0>, <&apps_smmu 0x0c2c 0x00>, <&apps_smmu 0x0c0c 0x40>, @@ -6120,14 +6128,15 @@ compute-cb@12 { dma-coherent; }; =20 - compute-cb@13 { + fastrpc_far_cb: compute-cb@13 { compatible =3D "qcom,fastrpc-compute-cb"; - reg =3D <13>; + reg =3D <0x0 0xd 0x0 0x0>; iommus =3D <&apps_smmu 0x196d 0x0>, <&apps_smmu 0x0c0d 0x40>, <&apps_smmu 0x0c2e 0x0>, <&apps_smmu 0x0c2d 0x0>, <&apps_smmu 0x19cd 0x0>; + memory-region =3D <&fastrpc_far_region>; dma-coherent; }; }; --=20 2.34.1 From nobody Mon Sep 28 04:53:45 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 CF02A436355 for ; Wed, 26 Aug 2026 13:46:24 +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=1787751988; cv=none; b=HVYTGYNECkIHG6/GGXfOje2BrBx6EDG30k0o5WKzSf0ed7gJu6lWrMC1zAx9SxQmc2oCnEL/ne739MUX81X+9LfYVVPIDagnNtZzvoUXrTn1z89xvehdVGFH6Qky3CYQJ1eU56UN9znqrjhnTHyFho9kRihjJUeeZXcC7eWRFTw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787751988; c=relaxed/simple; bh=r5KraKAc2ErxccoXBkNJW54tEPfhhL2AjLw2qF4SJdo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PgPeykH1b0lBiol45aQfd0hX57lUKmyu6/2K0pghBubfefZHx+TIOpOnP/hvjvqHHZDhnOzNMCNJZQLwOPubM26e+OjkDLj7ikg00gRWDEAxsU966qklmdPsCtY2nCqp7HqkLEzXR2xY29vxPTSHV7y+aey9ikpwOcmTJOfLq/8= 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=BRR0uv4L; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=KrV1ezNC; 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="BRR0uv4L"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="KrV1ezNC" 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 67QCBw0x356585 for ; Wed, 26 Aug 2026 13:46:21 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= yXYsL0fAbC3F/0wJOXGtV7JM/BPaOMrDrDEXkiSmrko=; b=BRR0uv4LBgy0pCAW R14PWeeU6Sy/kqxuxReQsSe63wi6xFGTiSZhjXg2qiY6gmJerHEG473icK+2Lud9 9gMA7Ca2/c+PhZgcHy4tNobwtO7rwYV7WT8Rrsj0n5bHXlOVwrGmvi+E+Exzw1hK BED28XtVG1vcWKPM1LYz6adQYdaINn2nFsx0MvTpDQ4F74YWPNDMXLXWuhIeZ2YO NzdRissYVYrZX1k1JS07KkcsNgAZyF5JSavkv5tTarD4VaVzNgJcvqvi1GRsuaED XH8b6Y072+FNwDhXlaeNDe4oiQ9auVs1d5XNjrO1fNxt/PwvmJIR6pnOTishuKyR 5XQbgQ== 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 4g9s9ga3dd-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 13:46:21 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-38dde0df80bso1419917a91.3 for ; Wed, 26 Aug 2026 06:46:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787751980; x=1788356780; 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=yXYsL0fAbC3F/0wJOXGtV7JM/BPaOMrDrDEXkiSmrko=; b=KrV1ezNC/v/yUESO8z7Wm9xEDIZvGDd0OkqSUI7FuQO3kdknfN9+36zcNU8n8v+0CB liGWa2+A4UefHhOGvK+/DC0pEMVuBwd5L1zxF2HsCyCFCEAyVt+Te1VetOHTaY9+O/ZU EteS1jMMUKHIaFU6afNC+V0cMpZ/H4aYBLR+A3wtUmHSzKMzcnRpIxa4MYbPjSHipqR9 Lf0h7LKug9OB7lJaJ54KqXX6VwI/BImYPI3WepEh8N0cYdvF6p17gzYCCBVFbv/n4tQm zU6FFBd7TkEtuFx1o4EcD3+5UvSXVIhqoK4EnXMFYy+WvTfdqYkloYFnWabDwzOWOBjI /M+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787751980; x=1788356780; 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=yXYsL0fAbC3F/0wJOXGtV7JM/BPaOMrDrDEXkiSmrko=; b=rUnyjmASYgz+6q+W5f87XMTfln2Azl8muJ9U+qup79TmoSHnOrhCrdRwukukDAmH5E rKH/PQtUd5QfhqcPHhcFXMTEaDc9JmRMydfv4R+6IoXWVWg9wuprZaL/S1R0NTmwfDXA FB8rYxKdRZn0Yys5ogilX7r99m5CN81bjrLmPHvgg2vJgwf92Vn+XVj1HyUCQwwip3CA DIASwIRDmizuZJnEBIOUolWCSDgw7kehgK47ie5KOi0WNuI0GsvKDMwApbfMIWDPHuSS +mWf+iCxsaYG5XP5IGKYkFSl4jTASoWEPvHrk4DWV4smbL7qdarsqp4Owgm7Ao/nD4SO iToQ== X-Forwarded-Encrypted: i=1; AHgh+RpDlYbVqXkk6l/9W3hg4v6BDOlCp6RusI80X5uHEZUq6/w6ZEnNcOYuQfEXEqrwfqTMaDd+W3gH5idqzHU=@vger.kernel.org X-Gm-Message-State: AFuF++kNtzTvlxbySy4dZAYQqAp1XT1oIjDsMUMBGhg3Fi08AqnGyGSw CEBe4xvIK60A2cHHI5RRMhpoxYfyBEVXcc7IM8PIOxEu5uwD9UiXQUa6vB7+1cm0iboSskI7J80 /Uxklb48jyhiWtAAqHx5zmJHFjw8GyxVUJ0ii5VYIJDabf7dHe++j0lsKi+N2n/UH68o= X-Gm-Gg: AR+sD11GOeDdTJDk+j4LHpIzp5cUAIFqF2FVrKOadJy7NSuwyXO/mF1qfrDDvtb25bm QRWSFNoHqVzpz/HXcXFjq8dAkn5XnG7dsaIUGVsaMzVYUUS2sHGefP9uCissXIDN4Q0e7sljYXU dyWV4ZUafQ5hIzg6L6rR1A0hIni5KP+e6WSPxbU2bpY0WrFZvSMYzFn6n42m/wPvhdJVHLbV6YC Rd/YOX8r4F0AJ5GwJZ2g0QoR6+3ssB2cUH1lEkDVPx33lQsVZke4+uPmHhWcvzeduOVYYI4Fry6 H1oWlwre5oyp8sAjBnYL650x+76gYpQ4CGTJ5o0+FRqu1WyMrOrAYe4VImCdPAqU9yIsoy1AfHr 7tbfWaAJO1vDzMz7zWwoRddyPEoSRkv7ZmQ== X-Received: by 2002:a17:90b:5828:b0:395:4de4:92be with SMTP id 98e67ed59e1d1-3966d486840mr15749757a91.13.1787751980170; Wed, 26 Aug 2026 06:46:20 -0700 (PDT) X-Received: by 2002:a17:90b:5828:b0:395:4de4:92be with SMTP id 98e67ed59e1d1-3966d486840mr15749558a91.13.1787751979472; Wed, 26 Aug 2026 06:46:19 -0700 (PDT) Received: from hu-vkatoch-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39645b64c48sm8179696a91.8.2026.08.26.06.46.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 06:46:19 -0700 (PDT) From: Vinayak Katoch Date: Wed, 26 Aug 2026 19:15:46 +0530 Subject: [PATCH 4/6] arm64: dts: qcom: glymur: Add CDSP FastRPC extended context bank 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: <20260826-extended-mapping-v1-4-d046c1cb9a9f@oss.qualcomm.com> References: <20260826-extended-mapping-v1-0-d046c1cb9a9f@oss.qualcomm.com> In-Reply-To: <20260826-extended-mapping-v1-0-d046c1cb9a9f@oss.qualcomm.com> To: Srinivas Kandagatla , Ekansh Gupta , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Arnd Bergmann , Greg Kroah-Hartman , Bjorn Andersson , Konrad Dybcio Cc: Bharath Kumar , Chenna Kesava Raju , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Vinayak Katoch X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1787751952; l=4639; i=vinayak.katoch@oss.qualcomm.com; s=20260609; h=from:subject:message-id; bh=r5KraKAc2ErxccoXBkNJW54tEPfhhL2AjLw2qF4SJdo=; b=hIRA1Fih6qQhcK9u/umyKrxNNwhTZnUVgztMgs6cdS8UxFPeF+ajSoHkSp/8sU4+hm4SCF3cH VkWHyTr4iMHCAmdJQjNEdKTVQ+W/IE1YCqM6W2VMetUMRcVIAXtIlqL X-Developer-Key: i=vinayak.katoch@oss.qualcomm.com; a=ed25519; pk=UrGeKKxjIjpHZIjsbQKS/8rrVaP9KVGki69pFclCH08= X-Proofpoint-GUID: aBShIr1A2QG5KsK3a0OX6qQ1DkTiwQCo X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDExMyBTYWx0ZWRfX1zUGeK5b5RAn vMsCbEi+22qt78Inic767kp3p+uZwzc4fsa6OqcutT8zIKY3F+4rnuMhrTVf5KBjjAppi7RrOE9 +H9+DS90Z8NBNJG51nGQtpwud9QOlt4kgUjGcyehDW1jNcztXz2Cn+ANJuNKaY+uzrvnAZPkHg8 Pi3QDkjU3eK9FP5kacN7Jl8p9gpndlDifQPx31Ws2dCbjp78oGMasynNxXz/8s8ZSvbRdWPdlNq HFPJfKKYnAKEBNqJGAnlhalzobxypx3gA8F38BpXlo1s6TCfjGQijiDMvs6dOGRuZGsY0sSsF5a FvT7zdIzIddStfrO5fghJDM/1rrT37t7zBx3Ze3bzoJXyibnKUD1lUTEKDvcA//Wka+91JrVmgR d3IGG2OBQQQHT6uJDqFW30LNrGerKRdUCDKcxAh3f9KZiPL6tQbqdE9QchqJkCoEGWUZKQ4SRTo I+ucz5dbx5yivS2YJPQ== X-Authority-Analysis: v=2.4 cv=Xfq5Co55 c=1 sm=1 tr=0 ts=6a8eee2d 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=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=fgQI4hRS6EVOI71rz58A:9 a=QEXdDO2ut3YA:10 a=mQ_c8vxmzFEMiUWkPHU9:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDExMyBTYWx0ZWRfX5tQm2tVEBpmp ylcrHgLl8lskzWm01nk7ghw6jLyGW7DwzFYzBNBp4di2/Bdoj1R4DvKXbbVVTyLZGBZpYA/ySjM 9cdggbHmFgSbffZ56vRgDmARaGCQ7Ek= X-Proofpoint-ORIG-GUID: aBShIr1A2QG5KsK3a0OX6qQ1DkTiwQCo 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-26_03,2026-08-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 lowpriorityscore=0 phishscore=0 suspectscore=0 priorityscore=1501 bulkscore=0 clxscore=1015 malwarescore=0 adultscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260113 Add a fastrpc_far_region reserved-memory node and link compute-cb@12 to it via memory-region so the driver detects it as the extended mapping bank. Bump #address-cells and #size-cells to <2> on the fastrpc ancestor nodes and update all compute-cb reg values to the 4-cell format to accommodate the 64-bit iommu-addresses values. Signed-off-by: Vinayak Katoch --- arch/arm64/boot/dts/qcom/glymur.dtsi | 37 ++++++++++++++++++++++----------= ---- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qco= m/glymur.dtsi index f04058d2e089..2aff2a8a39ae 100644 --- a/arch/arm64/boot/dts/qcom/glymur.dtsi +++ b/arch/arm64/boot/dts/qcom/glymur.dtsi @@ -695,6 +695,10 @@ adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap { alignment =3D <0x0 0x400000>; size =3D <0x0 0x800000>; }; + + fastrpc_far_region: fastrpc_far_region { + iommu-addresses =3D <&fastrpc_far_cb 0x0 0x0 0x4 0x0>; + }; }; =20 smp2p-adsp { @@ -7980,6 +7984,8 @@ remoteproc_cdsp: remoteproc@32300000 { qcom,qmp =3D <&aoss_qmp>; qcom,smem-states =3D <&smp2p_cdsp_out 0>; qcom,smem-state-names =3D "stop"; + #address-cells =3D <2>; + #size-cells =3D <2>; =20 status =3D "disabled"; =20 @@ -7991,17 +7997,19 @@ IPCC_MPROC_SIGNAL_GLINK_QMP IPCC_MPROC_SIGNAL_GLINK_QMP>; qcom,remote-pid =3D <5>; label =3D "cdsp"; + #address-cells =3D <2>; + #size-cells =3D <2>; =20 fastrpc { compatible =3D "qcom,glymur-fastrpc", "qcom,kaanapali-fastrpc"; qcom,glink-channels =3D "fastrpcglink-apps-dsp"; label =3D "cdsp"; - #address-cells =3D <1>; - #size-cells =3D <0>; + #address-cells =3D <2>; + #size-cells =3D <2>; =20 compute-cb@1 { compatible =3D "qcom,fastrpc-compute-cb"; - reg =3D <1>; + reg =3D <0x0 0x1 0x0 0x0>; =20 iommus =3D <&apps_smmu 0x2401 0x440>, <&apps_smmu 0x1961 0x0>, @@ -8011,7 +8019,7 @@ compute-cb@1 { =20 compute-cb@2 { compatible =3D "qcom,fastrpc-compute-cb"; - reg =3D <2>; + reg =3D <0x0 0x2 0x0 0x0>; =20 iommus =3D <&apps_smmu 0x2402 0x440>, <&apps_smmu 0x1962 0x0>, @@ -8021,7 +8029,7 @@ compute-cb@2 { =20 compute-cb@3 { compatible =3D "qcom,fastrpc-compute-cb"; - reg =3D <3>; + reg =3D <0x0 0x3 0x0 0x0>; =20 iommus =3D <&apps_smmu 0x2403 0x440>, <&apps_smmu 0x1963 0x0>, @@ -8031,7 +8039,7 @@ compute-cb@3 { =20 compute-cb@4 { compatible =3D "qcom,fastrpc-compute-cb"; - reg =3D <4>; + reg =3D <0x0 0x4 0x0 0x0>; =20 iommus =3D <&apps_smmu 0x2404 0x440>, <&apps_smmu 0x1964 0x0>, @@ -8041,7 +8049,7 @@ compute-cb@4 { =20 compute-cb@5 { compatible =3D "qcom,fastrpc-compute-cb"; - reg =3D <5>; + reg =3D <0x0 0x5 0x0 0x0>; =20 iommus =3D <&apps_smmu 0x2405 0x440>, <&apps_smmu 0x1965 0x0>, @@ -8051,7 +8059,7 @@ compute-cb@5 { =20 compute-cb@6 { compatible =3D "qcom,fastrpc-compute-cb"; - reg =3D <6>; + reg =3D <0x0 0x6 0x0 0x0>; =20 iommus =3D <&apps_smmu 0x2406 0x440>, <&apps_smmu 0x1966 0x0>, @@ -8061,7 +8069,7 @@ compute-cb@6 { =20 compute-cb@7 { compatible =3D "qcom,fastrpc-compute-cb"; - reg =3D <7>; + reg =3D <0x0 0x7 0x0 0x0>; =20 iommus =3D <&apps_smmu 0x2407 0x440>, <&apps_smmu 0x1967 0x0>, @@ -8071,7 +8079,7 @@ compute-cb@7 { =20 compute-cb@8 { compatible =3D "qcom,fastrpc-compute-cb"; - reg =3D <8>; + reg =3D <0x0 0x8 0x0 0x0>; =20 iommus =3D <&apps_smmu 0x2408 0x440>, <&apps_smmu 0x1968 0x0>, @@ -8083,7 +8091,7 @@ compute-cb@8 { =20 compute-cb@10 { compatible =3D "qcom,fastrpc-compute-cb"; - reg =3D <10>; + reg =3D <0x0 0xa 0x0 0x0>; =20 iommus =3D <&apps_smmu 0x240c 0x440>, <&apps_smmu 0x196c 0x0>, @@ -8093,7 +8101,7 @@ compute-cb@10 { =20 compute-cb@11 { compatible =3D "qcom,fastrpc-compute-cb"; - reg =3D <11>; + reg =3D <0x0 0xb 0x0 0x0>; =20 iommus =3D <&apps_smmu 0x240d 0x440>, <&apps_smmu 0x196d 0x0>, @@ -8101,13 +8109,14 @@ compute-cb@11 { dma-coherent; }; =20 - compute-cb@12 { + fastrpc_far_cb: compute-cb@12 { compatible =3D "qcom,fastrpc-compute-cb"; - reg =3D <12>; + reg =3D <0x0 0xc 0x0 0x0>; =20 iommus =3D <&apps_smmu 0x240e 0x440>, <&apps_smmu 0x196e 0x0>, <&apps_smmu 0x19ce 0x0>; + memory-region =3D <&fastrpc_far_region>; dma-coherent; }; }; --=20 2.34.1 From nobody Mon Sep 28 04:53:45 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 16B3E42A14C for ; Wed, 26 Aug 2026 13:46: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=1787752002; cv=none; b=rT18X3N/MwiTZgkSUEfhVm6agmij4kP8xn+ZV3kxLeJ0W75FbyhoBRv9S420OHUe2BrR/9jDSBu5FOs+nPLD71DLNrr1OjLJI9pCvG6P2NikY23OIJi/3TtGVYiWL3qyEaGrCkxHkaM72F04vw+rUPAu66z8MBnceRsi133UlIk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787752002; c=relaxed/simple; bh=7DmLl0ksHTt+4g/zhx1HwQyTDE+jC4CaVjooDl20Glc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RbBQJtMdHR+Zx0dECNCecG4i/CuDHotUfqtqNZsDeCZQNd9KrT9BX79LyaHr5qqO5v1eRwaiODO4vkAfcuXZKeSo6q8khFpf5HEtUZt7eseNaGSA8fo4prjh01Z8fYKErNa0AO6FuU7wY5cEKPvFoFO+ukfGLXn3sBSBVtVU75Y= 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=mtdrn14t; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=FiFSvxlp; 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="mtdrn14t"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="FiFSvxlp" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67QCM4Vf699328 for ; Wed, 26 Aug 2026 13:46:35 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= zjJpwZr0X/rEPVNLxx/hrvAZWJJ6N6W56ZMy3AjrV+c=; b=mtdrn14tf6yVUBdZ 16DFhyOeDo7Z1akK/FUPqYuJjVMlGL3K/RKjy3OsPp+PhpuPAsrhM9QxokOZkDr/ FkXXk5ZGHK1aUI+6/IZjZWbzDI2zmRWTJOF9LrGUHhlEZgi6iNOGsZidWB0wb8MN NHJUAnsRvfjwJIGzpZgFbgJvrZIbNnEsjXhs41xdYYTbK5k2812y64G27FVD7xlY Bj2nLPnKCbKU9iwvADYBkYcDq0+eKk9/B/5KhZ0NCCHQTWHRbILNIRsu4Sa9FpAc TK+VV9/O6Qof2sqpqg2YaRjRkzNEiYs+XBtpHQz0jWjYgdjOLRKJfwYrZwH8dakV rBwP+Q== 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 4ga03a8b08-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 13:46:35 +0000 (GMT) Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-3823dcc1647so1587246a91.3 for ; Wed, 26 Aug 2026 06:46:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787751994; x=1788356794; 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=zjJpwZr0X/rEPVNLxx/hrvAZWJJ6N6W56ZMy3AjrV+c=; b=FiFSvxlpU+BPIxohIiknb69fM5Nj7qZLf4U862k8IC+0Pqk9EEYQAp503ef4z+rvGL ctDvISspe1n7W3LGuyLJ2KLn42p0i/RwikLmu0okSqFX1XDkm5pMmfXhtkaedcK67M17 Qd92bbKxSZWQ1QsAGnBUflnsEKdnUiKhuVvgBNGMu5OIxeGYXx24RXX6fQ+eqNWeuSO+ 5eTL5euYjYYoJLz1Qptp7i85KLpBXq2MXlkn3azWzhhRygd0/ZyIL7ZFmlTndpj6kecY z6sTTfY4b5/MbGW9A6yRIcpi9FOTIbFxfMLVgsj6kY662Bnq8qTLmDEnjK77tUCSdLoN ieuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787751994; x=1788356794; 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=zjJpwZr0X/rEPVNLxx/hrvAZWJJ6N6W56ZMy3AjrV+c=; b=e+P6e8cBUZIWHSBzywOTSV/zOCbDOJflKYf3aeuJX6GqsQIVdNHRXLfoaVj6tIlSAk aumC1T9oeZitdgi3hdwBBizIViii6PSZ5amjNfeB8LlV5NYkpnyuQCLnaHZ053OIaXfj YzfF+eK6OYJ5fjFpervyX0Cbf5KxanEqlFVMGlX+rN15fnSeK1Xm16h/HS84lIQSDF9K 5vYDIeE7/nqMhsGQOepfLb42/qXxON7yDTLmAUtMmpqUfl7GSQTE6KkwOCx38yf+eXj5 /gt6azmxnqsc/JuDItNOZ7VA0L2CRyJgodUAajaS+U1e5ITg3MXBMXTlhml1fGkaw0e1 +S7w== X-Forwarded-Encrypted: i=1; AHgh+RrOshnW6P7c+T0KI0r0QOVKsJHhioxAL3dRm9DGJn5m67An7mMLnrNu9judZW1iOO7FSgByIZtXT2srHPU=@vger.kernel.org X-Gm-Message-State: AFuF++krJZJSEd4T69Vz5fEuCL75AjwRxUJbJrzphvUijmXkQFMy1AJc iCqzQQu5EA0RYhU78WGKZUkc+MpRbKQ15JXANYedz2X36JXzwOBy92bbappup/XwpDbOAvDZmtX +q+yyhvd3fie+2XrUDnlwwTYMulUhwmU34YT0HR7TvHB0tYAHHC9AM/g5U8K8h9xrcOM= X-Gm-Gg: AR+sD111GkSeIO1j/NLgLBHrebQ7azN0oaM1hJfuWflHgfcin89uQHE3siqaxE1FA6M ujWr7IhHJXp3h1dKltwymVVzEx9Nh5NofbLnLtiBYgTu1H0uBMb7V80tRwnCzG1DK5FSDdXr0B9 Tjyp1uQmOqelAXOtJbpsmVifR1qVDc/ayQNNDSuRptCNzDJMr0QWDqINDlGFW6Uv9BIyPYf+REb cg0wMmPo6TiE2AEsj5ZHwFGpGQ9/vMNUURf8w/h+RnwwNwKbsk/hfviyAQGNrFrsZH4m2iM7wpa vhMXqQu/GkIk25qDFgfcbAy1CU/ifvp280RVG/H5kkqidaKRqmtWOhNMQt6lyFntN9gLcKlz8/n mz3me+FzehByowTiqPBIhRgxeZR5R/eUfuw== X-Received: by 2002:a17:90b:5890:b0:392:e5b1:d833 with SMTP id 98e67ed59e1d1-3966d83231cmr15765873a91.13.1787751991842; Wed, 26 Aug 2026 06:46:31 -0700 (PDT) X-Received: by 2002:a17:90b:5890:b0:392:e5b1:d833 with SMTP id 98e67ed59e1d1-3966d83231cmr15764798a91.13.1787751984994; Wed, 26 Aug 2026 06:46:24 -0700 (PDT) Received: from hu-vkatoch-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39645b64c48sm8179696a91.8.2026.08.26.06.46.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 06:46:24 -0700 (PDT) From: Vinayak Katoch Date: Wed, 26 Aug 2026 19:15:47 +0530 Subject: [PATCH 5/6] misc: fastrpc: Add extended context bank support 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: <20260826-extended-mapping-v1-5-d046c1cb9a9f@oss.qualcomm.com> References: <20260826-extended-mapping-v1-0-d046c1cb9a9f@oss.qualcomm.com> In-Reply-To: <20260826-extended-mapping-v1-0-d046c1cb9a9f@oss.qualcomm.com> To: Srinivas Kandagatla , Ekansh Gupta , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Arnd Bergmann , Greg Kroah-Hartman , Bjorn Andersson , Konrad Dybcio Cc: Bharath Kumar , Chenna Kesava Raju , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Vinayak Katoch X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1787751952; l=3115; i=vinayak.katoch@oss.qualcomm.com; s=20260609; h=from:subject:message-id; bh=7DmLl0ksHTt+4g/zhx1HwQyTDE+jC4CaVjooDl20Glc=; b=eLDthfmrsR+fwIgIfMaggDJuyvAv2B3Y2sgoB+KV+fWPIJ17X/egI/M/27Yhh4jZRbxxJv4cW 92npmr17qpeAtMfX7EI+2EoGiTEDIS5HlO6ZpeqWRzQj4FbF73KVslN X-Developer-Key: i=vinayak.katoch@oss.qualcomm.com; a=ed25519; pk=UrGeKKxjIjpHZIjsbQKS/8rrVaP9KVGki69pFclCH08= X-Proofpoint-GUID: xZzsal3iYU4V-yF0OPX3GlBbMFXCrAIT X-Authority-Analysis: v=2.4 cv=VdLH+lp9 c=1 sm=1 tr=0 ts=6a8eee3b 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=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=K--tOdr6QUUB7xZ2f28A:9 a=QEXdDO2ut3YA:10 a=uKXjsCUrEbL0IQVhDsJ9:22 X-Proofpoint-ORIG-GUID: xZzsal3iYU4V-yF0OPX3GlBbMFXCrAIT X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDExNCBTYWx0ZWRfX5GuNaDhvjlwx Vd2lZDp0qV5K00F5RDVO3CP9gaV3Q5jGN3+nUXDSCYZLgDjcTFiYDRJsgmKfU2jGce7ZO3V3TxN ykUlK1wbn2U4DxsScWMm9TZFmCCEzJw6b9AA8q4PQb80adP3Aub21OI8sMS2ZuOnbU2T2TG++L8 GxuFaoJH54//TdwA7urb20gAkLyjzb9pT82lPGWf5mTu33N6FzzehTDOBoX+Y9sZeQoiGJT6FGH WvbwEts5EJ+TJCHnj4lqW1Nj5WzZ7/7FUMIgrv00q70JGl3kr9cKSVMzALFssH5zrZmVpEHG5x5 K6kbLSzBpDKyjCc6CwuRlxn7aaV8KRNtR0Ctr5LUNTe0J6KUcLwhirBioNuhTys9r3zkmmMX87x Pz9JWJ/MfCYIOUwN9J75z2+JoaEF3rOpyROd+1CVK2R8/9pgbZ2XNK0CuDZVBZy/fCZxLmOekMs yCgCN1w0lMuvqvTjmjQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDExNCBTYWx0ZWRfX0nloyFLjDWN9 HaH9hZP9N5U0+w3GQNmHO1UlnJqL4tTN9GhrrC5bsbDSNDzuLrt17Q9ibXYk30z/HoLOT+aD2Z8 gaAnDwI+NdkHvqU75ffO3ZMFDe3pEuM= 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-26_03,2026-08-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0 lowpriorityscore=0 bulkscore=0 priorityscore=1501 suspectscore=0 malwarescore=0 spamscore=0 phishscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260114 Extended context banks carry a 40-bit DMA mask and are shared across all open sessions rather than exclusively owned by one. They are a fundamentally different resource from normal CBs and do not belong in the session[] pool. Maintain a separate dynamically allocated cctx->ext_cb[] array instead. Extended CBs are detected at probe time by the presence of a memory-region phandle and routed there, leaving session[] and the normal allocation path unchanged. Signed-off-by: Vinayak Katoch --- drivers/misc/fastrpc.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index 07a0f2b229b4..28d89fd9cbbc 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -309,6 +309,8 @@ struct fastrpc_channel_ctx { struct qcom_scm_vmperm vmperms[FASTRPC_MAX_VMIDS]; struct rpmsg_device *rpdev; struct fastrpc_session_ctx session[FASTRPC_MAX_SESSIONS]; + struct fastrpc_session_ctx **ext_cb; + int ext_cb_count; spinlock_t lock; struct idr ctx_idr; struct list_head users; @@ -536,9 +538,13 @@ static int fastrpc_remote_heap_alloc(struct fastrpc_us= er *fl, struct device *dev static void fastrpc_channel_ctx_free(struct kref *ref) { struct fastrpc_channel_ctx *cctx; + int i; =20 cctx =3D container_of(ref, struct fastrpc_channel_ctx, refcount); =20 + for (i =3D 0; i < cctx->ext_cb_count; i++) + kfree(cctx->ext_cb[i]); + kfree(cctx->ext_cb); idr_destroy(&cctx->ctx_idr); kfree(cctx); } @@ -2373,6 +2379,8 @@ static int fastrpc_cb_init(struct platform_device *pd= ev) u32 dma_bits; u32 sid =3D 0; int rc; + bool is_extended_cb =3D false; + struct device_node *mem_np; =20 cctx =3D dev_get_drvdata(dev->parent); if (!cctx) @@ -2382,6 +2390,45 @@ static int fastrpc_cb_init(struct platform_device *p= dev) of_n_addr_cells(dev->of_node) - 1, &sid)) dev_info(dev, "FastRPC Session ID not specified in DT\n"); =20 + mem_np =3D of_parse_phandle(dev->of_node, "memory-region", 0); + if (mem_np) { + is_extended_cb =3D true; + of_node_put(mem_np); + } + + if (is_extended_cb) { + struct fastrpc_session_ctx **new_ext; + + sess =3D kzalloc_obj(*sess); + if (!sess) + return -ENOMEM; + + spin_lock_irqsave(&cctx->lock, flags); + new_ext =3D krealloc(cctx->ext_cb, + (cctx->ext_cb_count + 1) * sizeof(*cctx->ext_cb), + GFP_KERNEL); + if (!new_ext) { + spin_unlock_irqrestore(&cctx->lock, flags); + kfree(sess); + return -ENOMEM; + } + cctx->ext_cb =3D new_ext; + sess->valid =3D true; + sess->dev =3D dev; + sess->sid =3D sid; + dev_set_drvdata(dev, sess); + cctx->ext_cb[cctx->ext_cb_count++] =3D sess; + spin_unlock_irqrestore(&cctx->lock, flags); + + rc =3D dma_set_mask(dev, DMA_BIT_MASK(40)); + if (rc) { + dev_err(dev, "40-bit DMA enable failed\n"); + return rc; + } + + return 0; + } + spin_lock_irqsave(&cctx->lock, flags); if (cctx->sesscount >=3D FASTRPC_MAX_SESSIONS) { spin_unlock_irqrestore(&cctx->lock, flags); --=20 2.34.1 From nobody Mon Sep 28 04:53:45 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 987AD431485 for ; Wed, 26 Aug 2026 13:46:35 +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=1787752000; cv=none; b=s4swH3P7VRdYK0SAnLq3dYVwRlI4P0SLEJMivxV/hbiZgtS5kZ95pkDtLJwpQm1zr6pY0p2PMazqZnZPWoaq0g5o3y5YK9vP6N09BVy8npBsBnkmX/71ZtkNemk+2ds0shub6DXuUItI7MuSjtwndmsjQZpQNf9VKolrXxYaxHc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787752000; c=relaxed/simple; bh=uiIZuwO5p10QZ2Fwu25eLmhT5zkNnRxyXBK90PHFhnA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=V4ieAvJDWb9Po9gqmAWBQrWaJYlLV24dcNFGP5ztsiQ4CqXyRxyJuotbzzboqoAiwEBMi72HDadORYYDbdUdsv0hcFTjd4muc+q0UyZlQdwQsFH4jh429t+tL63j+hGov9QNGc6aKSO9nXvkcwnwB6pxaRYIAQxYbOrmOXwiCsY= 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=L/zMGxU7; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=NwiVcpw7; 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="L/zMGxU7"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="NwiVcpw7" 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 67QCCFKa1223065 for ; Wed, 26 Aug 2026 13:46: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= 8JBRtmRYqTLQMALZTMnqF/HwOuWRZCxhN9n2QVCbJ84=; b=L/zMGxU72sIuAhNS jnYXA7EJCfh594Ri2B7JC57Hevzcy64o2QhcNsSgiH10SiGiZf6BF+q75wLK4Oet w2MoX8oLAXwD/q3DcByk90W8hojBWQ360s0uxxblOpAzWQ56esR2hQnR48unonwQ TiUM0jFPy2qGBv2TW3FoZhCTBgsdxD7YlH+rbZ/qKCXHfwwCRw66GxkpquqAm0mf 7N+XBzkKiYz/lOGotMaHiMuFmAXJpO+Aaj2uThyJ2RZ1evZNGyHbGzGzxjQ6N90A z+eqdm54w6aMWSnicl9n+4P5zayNohLXTzqhMLlbXISDt5kHtVKTk4BJSk9JIret gdXHRw== 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 4g9r1gjb07-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 13:46:32 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-38f5ac7354dso1482049a91.1 for ; Wed, 26 Aug 2026 06:46:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787751991; x=1788356791; 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=8JBRtmRYqTLQMALZTMnqF/HwOuWRZCxhN9n2QVCbJ84=; b=NwiVcpw7+77PJuibQ8nyim1v7Jl8hjwcIY4HOEdidl+mMsKR4iWXNgEir3CjDtZzog oqO1SJhT0cHF5d6ijkXLufqKcXNSu3w6VsvAjMEr2zT5n3NqyqCpXOACDQfq31J6+ZH5 c8FkxXWHZmPb9Al4EMWr0o+bKcQMhpQfQ4WHUBIK50M2mDY++7ESQqUPLSrwsJ7wKC4F 8hXx0fxs2fgAiMVYiEspE/bFgXEPQNyNxvdFMaADOzmAo7xU5yoJPZBSs1wIzJGP9vRx c2WkgPLF4UnVANX3zVpvvmBEF3ZD1/1NPfJ/78ZidYbqAaOzJtvJClcXN3lJFspOjbSh vhdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787751991; x=1788356791; 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=8JBRtmRYqTLQMALZTMnqF/HwOuWRZCxhN9n2QVCbJ84=; b=AOSO+k5+wtQMobHgrcMcDgw4Q6+lw4jGQRTZs443e1WKsk/LBD0Qq6FcmevgbByZ2I CNrmUXltNBKMbxtoT+b+VbvPZ03D7AqjGzuh6gaHIT12k54/SA57tbpxaNPvElPYop1A rQWYlWJRyb346Qc22vixtJRgZGdoc3RopqClP+ZWXZ2keibTtwcO0jVbASsZs1kU8BIF Wxd4Zy7P5QAghJWijxS9/IZMIVZPr7j/QvnCzkm4WqlLDFUwkgCtZxwIXv+tfnN2rb7T +DR62VtxiXPSgZ9l56BbHl8zNDx/DTHnPIsFq7cZTiVh/8JZLINhgFLecaLzT62YPAWy CmhA== X-Forwarded-Encrypted: i=1; AHgh+Rr7mGXWf1vGCmOwjtpAlQYVmDcqjGGQxZQLx6PgtiwvEBDm1txxCdFDMm2zXfgjoB5X4uBSmZQqXV0Ehm4=@vger.kernel.org X-Gm-Message-State: AFuF++m3IVe6PHu5XDRzO599R+OStJYxRD//zWcpmkn9WYBgH2QigP0O /W0pJ40+J3kDtC8AOZbOyjavBNQiVt7h+YXJo78VLBz6IoCh//AJZzjJgDv9dKmBIdr0HwhjHWJ P6NcT5bix1o722My6/piHSamMkkzZGCxq+Hbs9i0M5MinrLnyRL8UmFvAonICVoqGroY= X-Gm-Gg: AR+sD11Y/gZk92V7qUl9Bo4EIs7g/q5dokTPHlLz7Qrhb2uNN09YkJNJ5xeVohOxUe8 h32/iYq0CN3xaibEtrZSjcC6MBjg1AVzxO9pCYmX3i/qLQPRkKGJuxc6jy7d5cYa3u9Lo5f4ctl GUxd1ea7snw7FGMh79a506qrsDlnXaJefzMZTMEstBF6XYZTCWhWSSWFZj0gP7wNyi7koaeH4oO GxFkcE7YvmvTdeZAvfxWSsJFXmjSkVxviwZLs4aVoCLT4GYMBYIzQThJj6q/qkiX6056UGwwjLt NLt2xC87I9zCP7P3/g3xHlnPHQuM+wVf7HSplD4K4RvPVmjP7PcncoQizPLtPEIvzDhHaTCIicd XCeQio9QP/5NgfoZG+aY6UNIUPGxF/wmJZg== X-Received: by 2002:a17:90b:5107:b0:37f:fb1d:63fa with SMTP id 98e67ed59e1d1-3966d9e5ecfmr15275583a91.15.1787751990790; Wed, 26 Aug 2026 06:46:30 -0700 (PDT) X-Received: by 2002:a17:90b:5107:b0:37f:fb1d:63fa with SMTP id 98e67ed59e1d1-3966d9e5ecfmr15275446a91.15.1787751990244; Wed, 26 Aug 2026 06:46:30 -0700 (PDT) Received: from hu-vkatoch-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39645b64c48sm8179696a91.8.2026.08.26.06.46.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 06:46:29 -0700 (PDT) From: Vinayak Katoch Date: Wed, 26 Aug 2026 19:15:48 +0530 Subject: [PATCH 6/6] misc: fastrpc: Add UAPI flags for extended IOVA mapping 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: <20260826-extended-mapping-v1-6-d046c1cb9a9f@oss.qualcomm.com> References: <20260826-extended-mapping-v1-0-d046c1cb9a9f@oss.qualcomm.com> In-Reply-To: <20260826-extended-mapping-v1-0-d046c1cb9a9f@oss.qualcomm.com> To: Srinivas Kandagatla , Ekansh Gupta , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Arnd Bergmann , Greg Kroah-Hartman , Bjorn Andersson , Konrad Dybcio Cc: Bharath Kumar , Chenna Kesava Raju , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Vinayak Katoch X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1787751952; l=7568; i=vinayak.katoch@oss.qualcomm.com; s=20260609; h=from:subject:message-id; bh=uiIZuwO5p10QZ2Fwu25eLmhT5zkNnRxyXBK90PHFhnA=; b=b9udi084KNRmlYbIeP6jwnTsfea6wsIxWybCbnvzc3OJEpkNRvRxvT676jCz9Zl/51wnZtShH BywBCrbVmaCC8yx4DC4zE6Zj8lLW7OBzdu0KQfIiabVk2v/fDo5EVbW X-Developer-Key: i=vinayak.katoch@oss.qualcomm.com; a=ed25519; pk=UrGeKKxjIjpHZIjsbQKS/8rrVaP9KVGki69pFclCH08= X-Proofpoint-GUID: DtnNSiNvDIF0Tn_RVqEI05E8lDdbE-4r X-Authority-Analysis: v=2.4 cv=FPMrAeos c=1 sm=1 tr=0 ts=6a8eee38 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=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=jcsToSEUEPbHcpESBJIA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=mQ_c8vxmzFEMiUWkPHU9:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDExNCBTYWx0ZWRfX+u0AIzCY16Q0 fstrWVHO7Hw7/o8J674h6HxvuS+hHycwUONwYtwvmYkbOn4yDe8aeM0fOTzEKhGnVHUBz1pIhT/ 4Ib2OYLatC9tOVAUUgWVPl5mavGjXUo= X-Proofpoint-ORIG-GUID: DtnNSiNvDIF0Tn_RVqEI05E8lDdbE-4r X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDExNCBTYWx0ZWRfX1V0lClRHy8nY 8yLB+UETC5jagHJEm5A4IVItrFGY1uGBfoczdza0RKaeVNdu8BDcd8hswjr2lPtxlSu4DAi3y6A 5gKS3hSPSdegk7xcySyN5QTSEHJ5Lj6S7E9Dk1AMvai+0TAe4klyyrdy2l9tb9CpE+9xsaPRYJY 8y3Ztdh5aHukBUyE1cObxdapKBeyC53GbsEjW+nCzTIEnxrHK1vpvK8zfUaiczAPqarsUt1xhS/ NBFEhrauU0iZnqDx+xrmeZz+ikQ1zI9trhYkNDI2Fiy4nt+cSEttXUKjs1Qy1GeeEV8Uu4G5Hd6 K8m5E0biBxUK6W6ypS1Xad920EpYeNjXAQMTXSi0Svc0fDUKBk+XU/J6DwfF6QwTDpz1FiUz70I KmOgO/lP1x2hJA2WRTVyhcIM4CiVJmlM/5GCPTrkrUiqsh7Y/rQHsHIhYiPTdGoC4kmflP/aAW5 TFS1t6iXftDO9LHr8ig== 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-26_03,2026-08-26_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 priorityscore=1501 clxscore=1015 lowpriorityscore=0 suspectscore=0 adultscore=0 spamscore=0 phishscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260114 Userspace has no way to request that a buffer be mapped through the extended context bank, so large buffers cannot be placed in the wider IOVA window even when one is available. Add two UAPI flags: FASTRPC_MAP_FD_EXTENDED - map immediately via the extended CB FASTRPC_MAP_FD_DELAYED_EXTENDED - map on demand via the extended CB When either flag is set, fastrpc_map_attach() iterates cctx->ext_cb[] and retries on -ENOMEM, falling over to the next extended CB when one exhausts its IOVA space. The SID offset passed to the DSP must reflect the actual CB used, so fastrpc_compute_dma_addr() takes an explicit session rather than always using fl->sctx =E2=80=94 without this the DSP wo= uld fault on access. All existing call sites pass flags=3D0 and are unaffected. Signed-off-by: Vinayak Katoch --- drivers/misc/fastrpc.c | 64 +++++++++++++++++++++++++++++++++--------= ---- include/uapi/misc/fastrpc.h | 7 +++++ 2 files changed, 55 insertions(+), 16 deletions(-) diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index 28d89fd9cbbc..2f248667e734 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -83,6 +83,11 @@ #define FASTRPC_MAX_DSP_ATTRIBUTES (256) #define FASTRPC_MAX_DSP_ATTRIBUTES_LEN (sizeof(u32) * FASTRPC_MAX_DSP_ATTR= IBUTES) =20 +/* Check if the given flag is used for extended UDMA mapping */ +#define IS_EXTENDED_MAP_FLAG(flag) \ + ((flag) =3D=3D FASTRPC_MAP_FD_EXTENDED || \ + (flag) =3D=3D FASTRPC_MAP_FD_DELAYED_EXTENDED) + /* Retrives number of input buffers from the scalars parameter */ #define REMOTE_SCALARS_INBUFS(sc) (((sc) >> 16) & 0x0ff) =20 @@ -880,16 +885,19 @@ static const struct dma_buf_ops fastrpc_dma_buf_ops = =3D { .release =3D fastrpc_release, }; =20 -static dma_addr_t fastrpc_compute_dma_addr(struct fastrpc_user *fl, dma_ad= dr_t sg_dma_addr) +static dma_addr_t fastrpc_compute_dma_addr(struct fastrpc_user *fl, dma_ad= dr_t sg_dma_addr, + struct fastrpc_session_ctx *sess) { - return sg_dma_addr + fastrpc_sid_offset(fl->cctx, fl->sctx); + return sg_dma_addr + fastrpc_sid_offset(fl->cctx, sess); } =20 -static int fastrpc_map_attach(struct fastrpc_user *fl, int fd, - u64 len, u32 attr, struct fastrpc_map **ppmap) +static int fastrpc_map_attach_to_dev(struct fastrpc_user *fl, int fd, + u64 len, u32 attr, + struct fastrpc_session_ctx *sess, + struct fastrpc_map **ppmap) { - struct fastrpc_session_ctx *sess =3D fl->sctx; struct fastrpc_map *map =3D NULL; + struct device *dev =3D sess->dev; struct sg_table *table; struct scatterlist *sgl =3D NULL; int err =3D 0, sgl_index =3D 0; @@ -909,9 +917,9 @@ static int fastrpc_map_attach(struct fastrpc_user *fl, = int fd, goto get_err; } =20 - map->attach =3D dma_buf_attach(map->buf, sess->dev); + map->attach =3D dma_buf_attach(map->buf, dev); if (IS_ERR(map->attach)) { - dev_err(sess->dev, "Failed to attach dmabuf\n"); + dev_err(dev, "Failed to attach dmabuf\n"); err =3D PTR_ERR(map->attach); goto attach_err; } @@ -926,12 +934,13 @@ static int fastrpc_map_attach(struct fastrpc_user *fl= , int fd, if (attr & FASTRPC_ATTR_SECUREMAP) map->dma_addr =3D sg_phys(map->table->sgl); else - map->dma_addr =3D fastrpc_compute_dma_addr(fl, sg_dma_address(map->table= ->sgl)); + map->dma_addr =3D fastrpc_compute_dma_addr(fl, sg_dma_address(map->table= ->sgl), sess); for_each_sg(map->table->sgl, sgl, map->table->nents, sgl_index) map->size +=3D sg_dma_len(sgl); + if (len > map->size) { - dev_dbg(sess->dev, "Bad size passed len 0x%llx map size 0x%llx\n", + dev_dbg(dev, "Bad size passed len 0x%llx map size 0x%llx\n", len, map->size); err =3D -EINVAL; goto map_err; @@ -954,7 +963,7 @@ static int fastrpc_map_attach(struct fastrpc_user *fl, = int fd, map->attr =3D attr; err =3D qcom_scm_assign_mem(map->dma_addr, (u64)map->len, &src_perms, ds= t_perms, 2); if (err) { - dev_err(sess->dev, + dev_err(dev, "Failed to assign memory with dma_addr %pad size 0x%llx err %d\n", &map->dma_addr, map->len, err); goto map_err; @@ -977,13 +986,36 @@ static int fastrpc_map_attach(struct fastrpc_user *fl= , int fd, return err; } =20 +static int fastrpc_map_attach(struct fastrpc_user *fl, int fd, + u64 len, u32 attr, u32 flags, struct fastrpc_map **ppmap) +{ + if (IS_EXTENDED_MAP_FLAG(flags)) { + int i, err =3D -ENODEV; + + if (!fl->cctx->ext_cb_count) { + dev_err(fl->sctx->dev, "no extended context bank found\n"); + return -ENODEV; + } + + for (i =3D 0; i < fl->cctx->ext_cb_count; i++) { + err =3D fastrpc_map_attach_to_dev(fl, fd, len, attr, + fl->cctx->ext_cb[i], ppmap); + if (err !=3D -ENOMEM) + break; + } + return err; + } + + return fastrpc_map_attach_to_dev(fl, fd, len, attr, fl->sctx, ppmap); +} + static int fastrpc_map_create(struct fastrpc_user *fl, int fd, - u64 len, u32 attr, struct fastrpc_map **ppmap) + u64 len, u32 attr, u32 flags, struct fastrpc_map **ppmap) { if (!fastrpc_map_lookup(fl, fd, ppmap, true)) return 0; =20 - return fastrpc_map_attach(fl, fd, len, attr, ppmap); + return fastrpc_map_attach(fl, fd, len, attr, flags, ppmap); } =20 /* @@ -1061,10 +1093,10 @@ static int fastrpc_create_maps(struct fastrpc_invok= e_ctx *ctx) =20 if (i < ctx->nbufs) err =3D fastrpc_map_create(ctx->fl, ctx->args[i].fd, - ctx->args[i].length, ctx->args[i].attr, &ctx->maps[i]); + ctx->args[i].length, ctx->args[i].attr, 0, &ctx->maps[i]); else err =3D fastrpc_map_attach(ctx->fl, ctx->args[i].fd, - ctx->args[i].length, ctx->args[i].attr, &ctx->maps[i]); + ctx->args[i].length, ctx->args[i].attr, 0, &ctx->maps[i]); if (err) { dev_err(dev, "Error Creating map %d\n", err); return -EINVAL; @@ -1628,7 +1660,7 @@ static int fastrpc_init_create_process(struct fastrpc= _user *fl, fl->pd =3D USER_PD; =20 if (init.filelen && init.filefd) { - err =3D fastrpc_map_create(fl, init.filefd, init.filelen, 0, &map); + err =3D fastrpc_map_create(fl, init.filefd, init.filelen, 0, 0, &map); if (err) goto err; } @@ -2251,7 +2283,7 @@ static int fastrpc_req_mem_map(struct fastrpc_user *f= l, char __user *argp) return -EFAULT; =20 /* create SMMU mapping */ - err =3D fastrpc_map_create(fl, req.fd, req.length, 0, &map); + err =3D fastrpc_map_create(fl, req.fd, req.length, 0, req.flags, &map); if (err) { dev_err(dev, "failed to map buffer, fd =3D %d\n", req.fd); return err; diff --git a/include/uapi/misc/fastrpc.h b/include/uapi/misc/fastrpc.h index ba1ea5ed426c..b39c0e197a45 100644 --- a/include/uapi/misc/fastrpc.h +++ b/include/uapi/misc/fastrpc.h @@ -36,6 +36,11 @@ * cache maintenance for the buffer. * @FASTRPC_MAP_FD_NOMAP: This flag is used to skip CPU mapping, * otherwise behaves similar to FASTRPC_MAP_FD_DELAYED flag. + * @FASTRPC_MAP_FD_EXTENDED: Map buffer in extended SMMU IOVA space (16GB = - 1TB) + * and DSP VA space (4GB - 512GB). Can be accessed only through uDMA. + * @FASTRPC_MAP_FD_DELAYED_EXTENDED: Map buffer in extended SMMU IOVA space + * (16GB - 1TB) but skip DSP mapping. DSP mapping will be done later by + * the user. Can be accessed only through uDMA. * @FASTRPC_MAP_MAX: max count for flags * */ @@ -45,6 +50,8 @@ enum fastrpc_map_flags { FASTRPC_MAP_FD =3D 2, FASTRPC_MAP_FD_DELAYED, FASTRPC_MAP_FD_NOMAP =3D 16, + FASTRPC_MAP_FD_EXTENDED, + FASTRPC_MAP_FD_DELAYED_EXTENDED, FASTRPC_MAP_MAX, }; =20 --=20 2.34.1