dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Nabige Aala" <nabige.aala@oss.qualcomm.com>
Cc: neil.armstrong@linaro.org, olteanv@gmail.com,
	conor+dt@kernel.org, dri-devel@lists.freedesktop.org,
	devicetree@vger.kernel.org, vkoul@kernel.org,
	linux-phy@lists.infradead.org, robh@kernel.org
Subject: Re: [PATCH 16/17] phy: qcom: edp: Introduce Nord phy_ver_ops and phy_cfg descriptor
Date: Fri, 11 Sep 2026 15:56:40 +0000	[thread overview]
Message-ID: <20260911155641.4846E1F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260911-nord-drv-dt-v1-16-e25c073cf1b6@oss.qualcomm.com>

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] The common power-on flow unconditionally writes to the legacy TX_BAND offset, which corrupts registers on the Nord platform.
- [High] The Nord LDO configuration ignores DP mode and applies incorrect eDP settings, contradicting the Hardware Programming Guide.
--

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

phy: qcom: edp: Introduce Nord phy_ver_ops and phy_cfg descriptor

Add qcom_edp_phy_ops_nord wiring all eight Nord-specific callbacks and
nord_edp_phy_cfg collecting the Nord AUX, VCO divider, swing/pre-emphasis
tables and ver_ops.

> diff --git a/drivers/phy/qualcomm/phy-qcom-edp.c b/drivers/phy/qualcomm/phy-qcom-edp.c
> index 361f4e4673518..338f28cb404fb 100644
> --- a/drivers/phy/qualcomm/phy-qcom-edp.c
> +++ b/drivers/phy/qualcomm/phy-qcom-edp.c
> @@ -1847,6 +1847,29 @@ static int qcom_edp_phy_tx_res_cfg_nord(const struct qcom_edp *edp)
>  }
>  
>  
> +static const struct phy_ver_ops qcom_edp_phy_ops_nord = {
> +	.com_power_on		= qcom_edp_phy_power_on_nord,
> +	.com_resetsm_cntrl	= qcom_edp_phy_com_resetsm_cntrl_nord,
> +	.com_bias_en_clkbuflr	= qcom_edp_com_bias_en_clkbuflr_nord,
> +	.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,

[Severity: High]
Does this hardcode the incorrect LDO configuration for DP mode?

The comments for qcom_edp_ldo_config_nord() document that DP mode must use
0x00 and eDP mode must use 0xD1.

However, the implementation seems to unconditionally hardcode 0xd0 and 0x03,
ignoring edp->is_edp completely:

qcom_edp_ldo_config_nord()
	ldo_config = 0xd0;
	phy_ldo_cfg = 0x03;

	writel(ldo_config, edp->tx0 + TXn_LDO_CONFIG);

Could this cause instability or link failures when running in DP mode due to
contradicting the hardware requirements?

> +	.phy_tx_lane_cfg	= qcom_edp_phy_tx_lane_cfg_nord,

[Severity: High]
Can the common power-on flow corrupt registers on the Nord platform here?

When qcom_edp_phy_power_on() runs, it calls this phy_tx_lane_cfg() callback
which correctly programs the Nord-specific TX_BAND offset at 0x0024:

qcom_edp_phy_power_on()
	if (edp->cfg->ver_ops->phy_tx_lane_cfg) {
		ret = edp->cfg->ver_ops->phy_tx_lane_cfg(edp);
        ...

But immediately afterward, the common flow unconditionally writes to the
legacy TX_BAND offset:

qcom_edp_phy_power_on()
	/* TX-0 register configuration */
    ...
	writel(0x04, edp->tx0 + TXn_TX_BAND);

Since TXn_TX_BAND moved to 0x0024 on Nord, writing to the legacy offset
(0x0028) might clobber whatever unknown register resides there now.

Would it be better to conditionally bypass the legacy TX_BAND write when the
Nord specific callback is used?

> +	.phy_tx_res_cfg		= qcom_edp_phy_tx_res_cfg_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,
> +};

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260911-nord-drv-dt-v1-0-e25c073cf1b6@oss.qualcomm.com?part=16

  reply	other threads:[~2026-09-11 15:56 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-11 15:36 [PATCH 00/17] Add Qualcomm Nord display and eDP PHY support Nabige Aala
2026-09-11 15:36 ` [PATCH 01/17] dt-bindings: phy: qcom,edp-phy: Document Nord eDP PHY Nabige Aala
2026-09-11 15:48   ` sashiko-bot
2026-09-11 15:36 ` [PATCH 02/17] dt-bindings: display/msm: dp-controller: Document Nord DP Nabige Aala
2026-09-11 15:44   ` sashiko-bot
2026-09-13  7:51   ` Krzysztof Kozlowski
2026-09-11 15:36 ` [PATCH 03/17] dt-bindings: display/msm: Document Nord MDSS Nabige Aala
2026-09-11 15:51   ` sashiko-bot
2026-09-13  7:50   ` Krzysztof Kozlowski
2026-09-11 15:36 ` [PATCH 04/17] drm/msm/dpu: Add support for DPU 12.1 on Nord Nabige Aala
2026-09-11 15:59   ` sashiko-bot
2026-09-11 15:36 ` [PATCH 05/17] drm/msm: mdss: Add support for MDSS " Nabige Aala
2026-09-11 15:36 ` [PATCH 06/17] drm/msm/dp: Add support for DP controllers " Nabige Aala
2026-09-11 15:36 ` [PATCH 07/17] phy: qcom: edp: Add Nord-specific register offsets Nabige Aala
2026-09-11 15:49   ` sashiko-bot
2026-09-11 15:36 ` [PATCH 08/17] phy: qcom: edp: Generalize power-on path to support per-SoC overrides Nabige Aala
2026-09-11 15:36 ` [PATCH 09/17] phy: qcom: edp: Add Nord AUX channel and VCO divider configuration tables Nabige Aala
2026-09-11 15:36 ` [PATCH 10/17] phy: qcom: edp: Add Nord voltage-swing and pre-emphasis tables Nabige Aala
2026-09-11 15:36 ` [PATCH 11/17] phy: qcom: edp: Add Nord PHY power-on and reset state-machine callbacks Nabige Aala
2026-09-11 15:36 ` [PATCH 12/17] phy: qcom: edp: Add Nord bias and clock buffer enable callback Nabige Aala
2026-09-11 15:49   ` sashiko-bot
2026-09-11 15:36 ` [PATCH 13/17] phy: qcom: edp: Add Nord spread-spectrum clocking configuration callback Nabige Aala
2026-09-11 15:36 ` [PATCH 14/17] phy: qcom: edp: Add Nord PLL " Nabige Aala
2026-09-11 15:53   ` sashiko-bot
2026-09-11 15:36 ` [PATCH 15/17] phy: qcom: edp: Add Nord LDO, TX lane and TX resistor calibration callbacks Nabige Aala
2026-09-11 15:52   ` sashiko-bot
2026-09-11 15:36 ` [PATCH 16/17] phy: qcom: edp: Introduce Nord phy_ver_ops and phy_cfg descriptor Nabige Aala
2026-09-11 15:56   ` sashiko-bot [this message]
2026-09-11 15:36 ` [PATCH 17/17] phy: qcom: edp: Register qcom,nord-dp-phy OF compatible string Nabige Aala

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=20260911155641.4846E1F000FF@smtp.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