iommu.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] SM6375 GPU SMMU
@ 2023-05-31 15:04 Konrad Dybcio
  2023-05-31 15:04 ` [PATCH 1/2] dt-bindings: arm-smmu: Add " Konrad Dybcio
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Konrad Dybcio @ 2023-05-31 15:04 UTC (permalink / raw)
  To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Andy Gross, Bjorn Andersson
  Cc: Marijn Suijten, linux-arm-kernel, iommu, devicetree,
	linux-kernel, linux-arm-msm, Konrad Dybcio

This series hooks up the GPU SMMU, as well as GPUCC as its direct
dependency.

The thing sadly can't seem to be able to do PPPT, not even on downstream..

Depends on (bindings and functionality-wise):
https://lore.kernel.org/linux-arm-msm/20230529-topic-sm6375gpuccpd-v1-0-8d57c41a6066@linaro.org/

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
Konrad Dybcio (2):
      dt-bindings: arm-smmu: Add SM6375 GPU SMMU
      arm64: dts: qcom: sm6375: Add GPUCC and Adreno SMMU

 .../devicetree/bindings/iommu/arm,smmu.yaml        |  2 ++
 arch/arm64/boot/dts/qcom/sm6375.dtsi               | 37 ++++++++++++++++++++++
 2 files changed, 39 insertions(+)
---
base-commit: d4cee89031c80066ec461bb77b5e13a4f37d5fd2
change-id: 20230531-topic-sm6375_gpusmmu-b9acb022b12c

Best regards,
-- 
Konrad Dybcio <konrad.dybcio@linaro.org>


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

* [PATCH 1/2] dt-bindings: arm-smmu: Add SM6375 GPU SMMU
  2023-05-31 15:04 [PATCH 0/2] SM6375 GPU SMMU Konrad Dybcio
@ 2023-05-31 15:04 ` Konrad Dybcio
  2023-06-01 16:55   ` Krzysztof Kozlowski
  2023-05-31 15:04 ` [PATCH 2/2] arm64: dts: qcom: sm6375: Add GPUCC and Adreno SMMU Konrad Dybcio
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 6+ messages in thread
From: Konrad Dybcio @ 2023-05-31 15:04 UTC (permalink / raw)
  To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Andy Gross, Bjorn Andersson
  Cc: Marijn Suijten, linux-arm-kernel, iommu, devicetree,
	linux-kernel, linux-arm-msm, Konrad Dybcio

SM6375 has a "Qualcomm SMMU V2" implementation for its GPU SMMU. It
does not however qualify for the qcom,adreno-smmu compatible, as it can
not do split pagetables. It consumes a single clock and a single genpd.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
 Documentation/devicetree/bindings/iommu/arm,smmu.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
index ba677d401e24..aec9137713c9 100644
--- a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
+++ b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
@@ -29,6 +29,7 @@ properties:
               - qcom,msm8996-smmu-v2
               - qcom,msm8998-smmu-v2
               - qcom,sdm630-smmu-v2
+              - qcom,sm6375-smmu-v2
           - const: qcom,smmu-v2
 
       - description: Qcom SoCs implementing "qcom,smmu-500" and "arm,mmu-500"
@@ -267,6 +268,7 @@ allOf:
             enum:
               - qcom,msm8998-smmu-v2
               - qcom,sdm630-smmu-v2
+              - qcom,sm6375-smmu-v2
     then:
       anyOf:
         - properties:

-- 
2.40.1


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

* [PATCH 2/2] arm64: dts: qcom: sm6375: Add GPUCC and Adreno SMMU
  2023-05-31 15:04 [PATCH 0/2] SM6375 GPU SMMU Konrad Dybcio
  2023-05-31 15:04 ` [PATCH 1/2] dt-bindings: arm-smmu: Add " Konrad Dybcio
@ 2023-05-31 15:04 ` Konrad Dybcio
  2023-06-05 16:35 ` [PATCH 0/2] SM6375 GPU SMMU Will Deacon
  2023-06-13 23:48 ` (subset) " Bjorn Andersson
  3 siblings, 0 replies; 6+ messages in thread
