8086:0a16 displayport MST external monitors don't return from sleep mode

Bug #1527829 reported by Derek
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linux
New
Undecided
Unassigned
linux (Ubuntu)
Triaged
Medium
Unassigned

Bug Description

When displays go to sleep, upon return from sleep the two monitors attached to a belkin mini displayport to 2x HDMI, do not return from sleep. This results in part of the desktop being inaccessible, until the external displays are unplugged, and then plugged back in.

Sometimes, Xorg will also back down to one monitor. The data accompanying this report is for an instance where the power save mode caused Xorg to drop to the primary monitor only.

This is on Ubuntu 15.10 on a Dell XPS 13 (9333) with integrated intel HD 4400 graphics. There are two external monitors connected by HDMI to a belkin DP-MST adapter which connects to the mini-displayport. A single-HDMI-to-mini-displayport belkin adapter works as expected (coming out of power save).

xserver-xorg-video-intel:
  Installed: 2:2.99.917+git20150808-0ubuntu4

Expected behavior: Displays go to sleep, and upon returning all displays are still present and all wake.

Xorg.0.log, relevant happenings:

[ 189.711] (II) intel(0): Disabled output DP1-1
[ 189.711] (II) intel(0): Disabled output DP1-2
[ 189.739] (II) intel(0): resizing framebuffer to 1920x1080
[ 189.745] (II) intel(0): switch to mode 1920x1080@60.0 on eDP1 using pipe 0, position (0, 0), rotation normal, reflection none
[ 190.339] (II) intel(0): Enabled output DP1-1
[ 190.351] (II) intel(0): Enabled output DP1-2

dmesg relevant happenings:

