| Date | Sun, 06 Dec 2009 16:00:46 -0800 | From | Greg KH <> | Subject | [070/119] drm: work around EDIDs with bad htotal/vtotal values |
| |
2.6.31-stable review patch. If anyone has any objections, please let us know.
------------------ From: Jesse Barnes <jbarnes@virtuousgeek.org>
commit 7064fef56369c9e2c6e35ff6d6b4b63d42a859ce upstream.
We did this on the userspace side, but we need a similar fix for the kernel.
Fixes LP #460664.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- drivers/gpu/drm/drm_edid.c | 6 ++++++ 1 file changed, 6 insertions(+)
--- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -333,6 +333,12 @@ static struct drm_display_mode *drm_mode mode->vsync_end = mode->vsync_start + vsync_pulse_width; mode->vtotal = mode->vdisplay + vblank; + /* Some EDIDs have bogus h/vtotal values */ + if (mode->hsync_end > mode->htotal) + mode->htotal = mode->hsync_end + 1; + if (mode->vsync_end > mode->vtotal) + mode->vtotal = mode->vsync_end + 1; + drm_mode_set_name(mode); if (pt->misc & DRM_EDID_PT_INTERLACED)
|