mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [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®