[ 190.031929] ------------[ cut here ]------------
[ 190.032008] WARNING: CPU: 1 PID: 1114 at /build/linux-1vdNXv/linux-4.2.0/drivers/gpu/drm/i915/intel_display.c:476 intel_pipe_will_have_type.isra.41+0x6e/0x80 [i915]()
[ 190.032015] WARN_ON(num_connectors == 0)
[ 190.032019] Modules linked in:
[ 190.032025] drbg ansi_cprng ctr ccm rfcomm vmw_vsock_vmci_transport vsock vmw_vmci bnep snd_hda_codec_hdmi arc4 intel_rapl iosf_mbi x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel dell_wmi hid_rmi sparse_keymap kvm dell_laptop crct10dif_pclmul dcdbas crc32_pclmul dell_smm_hwmon aesni_intel iwlmvm aes_x86_64 lrw mac80211 gf128mul glue_helper ablk_helper cryptd iwlwifi uvcvideo serio_raw videobuf2_vmalloc videobuf2_memops videobuf2_core cfg80211 v4l2_common videodev media snd_hda_codec_realtek hid_multitouch snd_hda_codec_generic lpc_ich shpchp joydev input_leds snd_soc_rt5640 btusb btrtl snd_soc_rl6231 btbcm btintel snd_soc_core bluetooth snd_compress snd_hda_intel mei_me mei snd_hda_codec snd_hda_core ac97_bus snd_pcm_dmaengine snd_hwdep snd_pcm snd_seq_midi snd_seq_midi_event snd_rawmidi
[ 190.032158] snd_seq snd_seq_device snd_timer snd acpi_als kfifo_buf dw_dmac industrialio dw_dmac_core soundcore snd_soc_sst_acpi 8250_dw i2c_designware_platform dell_rbtn i2c_designware_core spi_pxa2xx_platform intel_smartconnect mac_hid ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 xt_hl ip6t_rt nf_conntrack_ipv6 nf_defrag_ipv6 ipt_REJECT nf_reject_ipv4 nf_log_ipv4 nf_log_common xt_LOG xt_limit xt_tcpudp xt_addrtype nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack ip6table_filter ip6_tables nf_conntrack_netbios_ns nf_conntrack_broadcast nf_nat_ftp nf_nat nf_conntrack_ftp nf_conntrack iptable_filter ip_tables x_tables parport_pc ppdev lp parport autofs4 hid_generic usbhid uas usb_storage i915 i2c_algo_bit drm_kms_helper psmouse drm ahci libahci wmi video sdhci_acpi sdhci i2c_hid hid
[ 190.032287] CPU: 1 PID: 1114 Comm: Xorg Not tainted 4.2.0-21-generic #25-Ubuntu
[ 190.032293] Hardware name: Dell Inc. XPS13 9333/0GFTRT, BIOS A04 03/19/2014
[ 190.032298] 0000000000000000 00000000187f4872 ffff880212327ad8 ffffffff817e9449
[ 190.032309] 0000000000000000 ffff880212327b30 ffff880212327b18 ffffffff8107b3d6
[ 190.032318] 0000000000000000 ffff8802119e1800 ffff8801f0382d80 0000000066666667
[ 190.032327] Call Trace:
[ 190.032342] [<ffffffff817e9449>] dump_stack+0x45/0x57
[ 190.032354] [<ffffffff8107b3d6>] warn_slowpath_common+0x86/0xc0
[ 190.032364] [<ffffffff8107b465>] warn_slowpath_fmt+0x55/0x70
[ 190.032420] [<ffffffffc01bef1e>] intel_pipe_will_have_type.isra.41+0x6e/0x80 [i915]
[ 190.032474] [<ffffffffc01ce380>] intel_modeset_compute_config.part.90+0x460/0xb80 [i915]
[ 190.032496] [<ffffffffc0141292>] ? drm_atomic_helper_check_modeset+0x62/0x970 [drm_kms_helper]
[ 190.032600] [<ffffffffc01ceae2>] intel_modeset_compute_config+0x42/0x50 [i915]
[ 190.032667] [<ffffffffc01d3adf>] intel_crtc_set_config+0x28f/0x580 [i915]
[ 190.032736] [<ffffffffc00bdbf0>] ? drm_modeset_lock_all_crtcs+0x90/0xa0 [drm]
[ 190.032783] [<ffffffffc00ae4a6>] drm_mode_set_config_internal+0x66/0x100 [drm]
[ 190.032839] [<ffffffffc00b2b39>] drm_mode_setcrtc+0x3e9/0x500 [drm]
[ 190.032879] [<ffffffffc00a3495>] drm_ioctl+0x125/0x610 [drm]
[ 190.032889] [<ffffffff8123e836>] ? fsnotify+0x316/0x4a0
[ 190.032922] [<ffffffffc00b2750>] ? drm_mode_setplane+0x1b0/0x1b0 [drm]
[ 190.032937] [<ffffffff81210a25>] do_vfs_ioctl+0x295/0x480
[ 190.032946] [<ffffffff811ff7f5>] ? __sb_end_write+0x35/0x70
[ 190.032953] [<ffffffff811fd42a>] ? vfs_write+0x15a/0x1a0
[ 190.032962] [<ffffffff81210c89>] SyS_ioctl+0x79/0x90
[ 190.032986] [<ffffffff817f0232>] entry_SYSCALL_64_fastpath+0x16/0x75
[ 190.033013] ---[ end trace 9834aabfe51525cf ]---
[ 190.033036] ------------[ cut here ]------------
(so on)

Other warnings:
[ 190.068878] WARNING: CPU: 0 PID: 1114 at /build/linux-1vdNXv/linux-4.2.0/drivers/gpu/drm/i915/intel_display.c:11895 __intel_set_mode+0x7f9/0xb60 [i915]()
[ 190.293532] WARNING: CPU: 0 PID: 1114 at /build/linux-1vdNXv/linux-4.2.0/drivers/gpu/drm/i915/intel_display.c:12304 check_crtc_state+0x3b3/0x440 [i915]()

ProblemType: Bug
DistroRelease: Ubuntu 15.10
Package: xserver-xorg-video-intel 2:2.99.917+git20150808-0ubuntu4
ProcVersionSignature: Ubuntu 4.2.0-21.25-generic 4.2.6
Uname: Linux 4.2.0-21-generic x86_64
.tmp.unity.support.test.0:

