All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Jason Yang" <jason98166@gmail.com>
Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org,
	robh@kernel.org, conor+dt@kernel.org, vkoul@kernel.org,
	neil.armstrong@linaro.org, olteanv@gmail.com
Subject: Re: [PATCH v6 5/9] phy: rockchip-samsung-dcphy: Move block-level setup to runtime resume
Date: Tue, 10 Nov 2026 08:40:46 +0000	[thread overview]
Message-ID: <sashiko-outbox-206648@kernel.org> (raw)
In-Reply-To: <20261110-dcphy-rx-v1-v6-5-d681ba20b36a@gmail.com>

Thank you for your contribution! Sashiko AI review found 1 potential
issue to consider:
- [Medium] phy: rockchip-samsung-dcphy: stale SSC state in
  samsung_mipi_dcphy_pll_configure()
--

commit fa85aa14323095163211849e2a7f194d32765398
Author: Jason Yang <jason98166@gmail.com>

phy: rockchip-samsung-dcphy: Move block-level setup to runtime resume

This commit moves the APB reset pulse and BIAS block initialization from
the PHY power-on path to the runtime resume callback so that a second PHY
consumer does not reset an already running block.

> diff --git a/drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c b/drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
> index 7a009d87a6656..d6acc3e2d4486 100644
> --- a/drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
> +++ b/drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c

[ ... ]

