* [PATCH v2 0/2] iommu/arm-smmu-qcom: Add SM7250 support
@ 2026-10-23 7:54 Ishu Brar via B4 Relay
2026-10-23 7:54 ` [PATCH v2 1/2] dt-bindings: arm-smmu: Document SM7250 SMMU Ishu Brar via B4 Relay
2026-10-23 7:54 ` [PATCH v2 2/2] iommu/arm-smmu-qcom: Skip PRR setup on SM7250 GPU SMMU Ishu Brar via B4 Relay
0 siblings, 2 replies; 4+ messages in thread
From: Ishu Brar via B4 Relay @ 2026-10-23 7:54 UTC (permalink / raw)
To: Will Deacon, Robin Murphy, Joerg Roedel (AMD),
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Rob Clark
Cc: linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm,
Ishu Brar
This documents SMMUs of Qualcomm SM7250 (Snapdragon
765/765G/768G) and skips Adreno SMMU PRR setup on it.
As on SM8250, firmware resets device when PRR registers are
written, which happens as soon as GPU creates its first per-process
pagetable. Patch 1 adds the compatible to binding (apps SMMU and GPU
SMMU). Patch 2 excludes it from PRR callbacks.
Tested on OnePlus Nord (SM7250) with Vulkan on Adreno 620. The SoC
devicetree nodes are not part of this series.
Signed-off-by: Ishu Brar <patches@brar.si>
---
Changes in v2:
- Patch 1: also add qcom,sm7250-smmu-500 to the allOf block that
requires the ahb/bus/iface clocks, so the GPU SMMU clocks are
validated like on sm8250 (sashiko review, confirmed by Krzysztof).
- Patch 2: unchanged.
- Link to v1: https://patch.msgid.link/20261016-smmu-sm7250-v1-0-e11fc0384cfa@brar.si
To: Will Deacon <will@kernel.org>
To: Robin Murphy <robin.murphy@arm.com>
To: "Joerg Roedel (AMD)" <joro@8bytes.org>
To: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk+dt@kernel.org>
To: Conor Dooley <conor+dt@kernel.org>
To: Rob Clark <robin.clark@oss.qualcomm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: iommu@lists.linux.dev
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-arm-msm@vger.kernel.org
---
Ishu Brar (2):
dt-bindings: arm-smmu: Document SM7250 SMMU
iommu/arm-smmu-qcom: Skip PRR setup on SM7250 GPU SMMU
Documentation/devicetree/bindings/iommu/arm,smmu.yaml | 4 ++++
drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 1 +
2 files changed, 5 insertions(+)
---
base-commit: 7b7429c28ac01c8a2952225a4b8a742eec7359c3
change-id: 20261016-smmu-sm7250-957df02d9283
Best regards,
--
Ishu Brar <patches@brar.si>
^ permalink raw reply [flat|nested] 4+ messages in thread* [PATCH v2 1/2] dt-bindings: arm-smmu: Document SM7250 SMMU 2026-10-23 7:54 [PATCH v2 0/2] iommu/arm-smmu-qcom: Add SM7250 support Ishu Brar via B4 Relay @ 2026-10-23 7:54 ` Ishu Brar via B4 Relay 2026-10-23 7:54 ` [PATCH v2 2/2] iommu/arm-smmu-qcom: Skip PRR setup on SM7250 GPU SMMU Ishu Brar via B4 Relay 1 sibling, 0 replies; 4+ messages in thread From: Ishu Brar via B4 Relay @ 2026-10-23 7:54 UTC (permalink / raw) To: Will Deacon, Robin Murphy, Joerg Roedel (AMD), Rob Herring, Krzysztof Kozlowski, Conor Dooley, Rob Clark Cc: linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm, Ishu Brar From: Ishu Brar <patches@brar.si> Document the SMMU found on the Qualcomm SM7250 SoC: the apps SMMU, which is an MMU-500 implementation, and the GPU SMMU, which additionally carries qcom,adreno-smmu. Signed-off-by: Ishu Brar <patches@brar.si> --- Documentation/devicetree/bindings/iommu/arm,smmu.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml index 6748351c7..9abfd77fc 100644 --- a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml +++ b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml @@ -64,6 +64,7 @@ properties: - qcom,sm6125-smmu-500 - qcom,sm6350-smmu-500 - qcom,sm6375-smmu-500 + - qcom,sm7250-smmu-500 - qcom,sm8150-smmu-500 - qcom,sm8250-smmu-500 - qcom,sm8350-smmu-500 @@ -116,6 +117,7 @@ properties: - qcom,shikra-smmu-500 - qcom,sm6115-smmu-500 - qcom,sm6125-smmu-500 + - qcom,sm7250-smmu-500 - qcom,sm8150-smmu-500 - qcom,sm8250-smmu-500 - qcom,sm8350-smmu-500 @@ -445,6 +447,7 @@ allOf: - qcom,sc8180x-smmu-500 - qcom,sm6350-smmu-v2 - qcom,sm7150-smmu-v2 + - qcom,sm7250-smmu-500 - qcom,sm8150-smmu-500 - qcom,sm8250-smmu-500 then: @@ -641,6 +644,7 @@ allOf: - qcom,shikra-smmu-500 - qcom,sm6115-smmu-500 - qcom,sm6125-smmu-500 + - qcom,sm7250-smmu-500 - qcom,sm8150-smmu-500 - qcom,sm8250-smmu-500 - qcom,sm8350-smmu-500 -- 2.56.0 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v2 2/2] iommu/arm-smmu-qcom: Skip PRR setup on SM7250 GPU SMMU 2026-10-23 7:54 [PATCH v2 0/2] iommu/arm-smmu-qcom: Add SM7250 support Ishu Brar via B4 Relay 2026-10-23 7:54 ` [PATCH v2 1/2] dt-bindings: arm-smmu: Document SM7250 SMMU Ishu Brar via B4 Relay @ 2026-10-23 7:54 ` Ishu Brar via B4 Relay 2026-10-23 8:06 ` Konrad Dybcio 1 sibling, 1 reply; 4+ messages in thread From: Ishu Brar via B4 Relay @ 2026-10-23 7:54 UTC (permalink / raw) To: Will Deacon, Robin Murphy, Joerg Roedel (AMD), Rob Herring, Krzysztof Kozlowski, Conor Dooley, Rob Clark Cc: linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm, Ishu Brar From: Ishu Brar <patches@brar.si> As on SM8250, the firmware on SM7250 resets the device when the Adreno SMMU PRR registers are written. This happened as soon as the first per-process GPU pagetable was created. Do not install the PRR callbacks for the SM7250 GPU SMMU either. Tested on a OnePlus Nord (SM7250) with Vulkan. Signed-off-by: Ishu Brar <patches@brar.si> --- drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c b/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c index 795e8ec7e..55071eb03 100644 --- a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c +++ b/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c @@ -394,6 +394,7 @@ static int qcom_adreno_smmu_init_context(struct arm_smmu_domain *smmu_domain, priv->set_prr_addr = NULL; if (of_device_is_compatible(np, "qcom,smmu-500") && + !of_device_is_compatible(np, "qcom,sm7250-smmu-500") && !of_device_is_compatible(np, "qcom,sm8250-smmu-500") && of_device_is_compatible(np, "qcom,adreno-smmu")) { priv->set_prr_bit = qcom_adreno_smmu_set_prr_bit; -- 2.56.0 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2 2/2] iommu/arm-smmu-qcom: Skip PRR setup on SM7250 GPU SMMU 2026-10-23 7:54 ` [PATCH v2 2/2] iommu/arm-smmu-qcom: Skip PRR setup on SM7250 GPU SMMU Ishu Brar via B4 Relay @ 2026-10-23 8:06 ` Konrad Dybcio 0 siblings, 0 replies; 4+ messages in thread From: Konrad Dybcio @ 2026-10-23 8:06 UTC (permalink / raw) To: patches, Will Deacon, Robin Murphy, Joerg Roedel (AMD), Rob Herring, Krzysztof Kozlowski, Conor Dooley, Rob Clark Cc: linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm On 10/23/26 9:54 AM, Ishu Brar via B4 Relay wrote: > From: Ishu Brar <patches@brar.si> > > As on SM8250, the firmware on SM7250 resets the device when the Adreno > SMMU PRR registers are written. This happened as soon as the first > per-process GPU pagetable was created. Do not install the PRR > callbacks for the SM7250 GPU SMMU either. > > Tested on a OnePlus Nord (SM7250) with Vulkan. > > Signed-off-by: Ishu Brar <patches@brar.si> > --- Acked-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Konrad ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-10-23 8:06 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2026-10-23 7:54 [PATCH v2 0/2] iommu/arm-smmu-qcom: Add SM7250 support Ishu Brar via B4 Relay 2026-10-23 7:54 ` [PATCH v2 1/2] dt-bindings: arm-smmu: Document SM7250 SMMU Ishu Brar via B4 Relay 2026-10-23 7:54 ` [PATCH v2 2/2] iommu/arm-smmu-qcom: Skip PRR setup on SM7250 GPU SMMU Ishu Brar via B4 Relay 2026-10-23 8:06 ` Konrad Dybcio
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®