• Daniel Vetter's avatar
    drm/i915: prefer VBT modes for SVDO-LVDS over EDID · 508056cc
    Daniel Vetter authored
    commit c3456fb3 upstream.
    
    In
    
    commit 53d3b4d7
    Author: Egbert Eich <eich@suse.de>
    Date:   Tue Jun 4 17:13:21 2013 +0200
    
        drm/i915/sdvo: Use &intel_sdvo->ddc instead of intel_sdvo->i2c for DDC
    
    Egbert Eich fixed a long-standing bug where we simply used a
    non-working i2c controller to read the EDID for SDVO-LVDS panels.
    Unfortunately some machines seem to not be able to cope with the mode
    provided in the EDID. Specifically they seem to not be able to cope
    with a 4x pixel mutliplier instead of a 2x one, which seems to have
    been worked around by slightly changing the panels native mode in the
    VBT so that the dotclock is just barely above 50MHz.
    
    Since it took forever to notice the breakage it's fairly safe to
    assume that at least for SDVO-LVDS panels the VBT contains fairly sane
    data. So just switch around the order and use VBT modes first.
    
    v2: Also add EDID modes just in case, and spell Egbert correctly.
    
    v3: Elaborate a bit more about what's going on on Chris' machine.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=65524
    
    Reported-and-tested-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Cc: Egbert Eich <eich@suse.de>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    508056cc
intel_sdvo.c 79.5 KB