Devicetree
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Dmitry Baryshkov" <dmitry.baryshkov@oss.qualcomm.com>
Cc: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
	devicetree@vger.kernel.org
Subject: Re: [PATCH v5 3/6] arm64: dts: qcom: sc8280xp: Add Iris core
Date: Wed, 13 May 2026 21:49:17 +0000	[thread overview]
Message-ID: <20260513214918.52224C2BCB8@smtp.kernel.org> (raw)
In-Reply-To: <20260512-iris-sc8280xp-v5-3-8cc251e83b58@oss.qualcomm.com>

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] The `mmcx` power domain will be ignored by the fallback `sm8250-venus` driver, leaving the hardware under-volted at high frequencies, resulting in lockups or crashes.
- [Low] The `iris` device tree node specifies 4 power domains, violating the `qcom,sm8250-venus.yaml` schema constraints.
--

commit ae854de052f0b364828840ec87b770c30cfa8595
Author: Konrad Dybcio <konradybcio@kernel.org>

arm64: dts: qcom: sc8280xp: Add Iris core

This patch adds the required nodes to enable the Iris core on sc8280xp
devices.

> diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> index 41c57e7dc4333..d950816a9a9e1 100644
> --- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi

[ ... ]

> @@ -4181,6 +4189,97 @@ usb_1_dwc3_ss: endpoint {
>  			};
>  		};
>  
> +		iris: video-codec@aa00000 {
> +			compatible = "qcom,sc8280xp-iris", "qcom,sm8250-venus";
> +			reg = <0x0 0x0aa00000 0x0 0x100000>;
> +			interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
> +
> +			clocks = <&gcc GCC_VIDEO_AXI0_CLK>,
> +				 <&videocc VIDEO_CC_MVS0C_CLK>,
> +				 <&videocc VIDEO_CC_MVS0_CLK>;
> +			clock-names = "iface",
> +				      "core",
> +				      "vcodec0_core";
> +			power-domains = <&videocc MVS0C_GDSC>,
> +					<&videocc MVS0_GDSC>,
> +					<&rpmhpd SC8280XP_MX>,
> +					<&rpmhpd SC8280XP_MMCX>;
> +			power-domain-names = "venus",
> +					     "vcodec0",
> +					     "mx",
> +					     "mmcx";

The qcom,sm8250-venus.yaml schema currently enforces a maximum of 3 items
for power-domains (venus, vcodec0, and mx). Will adding the mmcx power
domain here cause make dtbs_check to fail validation, since the schema
hasn't been updated to accommodate a fourth domain?

> +
> +			resets = <&gcc GCC_VIDEO_AXI0_CLK_ARES>,
> +				 <&videocc VIDEO_CC_MVS0C_CLK_ARES>;
> +			reset-names = "bus", "core";
> +
> +			interconnects = <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
> +					 &config_noc SLAVE_VENUS_CFG QCOM_ICC_TAG_ACTIVE_ONLY>,
> +					<&mmss_noc MASTER_VIDEO_P0 QCOM_ICC_TAG_ALWAYS
> +					 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
> +			interconnect-names = "cpu-cfg",
> +					     "video-mem";
> +
> +			operating-points-v2 = <&iris_opp_table>;
> +			iommus = <&apps_smmu 0x2a00 0x400>;
> +			memory-region = <&pil_video_mem>;
> +
> +			status = "disabled";
> +
> +			iris_opp_table: opp-table {
> +				compatible = "operating-points-v2";
> +
> +				opp-240000000 {
> +					opp-hz = /bits/ 64 <240000000>;
> +					required-opps = <&rpmhpd_opp_svs>,
> +							<&rpmhpd_opp_low_svs>;
> +				};

[ ... ]

> +				opp-560000000 {
> +					opp-hz = /bits/ 64 <560000000>;
> +					required-opps = <&rpmhpd_opp_nom>,
> +							<&rpmhpd_opp_turbo_l1>;
> +				};
> +			};

The opp-table defines two required-opps for each node, which expects the
driver to scale both the mx and mmcx domains.

However, since this node falls back to qcom,sm8250-venus, the venus driver
uses sm8250_res which hardcodes opp_pmdomain = { "mx" } and only attaches
the mx domain. The generic opp framework's _set_required_opps() will then
safely skip the unattached mmcx domain.

Could this leave the mmcx domain stuck at its default voltage (like low_svs
requested by videocc) while the core runs at 560MHz? Does this run the risk
of undervolting the hardware and causing lockups?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260512-iris-sc8280xp-v5-0-8cc251e83b58@oss.qualcomm.com?part=3

  reply	other threads:[~2026-05-13 21:49 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-12 13:09 [PATCH v5 0/6] media: iris: enable SM8350 and SC8280XP support Dmitry Baryshkov
2026-05-12 13:09 ` [PATCH v5 1/6] media: dt-bindings: Document SC8280XP/SM8350 Iris Dmitry Baryshkov
2026-05-12 14:29   ` Rob Herring (Arm)
2026-05-13 21:34   ` sashiko-bot
2026-05-12 13:09 ` [PATCH v5 2/6] arm64: dts: qcom: sc8280xp: sort reserved memory regions Dmitry Baryshkov
2026-05-12 13:09 ` [PATCH v5 3/6] arm64: dts: qcom: sc8280xp: Add Iris core Dmitry Baryshkov
2026-05-13 21:49   ` sashiko-bot [this message]
2026-05-12 13:09 ` [PATCH v5 4/6] arm64: dts: qcom: sc8280xp-x13s: Enable Iris Dmitry Baryshkov
2026-05-12 13:09 ` [PATCH v5 5/6] arm64: dts: qcom: sm8350: add Iris device Dmitry Baryshkov
2026-05-13 22:14   ` sashiko-bot
2026-05-12 13:09 ` [PATCH v5 6/6] arm64: dts: qcom: sm8350-hdk: enable Iris core Dmitry Baryshkov
2026-05-12 16:40 ` [PATCH v5 0/6] media: iris: enable SM8350 and SC8280XP support Vikash Garodia
2026-05-12 16:50   ` Dmitry Baryshkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260513214918.52224C2BCB8@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.baryshkov@oss.qualcomm.com \
    --cc=krzk+dt@kernel.org \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox