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 figure those out yet. Here's some random bits of kernel dmesgs for 4.8.6, thrown in for good measure: marras 08 18:37:04 tehobari kernel: Linux version 4.8.6-040806-generic (kernel@tangerine) (gcc version 6.2.0 20161005 (Ubuntu 6.2.0-5ubuntu12) ) #201610310831 SMP Mon Oct 31 12:33:48 UTC 2016 marras 08 18:37:04 tehobari kernel: [drm] Finished loading i915/skl_dmc_ver1_26.bin (v1.26) marras 08 18:37:04 tehobari kernel: [drm] Finished loading i915/skl_dmc_ver1_26.bin (v1.26) marras 09 17:49:12 tehobari kernel: ------------[ cut here ]------------ marras 09 17:49:12 tehobari kernel: WARNING: CPU: 1 PID: 10699 at /home/kernel/COD/linux/drivers/gpu/drm/i915/intel_display.c:14305 skl_max_scale.part.120+0x75/0x80 [i915] marras 09 17:49:12 tehobari kernel: WARN_ON_ONCE(!crtc_clock || cdclk < crtc_clock) marras 09 18:10:29 tehobari kernel: [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* failed to enable link training marras 09 18:10:30 tehobari kernel: [drm:intel_dp_start_link_train [i915]] *ERROR* failed to start channel equalization marras 09 19:18:58 tehobari kernel: [drm:intel_display_resume [i915]] *ERROR* Restoring old state failed with -22 marras 09 19:18:58 tehobari kernel: [drm] RC6 on marras 09 20:08:28 tehobari kernel: ------------[ cut here ]------------ marras 09 20:08:28 tehobari kernel: WARNING: CPU: 3 PID: 10699 at /home/kernel/COD/linux/drivers/gpu/drm/drm_modeset_lock.c:343 drm_modeset_lock+0xd1/0xe0 [dr m] -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1597267 Title: ThinkPad X260 connecting external DisplayPort hangs system Status in linux package in Ubuntu: Triaged 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 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1597267/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp