[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3f857197-1cd1-4c18-88e9-e8c00d95af82@oss.qualcomm.com>
Date: Tue, 19 Aug 2025 03:42:04 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
To: Cristian Ciocaltea <cristian.ciocaltea@...labora.com>,
Vinod Koul <vkoul@...nel.org>,
Kishon Vijay Abraham I <kishon@...nel.org>,
Heiko Stuebner <heiko@...ech.de>, Algea Cao <algea.cao@...k-chips.com>,
Dmitry Baryshkov <lumag@...nel.org>
Cc: kernel@...labora.com, linux-phy@...ts.infradead.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-rockchip@...ts.infradead.org
Subject: Re: [PATCH v3 01/14] phy: hdmi: Add HDMI 2.1 FRL configuration
options
On 18/08/2025 21:59, Cristian Ciocaltea wrote:
> The HDMI 2.1 specification introduced the Fixed Rate Link (FRL) mode,
> aiming to replace the older Transition-Minimized Differential Signaling
> (TMDS) mode used in previous HDMI versions to support much higher
> bandwidths (up to 48 Gbps) for modern video and audio formats.
>
> FRL has been designed to support ultra high resolution formats at high
> refresh rates like 8K@...z or 4K@...Hz, and eliminates the need for
> dynamic bandwidth adjustments, which reduces latency. It operates with
> 3 or 4 lanes at different link rates: 3Gbps, 6Gbps, 8Gbps, 10Gbps or
> 12Gbps.
>
> Add support for configuring the FRL mode for HDMI PHYs.
Could you please point out corresponding DRM patches? They might be WIP
or incomplete. I'd like to see how this works on the consumer side.
>
> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@...labora.com>
> ---
> include/linux/phy/phy-hdmi.h | 19 +++++++++++++++++--
> 1 file changed, 17 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/phy/phy-hdmi.h b/include/linux/phy/phy-hdmi.h
> index f0ec963c6e84f1b7728acafc824dff191c6b873d..83330d359e3ae345554f20429519da14506b8ab5 100644
> --- a/include/linux/phy/phy-hdmi.h
> +++ b/include/linux/phy/phy-hdmi.h
> @@ -6,16 +6,31 @@
> #ifndef __PHY_HDMI_H_
> #define __PHY_HDMI_H_
>
> +#include <linux/types.h>
> +
> +enum phy_mode_hdmi {
> + PHY_MODE_HDMI_TMDS,
> + PHY_MODE_HDMI_FRL,
There is no unified approach for PHY submode names. Nevertheless I'd
suggest something like PHY_HDMI_MODE_TMDS / _FRL. It follows more
closely the networking / USB submodes. An alternative might be to use
PHY_SUBMODE_HDMI_TMDS / _FRL.
But it's really a nit and/or bikeschedding.
> +};
> +
> /**
> * struct phy_configure_opts_hdmi - HDMI configuration set
> - * @tmds_char_rate: HDMI TMDS Character Rate in Hertz.
> * @bpc: Bits per color channel.
> + * @tmds_char_rate: HDMI TMDS Character Rate in Hertz.
> + * @frl.rate_per_lane: HDMI FRL Rate per Lane in Gbps.
This works nicely until HDMI Forum adds an rate not being even Gbps. Is
there a reason for not using ULL and bps following the tmds_char_rate
design?
> + * @frl.lanes: HDMI FRL lanes count.
> *
> * This structure is used to represent the configuration state of a HDMI phy.
> */
> struct phy_configure_opts_hdmi {
> - unsigned long long tmds_char_rate;
> unsigned int bpc;
> + union {
> + unsigned long long tmds_char_rate;
> + struct {
> + u8 rate_per_lane;
> + u8 lanes;
> + } frl;
> + };
> };
>
> #endif /* __PHY_HDMI_H_ */
>
--
With best wishes
Dmitry
Powered by blists - more mailing lists