public inbox for linux-arm-msm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/2] iommu/arm-smmu-qcom: Add SDM670 SMMU v2
@ 2024-11-14  0:47 Richard Acayan
  2024-11-14  0:47 ` [PATCH v2 1/2] dt-bindings: iommu: arm,smmu: add sdm670 adreno iommu compatible Richard Acayan
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Richard Acayan @ 2024-11-14  0:47 UTC (permalink / raw)
  To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Rob Clark, linux-arm-kernel,
	iommu, devicetree, linux-arm-msm
  Cc: Richard Acayan

This adds the SMMU v2 for the Snapdragon 670, used for the Adreno GPU.

Changes since v1 (20240730013820.41702-4-mailingradian@gmail.com):
- explain need for specific compatible in iommu driver patch (2/2)

Richard Acayan (2):
  dt-bindings: iommu: arm,smmu: add sdm670 adreno iommu compatible
  iommu/arm-smmu-qcom: add sdm670 adreno iommu compatible

 Documentation/devicetree/bindings/iommu/arm,smmu.yaml | 1 +
 drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c            | 1 +
 2 files changed, 2 insertions(+)

-- 
2.47.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 1/2] dt-bindings: iommu: arm,smmu: add sdm670 adreno iommu compatible
  2024-11-14  0:47 [PATCH v2 0/2] iommu/arm-smmu-qcom: Add SDM670 SMMU v2 Richard Acayan
@ 2024-11-14  0:47 ` Richard Acayan
  2024-11-15 17:35   ` Rob Herring (Arm)
  2024-11-14  0:47 ` [PATCH v2 2/2] iommu/arm-smmu-qcom: " Richard Acayan
  2024-12-09 19:28 ` [PATCH v2 0/2] iommu/arm-smmu-qcom: Add SDM670 SMMU v2 Will Deacon
  2 siblings, 1 reply; 6+ messages in thread
From: Richard Acayan @ 2024-11-14  0:47 UTC (permalink / raw)
  To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Rob Clark, linux-arm-kernel,
	iommu, devicetree, linux-arm-msm
  Cc: Richard Acayan

SDM670 has a separate IOMMU for the GPU, like SDM845. Add the compatible
for it.

Signed-off-by: Richard Acayan <mailingradian@gmail.com>
---
 Documentation/devicetree/bindings/iommu/arm,smmu.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
index 92d350b8e01a..6d1b92a57dc4 100644
--- a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
+++ b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
@@ -119,6 +119,7 @@ properties:
               - qcom,msm8996-smmu-v2
               - qcom,sc7180-smmu-v2
               - qcom,sdm630-smmu-v2
+              - qcom,sdm670-smmu-v2
               - qcom,sdm845-smmu-v2
               - qcom,sm6350-smmu-v2
               - qcom,sm7150-smmu-v2
-- 
2.47.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 2/2] iommu/arm-smmu-qcom: add sdm670 adreno iommu compatible
  2024-11-14  0:47 [PATCH v2 0/2] iommu/arm-smmu-qcom: Add SDM670 SMMU v2 Richard Acayan
  2024-11-14  0:47 ` [PATCH v2 1/2] dt-bindings: iommu: arm,smmu: add sdm670 adreno iommu compatible Richard Acayan
