commit: 196e077dc165a307efbd9e7569f81bbdbcf18f65
From: Paulo Zanoni <[email protected]>
Date: Fri, 15 Feb 2013 13:36:27 -0200
Subject: drm: don't add inferred modes for monitors that don't support them

If bit 0 of the features byte (0x18) is set to 0, then, according to
the EDID spec, "the display is non-continuous frequency (multi-mode)
and is only specified to accept the video timing formats that are
listed in Base EDID and certain Extension Blocks".

For more information, please see the EDID spec, check the notes of the
table that explains the "Feature Support" byte (18h) and also the
notes on the tables of the section that explains "Display Range Limits
& Additional Timing Description Definition (tag #FDh)".

Cc: [email protected]
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45729
Reviewed-by: Alex Deucher <[email protected]>
Reviewed-by: Adam Jackson <[email protected]>
Signed-off-by: Paulo Zanoni <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
---
 drivers/gpu/drm/drm_edid.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index e1aca7b..67aa0dd 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -2054,7 +2054,8 @@ int drm_add_edid_modes(struct drm_connector *connector, 
struct edid *edid)
        num_modes += add_cvt_modes(connector, edid);
        num_modes += add_standard_modes(connector, edid);
        num_modes += add_established_modes(connector, edid);
-       num_modes += add_inferred_modes(connector, edid);
+       if (edid->features & DRM_EDID_FEATURE_DEFAULT_GTF)
+               num_modes += add_inferred_modes(connector, edid);
        num_modes += add_cea_modes(connector, edid);
 
        if (quirks & (EDID_QUIRK_PREFER_LARGE_60 | EDID_QUIRK_PREFER_LARGE_75))
-- 
1.7.10.4
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to