OSDN Git Service

drm/edid: Only parse VRR range for continuous frequency displays
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 27 Sep 2022 17:00:00 +0000 (20:00 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 4 Oct 2022 19:44:33 +0000 (22:44 +0300)
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@intel.com>
Cc: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Leo Li <sunpeng.li@amd.com>
Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Cc: amd-gfx@lists.freedesktop.org
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220927170006.27855-4-ville.syrjala@linux.intel.com
drivers/gpu/drm/drm_edid.c

index 72713fe..e0d8ed9 100644 (file)
@@ -6072,7 +6072,10 @@ static void drm_get_monitor_range(struct drm_connector *connector,
 {
        struct drm_display_info *info = &connector->display_info;
 
-       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_monitor_range,