@ 2024-11-14  0:47 ` Richard Acayan
  2024-11-14 12:35   ` Dmitry Baryshkov
  2024-12-09 19:28 ` [PATCH v2 0/2] iommu/arm-smmu-qcom: Add SDM670 SMMU v2 Will Deacon
  2 siblings, 1 reply; 6+ messages in thread
From: Richard Acayan @ 2024-11-14  0:47 UTC (permalink / raw)
  To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Rob Clark, linux-arm-kernel,
	iommu, devicetree, linux-arm-msm
  Cc: Richard Acayan

Add the compatible for the separate IOMMU on SDM670 for the Adreno GPU.

This IOMMU has the compatible strings:

	"qcom,sdm670-smmu-v2", "qcom,adreno-smmu", "qcom,smmu-v2"

While the SMMU 500 doesn't need an entry for this specific SoC, the
SMMU v2 compatible should have its own entry, as the fallback entry in
arm-smmu.c handles "qcom,smmu-v2" without per-process page table support
unless there is an entry here. This entry can't be the
"qcom,adreno-smmu" compatible because dedicated GPU IOMMUs can also be
SMMU 500 with different handling.

Signed-off-by: Richard Acayan <mailingradian@gmail.com>
---
 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 6372f3e25c4b..601fb878d0ef 100644
--- a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c
+++ b/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c
@@ -567,6 +567,7 @@ static const struct of_device_id __maybe_unused qcom_smmu_impl_of_match[] = {
 	{ .compatible = "qcom,sc8180x-smmu-500", .data = &qcom_smmu_500_impl0_data },
 	{ .compatible = "qcom,sc8280xp-smmu-500", .data = &qcom_smmu_500_impl0_data },
 	{ .compatible = "qcom,sdm630-smmu-v2", .data = &qcom_smmu_v2_data },
+	{ .compatible = "qcom,sdm670-smmu-v2", .data = &qcom_smmu_v2_data },
 	{ .compatible = "qcom,sdm845-smmu-v2", .data = &qcom_smmu_v2_data },
 	{ .compatible = "qcom,sdm845-smmu-500", .data = &sdm845_smmu_500_data },
 	{ .compatible = "qcom,sm6115-smmu-500", .data = &qcom_smmu_500_impl0_data},
-- 
2.47.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 2/2] iommu/arm-smmu-qcom: add sdm670 adreno iommu compatible
  2024-11-14  0:47 ` [PATCH v2 2/2] iommu/arm-smmu-qcom: " Richard Acayan
@ 2024-11-14 12:35   ` Dmitry Baryshkov
  0 siblings, 0 replies; 6+ messages in thread
From: Dmitry Baryshkov @ 2024-11-14 12:35 UTC (permalink / raw)
  To: Richard Acayan
  Cc: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Rob Clark, linux-arm-kernel,
	iommu, devicetree, linux-arm-msm

On Wed, Nov 13, 2024 at 07:47:16PM -0500, Richard Acayan wrote:
> Add the compatible for the separate IOMMU on SDM670 for the Adreno GPU.
> 
> This IOMMU has the compatible strings:
> 
> 	"qcom,sdm670-smmu-v2", "qcom,adreno-smmu", "qcom,smmu-v2"
> 
> While the SMMU 500 doesn't need an entry for this specific SoC, the
> SMMU v2 compatible should have its own entry, as the fallback entry in
> arm-smmu.c handles "qcom,smmu-v2" without per-process page table support
> unless there is an entry here. This entry can't be the
> "qcom,adreno-smmu" compatible because dedicated GPU IOMMUs can also be
> SMMU 500 with different handling.
> 
> Signed-off-by: Richard Acayan <mailingradian@gmail.com>
> ---
>  drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 1 +
>  1 file changed, 1 insertion(+)


Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>


> 
> diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c b/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c
> index 6372f3e25c4b..601fb878d0ef 100644
> --- a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c
> +++ b/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c
> @@ -567,6 +567,7 @@ static const struct of_device_id __maybe_unused qcom_smmu_impl_of_match[] = {
>  	{ .compatible = "qcom,sc8180x-smmu-500", .data = &qcom_smmu_500_impl0_data },
>  	{ .compatible = "qcom,sc8280xp-smmu-500", .data = &qcom_smmu_500_impl0_data },
>  	{ .compatible = "qcom,sdm630-smmu-v2", .data = &qcom_smmu_v2_data },
> +	{ .compatible = "qcom,sdm670-smmu-v2", .data = &qcom_smmu_v2_data },
>  	{ .compatible = "qcom,sdm845-smmu-v2", .data = &qcom_smmu_v2_data },
>  	{ .compatible = "qcom,sdm845-smmu-500", .data = &sdm845_smmu_500_data },
>  	{ .compatible = "qcom,sm6115-smmu-500", .data = &qcom_smmu_500_impl0_data},
> -- 
> 2.47.0
> 

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 1/2] dt-bindings: iommu: arm,smmu: add sdm670 adreno iommu compatible
  2024-11-14  0:47 ` [PATCH v2 1/2] dt-bindings: iommu: arm,smmu: add sdm670 adreno iommu compatible Richard Acayan
@ 2024-11-15 17:35   ` Rob Herring (Arm)
  0 siblings, 0 replies; 6+ messages in thread
From: Rob Herring (Arm) @ 2024-11-15 17:35 UTC (permalink / raw)
  To: Richard Acayan
  Cc: devicetree, Will Deacon, Joerg Roedel, Robin Murphy,
	Krzysztof Kozlowski, iommu, linux-arm-kernel, linux-arm-msm,
	Rob Clark, Conor Dooley


On Wed, 13 Nov 2024 19:47:15 -0500, Richard Acayan wrote:
> SDM670 has a separate IOMMU for the GPU, like SDM845. Add the compatible
> for it.
> 
> Signed-off-by: Richard Acayan <mailingradian@gmail.com>
> ---
>  Documentation/devicetree/bindings/iommu/arm,smmu.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 

Acked-by: Rob Herring (Arm) <robh@kernel.org>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 0/2] iommu/arm-smmu-qcom: Add SDM670 SMMU v2
  2024-11-14  0:47 [PATCH v2 0/2] iommu/arm-smmu-qcom: Add SDM670 SMMU v2 Richard Acayan
  2024-11-14  0:47 ` [PATCH v2 1/2] dt-bindings: iommu: arm,smmu: add sdm670 adreno iommu compatible Richard Acayan
  2024-11-14  0:47 ` [PATCH v2 2/2] iommu/arm-smmu-qcom: " Richard Acayan
@ 2024-12-09 19:28 ` Will Deacon
  2 siblings, 0 replies; 6+ messages in thread
From: Will Deacon @ 2024-12-09 19:28 UTC (permalink / raw)
  To: Robin Murphy, Joerg Roedel, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Rob Clark, linux-arm-kernel, iommu, devicetree,
	linux-arm-msm, Richard Acayan
  Cc: catalin.marinas, kernel-team, Will Deacon

On Wed, 13 Nov 2024 19:47:14 -0500, Richard Acayan wrote:
> This adds the SMMU v2 for the Snapdragon 670, used for the Adreno GPU.
> 
> Changes since v1 (20240730013820.41702-4-mailingradian@gmail.com):
> - explain need for specific compatible in iommu driver patch (2/2)
> 
> Richard Acayan (2):
>   dt-bindings: iommu: arm,smmu: add sdm670 adreno iommu compatible
>   iommu/arm-smmu-qcom: add sdm670 adreno iommu compatible
> 
> [...]

I applied the bindings change to will (for-joerg/arm-smmu/bindings)

[1/2] dt-bindings: iommu: arm,smmu: add sdm670 adreno iommu compatible
      https://git.kernel.org/will/c/87cafa082ce3

and the driver change to will (for-joerg/arm-smmu/updates), thanks!

[2/2] iommu/arm-smmu-qcom: add sdm670 adreno iommu compatible
      https://git.kernel.org/will/c/423147389063

Cheers,
-- 
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-12-09 19:28 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-14  0:47 [PATCH v2 0/2] iommu/arm-smmu-qcom: Add SDM670 SMMU v2 Richard Acayan
2024-11-14  0:47 ` [PATCH v2 1/2] dt-bindings: iommu: arm,smmu: add sdm670 adreno iommu compatible Richard Acayan
2024-11-15 17:35   ` Rob Herring (Arm)
2024-11-14  0:47 ` [PATCH v2 2/2] iommu/arm-smmu-qcom: " Richard Acayan
2024-11-14 12:35   ` Dmitry Baryshkov
2024-12-09 19:28 ` [PATCH v2 0/2] iommu/arm-smmu-qcom: Add SDM670 SMMU v2 Will Deacon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox