[04/10] drm/edid: Do drm_dmt_modes_for_range() for all range descriptor types

Submitted by Dave Chiluk on Jan. 30, 2013, 5:28 a.m.

Details

Message ID 1359523711-5875-5-git-send-email-chiluk@canonical.com
State New
Headers show

Commit Message

Dave Chiluk Jan. 30, 2013, 5:28 a.m.
From: Adam Jackson <ajax@redhat.com>

BugLink: http://bugs.launchpad.net/bugs/1109112

EDID 1.4 retcons the meaning of the "GTF feature" bit to mean "is
continuous frequency", and moves the set of supported timing formulas
into the range descriptor itself.  In any event, the range descriptor
can act as a filter on the DMT list without regard to a specific timing
formula.

Signed-off-by: Adam Jackson <ajax@redhat.com>
Tested-by: Takashi Iwai <tiwai@suse.de>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit cb21aafe121b1c3ad4c77cc5c22320163f16ba42)

Signed-off-by: David Chiluk <chiluk@canonical.com>
---
 drivers/gpu/drm/drm_edid.c |   11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

Patch hide | download patch | download mbox

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index e0c9086..3a61d32 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -1057,12 +1057,13 @@  do_inferred_modes(struct detailed_timing *timing, void *c)
 {
 	struct detailed_mode_closure *closure = c;
 	struct detailed_non_pixel *data = &timing->data.other_data;
-	int gtf = (closure->edid->features & DRM_EDID_FEATURE_DEFAULT_GTF);
 
-	if (gtf && data->type == EDID_DETAIL_MONITOR_RANGE)
-		closure->modes += drm_dmt_modes_for_range(closure->connector,
-							  closure->edid,
-							  timing);
+	if (data->type != EDID_DETAIL_MONITOR_RANGE)
+		return;
+
+	closure->modes += drm_dmt_modes_for_range(closure->connector,
+						  closure->edid,
+						  timing);
 }
 
 static int