Re: [PATCH v7 1/2] arm64: dts: qcom: sm8250: sort out Iris power domains

From: Vishnu Reddy

Date: Tue Jun 09 2026 - 02:01:28 EST



On 6/4/2026 9:52 PM, Dmitry Baryshkov wrote:
> On SM8250 Iris core requires two power rails to function, MX (for PLLs)
> and MMCX (for everything else). The commit fa245b3f06cd ("arm64: dts:
> qcom: sm8250: Add venus DT node") added only MX power rail, but omitted
> MMCX voltage levels.
>
> Add MMCX domain to the Iris device node.
>
> Fixes: fa245b3f06cd ("arm64: dts: qcom: sm8250: Add venus DT node")
> Reported-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
> ---
> arch/arm64/boot/dts/qcom/sm8250.dtsi | 20 ++++++++++++++------
> 1 file changed, 14 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
> index 7076720413ab..6150380795b8 100644
> --- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
> @@ -4326,8 +4326,12 @@ venus: video-codec@aa00000 {
> interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
> power-domains = <&videocc MVS0C_GDSC>,
> <&videocc MVS0_GDSC>,
> - <&rpmhpd RPMHPD_MX>;
> - power-domain-names = "venus", "vcodec0", "mx";
> + <&rpmhpd RPMHPD_MX>,
> + <&rpmhpd RPMHPD_MMCX>;
> + power-domain-names = "venus",
> + "vcodec0",
> + "mx",
> + "mmcx";

With this change in place, the backwards compatibility for the incomplete
SM8250 ABI which was merged from v5 in this series, which handles the return
value of devm_pm_domain_attach_list(), will never be hit right? If so, we can
remove that piece of code from the driver.

https://lore.kernel.org/all/20260209-iris-venus-fix-sm8250-v5-2-0a22365d3585@xxxxxxxxxxxxxxxx/

> operating-points-v2 = <&venus_opp_table>;
>
> clocks = <&gcc GCC_VIDEO_AXI0_CLK>,
> @@ -4353,22 +4357,26 @@ venus_opp_table: opp-table {
>
> opp-720000000 {
> opp-hz = /bits/ 64 <720000000>;
> - required-opps = <&rpmhpd_opp_low_svs>;
> + required-opps = <&rpmhpd_opp_svs>,
> + <&rpmhpd_opp_low_svs>;
> };
>
> opp-1014000000 {
> opp-hz = /bits/ 64 <1014000000>;
> - required-opps = <&rpmhpd_opp_svs>;
> + required-opps = <&rpmhpd_opp_svs>,
> + <&rpmhpd_opp_svs>;
> };
>
> opp-1098000000 {
> opp-hz = /bits/ 64 <1098000000>;
> - required-opps = <&rpmhpd_opp_svs_l1>;
> + required-opps = <&rpmhpd_opp_svs_l1>,
> + <&rpmhpd_opp_svs_l1>;
> };
>
> opp-1332000000 {
> opp-hz = /bits/ 64 <1332000000>;
> - required-opps = <&rpmhpd_opp_nom>;
> + required-opps = <&rpmhpd_opp_svs_l1>,
> + <&rpmhpd_opp_nom>;
> };
> };
> };
>