* [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®