I use a x220 with a Hd4000 GPU. It only supports two display at the same time and has a Display connected to the displayport and one connected to the VGA port (both are active and the integrated display is turned off) Screen 0: minimum 8 x 8, current 3584 x 1080, maximum 32767 x 32767 LVDS1 connected (normal left inverted right x axis y axis) 1366x768 60.0 + 1024x768 60.0 800x600 60.3 56.2 640x480 59.9 DP1 connected primary 2560x1080+0+0 (normal left inverted right x axis y axis) 677mm x 290mm 2560x1080 60.0*+ 1920x1080 60.0 60.0 50.0 59.9 1920x1080i 60.1 50.0 60.0 1680x1050 60.0 1600x900 60.0 1280x1024 75.0 60.0 1152x864 75.0 1280x720 60.0 50.0 59.9 1024x768 75.1 60.0 800x600 75.0 60.3 720x576 50.0 720x480 60.0 59.9 640x480 75.0 60.0 59.9 720x400 70.1 DP2 disconnected (normal left inverted right x axis y axis) DP3 disconnected (normal left inverted right x axis y axis) HDMI1 disconnected (normal left inverted right x axis y axis) HDMI2 disconnected (normal left inverted right x axis y axis) HDMI3 disconnected (normal left inverted right x axis y axis) VGA1 connected 1024x768+2560+0 (normal left inverted right x axis y axis) 920mm x 518mm 1024x768 60.0*+ 75.1 70.1 800x600 85.1 72.2 75.0 60.3 56.2 848x480 60.0 640x480 85.0 75.0 72.8 60.0 59.9 720x400 70.1 VIRTUAL1 disconnected (normal left inverted right x axis y axis) After the display that is connted to the displayport is turned off and on again the display doesnt work anymore and goes back into power saving mode after a few seconds. When i turn off the display and turn it on again with xrandr it works again.The same happens when i just use the display at the display port and the internal display. The same thing also happens when the display connected to the displayport enters sleeping mode, most of the time. The display at the VGA port works as expected.
after the display stopped working, the output of xrandr looks like this: Screen 0: minimum 8 x 8, current 3584 x 1080, maximum 32767 x 32767 LVDS1 connected (normal left inverted right x axis y axis) 1366x768 60.0 + 1024x768 60.0 800x600 60.3 56.2 640x480 59.9 DP1 connected primary 2560x1080+0+0 (normal left inverted right x axis y axis) 677mm x 290mm 2560x1080 60.0*+ 1920x1080 60.0 60.0 50.0 59.9 1920x1080i 60.1 50.0 60.0 1680x1050 60.0 1600x900 60.0 1280x1024 75.0 60.0 1152x864 75.0 1280x720 60.0 50.0 59.9 1024x768 75.1 60.0 800x600 75.0 60.3 720x576 50.0 720x480 60.0 59.9 640x480 75.0 60.0 59.9 720x400 70.1 DP2 disconnected (normal left inverted right x axis y axis) DP3 disconnected (normal left inverted right x axis y axis) HDMI1 disconnected (normal left inverted right x axis y axis) HDMI2 disconnected (normal left inverted right x axis y axis) HDMI3 disconnected (normal left inverted right x axis y axis) VGA1 connected 1024x768+2560+0 (normal left inverted right x axis y axis) 920mm x 518mm 1024x768 60.0*+ 75.1 70.1 800x600 85.1 72.2 75.0 60.3 56.2 848x480 60.0 640x480 85.0 75.0 72.8 60.0 59.9 720x400 70.1 VIRTUAL1 disconnected (normal left inverted right x axis y axis)
calling xset dpms force standby and moving the mouse also works most of the time to wake up the screen after it stays black instead of showing the desktop
Please attach /sys/kernel/debug/dri/0/i915_power_domain_info and dmesg all the way from boot with drm.debug=14 set.
cat /sys/kernel/debug/dri/0/i915_power_domain_info Power well/domain Use count always-on 8 PIPE_A 1 PIPE_B 1 PIPE_C 0 PIPE_A_PANEL_FITTER 0 PIPE_B_PANEL_FITTER 0 PIPE_C_PANEL_FITTER 0 TRANSCODER_A 1 TRANSCODER_B 1 TRANSCODER_C 0 TRANSCODER_EDP 0 PORT_DDI_A_2_LANES 0 PORT_DDI_A_4_LANES 0 PORT_DDI_B_2_LANES 0 PORT_DDI_B_4_LANES 1 PORT_DDI_C_2_LANES 0 PORT_DDI_C_4_LANES 0 PORT_DDI_D_2_LANES 0 PORT_DDI_D_4_LANES 0 PORT_DSI 0 PORT_CRT 0 PORT_OTHER 1 VGA 0 AUDIO 0 PLLS 2 INIT 0
Created attachment 162961 [details] dmesg output
after [ 44.484441] [drm:drm_mode_addfb] [FB:44] i attached the display to the displayport and after [ 91.427813] [drm:intel_crtc_cursor_set_obj] cursor off i called sleep 1 ; xset dpms force standby
Created attachment 162971 [details] better dmesg
the last dmesg shows the error from the beginning. The display works and is set to sleep with sleep 1 ; xset dpms force standby i think in line the problem begins, here the display should wake up. [ 615.886870] [drm:intel_dp_set_signal_levels] Using signal levels 00000000 [ 615.889556] [drm:intel_dp_aux_ch] dp_aux_ch timeout status 0x7013003f [ 615.889563] [drm:intel_dp_start_link_train] *ERROR* failed to enable link training [ 615.892245] [drm:intel_dp_aux_ch] dp_aux_ch timeout status 0x7013003f [ 615.892252] [drm:intel_dp_complete_link_train] *ERROR* failed to start channel equalization [ 615.894763] [drm:intel_dp_aux_ch] dp_aux_ch timeout status 0x7013003f [ 615.895282] [drm:ironlake_update_primary_plane] Writing base 0D480000 00000000 0 0 15872 [ 615.895301] [drm:intel_update_fbc] more than one pipe active, disabling compression [ 615.895400] [drm:intel_connector_check_state] [CONNECTOR:14:LVDS-1] [ 615.895414] [drm:intel_connector_check_state] [CONNECTOR:28:DP-1] the rest of the output also includes the commands: xrandr --output VGA1 \ --off \ --output DP1 \ --off xrandr --output LVDS1 \ --auto \ --primary xrandr --dpi 96 xrandr --output LVDS1 \ --auto \ --output DP1 \ --auto \ --left-of LVDS1 which brings DP1 back o life
Created attachment 162981 [details] dmesg output directly after boot
it's a HD3000 card and the error still exists the error also doesnt happen when only DP1 is used. with this configuration the display works as expected
tested 3.18.8 - bugs is still present
i ment 3.18.6
Probably doesn't matter, but please drop these from the kernel cmdline: i915.i915_enable_fbc=1 i915.lvds_downclock=1 i915.i915_enable_rc6=3
removing the cmdline options doesn't solve the problem. tested with 3.19.0
i found this in my latest 3.19.0 log [29279.887541] ------------[ cut here ]------------ [29279.887555] WARNING: CPU: 0 PID: 22736 at drivers/gpu/drm/i915/intel_display.c:9713 intel_check_page_flip+0xbc/0xd0() [29279.887557] Kicking stuck page flip: queued at 521920, now 521926 [29279.887563] CPU: 0 PID: 22736 Comm: crypter Not tainted 3.19.0-gentoo #3 [29279.887565] Hardware name: LENOVO 4291UYX/4291UYX, BIOS 8DET69WW (1.39 ) 07/18/2013 [29279.887568] 0000000000000000 ffffffff81f683a0 ffffffff81b60554 ffff88041e203de8 [29279.887572] ffffffff811024a2 ffff88040bfe3800 ffff88040b625000 0000000000000001 [29279.887575] 0000000000000001 0000000000000001 ffffffff81102555 ffffffff81f6b090 [29279.887579] Call Trace: [29279.887580] <IRQ> [<ffffffff81b60554>] ? dump_stack+0x40/0x50 [29279.887592] [<ffffffff811024a2>] ? warn_slowpath_common+0x72/0xb0 [29279.887596] [<ffffffff81102555>] ? warn_slowpath_fmt+0x45/0x50 [29279.887602] [<ffffffff815f7bac>] ? __intel_pageflip_stall_check+0xbc/0x100 [29279.887605] [<ffffffff8160a29c>] ? intel_check_page_flip+0xbc/0xd0 [29279.887611] [<ffffffff815dfffd>] ? ironlake_irq_handler+0x31d/0x1040 [29279.887616] [<ffffffff81143f39>] ? handle_irq_event_percpu+0x29/0xf0 [29279.887619] [<ffffffff8114402c>] ? handle_irq_event+0x2c/0x50 [29279.887623] [<ffffffff81146b5f>] ? handle_edge_irq+0x6f/0x110 [29279.887628] [<ffffffff8103ec25>] ? handle_irq+0x15/0x20 [29279.887631] [<ffffffff8103e642>] ? do_IRQ+0x42/0xe0 [29279.887636] [<ffffffff81b6a9ea>] ? common_interrupt+0x6a/0x6a [29279.887637] <EOI> [29279.887639] ---[ end trace eea2bdafb747793a ]---
bus still present in 3.19.2
I used to have a similar problem when I use a Radeon with my DP monitor. I recall if I remove a whole part of code, everything will works perfectly, while the dev claimed that it's required by most because hot plug detection of DP is kind of tricky, and my case is a special case. Later when I read the manual of my monitor, it seems to me that for some board it needs to be switched to a special mode so that it would handle dpms correctly. I cannot test if it's the solution because I no longer have the radeon board and my monitor works perfectly with the DP onboard (haswell gfx) and nvidia without going into that mode. Nevertheless you might want to see if yours got such a mode. References: 1. The code I removed to make things work: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/radeon/radeon_connectors.c?id=bfa76d49576599a4b9f9b7a71f23d73d6dcff735#n69 2. Manual of my monitor, see Chapter 5.1 Case 3: http://www.eizoglobal.com/support/db/files/manuals/03V24733D1/UM-03V24733D1-EN.pdf
Please try v4.0-rc8.
Long time no updates, closing. If the problem persists with latest kernels, please file a bug at the freedesktop.org bugzilla [1], referencing this bug. Thank you. [1] https://bugs.freedesktop.org/enter_bug.cgi?product=DRI&component=DRM/Intel