mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Vinod Koul <vkoul@kernel.org>
To: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Cc: Neil Armstrong <neil.armstrong@linaro.org>,
	Manivannan Sadhasivam <mani@kernel.org>,
	Heiko Stuebner <heiko@sntech.de>,
	Andy Yan <andy.yan@rock-chips.com>,
	kernel@collabora.com, linux-phy@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org
Subject: Re: [PATCH v2 1/3] phy: hdmi: Add optional FRL TxFFE config options
Date: Sat, 3 Oct 2026 22:39:34 +0200	[thread overview]
Message-ID: <asFoBih6P7Cr6Ute@parshuram> (raw)
In-Reply-To: <20260901-hdptx-ffe-v2-1-3a5922c76fc5@collabora.com>

On 01-09-26, 22:55, Cristian Ciocaltea wrote:
> 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 ffe_level 0 implies it is disabled, so why should we use a flag for
this? Rather use if value valid (non zero) logic to apply..?

> 
> 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

-- 
~Vinod

  reply	other threads:[~2026-10-03 20:39 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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-10-03 20:39   ` Vinod Koul [this message]
2026-10-03 21:33     ` Cristian Ciocaltea
2026-10-04 10:52       ` Vinod Koul
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
2026-10-05 10:20 ` [PATCH v2 0/3] phy: hdmi: Add " Vinod Koul

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=asFoBih6P7Cr6Ute@parshuram \
    --to=vkoul@kernel.org \
    --cc=andy.yan@rock-chips.com \
    --cc=cristian.ciocaltea@collabora.com \
    --cc=heiko@sntech.de \
    --cc=kernel@collabora.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-phy@lists.infradead.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=mani@kernel.org \
    --cc=neil.armstrong@linaro.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

all inboxes | Powered by JetHome®