[Intel-gfx] [PATCH] drm/i915/hdmi: Prune modes that require HDMI2.1 FRL

Murthy, Arun R arun.r.murthy at intel.com
Tue Jul 19 03:15:07 UTC 2022


> -----Original Message-----
> From: Nautiyal, Ankit K <ankit.k.nautiyal at intel.com>
> Sent: Friday, July 8, 2022 3:36 PM
> To: Murthy, Arun R <arun.r.murthy at intel.com>; intel-
> gfx at lists.freedesktop.org
> Subject: Re: [Intel-gfx] [PATCH] drm/i915/hdmi: Prune modes that require
> HDMI2.1 FRL
> 
> Hi Arun,
> 
> Thanks for the comments.
> 
> Please find my response inline.
> 
> On 7/8/2022 9:30 AM, Murthy, Arun R wrote:
> >
> >> -----Original Message-----
> >> From: Intel-gfx <intel-gfx-bounces at lists.freedesktop.org> On Behalf
> >> Of Ankit Nautiyal
> >> Sent: Thursday, July 7, 2022 10:57 AM
> >> To: intel-gfx at lists.freedesktop.org
> >> Subject: [Intel-gfx] [PATCH] drm/i915/hdmi: Prune modes that require
> >> HDMI2.1 FRL
> >>
> >> HDMI2.1 requires some higher resolution video modes to be enumerated
> >> only if HDMI2.1 Fixed Rate Link (FRL) is supported.
> >> Current platforms do not support FRL transmission so prune modes that
> >> require HDMI2.1 FRL.
> >>
> > If the hardware doesn't support FRL then it basically blocks HDMI2.1
> feature.
> > Then it wont be possible to use any resolution above 4k60 is it?
> 
> 
> Yes right. As I understand, the HDMI2.1a supersedes HDMI2.0b, and so the
> 
> platforms  supporting HDMI2.0 must now pass the HDMI2.1 CTS.
> The HDMI2.1a spec introduces Marketing Feature names for 4K100, 4K120,
> 8k at 50, 8k at 60 with suffix A, and B.
> Suffix A meaning mode supported without compression, and B meaning,
> mode supported with compression.
> 
> There are CTS tests that expect these modes not to be enumerated, if the
> source does support the given requirements.
> 
> 
Thanks for the clarification.

> >
> >> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal at intel.com>
> >> ---
> >>   drivers/gpu/drm/i915/display/intel_hdmi.c | 21
> +++++++++++++++++++++
> >>   1 file changed, 21 insertions(+)
> >>
> >> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c
> >> b/drivers/gpu/drm/i915/display/intel_hdmi.c
> >> index ebd91aa69dd2..93c00b61795f 100644
> >> --- a/drivers/gpu/drm/i915/display/intel_hdmi.c
> >> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
> >> @@ -1974,6 +1974,20 @@ intel_hdmi_mode_clock_valid(struct
> >> drm_connector *connector, int clock,
> >>   	return status;
> >>   }
> >>
> >> +/*
> >> + * HDMI2.1 requires higher resolution modes like 8k60, 4K120 to be
> >> + * enumerated only if FRL is supported. Platforms not supporting FRL
> >> + * must prune these modes.
> >> + */
> >> +static bool
> >> +hdmi21_frl_quirk(int dotclock, bool frl_supported) {
> >> +	if (dotclock >= 600000 && !frl_supported)
> >> +		return true;
> >> +
> >> +	return false;
> >> +}
> >> +
> >>   static enum drm_mode_status
> >>   intel_hdmi_mode_valid(struct drm_connector *connector,
> >>   		      struct drm_display_mode *mode) @@ -2001,6 +2015,13
> @@
> >> intel_hdmi_mode_valid(struct drm_connector *connector,
> >>   		clock *= 2;
> >>   	}
> >>
> >> +	/*
> >> +	 * Current Platforms do not support HDMI2.1 FRL mode of
> >> transmission,
> >> +	 * so prune the modes that require FRL.
> >> +	 */
> >> +	if (hdmi21_frl_quirk(clock, false))
> >> +		return MODE_BAD;
> >> +
> > Instead of setting this frl_supported as false, can we get this info
> > from hardware, so that when our hardware supports it later it would be
> easy to enable this.
> 
> We can have something like:
> 
> src_supports_frl()
> 
> {
> 
> /* FRL not supported in
> 
> return false;
> 
> }
> 
Yes something like this looks good. It would be a good design to judge this based on the
Display version.

Thanks and Regards,
Arun R Murthy
--------------------


More information about the Intel-gfx mailing list