Bug 109059

Summary: DisplayPort over USB-C not working after resume
Product: DRI Reporter: Martin Jørgensen <mkj>
Component: DRM/IntelAssignee: Intel GFX Bugs mailing list <intel-gfx-bugs>
Status: CLOSED DUPLICATE QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: major    
Priority: high CC: intel-gfx-bugs, stanislav.lisovskiy
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard: Triaged
i915 platform: KBL i915 features: display/DP MST, display/USB-C
Attachments:
Description Flags
dmesg output after trying setting monitor on via xrandr
none
xrandr after resume
none
gzip'ed dmesg with boot params none

Description Martin Jørgensen 2018-12-13 21:15:09 UTC
Created attachment 142807 [details]
dmesg output after trying setting monitor on via xrandr

I'm running latest Debian sid/buster on a Dell XPS 9370 laptop (Kabylake-R graphics).

I've connected an external DisplayPort monitor to my laptop over USB-C through a Lindy USB 3.1 Type C Docking Station. 
It works fine it seems normally, the DisplayPort is recognized as DP-2-2 in xrandr. 

After suspending the laptop, and wake it up again, the monitor is blank, but xrandr says it's still connected and a mode is selected. After setting monitor "--off" and "--auto" again no picture comes up, and I get the errors shown in the attached dmesg.
Comment 1 Jani Saarinen 2018-12-14 07:12:12 UTC
Hi,
Please try to reproduce the error using drm-tip (https://cgit.freedesktop.org/drm-tip) and kernel parameters drm.debug=0x1e log_buf_len=4M, and if the problem persists attach the full dmesg from boot.

There has been some fixes lately, eg: https://bugs.freedesktop.org/show_bug.cgi?id=108616 and some others.

cc Stan to comment
Comment 2 Martin Jørgensen 2018-12-14 08:29:03 UTC
(In reply to Jani Saarinen from comment #1)
> Hi,
> Please try to reproduce the error using drm-tip
> (https://cgit.freedesktop.org/drm-tip) and kernel parameters drm.debug=0x1e
> log_buf_len=4M, and if the problem persists attach the full dmesg from boot.
> 
> There has been some fixes lately, eg:
> https://bugs.freedesktop.org/show_bug.cgi?id=108616 and some others.
> 
> cc Stan to comment

I have tried latest 4.20-rc6 kernel from drm-tip. After fiddling with the config to make my laptop boot at least properly, but without many drivers for my other hardware in the laptop, I seems it's somewhat working well.

When booting with the dock plugged in and monitor on, the monitor shows the boot console as expected, and get recognized as DP-4 by xrandr.

After suspending, and resuming, the monitor flashes a bit and shows the image again, but now the monitor is identified as DP-2-2 instead.
Comment 3 Martin Jørgensen 2018-12-14 08:29:23 UTC
Created attachment 142811 [details]
xrandr after resume
Comment 4 Martin Jørgensen 2018-12-14 08:30:20 UTC
Created attachment 142812 [details]
gzip'ed dmesg with boot params
Comment 5 Stanislav Lisovskiy 2018-12-14 09:28:08 UTC
This looks similar to https://bugs.freedesktop.org/show_bug.cgi?id=106250 actually.

Problem is that DP MST each time gets reassigned with a new connector id, which might confuse userspace, depending on timing and luck.

Currently there is no official fix, as the fix which I proposed, was told to have some other side effects. However you can try it anyway, just to confirm that this is same kind of bug. So please try a "kernel fix" attached to the bug above.

The real fix is to reuse connector ids, which requires some DP MST connector life span changes.
Comment 6 Jani Saarinen 2018-12-14 11:01:16 UTC
Reporter do you agree as dup of https://bugs.freedesktop.org/show_bug.cgi?id=106250?
Comment 7 Jani Saarinen 2018-12-18 12:26:16 UTC
Highly likely dup

*** This bug has been marked as a duplicate of bug 106250 ***
Comment 8 Martin Jørgensen 2018-12-18 15:47:44 UTC
It really does look like the same issue
Comment 9 Jani Saarinen 2018-12-18 19:50:44 UTC

*** This bug has been marked as a duplicate of bug 106250 ***

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.