[PATCH 05/11] drm/edid: Only parse VRR range for continuous frequency displays

Jani Nikula jani.nikula at linux.intel.com
Mon Aug 29 08:58:53 UTC 2022


On Sat, 27 Aug 2022, Ville Syrjala <ville.syrjala at linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Since we only use the parsed vrefresh range to determine
> if VRR should be supported we should only accept continuous
> frequency displays here.
>
> Cc: Manasi Navare <manasi.d.navare at intel.com>
> Cc: Nicholas Kazlauskas <nicholas.kazlauskas at amd.com>
> Cc: Harry Wentland <harry.wentland at amd.com>
> Cc: Leo Li <sunpeng.li at amd.com>
> Cc: Rodrigo Siqueira <Rodrigo.Siqueira at amd.com>
> Cc: amd-gfx at lists.freedesktop.org
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

Makes sense, at least for sane EDIDs. :p

Reviewed-by: Jani Nikula <jani.nikula at intel.com>

> ---
>  drivers/gpu/drm/drm_edid.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 856d304a1354..b459fdf12b58 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -6064,7 +6064,10 @@ static void drm_get_vrr_range(struct drm_connector *connector,
>  		.drm_edid = drm_edid,
>  	};
>  
> -	if (!version_greater(drm_edid, 1, 1))
> +	if (!version_greater(drm_edid, 1, 3))
> +		return;
> +
> +	if (!(drm_edid->edid->features & DRM_EDID_FEATURE_CONTINUOUS_FREQ))
>  		return;
>  
>  	drm_for_each_detailed_block(drm_edid, get_vrr_range, &closure);

-- 
Jani Nikula, Intel Open Source Graphics Center


More information about the dri-devel mailing list