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 v24 12/15] arm64: dts: qcom: kaanapali: Add CAMSS and CSIPHY block definitions
Date: Mon, 02 Nov 2026 10:57:53 +0000 [thread overview]
Message-ID: <sashiko-outbox-193302@kernel.org> (raw)
In-Reply-To: <20261102-kaanapali-camss-v24-12-d6b8f3f6f66f@oss.qualcomm.com>
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] arm64: dts: qcom: kaanapali: csiphy_mxc_opp_table uses invalid 300 MHz OPP
- [Low] arm64: dts: qcom: kaanapali: unused include of dt-bindings/phy/phy.h
--
commit e55da6889b7174ae815f4ae6f06a71a14f566861
Author: Hangxiang Ma <hangxiang.ma@oss.qualcomm.com>
arm64: dts: qcom: kaanapali: Add CAMSS and CSIPHY block definitions
This commit adds device tree nodes for the CAMSS camera subsystem, six CSIPHY
instances, and the CSIPHY OPP table on the Qualcomm Kaanapali SoC.
> diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> index e48a179d07220..e107bcdf0f8ef 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>
[Severity: Low]
This isn't a bug, but is the dt-bindings/phy/phy.h include needed here? None
of the macros from that header appear to be used in kaanapali.dtsi.
[ ... ]
> @@ -6548,6 +6925,28 @@ pdp_tx: scp-sram-section@100 {
> };
> };
>
> + csiphy_mxc_opp_table: opp-table-mxc {
> + 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]
As reported by Sashiko on v23 [1], should this lowest OPP in
csiphy_mxc_opp_table be 266666667 Hz (opp-266666667) instead of 300000000 Hz?
The CSIPHY core clocks (CAM_CC_CSIPHY0_CLK through CAM_CC_CSIPHY5_CLK) on
Kaanapali are sourced from cam_cc_cphy_rx_clk_src, which only supports
266666667 Hz, 400000000 Hz, and 480000000 Hz and uses clk_rcg2_shared_ops:
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 phy_qcom_mipi_csi2_power_on() -> phy_qcom_mipi_csi2_set_clock_rates() is
called with a link frequency where link_freq / 4 <= 300000000 Hz,
dev_pm_opp_find_freq_ceil() selects opp-300000000 and sets the RPMHPD_MMCX and
RPMHPD_MXC power domains to rpmhpd_opp_low_svs_d1:
drivers/phy/qualcomm/phy-qcom-mipi-csi2-core.c:phy_qcom_mipi_csi2_set_clock_rates() {
...
opp = dev_pm_opp_find_freq_ceil(dev, &opp_rate);
...
for (i = 0; i < csi2phy->pd_list->num_pds; i++) {
...
perf = dev_pm_opp_get_required_pstate(opp, pstate);
pstate += 1;
ret = dev_pm_genpd_set_performance_state(csi2phy->pd_list->pd_devs[i], perf);
...
}
dev_pm_opp_put(opp);
ret = dev_pm_opp_set_rate(dev, opp_rate);
}
Because clk_rcg2_shared_ops rounds up via qcom_find_freq(..., CEIL), calling
dev_pm_opp_set_rate() with opp_rate = 300000000 skips 266666667 Hz and rounds
the CSIPHY core clock up to 400000000 Hz. Does this leave the 266.67 MHz rate
unreachable and run the CSIPHY core clock at 400 MHz while MMCX and MXC remain
at rpmhpd_opp_low_svs_d1 instead of rpmhpd_opp_low_svs?
[1] https://lore.kernel.org/r/20261028-kaanapali-camss-v23-12-95f250b18612@oss.qualcomm.com
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261102-kaanapali-camss-v24-0-d6b8f3f6f66f@oss.qualcomm.com?part=12
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
next prev parent reply other threads:[~2026-11-02 10:57 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-02 10:42 [PATCH v24 00/15] media: qcom: camss: Add Kaanapali support Hangxiang Ma
2026-11-02 10:42 ` [PATCH v24 01/15] dt-bindings: phy: qcom,x1e80100-csi2-phy: Add Kaanapali CSI2 PHY Hangxiang Ma
2026-11-02 10:42 ` [PATCH v24 02/15] phy: qcom-mipi-csi2: Parametrise the common status register offset Hangxiang Ma
2026-11-02 10:42 ` [PATCH v24 03/15] phy: qcom-mipi-csi2: Add Kaanapali support Hangxiang Ma
2026-11-02 10:42 ` [PATCH v24 04/15] media: qcom: camss: Add addr_update hooks and guard CSID reg_update Hangxiang Ma
2026-11-02 10:42 ` [PATCH v24 05/15] media: dt-bindings: Add CAMSS device for Kaanapali Hangxiang Ma
2026-11-02 10:42 ` [PATCH v24 06/15] media: qcom: camss: Add Kaanapali compatible Hangxiang Ma
2026-11-02 10:42 ` [PATCH v24 07/15] media: qcom: camss: Add PM clock definitions for Kaanapali Hangxiang Ma
2026-11-02 10:42 ` [PATCH v24 08/15] media: qcom: camss: Allow CSI2 PHY devices without CSIPHY resources Hangxiang Ma
2026-11-02 10:42 ` [PATCH v24 09/15] media: qcom: camss: csid: Add support for CSID 1080 Hangxiang Ma
2026-11-02 11:02 ` sashiko-bot
2026-11-02 10:42 ` [PATCH v24 10/15] media: qcom: camss: vfe: Add support for VFE 1080 Hangxiang Ma
2026-11-02 10:56 ` sashiko-bot
2026-11-02 10:42 ` [PATCH v24 11/15] media: qcom: camss: tpg: Add support for v2.4.0 TPG Hangxiang Ma
2026-11-02 10:52 ` sashiko-bot
2026-11-02 10:42 ` [PATCH v24 12/15] arm64: dts: qcom: kaanapali: Add CAMSS and CSIPHY block definitions Hangxiang Ma
2026-11-02 10:57 ` sashiko-bot [this message]
2026-11-02 10:42 ` [PATCH v24 13/15] arm64: dts: qcom: kaanapali: Add CCI controller nodes Hangxiang Ma
2026-11-02 12:17 ` Loic Poulain
2026-11-02 10:42 ` [PATCH v24 14/15] arm64: dts: qcom: kaanapali: Add camera MCLK pinctrl Hangxiang Ma
2026-11-02 10:42 ` [PATCH v24 15/15] arm64: dts: qcom: kaanapali-mtp-camera-s5kjn5: Add DT overlay 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-193302@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox