drm/edid: Unconfuse preferred timing stuff a bit

For EDID 1.4 the first detailed timing is always preferred,
for older EDIDs there was a feature flag to indicate the same.
While correct, the code setting that up is rather confusing.
Restate it in a slightly more straightforward manner.

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-8-ville.syrjala@linux.intel.com
This commit is contained in:
Ville Syrjälä
2022-09-27 20:00:04 +03:00
parent bf72b5ef6e
commit f72f9529b0

View File

@@ -3952,13 +3952,14 @@ static int add_detailed_modes(struct drm_connector *connector,
struct detailed_mode_closure closure = { struct detailed_mode_closure closure = {
.connector = connector, .connector = connector,
.drm_edid = drm_edid, .drm_edid = drm_edid,
.preferred = true,
.quirks = quirks, .quirks = quirks,
}; };
if (closure.preferred && !version_greater(drm_edid, 1, 3)) if (version_greater(drm_edid, 1, 3))
closure.preferred = true; /* first detailed timing is always preferred */
else
closure.preferred = closure.preferred =
(drm_edid->edid->features & DRM_EDID_FEATURE_PREFERRED_TIMING); drm_edid->edid->features & DRM_EDID_FEATURE_PREFERRED_TIMING;
drm_for_each_detailed_block(drm_edid, do_detailed_mode, &closure); drm_for_each_detailed_block(drm_edid, do_detailed_mode, &closure);