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