From nobody Fri Apr 17 01:46:31 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 9CEBB37BE76; Tue, 24 Feb 2026 11:35:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771932923; cv=none; b=E03SHv3QN3ATtxc6PPbZQdZiPB7qrCr9ln1M3WsVeQ2zXNmlnTZUWXN9/NiREbSrxXsaWaY2XxWE18saRZhIWb2PCS5fPGb2aWDh/2sUlqAJClpfjar8vFQQQnuodBDVPt01yCE2zlrsGM9MIlr5kH3xM/SMpcrfOig6LqoglOo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771932923; c=relaxed/simple; bh=9XAB1WkKG/tI/e5hODd4LVsH6dlMu4Pako5uxzY7r4U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=L7pI5V4F+6EabOEKtsyPGu6eg0zKdK+ACic6glX0o+HhSHxcg6jTc/0Y+qmHb1K1RdYK5nZUD+lh+xhr9tGtpIPR4xJ8Iq/CjCDxXW6yRYZIDjEeQJoxcuIk0YaN1tfp+ggIZKqJ7PwQBUrgDfW+IzWdpUHOiI8VmMfhVwJeRsU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=U6MhlMfv; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="U6MhlMfv" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B0F8DC116D0; Tue, 24 Feb 2026 11:35:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1771932923; bh=9XAB1WkKG/tI/e5hODd4LVsH6dlMu4Pako5uxzY7r4U=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=U6MhlMfvQq0hrgS/d4K2GG9jfgzDrbnMEpkJw9svtTkqlYKt6/n5eSUoD72+ena24 qVkFC6zPIBxQ6MK8lRv/nEyTa9x2cV3R59sYt6908emtAch0h+ARGaM2YLxM5TBdrH kGlcfK1fvlMNsRrbS3tD3QmS84ajGV1yjRZ+pQuXg84D4b5r8Dm/fdSWEWNTo1gcpI oOluaHM6kbUdKLNgLP8qnikwHkAOeiYw7NjFr5xByQ6JFhLHomhXlb/4IWXkDpoP2p gwGNX4lI51xkP/kzyYCS7PZ2XHs4UluTbqe+mDflkNvuoEfYTlOhQ+RP9yfQiCb647 +YH+XHNPQ7rDA== From: Konrad Dybcio Date: Tue, 24 Feb 2026 12:34:46 +0100 Subject: [PATCH net-next v5 1/3] dt-bindings: sram: qcom,imem: Allow modem-tables subnode 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: <20260224-topic-ipa_imem-v5-1-015bf09e123e@oss.qualcomm.com> References: <20260224-topic-ipa_imem-v5-0-015bf09e123e@oss.qualcomm.com> In-Reply-To: <20260224-topic-ipa_imem-v5-0-015bf09e123e@oss.qualcomm.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Alex Elder Cc: Marijn Suijten , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Konrad Dybcio , Krzysztof Kozlowski , Alex Elder X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1771932912; l=1479; i=konrad.dybcio@oss.qualcomm.com; s=20230215; h=from:subject:message-id; bh=EkZkFoDGwWgx618F15NSBVvffYCMvU4Fbz6lmWps3uA=; b=aqJJIVYO78oZhbrYy19AhbuY+02mV7lQ/50l4YKy16mFNDUrXuTb5sNLmDXD7SaEZI0/EbRE+ fvHZDfFrQZqCeSPcEhwRxx54JmzHx/qJjf2CofyuN+rUMuixqdMDs7C X-Developer-Key: i=konrad.dybcio@oss.qualcomm.com; a=ed25519; pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= From: Konrad Dybcio The IP Accelerator hardware/firmware owns a sizeable region within the IMEM, named 'modem-tables', containing various packet processing configuration data. It's not actually accessed by the OS, although we have to IOMMU-map it with the IPA device, so that presumably the firmware can act upon it. Allow it as a subnode of IMEM. Reviewed-by: Krzysztof Kozlowski Reviewed-by: Alex Elder Signed-off-by: Konrad Dybcio --- Documentation/devicetree/bindings/sram/qcom,imem.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Documentation/devicetree/bindings/sram/qcom,imem.yaml b/Docume= ntation/devicetree/bindings/sram/qcom,imem.yaml index 6a627c57ae2f..c63026904061 100644 --- a/Documentation/devicetree/bindings/sram/qcom,imem.yaml +++ b/Documentation/devicetree/bindings/sram/qcom,imem.yaml @@ -67,6 +67,20 @@ properties: $ref: /schemas/power/reset/syscon-reboot-mode.yaml# =20 patternProperties: + "^modem-tables@[0-9a-f]+$": + type: object + description: + Region containing packet processing configuration for the IP Acceler= ator. + + properties: + reg: + maxItems: 1 + + required: + - reg + + additionalProperties: false + "^pil-reloc@[0-9a-f]+$": $ref: /schemas/remoteproc/qcom,pil-info.yaml# description: Peripheral image loader relocation region --=20 2.53.0 From nobody Fri Apr 17 01:46:31 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 AA88D2D6E6F; Tue, 24 Feb 2026 11:35:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771932928; cv=none; b=MFuyriM1mUEhJVyNTABZq3pzKR25zrl2Md6r7rmdwmkC2Qx5NdzAvo0BrS/nzeJFfWceL2eRuRXLrCriRGdZjZfh3M/FjpQPMJ+QxqdVBjCy7Ssc5t488bFSxUqkIO5XnUhcZAHSQEUjiHJMo32duj6hUAdFwse1zj7fzUBiNOE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771932928; c=relaxed/simple; bh=2dYSFWHyj4X3N9lIZ8cPMHQHezOGMsV6I5UBAIu+Dd8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cLKt2RjIdmaypWx7GJ0e9dY2K9WBIInVKO8sgiY5BsL1YMPtRJgsMgo+i/h05hlbTONbonPuQUiniJqDTZmCVKk6aI8jKVbQNVv0sau+OZEVcx/JCYZPcqD5vAWDQaCj8eNdNn00x3lWmplnJgrJ4ISxRlj/x9ayl6kBuIFKSQA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=N7vLRH/O; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="N7vLRH/O" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D2417C116D0; Tue, 24 Feb 2026 11:35:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1771932928; bh=2dYSFWHyj4X3N9lIZ8cPMHQHezOGMsV6I5UBAIu+Dd8=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=N7vLRH/O1PdEcKVOlgLNfcwBPRw9pHqw1N+kX5qpB1XWd8E3pv9tW75Nj1fs/fP81 Mqyjgih6yZ3e/LE4BvceCDygVslWc9gc3sJBGIJRaZTbW9q2+nYWjy7zKKvFsYIp79 jz4C+JegyHjnnnAhVXH3GeHfDLIgnZtYCyF15LKd+bb1dP5MRrXjs8xM/n+CKl37zZ g586tfk50sySUZyeqNyK+zDbvaa6Q2aWKUJqsRJe2uwwWLyshTi8tazENwLGwjQlh1 ZjQleyHOk1539IAuDND7HqRERx/EbTSNlM3LEA7KL/6SyjvMiLZXr4x1CxNqab09ZP 1O0oLq8ayA8kg== From: Konrad Dybcio Date: Tue, 24 Feb 2026 12:34:47 +0100 Subject: [PATCH net-next v5 2/3] dt-bindings: net: qcom,ipa: Add sram property for describing IMEM slice 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: <20260224-topic-ipa_imem-v5-2-015bf09e123e@oss.qualcomm.com> References: <20260224-topic-ipa_imem-v5-0-015bf09e123e@oss.qualcomm.com> In-Reply-To: <20260224-topic-ipa_imem-v5-0-015bf09e123e@oss.qualcomm.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Alex Elder Cc: Marijn Suijten , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Konrad Dybcio , Alex Elder , Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1771932912; l=1543; i=konrad.dybcio@oss.qualcomm.com; s=20230215; h=from:subject:message-id; bh=FtJRSrboOafEtcZXaNS6FW/2KBBL5SVhQOA5zYIeMBE=; b=XabK7iMF3Y7ueRQvXeTyr9GFkv5doSeTbS1nh+xNMH23f8e80PBhzYcB8dtJHAsiLogDWDm0y MrQD6eh0jhUDny2k5YjJbKlZWtO5WNKWMln9yH6JcrZFDxyIcektdR9 X-Developer-Key: i=konrad.dybcio@oss.qualcomm.com; a=ed25519; pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= From: Konrad Dybcio The IPA driver currently grabs a slice of IMEM through hardcoded addresses. Not only is that ugly and against the principles of DT, but it also creates a situation where two distinct platforms implementing the same version of IPA would need to be hardcoded together and matched at runtime. Instead, do the sane thing and accept a handle to said region directly. Don't make it required on purpose, as it's not there on ancient implementations (currently unsupported) and we're not yet done with filling the data across al DTs. Reviewed-by: Alex Elder Reviewed-by: Krzysztof Kozlowski Signed-off-by: Konrad Dybcio --- Documentation/devicetree/bindings/net/qcom,ipa.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Documentation/devicetree/bindings/net/qcom,ipa.yaml b/Document= ation/devicetree/bindings/net/qcom,ipa.yaml index c7f5f2ef7452..4237e74041ef 100644 --- a/Documentation/devicetree/bindings/net/qcom,ipa.yaml +++ b/Documentation/devicetree/bindings/net/qcom,ipa.yaml @@ -165,6 +165,13 @@ properties: initializing IPA hardware. Optional, and only used when Trust Zone performs early initialization. =20 + sram: + maxItems: 1 + description: + A reference to an additional region residing in IMEM (special + on-chip SRAM), which is accessed by the IPA firmware and needs + to be IOMMU-mapped from the OS. + required: - compatible - iommus --=20 2.53.0 From nobody Fri Apr 17 01:46:31 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 633F737BE76; Tue, 24 Feb 2026 11:35:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771932934; cv=none; b=IHvP2x5kf5ugytAn1ImuOt6iLA6xGgSPH7hGrDIFexWtUGQQvvDrRE4+xEs9D6Sd3L9iOpa5Ca4XGJVgkY2B57Vixd8b5X9ihT2gRawHhcY0cxv6LXAmox/n/KAUPck2AQjmTl2Gnu5eXYKAs3XxaoBrQZGHf0ui/eOviWRyVDs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771932934; c=relaxed/simple; bh=C5oY30UkFQ3O3eG6iTmmPWTIKiizU7kru4zFrzFk5sk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Ch8KbTptTksUcv4ZVYImdtow4cRqcZlW1rsC4zAp93095L+/Srjfuc86LnHIJx95FEahyzGWzkAf+Bwqe3ndwzxpq/zaeEILGMSitDJXwWXylprRfJ2LUj/6PTgXV3HSgcPkI2DUFng2Xkx7hJHm3X73KWFkId8Lm5wEf49AXRw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=dCYkFjJD; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="dCYkFjJD" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D668BC116D0; Tue, 24 Feb 2026 11:35:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1771932934; bh=C5oY30UkFQ3O3eG6iTmmPWTIKiizU7kru4zFrzFk5sk=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=dCYkFjJDMW/GqKkuLND7j83AOCr/utn378EviOdnXJXeY5ARxAqgmfrjgY7Djlpko h7s1oqp+Zl+e9BblEuzzkZ0sUnUM7D6/Js4c8MyITBA95bjJmf2nEAGTkHpdS0sb3D hXZO6383GtRbZt1DCAEbH1XTX8I2WWXxtQUCx3Y/ICPNiIqQZ+AuB5RO33EWYJc8Vd 8Yo8yNHUgovF+2Yhli6m2jiYgn+fI/7f2i4ghiqR51gGIIBIzOzw8ts8npge7AsyQg 0mFgXVMX8s4wGEy2qXcPfdIKxWq/88A8/MMJtZPI9jMi/3x4kjlr5wqs/UDLnTa285 9l2nGWoyeeLSQ== From: Konrad Dybcio Date: Tue, 24 Feb 2026 12:34:48 +0100 Subject: [PATCH net-next v5 3/3] net: ipa: Grab IMEM slice base/size from DTS 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: <20260224-topic-ipa_imem-v5-3-015bf09e123e@oss.qualcomm.com> References: <20260224-topic-ipa_imem-v5-0-015bf09e123e@oss.qualcomm.com> In-Reply-To: <20260224-topic-ipa_imem-v5-0-015bf09e123e@oss.qualcomm.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Alex Elder Cc: Marijn Suijten , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Konrad Dybcio , Alex Elder , Dmitry Baryshkov , Simon Horman X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1771932912; l=2728; i=konrad.dybcio@oss.qualcomm.com; s=20230215; h=from:subject:message-id; bh=RQ2LdCvjFfiS0OMnOv+dT6EBkJVtY3P4ubESo3oaBx0=; b=Q5VNpDvr1HOrF8O8HRlu8JCeVHUQMtQjbQZI1bWQKg7L+FGqZu+84shEoMKJawgcBrv+pd0ml hqBAj3/QTdTAm+WyqqFDUlUf8dfP8Rtw/jUGCVIthijMCn4/KdDeFgw X-Developer-Key: i=konrad.dybcio@oss.qualcomm.com; a=ed25519; pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= From: Konrad Dybcio This is a detail that differ per chip, and not per IPA version (and there are cases of the same IPA versions being implemented across very very very different SoCs). This region isn't actually used by the driver, but we most definitely want to iommu-map it, so that IPA can poke at the data within. Reviewed-by: Alex Elder Acked-by: Dmitry Baryshkov Reviewed-by: Simon Horman Signed-off-by: Konrad Dybcio --- drivers/net/ipa/ipa_data.h | 9 +++++++-- drivers/net/ipa/ipa_mem.c | 22 +++++++++++++++++++++- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/drivers/net/ipa/ipa_data.h b/drivers/net/ipa/ipa_data.h index 2fd03f0799b2..f3bdc64cef05 100644 --- a/drivers/net/ipa/ipa_data.h +++ b/drivers/net/ipa/ipa_data.h @@ -185,8 +185,13 @@ struct ipa_resource_data { struct ipa_mem_data { u32 local_count; const struct ipa_mem *local; - u32 imem_addr; - u32 imem_size; + + /* These values are now passed via DT, but to support + * older systems we must allow this to be specified here. + */ + u32 imem_addr; /* DEPRECATED */ + u32 imem_size; /* DEPRECATED */ + u32 smem_size; }; =20 diff --git a/drivers/net/ipa/ipa_mem.c b/drivers/net/ipa/ipa_mem.c index 835a3c9c1fd4..5d3f68bd02d9 100644 --- a/drivers/net/ipa/ipa_mem.c +++ b/drivers/net/ipa/ipa_mem.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include =20 @@ -617,7 +618,9 @@ static void ipa_smem_exit(struct ipa *ipa) int ipa_mem_init(struct ipa *ipa, struct platform_device *pdev, const struct ipa_mem_data *mem_data) { + struct device_node *ipa_slice_np; struct device *dev =3D &pdev->dev; + u32 imem_base, imem_size; struct resource *res; int ret; =20 @@ -656,7 +659,24 @@ int ipa_mem_init(struct ipa *ipa, struct platform_devi= ce *pdev, ipa->mem_addr =3D res->start; ipa->mem_size =3D resource_size(res); =20 - ret =3D ipa_imem_init(ipa, mem_data->imem_addr, mem_data->imem_size); + ipa_slice_np =3D of_parse_phandle(dev->of_node, "sram", 0); + if (ipa_slice_np) { + ret =3D of_address_to_resource(ipa_slice_np, 0, res); + of_node_put(ipa_slice_np); + if (ret) + goto err_unmap; + + imem_base =3D res->start; + imem_size =3D resource_size(res); + } else { + /* Backwards compatibility for DTs lacking + * an explicit reference + */ + imem_base =3D mem_data->imem_addr; + imem_size =3D mem_data->imem_size; + } + + ret =3D ipa_imem_init(ipa, imem_base, imem_size); if (ret) goto err_unmap; =20 --=20 2.53.0