> @@ -1373,10 +1372,6 @@ static int samsung_mipi_dcphy_power_on(struct phy *phy)
>  {
>  	struct samsung_mipi_dcphy *samsung = phy_get_drvdata(phy);
>  
> -	reset_control_assert(samsung->apb_rst);
> -	udelay(1);
> -	reset_control_deassert(samsung->apb_rst);

[Severity: Medium]
Does removing the samsung->apb_rst pulse from samsung_mipi_dcphy_power_on()
leave SSCG_EN enabled in PLL_CON4 when the transmitter is reconfigured from
a rate above 2.5 Gbps to 2.5 Gbps or below while the device stays
runtime-resumed?

Without the APB reset on each power_on, PLL_CON3 and PLL_CON4 keep their
previous values, and samsung_mipi_dcphy_pll_configure() only touches them
when samsung->pll.ssc_en is true:

drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c:samsung_mipi_dcphy_pll_configure() {
	...
	if (samsung->pll.ssc_en) {
		regmap_write(samsung->regmap, PLL_CON3,
			     MRR(samsung->pll.mrr) | MFR(samsung->pll.mfr));
		regmap_update_bits(samsung->regmap, PLL_CON4, SSCG_EN, SSCG_EN);
	}
	...
}

In addition, samsung_mipi_dcphy_pll_calc_rate() sets samsung->pll.ssc_en =
true when fout > 2500000000LL, but never resets it to false for lower
rates, so switching to a lower-rate mode keeps spread-spectrum clocking
enabled with stale modulation parameters.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261110-dcphy-rx-v1-v6-0-d681ba20b36a@gmail.com?part=5

WARNING: multiple messages have this Message-ID (diff)
From: sashiko-bot@kernel.org
To: "Jason Yang" <jason98166@gmail.com>
Cc: linux-phy@lists.infradead.org, devicetree@vger.kernel.org,
	robh@kernel.org, conor+dt@kernel.org, vkoul@kernel.org,
	neil.armstrong@linaro.org, olteanv@gmail.com
Subject: Re: [PATCH v6 5/9] phy: rockchip-samsung-dcphy: Move block-level setup to runtime resume
Date: Tue, 10 Nov 2026 08:40:46 +0000	[thread overview]
Message-ID: <sashiko-outbox-206648@kernel.org> (raw)
In-Reply-To: <20261110-dcphy-rx-v1-v6-5-d681ba20b36a@gmail.com>

Thank you for your contribution! Sashiko AI review found 1 potential
issue to consider:
- [Medium] phy: rockchip-samsung-dcphy: stale SSC state in
  samsung_mipi_dcphy_pll_configure()
--

commit fa85aa14323095163211849e2a7f194d32765398
Author: Jason Yang <jason98166@gmail.com>

phy: rockchip-samsung-dcphy: Move block-level setup to runtime resume

This commit moves the APB reset pulse and BIAS block initialization from
the PHY power-on path to the runtime resume callback so that a second PHY
consumer does not reset an already running block.

> diff --git a/drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c b/drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
> index 7a009d87a6656..d6acc3e2d4486 100644
> --- a/drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
> +++ b/drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c

[ ... ]

> @@ -1373,10 +1372,6 @@ static int samsung_mipi_dcphy_power_on(struct phy *phy)
>  {
>  	struct samsung_mipi_dcphy *samsung = phy_get_drvdata(phy);
>  
> -	reset_control_assert(samsung->apb_rst);
> -	udelay(1);
> -	reset_control_deassert(samsung->apb_rst);

[Severity: Medium]
Does removing the samsung->apb_rst pulse from samsung_mipi_dcphy_power_on()
leave SSCG_EN enabled in PLL_CON4 when the transmitter is reconfigured from
a rate above 2.5 Gbps to 2.5 Gbps or below while the device stays
runtime-resumed?

Without the APB reset on each power_on, PLL_CON3 and PLL_CON4 keep their
previous values, and samsung_mipi_dcphy_pll_configure() only touches them
when samsung->pll.ssc_en is true:

drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c:samsung_mipi_dcphy_pll_configure() {
	...
	if (samsung->pll.ssc_en) {
		regmap_write(samsung->regmap, PLL_CON3,
			     MRR(samsung->pll.mrr) | MFR(samsung->pll.mfr));
		regmap_update_bits(samsung->regmap, PLL_CON4, SSCG_EN, SSCG_EN);
	}
	...
}

In addition, samsung_mipi_dcphy_pll_calc_rate() sets samsung->pll.ssc_en =
true when fout > 2500000000LL, but never resets it to false for lower
rates, so switching to a lower-rate mode keeps spread-spectrum clocking
enabled with stale modulation parameters.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261110-dcphy-rx-v1-v6-0-d681ba20b36a@gmail.com?part=5

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

  reply	other threads:[~2026-11-10  8:40 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-10  8:18 [PATCH v6 0/9] phy: rockchip-samsung-dcphy: Add the MIPI D-PHY receiver Jason Yang
2026-11-10  8:18 ` Jason Yang
2026-11-10  8:18 ` Jason Yang
2026-11-10  8:18 ` [PATCH v6 1/9] dt-bindings: phy: Add PHY_DIRECTION_TX/RX definitions Jason Yang
2026-11-10  8:18   ` Jason Yang
2026-11-10  8:18   ` Jason Yang
2026-11-11 10:29   ` Michael Riesch
2026-11-11 10:29     ` Michael Riesch
2026-11-11 10:29     ` Michael Riesch
2026-11-10  8:18 ` [PATCH v6 2/9] dt-bindings: phy: rockchip,rk3588-mipi-dcphy: Select TX or RX, add phy-type Jason Yang
2026-11-10  8:18   ` Jason Yang
2026-11-10  8:18   ` Jason Yang
2026-11-10 18:02   ` Rob Herring (Arm)
2026-11-10 18:02     ` Rob Herring (Arm)
2026-11-10 18:02     ` Rob Herring (Arm)
2026-11-11 10:33   ` Michael Riesch
2026-11-11 10:33     ` Michael Riesch
2026-11-11 10:33     ` Michael Riesch
2026-11-10  8:18 ` [PATCH v6 3/9] phy: rockchip-samsung-dcphy: Unwind power-on on PLL lock failure Jason Yang
2026-11-10  8:18   ` Jason Yang
2026-11-10  8:18   ` Jason Yang
2026-11-11 13:02   ` Michael Riesch
2026-11-11 13:02     ` Michael Riesch
2026-11-11 13:02     ` Michael Riesch
2026-11-10  8:18 ` [PATCH v6 4/9] phy: rockchip-samsung-dcphy: Always write the rate-dependent registers Jason Yang
2026-11-10  8:18   ` Jason Yang
2026-11-10  8:18   ` Jason Yang
2026-11-11 13:05   ` Michael Riesch
2026-11-11 13:05     ` Michael Riesch
2026-11-11 13:05     ` Michael Riesch
2026-11-10  8:18 ` [PATCH v6 5/9] phy: rockchip-samsung-dcphy: Move block-level setup to runtime resume Jason Yang
2026-11-10  8:18   ` Jason Yang
2026-11-10  8:18   ` Jason Yang
2026-11-10  8:40   ` sashiko-bot [this message]
2026-11-10  8:40     ` sashiko-bot
2026-11-11 13:14   ` Michael Riesch
2026-11-11 13:14     ` Michael Riesch
2026-11-11 13:14     ` Michael Riesch
2026-11-10  8:18 ` [PATCH v6 6/9] phy: rockchip-samsung-dcphy: Name the transmitter helpers and ops Jason Yang
2026-11-10  8:18   ` Jason Yang
2026-11-10  8:18   ` Jason Yang
2026-11-10  8:18 ` [PATCH v6 7/9] phy: rockchip-samsung-dcphy: Support the new phy-type and direction binding Jason Yang
2026-11-10  8:18   ` Jason Yang
2026-11-10  8:18   ` Jason Yang
2026-11-11 13:32   ` Michael Riesch
2026-11-11 13:32     ` Michael Riesch
2026-11-11 13:32     ` Michael Riesch
2026-11-10  8:18 ` [PATCH v6 8/9] phy: rockchip-samsung-dcphy: Add MIPI D-PHY receiver support Jason Yang
2026-11-10  8:18   ` Jason Yang
2026-11-10  8:18   ` Jason Yang
2026-11-11 15:22   ` Michael Riesch
2026-11-11 15:22     ` Michael Riesch
2026-11-11 15:22     ` Michael Riesch
2026-11-10  8:18 ` [PATCH v6 9/9] arm64: dts: rockchip: add the dcphy mipi csi-2 receiver nodes to rk3588 Jason Yang
2026-11-10  8:18   ` Jason Yang
2026-11-10  8:18   ` Jason Yang
2026-11-11 12:32   ` Michael Riesch
2026-11-11 12:32     ` Michael Riesch
2026-11-11 12:32     ` Michael Riesch

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-206648@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=jason98166@gmail.com \
    --cc=linux-phy@lists.infradead.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.