drm/edid: Add both 60Hz and 59.94Hz CEA modes to connector's mode list
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 31 May 2013 12:23:41 +0000 (15:23 +0300)
committerDave Airlie <airlied@redhat.com>
Mon, 10 Jun 2013 22:51:31 +0000 (08:51 +1000)
commite6e792092e816bea0797995c886fb057c91d4546
treecff8c2889d60c9c1af7a5aeaa1f886071ed98029
parenta5d0f5766f2e9cb04f0f775bf679d41ae1a54d50
drm/edid: Add both 60Hz and 59.94Hz CEA modes to connector's mode list

Having both modes can be beneficial for video playback cases. If you can
match the video framerate exactly, and the audio and video clocks come
from the same source, you should be able to avoid dropped/repeated
frames without expensive operations such as resampling the audio to
match video output rate.

Rather than add both variants based on the CEA extension short video
descriptors in do_cea_modes(), add only one variant there. Once all
the EDID has been fully probed, do a loop over the entire probed mode
list, during which we add the other variants for all modes that match
CEA modes. This allows us to match modes that didn't come via the CEA
short video descriptors. For example one Samsung TV here doesn't have
the 640x480-60 mode as a SVD, but instead it's specified via a detailed
timing descriptor.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/drm_edid.c