Linux-PHY Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Nabige Aala" <nabige.aala@oss.qualcomm.com>
Cc: olteanv@gmail.com, robh@kernel.org,
	linux-phy@lists.infradead.org, conor+dt@kernel.org,
	vkoul@kernel.org, neil.armstrong@linaro.org,
	dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v2 13/13] phy: qcom: edp: Add Nord phy_cfg, ops and OF compatible
Date: Mon, 12 Oct 2026 13:44:03 +0000	[thread overview]
Message-ID: <sashiko-outbox-168204@kernel.org> (raw)
In-Reply-To: <20261012-nord-drv-dt-v2-13-a2ab9af954d2@oss.qualcomm.com>

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] phy: qcom-edp: legacy TXn_TX_BAND writes corrupt Nord hardware state
- [High] phy: qcom-edp: hardcoded TXn_TX_DRV_LVL writes break voltage updates on Nord PHY
--

commit 1393c79f29bd788a83ce23c45373ba39e69132d0
Author: Ritesh Kumar <ritesh.kumar@oss.qualcomm.com>

phy: qcom: edp: Add Nord phy_cfg, ops and OF compatible

This commit adds the configuration structures, operations, and device tree
matching for the Nord DP PHY. It defines the Nord-specific tables for AUX,
VCO, swing, and pre-emphasis, along with updated status register offsets.

> diff --git a/drivers/phy/qualcomm/phy-qcom-edp.c b/drivers/phy/qualcomm/phy-qcom-edp.c
> index cb5f6e0ae607b..87400d61323a6 100644
> --- a/drivers/phy/qualcomm/phy-qcom-edp.c
> +++ b/drivers/phy/qualcomm/phy-qcom-edp.c

[ ... ]

