OSDN Git Service

drm/edid: Use the correct formula for standard timings
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 27 Sep 2022 17:00:03 +0000 (20:00 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 4 Oct 2022 22:18:11 +0000 (01:18 +0300)
commitbf72b5ef6e2b4e7d1a8a7086757a651831f907cc
tree6264adfd3a7d4f50e4e9e0c9d445882bffad0a38
parent9ed15f91310ceb722aa346ea58831ae0478d8018
drm/edid: Use the correct formula for standard timings

Prefer the timing formula indicated by the range
descriptor for generating the non-DMT standard timings.

Previously we just used CVT for all EDID 1.4 continuous
frequency displays without even checking if the range
descriptor indicates otherwise. Now we check the range
descriptor first, and fall back to CVT if nothing else
was indicated. EDID 1.4 more or less deprecates GTF/GTF2
but there are still a lot of 1.4 EDIDs out there that
don't advertise CVT support, so seems safer to use the
formula the EDID actually reports as supported.

For EDID 1.3 we use GTF2 if indicated (as before), and for
EDID 1.2+ we now just use GTF without even checking the
feature flag. There seem to be quite a few EDIDs out there that
don't set the GTF feature flag but still include a GTF range
descriptor and non-DMT standard timings.

This to me seems to be roughly what appendix B of EDID 1.4
suggests should be done.

Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220927170006.27855-7-ville.syrjala@linux.intel.com
drivers/gpu/drm/drm_edid.c