All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Hangxiang Ma" <hangxiang.ma@oss.qualcomm.com>
Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org,
	robh@kernel.org, conor+dt@kernel.org, media-ci@linuxtv.org,
	vkoul@kernel.org, neil.armstrong@linaro.org, olteanv@gmail.com
Subject: Re: [PATCH v25 12/15] arm64: dts: qcom: kaanapali: Add CAMSS and CSIPHY block definitions
Date: Fri, 13 Nov 2026 05:57:58 +0000	[thread overview]
Message-ID: <sashiko-outbox-212261@kernel.org> (raw)
In-Reply-To: <20261112-kaanapali-camss-v25-12-1d709f57f370@oss.qualcomm.com>

Thank you for your contribution! Sashiko AI review found 2 potential
issues to consider:
- [High] arm64: dts: qcom: kaanapali: csiphy_mxc_opp_table uses invalid
  300 MHz OPP
- [Low] arm64: dts: qcom: kaanapali: unused phy.h include and
  opp-table-mxc order
--

commit befb433d501b587990306f1fbc874552415d638d
Author: Hangxiang Ma <hangxiang.ma@oss.qualcomm.com>

arm64: dts: qcom: kaanapali: Add CAMSS and CSIPHY block definitions

This commit adds the CAMSS, CSIPHY0..5, and CSIPHY OPP table device tree nodes
for the Qualcomm Kaanapali SoC.

> diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> index 9f04a5ad75f21..23406698370fb 100644
> --- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> +++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> @@ -20,6 +20,7 @@
>  #include <dt-bindings/interconnect/qcom,kaanapali-rpmh.h>
>  #include <dt-bindings/interrupt-controller/arm-gic.h>
>  #include <dt-bindings/mailbox/qcom-ipcc.h>
> +#include <dt-bindings/phy/phy.h>
>  #include <dt-bindings/phy/phy-qcom-qmp.h>
>  #include <dt-bindings/power/qcom-rpmpd.h>
>  #include <dt-bindings/regulator/qcom,rpmh-regulator.h>

[ ... ]

