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 cb40611a1d1d9e38d0dd30dd19289ba7080d6259..9363349fa0341fb1f6e946ef7110b8e4a4bc7719 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