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