> @@ -6566,6 +6943,28 @@ pdp_tx: scp-sram-section@100 {
>  		};
>  	};
>  
> +	csiphy_mxc_opp_table: opp-table-mxc {

[Severity: Low]
This isn't a bug, but dt-bindings/phy/phy.h is not used in this file, and
opp-table-mxc is placed after soc@0 instead of in alphabetical order by node
name between memory@a0000000 and pmu.

> +		compatible = "operating-points-v2";
> +
> +		opp-300000000 {
> +			opp-hz = /bits/ 64 <300000000>;
> +			required-opps = <&rpmhpd_opp_low_svs_d1>,
> +					<&rpmhpd_opp_low_svs_d1>;
> +		};

[Severity: High]
Should this lowest OPP in csiphy_mxc_opp_table be 266666667 Hz instead of
300000000 Hz?

The CSIPHY core clocks (CAM_CC_CSIPHY0_CLK..CAM_CC_CSIPHY5_CLK) parent to
cam_cc_cphy_rx_clk_src, which uses clk_rcg2_shared_ops (ceiling rate lookup)
and only supports 266.67 MHz, 400 MHz, and 480 MHz:

drivers/clk/qcom/camcc-kaanapali.c:
static const struct freq_tbl ftbl_cam_cc_cphy_rx_clk_src[] = {
	F(266666667, P_CAM_CC_PLL0_OUT_MAIN, 4.5, 0, 0),
	F(400000000, P_CAM_CC_PLL0_OUT_MAIN, 3, 0, 0),
	F(480000000, P_CAM_CC_PLL0_OUT_MAIN, 2.5, 0, 0),
	{ }
};

When a sensor streams with link_freq / 4 <= 300 MHz,
phy_qcom_mipi_csi2_set_clock_rates() selects opp-300000000, votes the MMCX and
MXC power domains to rpmhpd_opp_low_svs_d1, and calls dev_pm_opp_set_rate()
for 300 MHz.  Because 300 MHz exceeds 266666667 Hz, the RCG rounds the CSIPHY
core clock up to 400 MHz while leaving MMCX and MXC under-volted at
rpmhpd_opp_low_svs_d1 instead of rpmhpd_opp_low_svs, and the 266.67 MHz rate
can never be selected.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261112-kaanapali-camss-v25-0-1d709f57f370@oss.qualcomm.com?part=12

WARNING: multiple messages have this Message-ID (diff)
From: sashiko-bot@kernel.org
To: "Hangxiang Ma" <hangxiang.ma@oss.qualcomm.com>
Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org,
	robh@kernel.org, conor+dt@kernel.org, media-ci@linuxtv.org,
	vkoul@kernel.org, neil.armstrong@linaro.org, olteanv@gmail.com
Subject: Re: [PATCH v25 12/15] arm64: dts: qcom: kaanapali: Add CAMSS and CSIPHY block definitions
Date: Fri, 13 Nov 2026 05:57:58 +0000	[thread overview]
Message-ID: <sashiko-outbox-212261@kernel.org> (raw)
In-Reply-To: <20261112-kaanapali-camss-v25-12-1d709f57f370@oss.qualcomm.com>

Thank you for your contribution! Sashiko AI review found 2 potential
issues to consider:
- [High] arm64: dts: qcom: kaanapali: csiphy_mxc_opp_table uses invalid
  300 MHz OPP
- [Low] arm64: dts: qcom: kaanapali: unused phy.h include and
  opp-table-mxc order
--

commit befb433d501b587990306f1fbc874552415d638d
Author: Hangxiang Ma <hangxiang.ma@oss.qualcomm.com>

arm64: dts: qcom: kaanapali: Add CAMSS and CSIPHY block definitions

This commit adds the CAMSS, CSIPHY0..5, and CSIPHY OPP table device tree nodes
for the Qualcomm Kaanapali SoC.

> diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> index 9f04a5ad75f21..23406698370fb 100644
> --- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> +++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> @@ -20,6 +20,7 @@
>  #include <dt-bindings/interconnect/qcom,kaanapali-rpmh.h>
>  #include <dt-bindings/interrupt-controller/arm-gic.h>
>  #include <dt-bindings/mailbox/qcom-ipcc.h>
> +#include <dt-bindings/phy/phy.h>
>  #include <dt-bindings/phy/phy-qcom-qmp.h>
>  #include <dt-bindings/power/qcom-rpmpd.h>
>  #include <dt-bindings/regulator/qcom,rpmh-regulator.h>

[ ... ]

> @@ -6566,6 +6943,28 @@ pdp_tx: scp-sram-section@100 {
>  		};
>  	};
>  
> +	csiphy_mxc_opp_table: opp-table-mxc {

[Severity: Low]
This isn't a bug, but dt-bindings/phy/phy.h is not used in this file, and
opp-table-mxc is placed after soc@0 instead of in alphabetical order by node
name between memory@a0000000 and pmu.

> +		compatible = "operating-points-v2";
> +
> +		opp-300000000 {
> +			opp-hz = /bits/ 64 <300000000>;
> +			required-opps = <&rpmhpd_opp_low_svs_d1>,
> +					<&rpmhpd_opp_low_svs_d1>;
> +		};

[Severity: High]
Should this lowest OPP in csiphy_mxc_opp_table be 266666667 Hz instead of
300000000 Hz?

The CSIPHY core clocks (CAM_CC_CSIPHY0_CLK..CAM_CC_CSIPHY5_CLK) parent to
cam_cc_cphy_rx_clk_src, which uses clk_rcg2_shared_ops (ceiling rate lookup)
and only supports 266.67 MHz, 400 MHz, and 480 MHz:

drivers/clk/qcom/camcc-kaanapali.c:
static const struct freq_tbl ftbl_cam_cc_cphy_rx_clk_src[] = {
	F(266666667, P_CAM_CC_PLL0_OUT_MAIN, 4.5, 0, 0),
	F(400000000, P_CAM_CC_PLL0_OUT_MAIN, 3, 0, 0),
	F(480000000, P_CAM_CC_PLL0_OUT_MAIN, 2.5, 0, 0),
	{ }
};

When a sensor streams with link_freq / 4 <= 300 MHz,
phy_qcom_mipi_csi2_set_clock_rates() selects opp-300000000, votes the MMCX and
MXC power domains to rpmhpd_opp_low_svs_d1, and calls dev_pm_opp_set_rate()
for 300 MHz.  Because 300 MHz exceeds 266666667 Hz, the RCG rounds the CSIPHY
core clock up to 400 MHz while leaving MMCX and MXC under-volted at
rpmhpd_opp_low_svs_d1 instead of rpmhpd_opp_low_svs, and the 266.67 MHz rate
can never be selected.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261112-kaanapali-camss-v25-0-1d709f57f370@oss.qualcomm.com?part=12

-- 
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy

  reply	other threads:[~2026-11-13  5:57 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-13  5:33 [PATCH v25 00/15] media: qcom: camss: Add Kaanapali support Hangxiang Ma
2026-11-13  5:33 ` Hangxiang Ma
2026-11-13  5:33 ` [PATCH v25 01/15] dt-bindings: phy: qcom,x1e80100-csi2-phy: Add Kaanapali CSI2 PHY Hangxiang Ma
2026-11-13  5:33   ` Hangxiang Ma
2026-11-13  5:33 ` [PATCH v25 02/15] phy: qcom-mipi-csi2: Parametrise the common status register offset Hangxiang Ma
2026-11-13  5:33   ` Hangxiang Ma
2026-11-13  5:33 ` [PATCH v25 03/15] phy: qcom-mipi-csi2: Add Kaanapali support Hangxiang Ma
2026-11-13  5:33   ` Hangxiang Ma
2026-11-13  5:33 ` [PATCH v25 04/15] media: qcom: camss: Add addr_update hooks and guard CSID reg_update Hangxiang Ma
2026-11-13  5:33   ` Hangxiang Ma
2026-11-13  5:33 ` [PATCH v25 05/15] media: dt-bindings: Add CAMSS device for Kaanapali Hangxiang Ma
2026-11-13  5:33   ` Hangxiang Ma
2026-11-13  5:33 ` [PATCH v25 06/15] media: qcom: camss: Add Kaanapali compatible Hangxiang Ma
2026-11-13  5:33   ` Hangxiang Ma
2026-11-13  5:33 ` [PATCH v25 07/15] media: qcom: camss: Add PM clock definitions for Kaanapali Hangxiang Ma
2026-11-13  5:33   ` Hangxiang Ma
2026-11-13  5:33 ` [PATCH v25 08/15] media: qcom: camss: Allow CSI2 PHY devices without CSIPHY resources Hangxiang Ma
2026-11-13  5:33   ` Hangxiang Ma
2026-11-13  5:33 ` [PATCH v25 09/15] media: qcom: camss: csid: Add support for CSID 1080 Hangxiang Ma
2026-11-13  5:33   ` Hangxiang Ma
2026-11-13  6:04   ` sashiko-bot
2026-11-13  6:04     ` sashiko-bot
2026-11-13  5:33 ` [PATCH v25 10/15] media: qcom: camss: vfe: Add support for VFE 1080 Hangxiang Ma
2026-11-13  5:33   ` Hangxiang Ma
2026-11-13  5:52   ` sashiko-bot
2026-11-13  5:52     ` sashiko-bot
2026-11-13  5:33 ` [PATCH v25 11/15] media: qcom: camss: tpg: Add support for v2.4.0 TPG Hangxiang Ma
2026-11-13  5:33   ` Hangxiang Ma
2026-11-13  5:33 ` [PATCH v25 12/15] arm64: dts: qcom: kaanapali: Add CAMSS and CSIPHY block definitions Hangxiang Ma
2026-11-13  5:33   ` Hangxiang Ma
2026-11-13  5:57   ` sashiko-bot [this message]
2026-11-13  5:57     ` sashiko-bot
2026-11-13  5:33 ` [PATCH v25 13/15] arm64: dts: qcom: kaanapali: Add CCI controller nodes Hangxiang Ma
2026-11-13  5:33   ` Hangxiang Ma
2026-11-13  5:33 ` [PATCH v25 14/15] arm64: dts: qcom: kaanapali: Add camera MCLK pinctrl Hangxiang Ma
2026-11-13  5:33   ` Hangxiang Ma
2026-11-13  5:33 ` [PATCH v25 15/15] arm64: dts: qcom: kaanapali-mtp-camera-s5kjn5: Add DT overlay Hangxiang Ma
2026-11-13  5:33   ` Hangxiang Ma

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=sashiko-outbox-212261@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=hangxiang.ma@oss.qualcomm.com \
    --cc=linux-phy@lists.infradead.org \
    --cc=media-ci@linuxtv.org \
    --cc=neil.armstrong@linaro.org \
    --cc=olteanv@gmail.com \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    --cc=vkoul@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.