Bug 29259

Summary: [i965] Modesetting fails for non-native panel DVI + VGA
Product: DRI Reporter: Chris Wilson <chris>
Component: DRM/IntelAssignee: Jesse Barnes <jbarnes>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: lowest CC: ben, chris, daniel, jbarnes
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg
none
dmesg
none
disable cloning on sdvo none

Description Chris Wilson 2010-07-26 02:13:42 UTC
Whilst trying to reproduce bug 28811 on my t61, I found (connecting DVI and VGA to the same 1920x1080 panel):

xrandr --output LVDS1 --off --output VGA1 --off --output DVI1 --mode 1024x768 # works

xrandr --output LVDS1 --off --output VGA1 --mode 1024x768 --output DVI1 --off # works

xrandr --output LVDS1 --off --output VGA1 --mode 1024x768 --output DVI1 --mode 1024x768 # both DVI and VGA is out-of-sync

Unsure where the bug lies, if actually a bug.

Repeating the test for different resolutions works, then going back to 1024x768 worked. Hmm.
Comment 1 Chris Wilson 2010-07-26 02:14:37 UTC
Lowest priority until I can reproduce reliably and figure out what is going on.
Comment 2 Chris Wilson 2010-08-12 10:13:38 UTC
Created attachment 37820 [details]
dmesg

The issue appears connected with sharing the crtc between the two encoders.
Comment 3 Chris Wilson 2010-08-15 13:17:06 UTC
See also bug 16777.
Comment 4 Chris Wilson 2012-02-24 07:17:51 UTC
Bring on the atomic multiple-crtc modesetting!
Comment 5 Daniel Vetter 2012-02-24 07:45:33 UTC
Atomic modesetting across mutliple crtcs is Jesse's pet-peeve.
Comment 6 Jesse Barnes 2012-04-18 12:20:52 UTC
What if you prevent CRTC sharing by setting the clone_mask for VGA and/or DVI to prevent it?  Pipe sharing hasn't been well validated for a long time, so we shouldn't allow it much these days...
Comment 7 Daniel Vetter 2012-11-13 13:24:58 UTC
Prod for retesting or closing ...

If it's indeed a sharing bug, the recent pile of "disallow sharing with SDVO" might have helped. Otherwise I think we should just disable sharing some more - it's busted for sure.
Comment 8 Chris Wilson 2012-11-13 14:49:49 UTC
Still fails.
Comment 9 Chris Wilson 2012-11-13 14:51:09 UTC
Created attachment 70007 [details]
dmesg
Comment 10 Daniel Vetter 2012-11-13 15:02:21 UTC
Checked dmesg, it's indeed setting up a shared pipe for VGA and DVI. I guess we should just throw in the tovel and declare SDVO as non-shareable. Let me stitch together a patch.
Comment 11 Daniel Vetter 2012-11-13 15:03:39 UTC
Created attachment 70009 [details] [review]
disable cloning on sdvo

Disabling sdvo cloning completely. It's broken.

Patch applies on top of -nightly due to a sdvo cloning-disable patch which is only in -fixes.
Comment 12 Chris Wilson 2012-11-13 15:37:56 UTC
That does the trick, so

Tested-by: Chris Wilson <chris@chris-wilson.co.uk>

I can still dream that we could share the resources, but it is not worth fighting for.
Comment 13 Chris Wilson 2012-11-21 11:45:35 UTC
commit e506d6fde50e0a737234892eda31708692bdda29
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Tue Nov 13 17:24:43 2012 +0100

    drm/i915: disable cloning on sdvo
    
    After the recent pile of disable-cloning patches, e.g.
    
    commit e3b86d6941c7e5f90be05d986fce1fcb40c68d6b
    Author: Egbert Eich <eich@suse.de>
    Date:   Sat Oct 13 14:30:15 2012 +0200
    
        DRM/i915: Don't clone SDVO LVDS with analog
    
    and a bug report from Chris Wilson indicating that cloning doesn't
    even work for DVI-SDVO and native VGA, let's just disable cloning on
    sdvo encoders completely.
    
    v2: Update the comment in the code as discussed with Paulo Zanoni.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.