The final result of my bisect is actually what I guessed in the previous
comment (see output below). The patch (also below) is simple and one can
easily see that undoing it would solve the problem.

It seems that some monitors (including my monitor) report that they are
non-continuous frequency but in reality they are. The simplest way to
fix this bug is simply to undo the patch to support such buggy monitors,
the correct fix would be an exception list with the monitors which
support resolutions which they do not report.

There should perhaps be a possibility to override this manually by a
run-time configuration bit so that for all monitors the non-reported
resolutions get listed.

till@till-twist:~/kernel/linux-stable$ git bisect good
740922ee575f8ee4daa2bfd3db5f69dd7573fc76 is the first bad commit
commit 740922ee575f8ee4daa2bfd3db5f69dd7573fc76
Author: Paulo Zanoni <paulo.r.zan...@intel.com>
Date:   Fri Feb 15 13:36:27 2013 -0200

    drm: don't add inferred modes for monitors that don't support them
    
    commit 196e077dc165a307efbd9e7569f81bbdbcf18f65 upstream.
    
    If bit 0 of the features byte (0x18) is set to 0, then, according to
    the EDID spec, "the display is non-continuous frequency (multi-mode)
    and is only specified to accept the video timing formats that are
    listed in Base EDID and certain Extension Blocks".
    
    For more information, please see the EDID spec, check the notes of the
    table that explains the "Feature Support" byte (18h) and also the
    notes on the tables of the section that explains "Display Range Limits
    & Additional Timing Description Definition (tag #FDh)".
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45729
    Reviewed-by: Alex Deucher <alexander.deuc...@amd.com>
    Reviewed-by: Adam Jackson <a...@redhat.com>
    Signed-off-by: Paulo Zanoni <paulo.r.zan...@intel.com>
    Signed-off-by: Dave Airlie <airl...@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>

:040000 040000 26e271499e4ff7746011a296e569a985126aeb3f 
d43c54ed20f43a1459c6adb7d922ee2be55c9317 M      drivers
till@till-twist:~/kernel/linux-stable$ 

Here is the patch:

till@till:~/ubuntu/linux/linux-stable$ git diff -r 740922e~..740922e
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 5a3770f..584d5fd 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -2020,7 +2020,8 @@ int drm_add_edid_modes(struct drm_connector *connector, st
        num_modes += add_cvt_modes(connector, edid);
        num_modes += add_standard_modes(connector, edid);
        num_modes += add_established_modes(connector, edid);
-       num_modes += add_inferred_modes(connector, edid);
+       if (edid->features & DRM_EDID_FEATURE_DEFAULT_GTF)
+               num_modes += add_inferred_modes(connector, edid);
        num_modes += add_cea_modes(connector, edid);
 
        if (quirks & (EDID_QUIRK_PREFER_LARGE_60 | EDID_QUIRK_PREFER_LARGE_75))
till@till:~/ubuntu/linux/linux-stable$ 


** Bug watch added: freedesktop.org Bugzilla #45729
   https://bugs.freedesktop.org/show_bug.cgi?id=45729

** Changed in: linux (Ubuntu)
       Status: Incomplete => Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1167301

Title:
  8086:0166 [ThinkPad Twist S230u 3347] REGRESSION: Mirroring display
  works only with 1024x768 (4:3) whereas my laptop has 1366x768 (16:9) &
  external monitor 1920x1080 (16:9)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1167301/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to