Bug 104001 - DP monitor on dock of HP laptop doesn't work with 4.2 kernel
Summary: DP monitor on dock of HP laptop doesn't work with 4.2 kernel
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(DRI - Intel) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: intel-gfx-bugs@lists.freedesktop.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-09-03 15:48 UTC by Takashi Iwai
Modified: 2015-09-04 14:12 UTC (History)
2 users (show)

See Also:
Kernel Version: 4.2
Subsystem:
Regression: No
Bisected commit-id:


Attachments
dmesg from broken 4.2 kernel at plugging DP (74.47 KB, text/plain)
2015-09-03 15:49 UTC, Takashi Iwai
Details
dmesg from 4.2 kernel with revert after plugging DP (72.06 KB, text/plain)
2015-09-03 15:50 UTC, Takashi Iwai
Details
dmesg from 4.1.6 kernel after plugging DP (62.37 KB, text/plain)
2015-09-03 15:54 UTC, Takashi Iwai
Details

Description Takashi Iwai 2015-09-03 15:48:25 UTC
The DP monitor connected to a dock port of HP EliteBook 940 G1 doesn't work any longer since 4.2 kernel.  It worked with 4.1.

When connected, it results in repeated errors of 
  [drm:intel_dp_start_link_train [i915]] *ERROR* too many voltage retries, give up

eventually got many other errors and warnings.

The git bisection pointed to the commit
8504c74c7ae48b4b8ed1f1c0acf67482a7f45c93
  drm/i915: Preserve ddi_pll_sel when allocating new pipe_config

and actually reverting this commit makes DP working again.

IIRC, it's MST.
Comment 1 Takashi Iwai 2015-09-03 15:49:18 UTC
Created attachment 186651 [details]
dmesg from broken 4.2 kernel at plugging DP
Comment 2 Takashi Iwai 2015-09-03 15:50:02 UTC
Created attachment 186661 [details]
dmesg from 4.2 kernel with revert after plugging DP
Comment 3 Takashi Iwai 2015-09-03 15:54:04 UTC
Created attachment 186671 [details]
dmesg from 4.1.6 kernel after plugging DP
Comment 4 Takashi Iwai 2015-09-03 15:55:39 UTC
Oh, BTW it's a Hawell ULT GT2 mobile.

00:02.0 0300: 8086:0a16 (rev 0b) (prog-if 00 [VGA controller])
	DeviceName: 128
	Subsystem: 103c:213e

X intel driver is 2.99.917.
Mesa 10.6.5.
libdrm 2.4.64.
Comment 6 Takashi Iwai 2015-09-03 16:06:49 UTC
Which git branch is supposed to have the fix?
Comment 7 Ville Syrjala 2015-09-03 16:33:31 UTC
Looks to be in drm-intel-next-fixes.
Comment 8 Takashi Iwai 2015-09-03 18:01:50 UTC
OK, thanks, I'll give it a try tomorrow.
(I already tried drm-intel-fixes and drm-intel-next yesterday, but it failed, too.)
Comment 9 Jani Nikula 2015-09-04 07:03:36 UTC
commit 7e6313a2516dbcd168f4ae36f0abe1a9227106b5
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Tue Aug 11 20:21:46 2015 +0300

    drm/i915: Don't use link_bw for PLL setup

commit 6fa2d197936ba0b8936e813d0adecefac160062b
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Date:   Mon Aug 31 11:23:28 2015 +0300

    i915: Set ddi_pll_sel in DP MST path

(The first is just to avoid conflicts.)
Comment 10 Takashi Iwai 2015-09-04 09:53:40 UTC
I confirmed that the DP works again with drm-intel-next-fixes branch.  Thanks!

However, there are still a few ugly warnings.
At booting:

[    5.205358] [drm:intel_pipe_config_compare [i915]] *ERROR* mismatch in has_drrs (expected 1, found 0)
[    5.205361] ------------[ cut here ]------------
[    5.205387] WARNING: CPU: 3 PID: 76 at drivers/gpu/drm/i915/intel_display.c:12691 intel_modeset_check_state+0x5a4/0x870 [i915]()
[    5.205388] pipe state doesn't match!

At plugging DP:

[   33.096865] [drm:intel_pipe_config_compare [i915]] *ERROR* mismatch in has_drrs (expected 1, found 0)
[   33.096876] ------------[ cut here ]------------
[   33.096916] WARNING: CPU: 3 PID: 988 at drivers/gpu/drm/i915/intel_display.c:12691 intel_modeset_check_state+0x5a4/0x870 [i915]()
[   33.096919] pipe state doesn't match!

and

[   33.230467] WARNING: CPU: 3 PID: 988 at drivers/gpu/drm/i915/intel_display.c:6330 intel_modeset_check_state+0x112/0x870 [i915]()
[   33.230472] attached crtc is active, but connector isn't

At unplugging DP:

[  218.764695] [drm:intel_pipe_config_compare [i915]] *ERROR* mismatch in has_drrs (expected 1, found 0)
[  218.764706] ------------[ cut here ]------------
[  218.764739] WARNING: CPU: 3 PID: 988 at drivers/gpu/drm/i915/intel_display.c:12691 intel_modeset_check_state+0x5a4/0x870 [i915]()
[  218.764741] pipe state doesn't match!

Should I open another bug or can we continue here?
Comment 11 Jani Nikula 2015-09-04 10:13:06 UTC
(In reply to Takashi Iwai from comment #10)
> I confirmed that the DP works again with drm-intel-next-fixes branch. 
> Thanks!

Thanks for testing. 

> However, there are still a few ugly warnings.
...
> Should I open another bug or can we continue here?

Please file a new bug.
Comment 12 Takashi Iwai 2015-09-04 14:12:02 UTC
Opened bug 104041 for the rest.

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