From: Konrad Dybcio @ 2023-05-31 15:04 UTC (permalink / raw)
  To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Andy Gross, Bjorn Andersson
  Cc: Marijn Suijten, linux-arm-kernel, iommu, devicetree,
	linux-kernel, linux-arm-msm, Konrad Dybcio

Add GPUCC and Adreno SMMU nodes in preparation for adding the GPU
itself.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
 arch/arm64/boot/dts/qcom/sm6375.dtsi | 37 ++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm6375.dtsi b/arch/arm64/boot/dts/qcom/sm6375.dtsi
index f8d9c34d3b2f..3dba34210a6d 100644
--- a/arch/arm64/boot/dts/qcom/sm6375.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm6375.dtsi
@@ -5,6 +5,7 @@
 
 #include <dt-bindings/clock/qcom,rpmcc.h>
 #include <dt-bindings/clock/qcom,sm6375-gcc.h>
+#include <dt-bindings/clock/qcom,sm6375-gpucc.h>
 #include <dt-bindings/dma/qcom-gpi.h>
 #include <dt-bindings/firmware/qcom,scm.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
@@ -1276,6 +1277,42 @@ usb_1_dwc3: usb@4e00000 {
 			};
 		};
 
+		adreno_smmu: iommu@5940000 {
+			compatible = "qcom,sm6375-smmu-v2", "qcom,smmu-v2";
+			reg = <0 0x05940000 0 0x10000>;
+			#iommu-cells = <1>;
+			#global-interrupts = <2>;
+			interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 381 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 457 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 459 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 460 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 461 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 463 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>;
+
+			clocks = <&gcc GCC_GPU_MEMNOC_GFX_CLK>;
+			clock-names = "bus";
+
+			power-domains = <&gpucc GPU_CX_GDSC>;
+		};
+
+		gpucc: clock-controller@5990000 {
+			compatible = "qcom,sm6375-gpucc";
+			reg = <0 0x05990000 0 0x9000>;
+			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
+				 <&gcc GCC_GPU_GPLL0_CLK_SRC>,
+				 <&gcc GCC_GPU_GPLL0_DIV_CLK_SRC>,
+				 <&gcc GCC_GPU_SNOC_DVM_GFX_CLK>;
+			power-domains = <&rpmpd SM6375_VDDGX>;
+			required-opps = <&rpmpd_opp_low_svs>;
+			#clock-cells = <1>;
+			#reset-cells = <1>;
+			#power-domain-cells = <1>;
+		};
+
 		remoteproc_mss: remoteproc@6000000 {
 			compatible = "qcom,sm6375-mpss-pas";
 			reg = <0 0x06000000 0 0x4040>;

-- 
2.40.1


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

* Re: [PATCH 1/2] dt-bindings: arm-smmu: Add SM6375 GPU SMMU
  2023-05-31 15:04 ` [PATCH 1/2] dt-bindings: arm-smmu: Add " Konrad Dybcio
@ 2023-06-01 16:55   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2023-06-01 16:55 UTC (permalink / raw)
  To: Konrad Dybcio, Will Deacon, Robin Murphy, Joerg Roedel,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Andy Gross,
	Bjorn Andersson
  Cc: Marijn Suijten, linux-arm-kernel, iommu, devicetree,
	linux-kernel, linux-arm-msm

On 31/05/2023 17:04, Konrad Dybcio wrote:
> SM6375 has a "Qualcomm SMMU V2" implementation for its GPU SMMU. It
> does not however qualify for the qcom,adreno-smmu compatible, as it can
> not do split pagetables. It consumes a single clock and a single genpd.
> 
> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> ---
>  Documentation/devicetree/bindings/iommu/arm,smmu.yaml | 2 ++


Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


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

* Re: [PATCH 0/2] SM6375 GPU SMMU
  2023-05-31 15:04 [PATCH 0/2] SM6375 GPU SMMU Konrad Dybcio
  2023-05-31 15:04 ` [PATCH 1/2] dt-bindings: arm-smmu: Add " Konrad Dybcio
  2023-05-31 15:04 ` [PATCH 2/2] arm64: dts: qcom: sm6375: Add GPUCC and Adreno SMMU Konrad Dybcio
@ 2023-06-05 16:35 ` Will Deacon
  2023-06-13 23:48 ` (subset) " Bjorn Andersson
  3 siblings, 0 replies; 6+ messages in thread
From: Will Deacon @ 2023-06-05 16:35 UTC (permalink / raw)
  To: Joerg Roedel, Krzysztof Kozlowski, Andy Gross, Konrad Dybcio,
	Rob Herring, Bjorn Andersson, Conor Dooley, Robin Murphy
  Cc: catalin.marinas, kernel-team, Will Deacon, linux-kernel,
	linux-arm-kernel, linux-arm-msm, devicetree, Marijn Suijten,
	iommu

On Wed, 31 May 2023 17:04:22 +0200, Konrad Dybcio wrote:
> This series hooks up the GPU SMMU, as well as GPUCC as its direct
> dependency.
> 
> The thing sadly can't seem to be able to do PPPT, not even on downstream..
> 
> Depends on (bindings and functionality-wise):
> https://lore.kernel.org/linux-arm-msm/20230529-topic-sm6375gpuccpd-v1-0-8d57c41a6066@linaro.org/
> 
> [...]

Applied bindings patch to will (for-joerg/arm-smmu/bindings), thanks!

[1/2] dt-bindings: arm-smmu: Add SM6375 GPU SMMU
      https://git.kernel.org/will/c/44984d56e059

Cheers,
-- 
Will

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

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

* Re: (subset) [PATCH 0/2] SM6375 GPU SMMU
  2023-05-31 15:04 [PATCH 0/2] SM6375 GPU SMMU Konrad Dybcio
                   ` (2 preceding siblings ...)
  2023-06-05 16:35 ` [PATCH 0/2] SM6375 GPU SMMU Will Deacon
@ 2023-06-13 23:48 ` Bjorn Andersson
  3 siblings, 0 replies; 6+ messages in thread
From: Bjorn Andersson @ 2023-06-13 23:48 UTC (permalink / raw)
  To: Konrad Dybcio, Krzysztof Kozlowski, Will Deacon, Joerg Roedel,
	Rob Herring, Conor Dooley, Andy Gross, Robin Murphy
  Cc: devicetree, linux-kernel, linux-arm-msm, linux-arm-kernel,
	Marijn Suijten, iommu

On Wed, 31 May 2023 17:04:22 +0200, Konrad Dybcio wrote:
> This series hooks up the GPU SMMU, as well as GPUCC as its direct
> dependency.
> 
> The thing sadly can't seem to be able to do PPPT, not even on downstream..
> 
> Depends on (bindings and functionality-wise):
> https://lore.kernel.org/linux-arm-msm/20230529-topic-sm6375gpuccpd-v1-0-8d57c41a6066@linaro.org/
> 
> [...]

Applied, thanks!

[2/2] arm64: dts: qcom: sm6375: Add GPUCC and Adreno SMMU
      commit: 852865530a21d139196106543cdf3e76c389659b

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>

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

end of thread, other threads:[~2023-06-13 23:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-31 15:04 [PATCH 0/2] SM6375 GPU SMMU Konrad Dybcio
2023-05-31 15:04 ` [PATCH 1/2] dt-bindings: arm-smmu: Add " Konrad Dybcio
2023-06-01 16:55   ` Krzysztof Kozlowski
2023-05-31 15:04 ` [PATCH 2/2] arm64: dts: qcom: sm6375: Add GPUCC and Adreno SMMU Konrad Dybcio
2023-06-05 16:35 ` [PATCH 0/2] SM6375 GPU SMMU Will Deacon
2023-06-13 23:48 ` (subset) " Bjorn Andersson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).