ApportVersion: 2.19.1-0ubuntu5
Architecture: amd64
CompizPlugins: No value set for `/apps/compiz-1/general/screen0/options/active_plugins'
CompositorRunning: compiz
CompositorUnredirectDriverBlacklist: '(nouveau|Intel).*Mesa 8.0'
CompositorUnredirectFSW: true
CurrentDesktop: Unity
Date: Sat Dec 19 00:03:37 2015
DistUpgraded: 2015-12-07 00:10:24,955 DEBUG enabling apt cron job
DistroCodename: wily
DistroVariant: ubuntu
ExtraDebuggingInterest: Yes
GraphicsCard:
 Intel Corporation Haswell-ULT Integrated Graphics Controller [8086:0a16] (rev 09) (prog-if 00 [VGA controller])
   Subsystem: Dell Device [1028:060a]
MachineType: Dell Inc. XPS13 9333
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.2.0-21-generic root=UUID=9f068afb-074c-4838-b5be-f3a75fef7999 ro persistent quiet splash vt.handoff=7
SourcePackage: xserver-xorg-video-intel
UdevLog: Error: [Errno 2] No such file or directory: '/var/log/udev'
UpgradeStatus: Upgraded to wily on 2015-12-07 (11 days ago)
dmi.bios.date: 03/19/2014
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A04
dmi.board.name: 0GFTRT
dmi.board.vendor: Dell Inc.
dmi.board.version: A00
dmi.chassis.type: 8
dmi.chassis.vendor: Dell Inc.
dmi.chassis.version: 0.1
dmi.modalias: dmi:bvnDellInc.:bvrA04:bd03/19/2014:svnDellInc.:pnXPS139333:pvr:rvnDellInc.:rn0GFTRT:rvrA00:cvnDellInc.:ct8:cvr0.1:
dmi.product.name: XPS13 9333
dmi.sys.vendor: Dell Inc.
version.compiz: compiz 1:0.9.12.2+15.10.20151015-0ubuntu1
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.64-1
version.libgl1-mesa-dri: libgl1-mesa-dri 11.0.2-1ubuntu4
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 11.0.2-1ubuntu4
version.xserver-xorg-core: xserver-xorg-core 2:1.17.2-1ubuntu9.1
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.9.2-1ubuntu1
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:7.5.0+git20150819-0ubuntu1
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.99.917+git20150808-0ubuntu4
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.11-1ubuntu3
xserver.bootTime: Fri Dec 18 23:41:00 2015
xserver.configfile: default
xserver.errors:

xserver.logfile: /var/log/Xorg.0.log
xserver.outputs:
 product id 4933
 vendor CMN
xserver.version: 2:1.17.2-1ubuntu9.1

Revision history for this message
Derek (avastmc) wrote :
penalvch (penalvch)
tags: added: bios-outdated-a08
affects: xserver-xorg-video-intel (Ubuntu) → linux (Ubuntu)
Changed in linux (Ubuntu):
importance: Undecided → Low
status: New → Incomplete
Revision history for this message
Derek (avastmc) wrote :

$ sudo dmidecode -s bios-version && sudo dmidecode -s bios-release-date
[sudo] password for derek:
A08
08/31/2015

- There was no improvement in the symptoms. The external monitors still fail to wake.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
penalvch (penalvch) wrote :

Derek, at your earliest convenience, could you please test the latest upstream kernel available from the very top line at the top of the page from http://kernel.ubuntu.com/~kernel-ppa/mainline/?C=N;O=D (the release names are irrelevant for testing, and please do not test the daily folder)? Install instructions are available at https://wiki.ubuntu.com/Kernel/MainlineBuilds . This will allow additional upstream developers to examine the issue.

If testing on your main install would be inconvenient, one may:
1) Install Ubuntu to a different partition and then test this there.
2) Backup, or clone the primary install.

If the latest kernel did not allow you to test to the issue (ex. you couldn't boot into the OS) please make a comment in your report about this, and continue to test the next most recent kernel version until you can test to the issue. Once you've tested the upstream kernel, please comment on which kernel version specifically you tested. If this issue is fixed in the mainline kernel, please add the following tags by clicking on the yellow circle with a black pencil icon, next to the word Tags, located at the bottom of the report description:
kernel-fixed-upstream
kernel-fixed-upstream-X.Y-rcZ

Where X, and Y are the first two numbers of the kernel version, and Z is the release candidate number if it exists.

If the mainline kernel does not fix the issue, please add the following tags:
kernel-bug-exists-upstream
kernel-bug-exists-upstream-X.Y-rcZ

Please note, an error to install the kernel does not fit the criteria of kernel-bug-exists-upstream.

Once testing of the latest upstream kernel is complete, please mark this report's Status as Confirmed. Please let us know your results.

Thank you for your understanding.

tags: added: latest-bios-a08
removed: bios-outdated-a08
Changed in linux (Ubuntu):
importance: Low → Medium
status: Confirmed → Incomplete
Revision history for this message
Derek (avastmc) wrote :

$ cat /proc/version
Linux version 4.4.0-040400rc8-generic (kernel@gloin) (gcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu2) ) #201601051225 SMP Tue Jan 5 17:27:39 UTC 2016

Bug still exists. No messages appear in any of dmesg faillog kern.log syslog Xorg.0.log

Changed in linux (Ubuntu):
status: Incomplete → Opinion
status: Opinion → Confirmed
tags: added: kernel-bug-exists-upstream kernel-bug-exists-upstream-4.4-rc8
Revision history for this message
penalvch (penalvch) wrote :

Derek, to see if this is resolved upstream, could you please test http://kernel.ubuntu.com/~kernel-ppa/mainline/drm-intel-nightly/ and advise to the results?

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Derek (avastmc) wrote :

the drm-intel-nightly kernel didn't fix the issue.

I began attempting to trace the issue and search for clues as to why this is happening.

I am attaching three kernel log files with kernel switch: drm.debug=0x05

All of these are kernel logs after a "xset dpms force off".
- "success" is with the screen resumed successfully after a few seconds of being suspended
- "fail-proper" screen resumed after ~20 seconds, and the issue occurs
- "fail-reschg" after about 15 seconds, the computer wakes itself with no user input, external monitors are switched off, and the panel (eDP) drops to 1680x1050 and cannot be set to a higher resolution until a "service lightdm restart"

I noticed the existence of errors around "set_hdr_from_dst_qlock" in fail-proper only and came across two patches to drm_dp_mst_topology.c - I applied these four patches and recompiled the kernel module, and the problem still exists.

http://www.spinics.net/lists/stable/msg113900.html

After this patch it seems like suspending does one of three behaviors:
- Wakes itself after 15 seconds with no issues
- Wakes itself after 15 seconds and the externals detach, and laptop panel goes to a lower resolution
- Doesn't wake, but on user input returns with the two external screens still part of the desktop, but with no video

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Derek (avastmc) wrote :

Additional info: When in intended setup (two monitors on one DP) the ASUS brand monitor flickers occasionally (not a nuisance)

- Connecting just the ASUS to the adapter (other HDMI port unpopulated) the monitor flickers repeatedly, indefinitely, often. This is regardless of which of the 2 ports it's on. I have attached verbose (drm.debug=0x05) kernel logs of this behavior
- Connecting just the samsung (second external monitor) to the adapter works fine, and when going to powersave using "xset dpms force off" monitor&panel stay off, although the external monitor doesn't come on after resume (topic issue), confirmed multiple times

So it seems like the ASUS is causing all monitors/panel to wake up ~15s after display standby.

In the attached log, the monitor cycling on/off happens 5 times

Revision history for this message
penalvch (penalvch) wrote :

Derek, to advise, please do not compress/tar files and attach them, as it makes it difficult for folks to review them quickly.

Despite this, the issue you are reporting is an upstream one. Could you please report this problem following the instructions verbatim at https://wiki.ubuntu.com/Bugs/Upstream/kernel to the appropriate mailing list (intel-gfx)?

Please provide a direct URL to your post to the mailing list when it becomes available so that it may be tracked.

Thank you for your understanding.

summary: - displayport MST external monitors don't return from sleep mode
+ 8086:0a16 displayport MST external monitors don't return from sleep mode
Changed in linux (Ubuntu):
status: Confirmed → Triaged
Revision history for this message
Derek (avastmc) wrote :

$ cat /proc/version
Linux version 4.4.0-999-generic (kernel@tangerine) (gcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu2) ) #201601122100 SMP Wed Jan 13 02:02:49 UTC 2016

New kernel logs attached

Revision history for this message
Derek (avastmc) wrote :
Revision history for this message
Derek (avastmc) wrote :
Revision history for this message
penalvch (penalvch) wrote :

Derek, given the upstream bug you noted is scoped to completely different hardware, you would be better off filing a new one, versus attempting to expand its scope.

Changed in linux:
importance: Unknown → Undecided
status: Unknown → New
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.