* [PATCH v5 1/2] dt-bindings: arm-smmu: Document QCS8300 GPU SMMU
2025-02-11 4:45 [PATCH v5 0/2] Add support for GPU SMMU on QCS8300 Pratyush Brahma
@ 2025-02-11 4:45 ` Pratyush Brahma
2025-02-11 4:45 ` [PATCH v5 2/2] arm64: dts: qcom: qcs8300: Add device node for gfx_smmu Pratyush Brahma
2025-02-11 13:28 ` [PATCH v5 0/2] Add support for GPU SMMU on QCS8300 Rob Herring (Arm)
2 siblings, 0 replies; 7+ messages in thread
From: Pratyush Brahma @ 2025-02-11 4:45 UTC (permalink / raw)
To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm,
Pratyush Brahma, Krzysztof Kozlowski
Add the compatible for Qualcomm QCS8300 GPU SMMU. Add the compatible
in the list of clocks required by the GPU SMMU and remove it from the
list of disallowed clocks.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Pratyush Brahma <quic_pbrahma@quicinc.com>
---
Documentation/devicetree/bindings/iommu/arm,smmu.yaml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
index 032fdc27127bffd689ffc23630c9978c4460b336..7b9d5507d6ccd6b845a57eeae59fe80ba75cc652 100644
--- a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
+++ b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
@@ -90,6 +90,7 @@ properties:
- enum:
- qcom,qcm2290-smmu-500
- qcom,qcs615-smmu-500
+ - qcom,qcs8300-smmu-500
- qcom,sa8255p-smmu-500
- qcom,sa8775p-smmu-500
- qcom,sar2130p-smmu-500
@@ -397,6 +398,7 @@ allOf:
compatible:
contains:
enum:
+ - qcom,qcs8300-smmu-500
- qcom,sa8775p-smmu-500
- qcom,sc7280-smmu-500
- qcom,sc8280xp-smmu-500
@@ -581,7 +583,6 @@ allOf:
- cavium,smmu-v2
- marvell,ap806-smmu-500
- nvidia,smmu-500
- - qcom,qcs8300-smmu-500
- qcom,qdu1000-smmu-500
- qcom,sa8255p-smmu-500
- qcom,sc7180-smmu-500
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH v5 2/2] arm64: dts: qcom: qcs8300: Add device node for gfx_smmu
2025-02-11 4:45 [PATCH v5 0/2] Add support for GPU SMMU on QCS8300 Pratyush Brahma
2025-02-11 4:45 ` [PATCH v5 1/2] dt-bindings: arm-smmu: Document QCS8300 GPU SMMU Pratyush Brahma
@ 2025-02-11 4:45 ` Pratyush Brahma
2025-02-11 15:15 ` Krzysztof Kozlowski
2025-02-11 13:28 ` [PATCH v5 0/2] Add support for GPU SMMU on QCS8300 Rob Herring (Arm)
2 siblings, 1 reply; 7+ messages in thread
From: Pratyush Brahma @ 2025-02-11 4:45 UTC (permalink / raw)
To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm,
Pratyush Brahma
Add the device node for gfx smmu that is required for gpu
specific address translations.
Signed-off-by: Pratyush Brahma <quic_pbrahma@quicinc.com>
---
arch/arm64/boot/dts/qcom/qcs8300.dtsi | 39 +++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qcs8300.dtsi b/arch/arm64/boot/dts/qcom/qcs8300.dtsi
index 4a057f7c0d9fae0ebd1b3cf3468746b382bc886b..f1c90db7b0e689035fbbaaa551611be34adf9ab6 100644
--- a/arch/arm64/boot/dts/qcom/qcs8300.dtsi
+++ b/arch/arm64/boot/dts/qcom/qcs8300.dtsi
@@ -2674,6 +2674,45 @@ gpucc: clock-controller@3d90000 {
#power-domain-cells = <1>;
};
+ adreno_smmu: iommu@3da0000 {
+ compatible = "qcom,qcs8300-smmu-500", "qcom,adreno-smmu",
+ "qcom,smmu-500", "arm,mmu-500";
+ reg = <0x0 0x3da0000 0x0 0x20000>;
+ #iommu-cells = <2>;
+ #global-interrupts = <2>;
+
+ interrupts = <GIC_SPI 672 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 673 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 678 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 679 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 680 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 681 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 682 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 683 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 684 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 685 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 686 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 687 IRQ_TYPE_LEVEL_HIGH>;
+
+ clocks = <&gpucc GPU_CC_CX_GMU_CLK>,
+ <&gpucc GPU_CC_HUB_CX_INT_CLK>,
+ <&gpucc GPU_CC_HLOS1_VOTE_GPU_SMMU_CLK>,
+ <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
+ <&gcc GCC_GPU_SNOC_DVM_GFX_CLK>,
+ <&gpucc GPU_CC_AHB_CLK>,
+ <&gpucc GPU_CC_HUB_AON_CLK>;
+
+ clock-names = "gpu_cc_cx_gmu_clk",
+ "gpu_cc_hub_cx_int_clk",
+ "gpu_cc_hlos1_vote_gpu_smmu_clk",
+ "gcc_gpu_memnoc_gfx_clk",
+ "gcc_gpu_snoc_dvm_gfx_clk",
+ "gpu_cc_ahb_clk",
+ "gpu_cc_hub_aon_clk";
+ power-domains = <&gpucc GPU_CC_CX_GDSC>;
+ dma-coherent;
+ };
+
pmu@9091000 {
compatible = "qcom,qcs8300-llcc-bwmon", "qcom,sc7280-llcc-bwmon";
reg = <0x0 0x9091000 0x0 0x1000>;
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH v5 2/2] arm64: dts: qcom: qcs8300: Add device node for gfx_smmu
2025-02-11 4:45 ` [PATCH v5 2/2] arm64: dts: qcom: qcs8300: Add device node for gfx_smmu Pratyush Brahma
@ 2025-02-11 15:15 ` Krzysztof Kozlowski
[not found] ` <138b1c42-9580-41f4-9079-87740568b79c@quicinc.com>
0 siblings, 1 reply; 7+ messages in thread
From: Krzysztof Kozlowski @ 2025-02-11 15:15 UTC (permalink / raw)
To: Pratyush Brahma, Will Deacon, Robin Murphy, Joerg Roedel,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Konrad Dybcio
Cc: linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm
On 11/02/2025 05:45, Pratyush Brahma wrote:
> Add the device node for gfx smmu that is required for gpu
> specific address translations.
>
> Signed-off-by: Pratyush Brahma <quic_pbrahma@quicinc.com>
> ---
> arch/arm64/boot/dts/qcom/qcs8300.dtsi | 39 +++++++++++++++++++++++++++++++++++
> 1 file changed, 39 insertions(+)
As pointed out by Rob, this wasn't ever tested. One more example of work
where you have the binding in the same patch but refuse to use it.
NAK
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v5 0/2] Add support for GPU SMMU on QCS8300
2025-02-11 4:45 [PATCH v5 0/2] Add support for GPU SMMU on QCS8300 Pratyush Brahma
2025-02-11 4:45 ` [PATCH v5 1/2] dt-bindings: arm-smmu: Document QCS8300 GPU SMMU Pratyush Brahma
2025-02-11 4:45 ` [PATCH v5 2/2] arm64: dts: qcom: qcs8300: Add device node for gfx_smmu Pratyush Brahma
@ 2025-02-11 13:28 ` Rob Herring (Arm)
2 siblings, 0 replies; 7+ messages in thread
From: Rob Herring (Arm) @ 2025-02-11 13:28 UTC (permalink / raw)
To: Pratyush Brahma
Cc: linux-kernel, Robin Murphy, Konrad Dybcio, iommu, Conor Dooley,
Bjorn Andersson, linux-arm-kernel, Krzysztof Kozlowski,
Will Deacon, Joerg Roedel, devicetree, linux-arm-msm,
Krzysztof Kozlowski
On Tue, 11 Feb 2025 10:15:52 +0530, Pratyush Brahma wrote:
> Enable GPU SMMU function on QCS8300 platform. GPU SMMU is required
> for address translation in GPU device.
>
> Signed-off-by: Pratyush Brahma <quic_pbrahma@quicinc.com>
> ---
> Changes since v4:
> - Corrected the clocks list to be inline with clock-names
> - Removed stray whitespaces
> - Added r-by tag from Krzysztof on the bindings patch
> - Link to v4: https://lore.kernel.org/r/20250203-b4-branch-gfx-smmu-v4-0-eaa7aa762f48@quicinc.com
>
> Changes since v3:
> - Modified the order of clock voting and properties as suggested by Konrad
> - Removed dependency on clocks in commit text as change is merged in
> linux-next before current base commit
>
> Link to v3:
> https://lore.kernel.org/all/20241227105818.28516-1-quic_pbrahma@quicinc.com/
>
> Changes since v2:
> Corrected typo in cover letter to include QCS8300
> Link to
> v2:https://lore.kernel.org/all/20241227104651.4531-1-quic_pbrahma@quicinc.com/
>
> Changes since v1:
> Updated bindings for gpu smmu for qcs8300 as per Dmitry's comment
> Link to v1:
> https://lore.kernel.org/all/20241224100521.7616-1-quic_pbrahma@quicinc.com/
>
> To: Will Deacon <will@kernel.org>
> To: Robin Murphy <robin.murphy@arm.com>
> To: Joerg Roedel <joro@8bytes.org>
> To: Rob Herring <robh@kernel.org>
> To: Krzysztof Kozlowski <krzk+dt@kernel.org>
> To: Conor Dooley <conor+dt@kernel.org>
> To: Bjorn Andersson <andersson@kernel.org>
> To: Konrad Dybcio <konradybcio@kernel.org>
> 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
>
> ---
> Pratyush Brahma (2):
> dt-bindings: arm-smmu: Document QCS8300 GPU SMMU
> arm64: dts: qcom: qcs8300: Add device node for gfx_smmu
>
> .../devicetree/bindings/iommu/arm,smmu.yaml | 3 +-
> arch/arm64/boot/dts/qcom/qcs8300.dtsi | 39 ++++++++++++++++++++++
> 2 files changed, 41 insertions(+), 1 deletion(-)
> ---
> base-commit: a13f6e0f405ed0d3bcfd37c692c7d7fa3c052154
> change-id: 20250131-b4-branch-gfx-smmu-b03261963064
>
> Best regards,
> --
> Pratyush Brahma <quic_pbrahma@quicinc.com>
>
>
>
My bot found new DTB warnings on the .dts files added or changed in this
series.
Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.
If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:
pip3 install dtschema --upgrade
New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/qcom/' for 20250211-b4-branch-gfx-smmu-v5-0-ff0bcb6a3c51@quicinc.com:
arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: iommu@3da0000: clock-names:0: 'gcc_gpu_memnoc_gfx_clk' was expected
from schema $id: http://devicetree.org/schemas/iommu/arm,smmu.yaml#
arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: iommu@3da0000: clock-names:1: 'gcc_gpu_snoc_dvm_gfx_clk' was expected
from schema $id: http://devicetree.org/schemas/iommu/arm,smmu.yaml#
arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: iommu@3da0000: clock-names:2: 'gpu_cc_ahb_clk' was expected
from schema $id: http://devicetree.org/schemas/iommu/arm,smmu.yaml#
arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: iommu@3da0000: clock-names:3: 'gpu_cc_hlos1_vote_gpu_smmu_clk' was expected
from schema $id: http://devicetree.org/schemas/iommu/arm,smmu.yaml#
arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: iommu@3da0000: clock-names:4: 'gpu_cc_cx_gmu_clk' was expected
from schema $id: http://devicetree.org/schemas/iommu/arm,smmu.yaml#
arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: iommu@3da0000: clock-names:5: 'gpu_cc_hub_cx_int_clk' was expected
from schema $id: http://devicetree.org/schemas/iommu/arm,smmu.yaml#
^ permalink raw reply [flat|nested] 7+ messages in thread