* [PATCH v2 0/3] phy: hdmi: Add FRL TxFFE level control
@ 2026-09-01 19:55 Cristian Ciocaltea
2026-09-01 19:55 ` [PATCH v2 1/3] phy: hdmi: Add optional FRL TxFFE config options Cristian Ciocaltea
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Cristian Ciocaltea @ 2026-09-01 19:55 UTC (permalink / raw)
To: Vinod Koul, Neil Armstrong, Manivannan Sadhasivam, Heiko Stuebner,
Andy Yan
Cc: kernel, linux-phy, linux-kernel, linux-arm-kernel, linux-rockchip
During HDMI 2.1 Fixed Rate Link training, the source and sink may
negotiate a Transmitter Feed Forward Equalizer (TxFFE) level to
compensate for signal quality degradation on the physical channel. The
source starts at level 0 and may increment it up to a maximum agreed
upon during LTS3 in response to persistent link failures reported by the
sink. TxFFE adjustment is optional and entirely independent of the FRL
rate and lane count selection.
Patch 1 extends the HDMI PHY configuration API with two new fields in
the frl sub-struct: ffe_level to carry the requested level, and a
set_ffe_level flag that switches the semantics of a phy_configure() call
to a pure equalizer update, leaving all other fields ignored.
Patch 2 addresses an issue with the PHY/PLL configuration after
reloading the samsung-hdptx kernel module.
Patch 3 implements the new interface in the Rockchip Samsung HDPTX PHY
driver.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
Changes in v2:
- Added a new patch to fix samsung-hdptx PHY config after module reload
- Rebased series onto v7.3-rc1 and dropped the dependency on the "Clock
fixes and API transition cleanups" PHY series which already landed
- Link to v1: https://lore.kernel.org/r/20260328-hdptx-ffe-v1-0-53ebd5dea20a@collabora.com
---
Cristian Ciocaltea (3):
phy: hdmi: Add optional FRL TxFFE config options
phy: rockchip: samsung-hdptx: Handle PHY config after module reload
phy: rockchip: samsung-hdptx: Add support for FRL TxFFE level control
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c | 80 +++++++++++++++++++++--
include/linux/phy/phy-hdmi.h | 6 ++
2 files changed, 79 insertions(+), 7 deletions(-)
---
base-commit: cee9395acd8043be0644b25c34bfa86623f2b935
change-id: 20260328-hdptx-ffe-a89c51e66904
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2 1/3] phy: hdmi: Add optional FRL TxFFE config options
2026-09-01 19:55 [PATCH v2 0/3] phy: hdmi: Add FRL TxFFE level control Cristian Ciocaltea
@ 2026-09-01 19:55 ` Cristian Ciocaltea
2026-09-01 19:55 ` [PATCH v2 2/3] phy: rockchip: samsung-hdptx: Handle PHY config after module reload Cristian Ciocaltea
2026-09-01 19:55 ` [PATCH v2 3/3] phy: rockchip: samsung-hdptx: Add support for FRL TxFFE level control Cristian Ciocaltea
2 siblings, 0 replies; 6+ messages in thread
From: Cristian Ciocaltea @ 2026-09-01 19:55 UTC (permalink / raw)
To: Vinod Koul, Neil Armstrong, Manivannan Sadhasivam, Heiko Stuebner,
Andy Yan
Cc: kernel, linux-phy, linux-kernel, linux-arm-kernel, linux-rockchip
During HDMI 2.1 FRL link training, the source and sink can negotiate a
Transmitter Feed-Forward Equalization (TxFFE) level to improve the
signal quality. Starting from zero, the source may increment the TxFFE
level up to a maximum agreed during the LTS3 stage if the sink keeps
reporting FLT failures. TxFFE adjustment is optional and only attempted
when both the source and the connected sink support it.
Since the existing HDMI PHY configuration API covers the FRL rate/lane
selection only, provide the following fields to the frl sub-struct of
phy_configure_opts_hdmi:
* ffe_level: the TxFFE level to apply, only meaningful when
set_ffe_level is set.
* set_ffe_level: a 1-bit flag that changes the semantics of the
phy_configure() call, i.e. when set, the PHY driver must apply the new
ffe_level and ignore the other frl related fields.
The flag-based approach reflects an important invariant in the link
training process: whenever the FRL rate or lane count changes, the TxFFE
level must be reset to zero. A separate phy_configure() call with
set_ffe_level can only follow after the rate has been established,
making the two operations deliberately distinct.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
include/linux/phy/phy-hdmi.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/include/linux/phy/phy-hdmi.h b/include/linux/phy/phy-hdmi.h
index d4cf4430ee8f..1d4b62475079 100644
--- a/include/linux/phy/phy-hdmi.h
+++ b/include/linux/phy/phy-hdmi.h
@@ -19,6 +19,10 @@ enum phy_hdmi_mode {
* @tmds_char_rate: HDMI TMDS Character Rate in Hertz.
* @frl.rate_per_lane: HDMI FRL Rate per Lane in Gbps.
* @frl.lanes: HDMI FRL lanes count.
+ * @frl.ffe_level: Transmitter Feed Forward Equalizer Level.
+ * Optional, only meaningful when set_ffe_level flag is on.
+ * @frl.set_ffe_level: Flag indicating whether or not to reconfigure ffe_level.
+ * All the other struct fields must be ignored when this is used.
*
* This structure is used to represent the configuration state of a HDMI phy.
*/
@@ -29,6 +33,8 @@ struct phy_configure_opts_hdmi {
struct {
u8 rate_per_lane;
u8 lanes;
+ u8 ffe_level;
+ u8 set_ffe_level : 1;
} frl;
};
};
--
2.55.0
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 2/3] phy: rockchip: samsung-hdptx: Handle PHY config after module reload
2026-09-01 19:55 [PATCH v2 0/3] phy: hdmi: Add FRL TxFFE level control Cristian Ciocaltea
2026-09-01 19:55 ` [PATCH v2 1/3] phy: hdmi: Add optional FRL TxFFE config options Cristian Ciocaltea
@ 2026-09-01 19:55 ` Cristian Ciocaltea
2026-09-01 20:11 ` sashiko-bot
2026-09-01 19:55 ` [PATCH v2 3/3] phy: rockchip: samsung-hdptx: Add support for FRL TxFFE level control Cristian Ciocaltea
2 siblings, 1 reply; 6+ messages in thread
From: Cristian Ciocaltea @ 2026-09-01 19:55 UTC (permalink / raw)
To: Vinod Koul, Neil Armstrong, Manivannan Sadhasivam, Heiko Stuebner,
Andy Yan
Cc: kernel, linux-phy, linux-kernel, linux-arm-kernel, linux-rockchip
The pll_config_dirty mechanism introduced in commit aec3e4ce25da ("phy:
rockchip: samsung-hdptx: Handle uncommitted PHY config changes")
invalidates the clock rate in determine_rate() by resetting req->rate to
zero, ensuring CCF will invoke set_rate() to program pending PLL
configuration changes into hardware.
However, after a module reload cycle the PHY PLL clock gets
re-registered with CCF, which causes the framework's cached rate to also
be zero. Setting req->rate to zero then has no effect, since CCF sees
no difference between the requested and current rates and skips calling
set_rate(), leaving the PLL unconfigured.
Address this by first computing the actual target rate from the HDMI
link configuration, and only then invalidating it when it matches the
CCF cached rate.
Fixes: aec3e4ce25da ("phy: rockchip: samsung-hdptx: Handle uncommitted PHY config changes")
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
index 24ed0d7eb6f8..b03042ec9a84 100644
--- a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
+++ b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
@@ -2346,14 +2346,16 @@ static int rk_hdptx_phy_clk_determine_rate(struct clk_hw *hw,
* to ensure rk_hdptx_phy_clk_set_rate() will be always invoked.
* Otherwise, restrict the rate according to the PHY link setup.
*/
- if (hdptx->pll_config_dirty)
- req->rate = 0;
- else if (hdptx->hdmi_cfg.mode == PHY_HDMI_MODE_FRL)
+
+ if (hdptx->hdmi_cfg.mode == PHY_HDMI_MODE_FRL)
req->rate = hdptx->hdmi_cfg.rate;
else
req->rate = DIV_ROUND_CLOSEST_ULL(hdptx->hdmi_cfg.rate * 8,
hdptx->hdmi_cfg.bpc);
+ if (hdptx->pll_config_dirty && req->rate == clk_hw_get_rate(hw))
+ req->rate = 0;
+
return 0;
}
--
2.55.0
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 3/3] phy: rockchip: samsung-hdptx: Add support for FRL TxFFE level control
2026-09-01 19:55 [PATCH v2 0/3] phy: hdmi: Add FRL TxFFE level control Cristian Ciocaltea
2026-09-01 19:55 ` [PATCH v2 1/3] phy: hdmi: Add optional FRL TxFFE config options Cristian Ciocaltea
2026-09-01 19:55 ` [PATCH v2 2/3] phy: rockchip: samsung-hdptx: Handle PHY config after module reload Cristian Ciocaltea
@ 2026-09-01 19:55 ` Cristian Ciocaltea
2026-09-01 20:12 ` sashiko-bot
2 siblings, 1 reply; 6+ messages in thread
From: Cristian Ciocaltea @ 2026-09-01 19:55 UTC (permalink / raw)
To: Vinod Koul, Neil Armstrong, Manivannan Sadhasivam, Heiko Stuebner,
Andy Yan
Cc: kernel, linux-phy, linux-kernel, linux-arm-kernel, linux-rockchip
During HDMI 2.1 FRL link training, the source may need to incrementally
raise the TxFFE level in response to persistent link failures reported
by the sink during LTS3. The phy_configure_opts_hdmi struct now carries
ffe_level and set_ffe_level fields to convey such an update
independently of a full rate reconfiguration.
Wire up the optional TxFFE control in the Samsung HDPTX PHY driver.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c | 72 +++++++++++++++++++++--
1 file changed, 68 insertions(+), 4 deletions(-)
diff --git a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
index b03042ec9a84..6879eecc5a9f 100644
--- a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
+++ b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
@@ -333,6 +333,7 @@
#define FRL_3G3L_RATE 900000000
#define FRL_6G3L_RATE 1800000000
#define FRL_8G4L_RATE 3200000000
+#define FRL_FFE_MAX_LEVEL 3
enum dp_link_rate {
DP_BW_RBR,
@@ -466,6 +467,16 @@ static const struct ropll_config rk_hdptx_tmds_ropll_cfg[] = {
{ 25175000ULL, 84, 84, 1, 1, 15, 1, 168, 1, 16, 4, 1, 1, },
};
+static const struct ffe_config {
+ u8 pre_shoot;
+ u8 de_emphasis;
+} rk_hdptx_frl_ffe_cfg[FRL_FFE_MAX_LEVEL + 1] = {
+ { 0x3, 0x4 },
+ { 0x3, 0x6 },
+ { 0x3, 0x8 },
+ { 0x3, 0x9 },
+};
+
static const struct reg_sequence rk_hdptx_common_cmn_init_seq[] = {
REG_SEQ0(CMN_REG(0009), 0x0c),
REG_SEQ0(CMN_REG(000a), 0x83),
@@ -1321,6 +1332,45 @@ static int rk_hdptx_tmds_ropll_mode_config(struct rk_hdptx_phy *hdptx)
return rk_hdptx_post_enable_lane(hdptx);
}
+static int rk_hdptx_frl_ffe_config(struct rk_hdptx_phy *hdptx, u8 ffe_level)
+{
+ u8 val;
+
+ if (ffe_level > FRL_FFE_MAX_LEVEL)
+ return -EINVAL;
+
+ val = rk_hdptx_frl_ffe_cfg[ffe_level].pre_shoot;
+
+ regmap_update_bits(hdptx->regmap, LANE_REG(0305),
+ LN_TX_DRV_PRE_LVL_CTRL_MASK,
+ FIELD_PREP(LN_TX_DRV_PRE_LVL_CTRL_MASK, val));
+ regmap_update_bits(hdptx->regmap, LANE_REG(0405),
+ LN_TX_DRV_PRE_LVL_CTRL_MASK,
+ FIELD_PREP(LN_TX_DRV_PRE_LVL_CTRL_MASK, val));
+ regmap_update_bits(hdptx->regmap, LANE_REG(0505),
+ LN_TX_DRV_PRE_LVL_CTRL_MASK,
+ FIELD_PREP(LN_TX_DRV_PRE_LVL_CTRL_MASK, val));
+ regmap_update_bits(hdptx->regmap, LANE_REG(0605),
+ LN_TX_DRV_PRE_LVL_CTRL_MASK,
+ FIELD_PREP(LN_TX_DRV_PRE_LVL_CTRL_MASK, val));
+
+ val = rk_hdptx_frl_ffe_cfg[ffe_level].de_emphasis;
+
+ regmap_update_bits(hdptx->regmap, LANE_REG(0304),
+ LN_TX_DRV_POST_LVL_CTRL_MASK,
+ FIELD_PREP(LN_TX_DRV_POST_LVL_CTRL_MASK, val));
+ regmap_update_bits(hdptx->regmap, LANE_REG(0404),
+ LN_TX_DRV_POST_LVL_CTRL_MASK,
+ FIELD_PREP(LN_TX_DRV_POST_LVL_CTRL_MASK, val));
+ regmap_update_bits(hdptx->regmap, LANE_REG(0504),
+ LN_TX_DRV_POST_LVL_CTRL_MASK,
+ FIELD_PREP(LN_TX_DRV_POST_LVL_CTRL_MASK, val));
+ regmap_update_bits(hdptx->regmap, LANE_REG(0604),
+ LN_TX_DRV_POST_LVL_CTRL_MASK,
+ FIELD_PREP(LN_TX_DRV_POST_LVL_CTRL_MASK, val));
+ return 0;
+}
+
static void rk_hdptx_dp_reset(struct rk_hdptx_phy *hdptx)
{
reset_control_assert(hdptx->rsts[RST_LANE].rstc);
@@ -1735,6 +1785,13 @@ static int rk_hdptx_phy_verify_hdmi_config(struct rk_hdptx_phy *hdptx,
unsigned long long frl_rate = 100000000ULL * hdmi_in->frl.lanes *
hdmi_in->frl.rate_per_lane;
+ if (hdmi_in->frl.set_ffe_level) {
+ if (hdmi_in->frl.ffe_level > FRL_FFE_MAX_LEVEL)
+ return -EINVAL;
+
+ return 0;
+ }
+
switch (hdmi_in->frl.rate_per_lane) {
case 3:
case 6:
@@ -2081,11 +2138,18 @@ static int rk_hdptx_phy_configure(struct phy *phy, union phy_configure_opts *opt
if (ret) {
dev_err(hdptx->dev, "invalid hdmi params for phy configure\n");
} else {
- hdptx->pll_config_dirty = true;
+ if (hdptx->hdmi_cfg.mode == PHY_HDMI_MODE_FRL &&
+ opts->hdmi.frl.set_ffe_level) {
+ dev_dbg(hdptx->dev, "%s ffe_level=%u\n", __func__,
+ opts->hdmi.frl.ffe_level);
+ ret = rk_hdptx_frl_ffe_config(hdptx, opts->hdmi.frl.ffe_level);
+ } else {
+ hdptx->pll_config_dirty = true;
- dev_dbg(hdptx->dev, "%s %s rate=%llu bpc=%u\n", __func__,
- hdptx->hdmi_cfg.mode ? "FRL" : "TMDS",
- hdptx->hdmi_cfg.rate, hdptx->hdmi_cfg.bpc);
+ dev_dbg(hdptx->dev, "%s %s rate=%llu bpc=%u\n", __func__,
+ hdptx->hdmi_cfg.mode ? "FRL" : "TMDS",
+ hdptx->hdmi_cfg.rate, hdptx->hdmi_cfg.bpc);
+ }
}
return ret;
--
2.55.0
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2 2/3] phy: rockchip: samsung-hdptx: Handle PHY config after module reload
2026-09-01 19:55 ` [PATCH v2 2/3] phy: rockchip: samsung-hdptx: Handle PHY config after module reload Cristian Ciocaltea
@ 2026-09-01 20:11 ` sashiko-bot
0 siblings, 0 replies; 6+ messages in thread
From: sashiko-bot @ 2026-09-01 20:11 UTC (permalink / raw)
To: Cristian Ciocaltea; +Cc: linux-phy, vkoul, olteanv, neil.armstrong
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
Pre-existing issues:
- [High] The driver deliberately forces a requested rate of 0 to bypass CCF's rate-change skipping, breaking the CCF notifier state machine and posing a fatal divide-by-zero risk for standard downstream dividers.
--
commit 785f91a9be66b165695a8546ef8682f38790202e
Author: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
phy: rockchip: samsung-hdptx: Handle PHY config after module reload
This commit modifies the pll_config_dirty mechanism to first compute the
target rate from the HDMI link configuration before deciding whether to
invalidate the requested rate. It now zeros out req->rate only if it
matches the Common Clock Framework's cached rate.
> diff --git a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
> --- a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
> +++ b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
[ ... ]
> @@ -2346,14 +2346,16 @@ static int rk_hdptx_phy_clk_determine_rate(struct clk_hw *hw,
> * to ensure rk_hdptx_phy_clk_set_rate() will be always invoked.
> * Otherwise, restrict the rate according to the PHY link setup.
> */
> - if (hdptx->pll_config_dirty)
> - req->rate = 0;
> - else if (hdptx->hdmi_cfg.mode == PHY_HDMI_MODE_FRL)
> +
> + if (hdptx->hdmi_cfg.mode == PHY_HDMI_MODE_FRL)
> req->rate = hdptx->hdmi_cfg.rate;
> else
> req->rate = DIV_ROUND_CLOSEST_ULL(hdptx->hdmi_cfg.rate * 8,
> hdptx->hdmi_cfg.bpc);
>
> + if (hdptx->pll_config_dirty && req->rate == clk_hw_get_rate(hw))
> + req->rate = 0;
[Severity: High]
This is a pre-existing issue, but does setting the requested rate to 0
pose a risk of a divide-by-zero exception in downstream clocks?
When CCF propagates this new_rate = 0 to child clocks, if a child clock
uses standard clk_divider_ops, its clk_divider_set_rate() callback
executes divider_get_val(), which evaluates:
DIV_ROUND_UP_ULL(parent_rate, rate)
Since rate is 0, this causes a fatal divide-by-zero exception.
Additionally, because the driver programs the PHY to the actual rate (e.g.,
148.5MHz) and clk_recalc() returns this accurate rate, CCF observes
old_rate == core->rate in clk_change_rate() and skips firing the
POST_RATE_CHANGE notifier.
Does this leave any consumers that prepared state during PRE_RATE_CHANGE
permanently stuck? This path appears reachable by unprivileged userspace
via standard DRM/KMS resolution changes that reconfigure the PHY while
retaining the same clock frequency.
> +
> return 0;
> }
>
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260901-hdptx-ffe-v2-0-3a5922c76fc5@collabora.com?part=2
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 3/3] phy: rockchip: samsung-hdptx: Add support for FRL TxFFE level control
2026-09-01 19:55 ` [PATCH v2 3/3] phy: rockchip: samsung-hdptx: Add support for FRL TxFFE level control Cristian Ciocaltea
@ 2026-09-01 20:12 ` sashiko-bot
0 siblings, 0 replies; 6+ messages in thread
From: sashiko-bot @ 2026-09-01 20:12 UTC (permalink / raw)
To: Cristian Ciocaltea; +Cc: linux-phy, olteanv, vkoul, neil.armstrong
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
Pre-existing issues:
- [High] `phy_validate()` ignores the provided `submode` parameter and relies on the stateful `hdptx->hdmi_cfg.mode`, causing union aliasing validation errors. With the new FFE level check, this can incorrectly validate an invalid TMDS rate by interpreting it as an FRL FFE level update.
--
commit bd6f3d071a3499b9527b292a7bc8d8baac33f3a6
Author: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
phy: rockchip: samsung-hdptx: Add support for FRL TxFFE level control
This commit wires up optional FRL TxFFE level control in the Samsung HDPTX
PHY driver. It enables the source to incrementally raise the TxFFE level in
response to persistent link failures reported by the sink.
> diff --git a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
> --- a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
> +++ b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
[ ... ]
> @@ -1735,6 +1785,13 @@ static int rk_hdptx_phy_verify_hdmi_config(struct rk_hdptx_phy *hdptx,
> unsigned long long frl_rate = 100000000ULL * hdmi_in->frl.lanes *
> hdmi_in->frl.rate_per_lane;
>
> + if (hdmi_in->frl.set_ffe_level) {
> + if (hdmi_in->frl.ffe_level > FRL_FFE_MAX_LEVEL)
> + return -EINVAL;
> +
> + return 0;
> + }
> +
[Severity: High]
This is a pre-existing issue, but does this new FFE check inadvertently
validate invalid TMDS rates due to union aliasing and stateful mode tracking?
In the driver, rk_hdptx_phy_validate() ignores the provided submode parameter
and instead relies on the stateful hdptx->hdmi_cfg.mode. If the PHY is
currently in FRL mode (for example, from a previous display state), TMDS
mode validations will incorrectly route to this FRL branch.
Because tmds_char_rate and the frl bitfields share a union in
struct phy_configure_opts_hdmi, a TMDS rate can alias into the frl fields.
Specifically, set_ffe_level aliases to bit 24 of the union. For a TMDS rate
where bit 24 is set and the aliased ffe_level byte is <= 3 (e.g., around
50.33 MHz), this check will prematurely return 0 (success).
Will this cause the DRM framework to falsely accept an unsupported mode
during the atomic check phase, which then fails in phy_configure() during
the atomic commit phase?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260901-hdptx-ffe-v2-0-3a5922c76fc5@collabora.com?part=3
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-09-01 20:12 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-01 19:55 [PATCH v2 0/3] phy: hdmi: Add FRL TxFFE level control Cristian Ciocaltea
2026-09-01 19:55 ` [PATCH v2 1/3] phy: hdmi: Add optional FRL TxFFE config options Cristian Ciocaltea
2026-09-01 19:55 ` [PATCH v2 2/3] phy: rockchip: samsung-hdptx: Handle PHY config after module reload Cristian Ciocaltea
2026-09-01 20:11 ` sashiko-bot
2026-09-01 19:55 ` [PATCH v2 3/3] phy: rockchip: samsung-hdptx: Add support for FRL TxFFE level control Cristian Ciocaltea
2026-09-01 20:12 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox