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]