2023-05-31 09:11:17

by Konrad Dybcio

[permalink] [raw]
Subject: [PATCH 1/4] arm64: dts: qcom: msm8998: Properly describe MMSS SMMU

The MMSS SMMU has been abusingly consuming the exposed RPM interconnect
clock and not describing the power domain it needs. Put an end to that.

Fixes: 05ce21b54423 ("arm64: dts: qcom: msm8998: Configure the multimedia subsystem iommu")
Signed-off-by: Konrad Dybcio <[email protected]>
---
arch/arm64/boot/dts/qcom/msm8998.dtsi | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
index f0e943ff0046..a4016085b750 100644
--- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
@@ -2737,10 +2737,10 @@ mmss_smmu: iommu@cd00000 {

clocks = <&mmcc MNOC_AHB_CLK>,
<&mmcc BIMC_SMMU_AHB_CLK>,
- <&rpmcc RPM_SMD_MMAXI_CLK>,
<&mmcc BIMC_SMMU_AXI_CLK>;
- clock-names = "iface-mm", "iface-smmu",
- "bus-mm", "bus-smmu";
+ clock-names = "iface-mm",
+ "iface-smmu",
+ "bus-smmu";

#global-interrupts = <0>;
interrupts =
@@ -2764,6 +2764,8 @@ mmss_smmu: iommu@cd00000 {
<GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
+
+ power-domains = <&mmcc BIMC_SMMU_GDSC>;
};

remoteproc_adsp: remoteproc@17300000 {

--
2.40.1



2023-06-01 09:08:32

by Bryan O'Donoghue

[permalink] [raw]
Subject: Re: [PATCH 1/4] arm64: dts: qcom: msm8998: Properly describe MMSS SMMU

On Wed, May 31, 2023 at 11:01 AM Konrad Dybcio <[email protected]> wrote:
>
> The MMSS SMMU has been abusingly consuming the exposed RPM interconnect
> clock and not describing the power domain it needs. Put an end to that.
>
> Fixes: 05ce21b54423 ("arm64: dts: qcom: msm8998: Configure the multimedia subsystem iommu")
> Signed-off-by: Konrad Dybcio <[email protected]>
> ---
> arch/arm64/boot/dts/qcom/msm8998.dtsi | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
> index f0e943ff0046..a4016085b750 100644
> --- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
> @@ -2737,10 +2737,10 @@ mmss_smmu: iommu@cd00000 {
>
> clocks = <&mmcc MNOC_AHB_CLK>,
> <&mmcc BIMC_SMMU_AHB_CLK>,
> - <&rpmcc RPM_SMD_MMAXI_CLK>,
> <&mmcc BIMC_SMMU_AXI_CLK>;
> - clock-names = "iface-mm", "iface-smmu",
> - "bus-mm", "bus-smmu";
> + clock-names = "iface-mm",
> + "iface-smmu",
> + "bus-smmu";
>
> #global-interrupts = <0>;
> interrupts =
> @@ -2764,6 +2764,8 @@ mmss_smmu: iommu@cd00000 {
> <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>,
> <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>,
> <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
> +
> + power-domains = <&mmcc BIMC_SMMU_GDSC>;
> };
>
> remoteproc_adsp: remoteproc@17300000 {
>
> --
> 2.40.1
>

I think you should split this up.

This should be two patches. One to describe the power-domain and
another for the removal of interconnect clocks.

I guess none of the multi-media connected stuff on 8998 works ... no
venus, mdp, camera - which would surely fail without the multi-media
AXI clock being on..

Anyway please split this patch up !