Bug 42842 - Dual channel LVDS is not configured correctly
Summary: Dual channel LVDS is not configured correctly
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(DRI - Intel) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_video-dri-intel@kernel-bugs.osdl.org
Depends on:
Reported: 2012-03-01 11:45 UTC by Austin Lund
Modified: 2012-07-01 10:32 UTC (History)
5 users (show)

See Also:
Kernel Version: 3.3-rc5
Regression: No
Bisected commit-id:

dmesg output drm.debug=15 (107.68 KB, text/plain)
2012-03-19 09:12 UTC, Austin Lund
dmidecode output (28.11 KB, text/plain)
2012-03-26 01:52 UTC, Austin Lund
dual link quirk (1.71 KB, patch)
2012-03-26 07:37 UTC, Daniel Vetter
Details | Diff

Description Austin Lund 2012-03-01 11:45:34 UTC
I have a macbookpro 8,2. When using the EFI boot the discrete graphics is disabled (no bios).  The integrated graphics (pci id 8086:0126) is enabled and somewhat works but the screen is messed up as two LVDS channels are required to send data to the high res display, but the i915 driver does not seem to be configured to figure this out for this configuration.

See the below link for an explanation and a workaround patch that applied on an earlier kernel version (3.1 I believe).  I have tested this and the bug is present on 3.3-rc5.

Comment 1 Austin Lund 2012-03-19 09:12:31 UTC
Created attachment 72652 [details]
dmesg output drm.debug=15

This output is generated without having any display to generate it.  There is no error as such, but the display is configured incorrectly.

I'm not sure, but I think it switches to a 1280x800 mode which should be possible with a single LVDS channel, but I'm not sure if that's how things work.  The native resolution of the display is 1680x1050.
Comment 2 Daniel Vetter 2012-03-24 23:24:11 UTC
Please test the drm-intel-testing branch from http://cgit.freedesktop.org/~danvet/drm-intel/log/?h=drm-intel-testing

If that kernel doesn't work by default, it has gained a new lvds_channel_mode. In any case, please attach the output of the dmidecode tool to this bug.
Comment 3 Austin Lund 2012-03-26 01:52:46 UTC
Created attachment 72712 [details]
dmidecode output

The dmidecode is not very helpful.  It doesn't even report the integrated graphics, just the discrete nVidia one.

The intel-drm-testing branch works if I set lvds_channel_mode=2, but not for 0.

I would have thought the "right" way to do this would be to calculate how many LVDS channels are required on a mode by mode basis given the limits of the LVDS protocol and the timing of the mode.
Comment 4 Daniel Vetter 2012-03-26 07:37:49 UTC
Created attachment 72713 [details]
dual link quirk

Please test this patch and if it works, supply your Tested-by.
Comment 5 Austin Lund 2012-03-27 00:08:50 UTC
Tested and works.  The Macbookpro8,3 probably needs this too but I do not have that hardware to test it on.
Comment 6 Daniel Vetter 2012-03-27 07:18:04 UTC
Ok, I've submitted this patch for inclusion. Unfortunately due to some dependencies with new patches, it'll likely only get in for 3.5 (and not get backported). So please keep on applying this on till then.

Thanks for reporting this issue.
Comment 7 Julian Simioni 2012-03-28 00:15:44 UTC
Just adding a +1:

I tested this on my MacbookPro8,2 and everything works with no extra kernel options once the dual link quirk diff is applied.
Comment 8 Florian Mickler 2012-07-01 09:39:00 UTC
A patch referencing this bug report has been merged in Linux v3.5-rc1:

commit 121d527a323f3fde313a8f522060ba859ee405b3
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Mar 20 13:07:06 2012 +0100

    drm/i915: Add lvds_channel module option
Comment 9 Florian Mickler 2012-07-01 09:49:32 UTC
A patch referencing this bug report has been merged in Linux v3.5-rc1:

commit 618563e3945b9d0864154bab3c607865b557cecc
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Sun Apr 1 13:38:50 2012 +0200

    drm/i915: Add a dual link lvds quirk for MacBook Pro 8,2

Note You need to log in before you can comment on or make changes to this bug.