drm/edid: Do drm_dmt_modes_for_range() for all range descriptor types
authorAdam Jackson <ajax@redhat.com>
Fri, 13 Apr 2012 20:33:36 +0000 (16:33 -0400)
committerDave Airlie <airlied@redhat.com>
Fri, 20 Apr 2012 11:57:32 +0000 (12:57 +0100)
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>
drivers/gpu/drm/drm_edid.c

index cb40611..9363349 100644 (file)
@@ -1042,12 +1042,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