Commit a327f6b8 authored by Adam Jackson's avatar Adam Jackson Committed by Dave Airlie

drm/edid: Fix preferred mode parse for EDID 1.4

In 1.4, the first detailed mode is always the preferred mode.  The bit
that used to mean that, now means "this mode is the physical size in
pixels".
Signed-off-by: default avatarAdam Jackson <ajax@redhat.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 59d8aff6
...@@ -1295,7 +1295,10 @@ static int add_detailed_info(struct drm_connector *connector, ...@@ -1295,7 +1295,10 @@ static int add_detailed_info(struct drm_connector *connector,
for (i = 0; i < EDID_DETAILED_TIMINGS; i++) { for (i = 0; i < EDID_DETAILED_TIMINGS; i++) {
struct detailed_timing *timing = &edid->detailed_timings[i]; struct detailed_timing *timing = &edid->detailed_timings[i];
int preferred = (i == 0) && (edid->features & DRM_EDID_FEATURE_PREFERRED_TIMING); int preferred = (i == 0);
if (preferred && edid->version == 1 && edid->revision < 4)
preferred = (edid->features & DRM_EDID_FEATURE_PREFERRED_TIMING);
/* In 1.0, only timings are allowed */ /* In 1.0, only timings are allowed */
if (!timing->pixel_clock && edid->version == 1 && if (!timing->pixel_clock && edid->version == 1 &&
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment