ThinkPad X260 connecting external DisplayPort hangs system

Bug #1597267 reported by Tero Marttila
50
This bug affects 10 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Incomplete
High
Unassigned

Bug Description

Running Ubuntu 16.04 on a Lenovo ThinkPad X260 with Intel Skylake HD Graphics 520, connecting an external monitor to the DisplayPort connector causes the system to quickly hang. The system stops responding to network pings, cannot switch consoles, and needs a hard reboot.

The external monitor does work when using a text console, and does not always hang in the LightDM login screen, but starting up a desktop session will always hang.

This originally happened using a ThinkPad dock, and I tested it further using an external DP monitor. This happens on 4.4.0-28-generic as well as mainline 4.6.3-040603-generic and 4.7.0-040700rc5-generic; they all hang in a similar fashion.

I have attached a journalctl log from running 4.7.0-040700rc5-generic and connecting the DP monitor while in a text console, before switching to the graphical console and logging in. The system hangs after a series of:

kernel: WARNING: CPU: 3 PID: 2319 at /home/kernel/COD/linux/drivers/gpu/drm/i915/intel_pm.c:3647 skl_update_other_pipe_wm+0x15d/0x170 [i915]
kernel: WARNING: CPU: 3 PID: 4418 at /home/kernel/COD/linux/drivers/gpu/drm/i915/intel_display.c:13957 skl_max_scale.part.108+0x69/0x70 [i915]
kernel: [drm:gen8_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun

The first warnings come immediately when connecting, and others when switching consoles and logging in.

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: linux-image-4.4.0-28-generic 4.4.0-28.47
ProcVersionSignature: Ubuntu 4.4.0-28.47-generic 4.4.13
Uname: Linux 4.4.0-28-generic x86_64
ApportVersion: 2.20.1-0ubuntu2.1
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: terom 1903 F.... pulseaudio
CurrentDesktop: Unity
Date: Wed Jun 29 13:03:18 2016
InstallationDate: Installed on 2016-06-26 (2 days ago)
InstallationMedia: Ubuntu 16.04 LTS "Xenial Xerus" - Release amd64 (20160420.1)
MachineType: LENOVO 20F6007RGE
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-4.4.0-28-generic root=UUID=6636a3bb-262e-4ab2-ae81-d9388e3f7684 ro rootflags=subvol=@ quiet splash
RelatedPackageVersions:
 linux-restricted-modules-4.4.0-28-generic N/A
 linux-backports-modules-4.4.0-28-generic N/A
 linux-firmware 1.157.1
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 06/01/2016
dmi.bios.vendor: LENOVO
dmi.bios.version: R02ET48W (1.21 )
dmi.board.asset.tag: Not Available
dmi.board.name: 20F6007RGE
dmi.board.vendor: LENOVO
dmi.board.version: SDK0J40705 WIN
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.modalias: dmi:bvnLENOVO:bvrR02ET48W(1.21):bd06/01/2016:svnLENOVO:pn20F6007RGE:pvrThinkPadX260:rvnLENOVO:rn20F6007RGE:rvrSDK0J40705WIN:cvnLENOVO:ct10:cvrNone:
dmi.product.name: 20F6007RGE
dmi.product.version: ThinkPad X260
dmi.sys.vendor: LENOVO

Revision history for this message
Tero Marttila (terom) wrote :
Revision history for this message
Tero Marttila (terom) wrote :
Download full text (3.2 KiB)

Note that compared to #1559308 , connecting the same monitor via the HDMI port on the laptop running 4.4.0-28-generic does seem to work fine:

There's still some stuff in dmesg when using HDMI as well:

snd_hda_codec_hdmi hdaudioC0D2: HDMI: ELD buf size is 0, force 128
snd_hda_codec_hdmi hdaudioC0D2: HDMI: invalid ELD data byte 0
------------[ cut here ]------------
WARNING: CPU: 1 PID: 1080 at /build/linux-BvkamA/linux-4.4.0/ubuntu/i915/intel_pm.c:3586 skl_update_other_pipe_wm+0x16c/0x180 [i915_bpo]()
WARN_ON(!wm_changed)
Modules linked in:
 ctr ccm rfcomm bnep arc4 snd_soc_skl snd_soc_skl_ipc snd_hda_ext_core intel_rapl x86_pkg_temp_thermal snd_soc_sst_ipc intel_powerclamp coretemp snd_soc_sst_dsp snd_hda_codec_hdmi snd_soc_core kvm_intel snd_compress ac97_bus snd_pcm_dmaengine snd_hda_codec_realtek kvm dw_dmac_core snd_hda_codec_generic input_leds snd_hda_intel irqbypass iwlmvm uvcvideo snd_hda_codec videobuf2_vmalloc videobuf2_memops mac80211 snd_hda_core videobuf2_v4l2 videobuf2_core v4l2_common snd_hwdep joydev serio_raw snd_pcm videodev btusb media btrtl thinkpad_acpi cdc_ether btbcm option iwlwifi nvram usbnet usb_wwan usbserial btintel mii rtsx_pci_ms snd_seq_midi bluetooth memstick snd_seq_midi_event cfg80211 snd_rawmidi mei_me mei snd_seq shpchp snd_seq_device snd_timer snd soundcore mac_hid parport_pc ppdev lp
 parport autofs4 btrfs xor raid6_pq drbg ansi_cprng algif_skcipher af_alg dm_crypt rtsx_pci_sdmmc i915_bpo crct10dif_pclmul crc32_pclmul aesni_intel intel_ips i2c_algo_bit aes_x86_64 drm_kms_helper lrw gf128mul glue_helper ablk_helper syscopyarea cryptd sysfillrect sysimgblt fb_sys_fops e1000e ahci drm psmouse ptp rtsx_pci pps_core libahci wmi video fjes
CPU: 1 PID: 1080 Comm: Xorg Not tainted 4.4.0-28-generic #47-Ubuntu
Hardware name: LENOVO 20F6007RGE/20F6007RGE, BIOS R02ET48W (1.21 ) 06/01/2016
 0000000000000286 000000009c6cf672 ffff88040dfa39a8 ffffffff813eb1a3
 ffff88040dfa39f0 ffffffffc0373c98 ffff88040dfa39e0 ffffffff81081102
 ffff88040fc7c000 ffff880409629d9c ffff88040fc7b000 ffff880409020b78
Call Trace:
 [<ffffffff813eb1a3>] dump_stack+0x63/0x90
 [<ffffffff81081102>] warn_slowpath_common+0x82/0xc0
 [<ffffffff8108119c>] warn_slowpath_fmt+0x5c/0x80
 [<ffffffffc02a569c>] skl_update_other_pipe_wm+0x16c/0x180 [i915_bpo]
 [<ffffffffc02a5836>] skl_update_wm+0x186/0x5f0 [i915_bpo]
 [<ffffffffc02b1800>] ? intel_display_power_put+0xd0/0x130 [i915_bpo]
 [<ffffffffc02a955e>] intel_update_watermarks+0x1e/0x30 [i915_bpo]
 [<ffffffffc0311db5>] intel_atomic_commit+0x485/0xdc0 [i915_bpo]
 [<ffffffffc00a47de>] ? drm_atomic_check_only+0x18e/0x590 [drm]
 [<ffffffffc00a4c17>] drm_atomic_commit+0x37/0x60 [drm]
 [<ffffffffc01a4b16>] drm_atomic_helper_set_config+0x76/0xb0 [drm_kms_helper]
 [<ffffffffc00a34aa>] ? drm_modeset_lock_all_ctx+0x9a/0xb0 [drm]
 [<ffffffffc0093e42>] drm_mode_set_config_internal+0x62/0x100 [drm]
 [<ffffffffc0098362>] drm_mode_setcrtc+0x3d2/0x4f0 [drm]
 [<ffffffffc0089742>] drm_ioctl+0x152/0x540 [drm]
 [<ffffffffc0097f90>] ? drm_mode_setplane+0x1b0/0x1b0 [drm]
 [<ffffffff81220b6f>] do_vfs_ioctl+0x29f/0x490
 [<ffffffff81701610>] ? __sys_recvmsg+0x80/0x90
 [<ffffffff81220dd9>] SyS_ioctl+0x79/0x90
 [<ffffffff818276b2>] ...

Read more...

Revision history for this message
Brad Figg (brad-figg) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Did this issue start happening after an update/upgrade? Was there a prior kernel version where you were not having this particular problem?

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v4.7 kernel[0].

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7-rc5-yakkety/

Changed in linux (Ubuntu):
importance: Undecided → High
status: Confirmed → Incomplete
Revision history for this message
Tero Marttila (terom) wrote :

As per the description, I have tested this with 4.4.0-28-generic as well as mainline 4.6.3-040603-generic and 4.7.0-040700rc5-generic; they all hang in a similar fashion.

In fact, the journal output I attached was from the 4.7 kernel, I renamed the attachment accordingly: ubuntu16-04_linux4.7.0-040700rc5-generic_dp-hang.log

tags: added: kernel-bug-exists-upstream
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Tero Marttila (terom) wrote :

And no upgrades or prior working versions, this is a fresh Ubuntu 16.04 install on a newly purchased X260 laptop.

description: updated
Revision history for this message
penalvch (penalvch) wrote :

Tero Marttila, to confirm this is reproducible upstream, could you please test http://kernel.ubuntu.com/~kernel-ppa/mainline/drm-intel-nightly/ and advise to the results?

tags: added: kernel-bug-exists-upstream-4.7-rc5 latest-bios-1.21
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Tero Marttila (terom) wrote :

I can confirm that linux-image 4.7.0-994-generic_4.7.0-994.201607052202 from http://kernel.ubuntu.com/~kernel-ppa/mainline/drm-intel-nightly/2016-07-06/ behaves much better.

DP hotplug/unplug behaves correctly across text console, VT switch to lightdm and login into Unity. There's still some WARNs in dmesg (attached) when connecting the external DP monitor, but nothing crashes, and my 4k desktop appears to function correctly:

   [drm:skl_set_cdclk [i915]] *ERROR* failed to inform PCU about cdclk change

    WARNING: CPU: 1 PID: 929 at /home/kernel/COD/linux/drivers/gpu/drm/drm_irq.c:1218 drm_wait_one_vblank+0x16f/0x1b0 [drm]
    vblank not available on crtc 0, ret=-22

    [drm:gen8_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun

Confirmed to still crash with http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7-rc6-yakkety/

penalvch (penalvch)
tags: added: kernel-bug-exists-upstream-4.7-rc6
removed: kernel-bug-exists-upstream-4.7-rc5
Revision history for this message
penalvch (penalvch) wrote :

Tero Marttila, the next step would be for upstream to identify and submit the commit(s)that fixed your issue into linux-stable, where Ubuntu pulls from. Hence, it would help speed this process up if you filed a report following https://01.org/linuxgraphics/documentation/how-report-bugs noting your results.

Changed in linux (Ubuntu):
status: Incomplete → Triaged
Revision history for this message
Tero Marttila (terom) wrote :

I found a couple existing bugs in the freedesktop.org tracker that might be related, all marked as fixed in recent nightlies:

https://bugs.freedesktop.org/show_bug.cgi?id=96714
https://bugs.freedesktop.org/show_bug.cgi?id=95498
https://bugs.freedesktop.org/show_bug.cgi?id=94822
https://bugs.freedesktop.org/show_bug.cgi?id=89055

There's also some indications this may be related to 4k monitors as well; my original crash with the ThinkPad Dock and Ubuntu's 4.4.0 kernel was a FullHD monitor, later tests with 4.6 and 4.7 were all with a 4k DP 1.2 monitor. I'll have to test again with the dock and a non-4k monitor once I get my hands on it.

Revision history for this message
Emil Lynge (emillynge) wrote :
Download full text (4.8 KiB)

Hi first post here...

Just wanted to chime in and confirm same bug on same machine:
Thinkpad x260
Processor: Intel® Core™ i7-6500U CPU @ 2.50GHz × 4
Graphics: Gallium 0.4 on llvmpipe (LLVM 3.8, 256 bits)

In order to try and fix the bug I have added the repo:
http://ppa.launchpad.net/oibaf/graphics-drivers/ubuntu
Before this change, the system reported Graphics: Intel Skylake HD Graphics 520

I'm running a 1 day old Ubuntu 16.04.
I have experienced this crash on the stock kernel, 4.6.9 and 4.6.3

My steps to reproduce:
* plug in HDMI to a 4K external display and set display to full resolution (this will only have a frame rate of 30Hz due to a limitation in HDMI standard)
* turn off laptop monitor
* plug in DP to *the same* external display
* Set new configuration where HDMI if off and DP is on. (this will be at 60Hz)
* screen goes blank on both HDMI and DP source. reverts to last configuration because of crash.

I believe it is the combination of 4K display in full resolution *and* 60hz. This would be why the crash is only seen with DP at full resolution.

last crash report with kernel 4.6.3:
Jul 06 19:32:14 emil-workpad kernel: ------------[ cut here ]------------
Jul 06 19:32:14 emil-workpad kernel: WARNING: CPU: 0 PID: 986 at /home/kernel/COD/linux/drivers/gpu/drm/i915/intel_display.c:13938 skl_max_scale.part.99+0x6d/0x80 [i915]
Jul 06 19:32:14 emil-workpad kernel: WARN_ON_ONCE(!crtc_clock || cdclk < crtc_clock)
Jul 06 19:32:14 emil-workpad kernel: Modules linked in:
Jul 06 19:32:14 emil-workpad kernel: rfcomm bnep arc4 snd_soc_skl snd_soc_skl_ipc snd_hda_codec_hdmi snd_soc_sst_ipc snd_soc_sst_dsp snd_hda_ext_core snd_hda_codec_realtek snd_hda_codec_generic snd_soc_sst_match intel_rapl snd_soc_core x86_pkg_temp_thermal snd_compress inte
Jul 06 19:32:14 emil-workpad kernel: hid_lenovo usbhid hid rtsx_pci_sdmmc crct10dif_pclmul crc32_pclmul ghash_clmulni_intel i915 aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd i2c_algo_bit drm_kms_helper syscopyarea sysfillrect e1000e sysimgblt psmouse f
Jul 06 19:32:14 emil-workpad kernel: CPU: 0 PID: 986 Comm: Xorg Tainted: G W 4.6.3-040603-generic #201606241434
Jul 06 19:32:14 emil-workpad kernel: Hardware name: LENOVO 20F6006XMD/20F6006XMD, BIOS R02ET44W (1.17 ) 01/25/2016
Jul 06 19:32:14 emil-workpad kernel: 0000000000000286 00000000eeed4400 ffff8802148b7a50 ffffffff813f3373
Jul 06 19:32:14 emil-workpad kernel: ffff8802148b7aa0 0000000000000000 ffff8802148b7a90 ffffffff8108293b
Jul 06 19:32:14 emil-workpad kernel: 00003672c02dada0 ffff8802183dba80 ffff880035c4e800 ffff8800b29cb000
Jul 06 19:32:14 emil-workpad kernel: Call Trace:
Jul 06 19:32:14 emil-workpad kernel: [<ffffffff813f3373>] dump_stack+0x63/0x90
Jul 06 19:32:14 emil-workpad kernel: [<ffffffff8108293b>] __warn+0xcb/0xf0
Jul 06 19:32:14 emil-workpad kernel: [<ffffffff810829bf>] warn_slowpath_fmt+0x5f/0x80
Jul 06 19:32:14 emil-workpad kernel: [<ffffffffc02a846d>] skl_max_scale.part.99+0x6d/0x80 [i915]
Jul 06 19:32:14 emil-workpad kernel: [<ffffffffc02a8540>] intel_check_primary_plane+0xc0/0xe0 [i915]
Jul 06 19:32:14 emil-workpad kernel: [<ffffffffc02cf66a>] ? intel_ddi_compute_config+0x5a/0xc0 [i91...

Read more...

Revision history for this message
penalvch (penalvch) wrote :

Tero Marttila, if you want your issue addressed as soon as possible, you will want to create a net new report, indicating that you need the commit(s) identified and backported to linux-stable so that it may be included in Ubuntu.

Revision history for this message
Emil Lynge (emillynge) wrote :

Now I tried with the newest kernel 4.7.0-994-generic together with an Xorg.conf.d fix from
https://github.com/linuxenko/ubuntu-skylake-i915-video-fix

It now works almost flawlessly over DP 4K 60hz.

Revision history for this message
Tero Marttila (terom) wrote :
Download full text (13.8 KiB)

I've been having more luck with the newer 4.7 and 4.8 kernels, and using a 4k monitor on the integrated DP connector mostly works okay at 60Hz.

Haven't really noticed any difference in stability with the xorg.conf.d/20-intel.conf settings in https://github.com/linuxenko/ubuntu-skylake-i915-video-fix. I also tried with `Option "DRI" "false"`.

Currently running 4.8.0-040800rc5-generic together with yakkety linux-firmware 1.160:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-=================================-=====================-=====================-========================================================================
ii linux-firmware 1.160 all Firmware for Linux kernel drivers
ii linux-image-4.8.0-040800rc5-gener 4.8.0-040800rc5.20160 amd64 Linux kernel image for version 4.8.0 on 64 bit x86 SMP

Still getting warnings in dmesg when connecting a DP monitor:

[ ...] Linux version 4.8.0-040800rc5-generic (kernel@tangerine) (gcc version 6.2.0 20160830 (Ubuntu 6.2.0-2ubuntu11) ) #201609041832 SMP Sun Sep 4 22:34:01 UTC 2016
....
[ 330.453739] ------------[ cut here ]------------
[ 330.453793] WARNING: CPU: 0 PID: 5134 at /home/kernel/COD/linux/drivers/gpu/drm/drm_irq.c:1215 drm_wait_one_vblank+0x16b/0x1b0 [drm]
[ 330.453796] vblank not available on crtc 0, ret=-22
[ 330.453798] Modules linked in: uas usb_storage hid_lenovo usbhid hid ctr ccm pci_stub vboxpci(OE) vboxnetadp(OE) vboxnetflt(OE) vboxdrv(OE) rfcomm fuse ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 xt_addrtype iptable_filter ip_tables xt_conntrack x_tables nf_nat nf_conntrack br_netfilter bridge stp llc bnep snd_hda_codec_hdmi ext4 jbd2 arc4 snd_hda_codec_realtek snd_hda_codec_generic iwlmvm mac80211 fscrypto intel_rapl mbcache x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass intel_cstate intel_rapl_perf joydev serio_raw iwlwifi cfg80211 rtsx_pci_ms memstick option usb_wwan usbserial btusb btrtl cdc_ether btbcm usbnet btintel mii bluetooth sg crc16 snd_soc_skl snd_soc_skl_ipc snd_soc_sst_ipc snd_soc_sst_dsp snd_hda_ext_core snd_soc_sst_match
[ 330.453921] snd_soc_core snd_compress snd_pcm_dmaengine snd_hda_intel snd_hda_codec snd_hda_core snd_hwdep snd_pcm thinkpad_acpi nvram rfkill battery ac snd_seq_midi snd_seq_midi_event snd_rawmidi snd_seq snd_seq_device snd_timer snd evdev tpm_tis tpm_tis_core tpm soundcore mei_me mei shpchp intel_pch_thermal parport_pc ppdev lp parport autofs4 btrfs xor raid6_pq algif_skcipher af_alg dm_crypt dm_mod sd_mod rtsx_pci_sdmmc mmc_core crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd i915 psmouse xhci_pci rtsx_pci xhci_hcd mfd_core ahci i2c_algo_bit usbcore libahci drm_kms_helper e1000e syscopyarea libata usb_common sysfillrect sysimgblt fb_sys_fops ptp pps_core drm scsi_mod thermal wm...

Revision history for this message
Emil Lynge (emillynge) wrote :

We just installed a fresh X260 for a new coworker.

Can confirm that kernel 4.8.0-040800rc5 works even without https://github.com/linuxenko/ubuntu-skylake-i915-video-fix

We do still have problems with the Lenovo Pro and Ultra docks. We cannot get 4K@60Hz working using any videooutput on the dock. the *only* way is to plug the monitor into the mini DP on the X260. Though I think that this a failure of the dock rather than Ubuntu or the kernel.

Revision history for this message
Tero Marttila (terom) wrote :
Download full text (4.5 KiB)

I've been running the 4.8.x mainline release kernels recently, and had some success with 4k DP connected to the dock. It doesn't always work, but a reboot fixes it, until it breaks again.

I'd appreciate advice for debugging this, it's pretty reproducible, but typically when it happens I don't exactly have the time to start debugging it, and just reboot.

With recent 4.8.10 kernels the symptom is usually that xrandr does indeed detect and configure the display, but the monitor does not get any signal and remains black. This is accompanied with the following dmesg:

marras 23 11:43:46 tehobari kernel: Linux version 4.8.10-040810-generic (kernel@tangerine) (gcc version 6.2.0 20161005 (Ubuntu 6.2.0-5ubuntu12) ) #20161121053
marras 24 10:23:00 tehobari kernel: [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many voltage retries, give up
marras 24 10:23:00 tehobari kernel: [drm:intel_wait_ddi_buf_idle [i915]] *ERROR* Timeout waiting for DDI BUF C idle bit
marras 24 10:23:00 tehobari kernel: [drm] RC6 on
marras 24 10:23:00 tehobari kernel: [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* failed to get link status
marras 24 10:23:00 tehobari kernel: thinkpad_acpi: EC reports that Thermal Table has changed
marras 24 10:23:00 tehobari kernel: [drm:intel_wait_ddi_buf_idle [i915]] *ERROR* Timeout waiting for DDI BUF C idle bit
marras 24 10:23:00 tehobari kernel: [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many voltage retries, give up
marras 24 10:23:00 tehobari kernel: [drm:intel_wait_ddi_buf_idle [i915]] *ERROR* Timeout waiting for DDI BUF C idle bit
marras 24 10:23:00 tehobari kernel: [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many voltage retries, give up
marras 24 10:23:00 tehobari kernel: [drm:intel_wait_ddi_buf_idle [i915]] *ERROR* Timeout waiting for DDI BUF C idle bit
marras 24 10:23:00 tehobari kernel: [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many voltage retries, give up
marras 24 10:23:00 tehobari kernel: [drm:intel_wait_ddi_buf_idle [i915]] *ERROR* Timeout waiting for DDI BUF C idle bit
marras 24 10:23:00 tehobari kernel: [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many voltage retries, give up
marras 24 10:23:00 tehobari kernel: [drm:intel_wait_ddi_buf_idle [i915]] *ERROR* Timeout waiting for DDI BUF C idle bit
marras 24 10:23:00 tehobari kernel: [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many voltage retries, give up
marras 24 10:23:00 tehobari kernel: [drm:intel_dp_start_link_train [i915]] *ERROR* failed to train DP, aborting
marras 24 10:23:00 tehobari kernel: [drm:intel_dp_set_idle_link_train [i915]] *ERROR* Timed out waiting for DP idle patterns

Once this happens, AFAIK nothing short of a reboot will restore 4k DP output on the dock. When I tried to fall back to the integrated miniDP output, I was able to get a 1080p image, but no 4k image.

I upgraded to 4.8.11 having the following changelog entry: "drm/i915: Refresh that status of MST capable connectors in ->detect()". Now I'm no longer seeing the dmesg entries, but I still have occasional issues with the DP output not working reliabily... not had a chance to...

Read more...

Revision history for this message
Tero Marttila (terom) wrote :

I've had good enough experiences with mainline 4.8.15 at this point that I would consider this bug fixed in linux 4.8.x; it's still not perfect (have to typically play around with xrandr and maybe undock/dock), but external 4k DP monitor via a ThinkPad dock works fairly reliably now.

OTOH I was unable to get any DP video output at all with mainline Linux 4.9...

Revision history for this message
penalvch (penalvch) wrote :

Tero Marttila, to keep this relevant to upstream, one would want to periodically check for, and test the latest mainline kernel (now 4.10-rc1) as it is released.

Could you please advise?

Changed in linux (Ubuntu):
status: Triaged → Incomplete
tags: added: needs-upstream-testing
removed: kernel-bug-exists-upstream
Revision history for this message
Tero Marttila (terom) wrote :

Current xenial linux-image-4.4.0-62-generic remains broken, with dmesg WARNs on CRTC clocks and then system hangs when switching user sessions (which invokes some gnome-session xrandr setup). Lost the exact dmesg on the system hang.

Current mainline 4.8.x (4.8.17-040817-generic) continues to behave nicely, although there's occasionally some delays when docking/undocking before the xrandr configuration updates.

The 4.8 kernel is also included in the 16.04.02 HWE release, and a quick test with linux-image-4.8.0-36-generic seems to also behave reasonably well. I would tentatively consider this issue fixed in 16.04.02, although I still need to test with xserver-xorg-hwe-16.04.

Will also test with the newest mainline 4.10 release when I have the chance.

Revision history for this message
Jhonny (maillll) wrote :

I have somewhat similar behavior on Lenovo T470p with external displayport monitor connected via Thinkpad Ultra Dock on stock Ubuntu 17.04 (4.10.0-42-generic x86_64), but in my case it occurs after some days of plugging in&out and ends with kernel panic (see screen photo).

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :
To post a comment you must log in.