> @@ -1774,6 +1774,30 @@ static const struct qcom_edp_tx_res_entry tx_res_cfg_nord[] = {
>  	QCOM_EDP_TX_RES_ENTRY_END,
>  };
>  
> +static const struct phy_ver_ops qcom_edp_phy_ops_nord = {
> +	.com_power_on		= qcom_edp_phy_power_on_v8,
> +	.com_resetsm_cntrl	= qcom_edp_phy_com_resetsm_cntrl_v8,
> +	.com_bias_en_clkbuflr	= qcom_edp_com_bias_en_clkbuflr_v8,
> +	.com_configure_pll	= qcom_edp_com_configure_pll_nord,
> +	.com_configure_ssc	= qcom_edp_com_configure_ssc_nord,
> +	.com_ldo_config		= qcom_edp_ldo_config_nord,
> +};
> +
> +static const struct qcom_edp_phy_cfg nord_edp_phy_cfg = {
> +	.is_edp			= false,
> +	.aux_cfg		= edp_phy_aux_cfg_nord,
> +	.vco_div_cfg		= edp_phy_vco_div_cfg_nord,
> +	.dp_swing_pre_emph_cfg	= &nord_dp_swing_pre_emph_cfg,
> +	.edp_swing_pre_emph_cfg	= &nord_edp_swing_pre_emph_cfg,
> +	.ver_ops		= &qcom_edp_phy_ops_nord,
> +	.phy_status_reg		= DP_PHY_STATUS_NORD,
> +	.bias1_en_2lane		= 0x03,
> +	.tx2_tx3_lane_ctl	= DP_PHY_TX2_TX3_LANE_CTL_NORD,
> +	.tx_res_cfg		= tx_res_cfg_nord,

[Severity: High]
The tx_res_cfg_nord table correctly configures the relocated offset for
TX_BAND (0x0024). However, does qcom_edp_phy_power_on() still unconditionally
write to the legacy TX_BAND offset (0x0028) before applying the tx_res_cfg
table?

qcom_edp_phy_power_on() {
    ...
    writel(0x04, edp->tx0 + TXn_TX_BAND);
    ...
    writel(0x04, edp->tx1 + TXn_TX_BAND);
    ...
}

Could this cause a write to the wrong offset on Nord hardware, potentially
corrupting whatever unrelated register now exists at 0x0028?

Should this register offset be parameterized or moved entirely to tx_res_cfg?

[Severity: High]
Similarly, tx_res_cfg_nord initializes DP_PHY_TX_LN0_DRV_LVL_NORD (offset
0x00e4), indicating the drive level registers were also relocated.

However, doesn't qcom_edp_set_voltages() still dynamically write the voltage
swing values to the legacy TXn_TX_DRV_LVL offset (0x0014) during DP link
training?

qcom_edp_set_voltages() {
    ...
    writel(swing, edp->tx0 + TXn_TX_DRV_LVL);
    ...
    writel(swing, edp->tx1 + TXn_TX_DRV_LVL);
    ...
}

Will DP link training fail on Nord PHYs because the actual drive level
register at 0x00e4 is never updated with the dynamic voltage levels?

> +	.cmn_status_reg		= DP_QSERDES_V8_COM_CMN_STATUS_NORD,
> +	.c_ready_status_reg	= DP_QSERDES_V8_COM_C_READY_STATUS_NORD,
> +};

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261012-nord-drv-dt-v2-0-a2ab9af954d2@oss.qualcomm.com?part=13

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

      reply	other threads:[~2026-10-12 13:44 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-12 13:32 [PATCH v2 00/13] Add Qualcomm Nord display and eDP PHY support Nabige Aala
2026-10-12 13:32 ` [PATCH v2 01/13] dt-bindings: phy: qcom,edp-phy: Add DP PHY compatible for Nord Nabige Aala
2026-10-13  7:37   ` Krzysztof Kozlowski
2026-10-12 13:32 ` [PATCH v2 02/13] dt-bindings: display: msm: Document the Nord DiplayPort controller Nabige Aala
2026-10-13  7:44   ` Krzysztof Kozlowski
2026-10-13  8:48     ` Krzysztof Kozlowski
2026-10-12 13:32 ` [PATCH v2 03/13] dt-bindings: display/msm: Document Nord MDSS Nabige Aala
2026-10-12 13:45   ` sashiko-bot
2026-10-13  8:48   ` Krzysztof Kozlowski
2026-10-12 13:32 ` [PATCH v2 04/13] drm/msm/dpu: Add support for DPU 12.1 on Nord Nabige Aala
2026-10-13  9:28   ` Dmitry Baryshkov
2026-10-12 13:32 ` [PATCH v2 05/13] drm/msm: mdss: Add support for MDSS " Nabige Aala
2026-10-12 13:32 ` [PATCH v2 06/13] drm/msm/dp: Add support for DP controllers " Nabige Aala
2026-10-12 13:47   ` sashiko-bot
2026-10-12 14:01   ` Konrad Dybcio
2026-10-13  9:18   ` Dmitry Baryshkov
2026-10-12 13:32 ` [PATCH v2 07/13] phy: qcom: edp: Add Nord-specific register offsets Nabige Aala
2026-10-13  8:43   ` Abel Vesa
2026-10-13 10:19   ` Dmitry Baryshkov
2026-10-12 13:32 ` [PATCH v2 08/13] phy: qcom: edp: Generalize power-on path for per-SoC overrides Nabige Aala
2026-10-12 13:46   ` sashiko-bot
2026-10-13 10:26   ` Dmitry Baryshkov
2026-10-12 13:32 ` [PATCH v2 09/13] phy: qcom: edp: Add Nord voltage-swing and pre-emphasis tables Nabige Aala
2026-10-13  8:44   ` Abel Vesa
2026-10-13 10:27   ` Dmitry Baryshkov
2026-10-12 13:32 ` [PATCH v2 10/13] phy: qcom: edp: Add Nord spread-spectrum clocking configuration callback Nabige Aala
2026-10-13  8:47   ` Abel Vesa
2026-10-13 10:28   ` Dmitry Baryshkov
2026-10-12 13:32 ` [PATCH v2 11/13] phy: qcom: edp: Add Nord PLL " Nabige Aala
2026-10-12 13:32 ` [PATCH v2 12/13] phy: qcom: edp: Add Nord PHY configuration data tables Nabige Aala
2026-10-12 13:43   ` sashiko-bot
2026-10-13 10:33   ` Dmitry Baryshkov
2026-10-12 13:32 ` [PATCH v2 13/13] phy: qcom: edp: Add Nord phy_cfg, ops and OF compatible Nabige Aala
2026-10-12 13:44   ` sashiko-bot [this message]

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-168204@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-phy@lists.infradead.org \
    --cc=nabige.aala@oss.qualcomm.com \
    --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