Bug 96828 - Cannot set 4K screen to 60Hz on xf86-video-intel driver: CPU pipe B FIFO underrun
Summary: Cannot set 4K screen to 60Hz on xf86-video-intel driver: CPU pipe B FIFO unde...
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-07-06 07:06 UTC by Robert
Modified: 2016-12-09 11:29 UTC (History)
6 users (show)

See Also:
i915 platform: SKL
i915 features: display/atomic


Attachments
dmesg output (66.72 KB, text/x-log)
2016-09-29 13:08 UTC, tiago
no flags Details
Xorg log (50.89 KB, text/x-log)
2016-09-29 13:09 UTC, tiago
no flags Details

Description Robert 2016-07-06 07:06:33 UTC
On a Thinkpad T460p with Intel graphics, I cannot set a monitor to the resolution 3840x2160 @60Hz. 3840x2160 only works at 30Hz. Modesetting to @60Hz works, but the screen stays blank. Applies to MiniDP, DisplayPort and HDMI, both on laptop and UltraDock docking station.

When setting to @60Hz the following stacktrace occurs on dmesg:

[  154.746359] ------------[ cut here ]------------
[  154.746371] WARNING: CPU: 3 PID: 1497 at drivers/gpu/drm/i915/intel_display.c:13929 skl_max_scale.part.100+0x6a/0x80
[  154.746374] WARN_ON_ONCE(!crtc_clock || cdclk < crtc_clock)
[  154.746376] Modules linked in:
[  154.746378]  ccm rfcomm acpi_call(O) bnep twofish_x86_64_3way lrw glue_helper twofish_x86_64 twofish_common dm_crypt dm_mod loop fuse btusb btrtl btbcm btintel bluetooth arc4 iwlmvm mac80211 rtsx_pci_sdmmc kvm_intel mmc_core kvm irqbypass iwlwifi input_leds rtsx_pci cfg80211 mfd_core mei_me mei thinkpad_acpi led_class
[  154.746410] CPU: 3 PID: 1497 Comm: X Tainted: G           O    4.6.0-gentoo #3
[  154.746412] Hardware name: LENOVO 20FWCTO1WW/20FWCTO1WW, BIOS R07ET63W (2.03 ) 03/15/2016
[  154.746414]  0000000000000000 ffff88042b11ba30 ffffffff81299908 ffff88042b11ba80
[  154.746419]  0000000000000000 ffff88042b11ba70 ffffffff81052e0c 0000366900000870
[  154.746423]  ffff88009c014b40 ffff88042fa93400 ffff88042fce2000 ffff88042fa93400
[  154.746427] Call Trace:
[  154.746433]  [<ffffffff81299908>] dump_stack+0x4d/0x65
[  154.746439]  [<ffffffff81052e0c>] __warn+0xcc/0xf0
[  154.746444]  [<ffffffff81052e7a>] warn_slowpath_fmt+0x4a/0x50
[  154.746447]  [<ffffffff8140af7a>] skl_max_scale.part.100+0x6a/0x80
[  154.746451]  [<ffffffff8140b04b>] intel_check_primary_plane+0xbb/0xd0
[  154.746455]  [<ffffffff813fddd9>] intel_plane_atomic_check+0x129/0x1f0
[  154.746461]  [<ffffffff813737f3>] drm_atomic_helper_check_planes+0x43/0x1d0
[  154.746466]  [<ffffffff81417606>] intel_atomic_check+0x2f6/0x1180
[  154.746471]  [<ffffffff816dbd01>] ? __ww_mutex_lock_slowpath+0x111/0x1b0
[  154.746476]  [<ffffffff81396bee>] drm_atomic_check_only+0x13e/0x640
[  154.746480]  [<ffffffff813964a2>] ? drm_atomic_set_crtc_for_connector+0x52/0xe0
[  154.746484]  [<ffffffff81397102>] drm_atomic_commit+0x12/0x50
[  154.746489]  [<ffffffff81374fc6>] drm_atomic_helper_set_config+0x76/0xb0
[  154.746494]  [<ffffffff81387d1d>] drm_mode_set_config_internal+0x5d/0xf0
[  154.746498]  [<ffffffff8138b553>] drm_mode_setcrtc+0x183/0x4e0
[  154.746502]  [<ffffffff8137d67d>] drm_ioctl+0x13d/0x560
[  154.746506]  [<ffffffff8138b3d0>] ? drm_mode_setplane+0x1b0/0x1b0
[  154.746512]  [<ffffffff81185ba9>] do_vfs_ioctl+0x89/0x580
[  154.746516]  [<ffffffff8105f08d>] ? __set_task_blocked+0x2d/0x70
[  154.746521]  [<ffffffff81175a6c>] ? __sb_end_write+0x1c/0x20
[  154.746524]  [<ffffffff81061621>] ? __set_current_blocked+0x31/0x50
[  154.746529]  [<ffffffff811860dc>] SyS_ioctl+0x3c/0x70
[  154.746532]  [<ffffffff81061881>] ? SyS_rt_sigprocmask+0x81/0xa0
[  154.746536]  [<ffffffff816de09b>] entry_SYSCALL_64_fastpath+0x13/0x8f
[  154.746539] ---[ end trace a530255cd499b6af ]---
[  154.762344] [drm:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU pipe B FIFO underrun

Reproducible on Gentoo Linux with kernel 4.6.0 and xf86-video-intel-2.99.917_p20160621
Comment 1 Robert 2016-07-27 22:12:55 UTC
Problem is still reproducible with kernel 4.7.0 and xf86-video-intel-2.99.917_p20160704

I retrieved some more log output by adding the kernel parameters 'log_buf_len=1M drm.debug=14':

[   68.717014] [drm:drm_mode_setcrtc] [CRTC:30:crtc-1]
[   68.717025] [drm:drm_mode_setcrtc] [CONNECTOR:66:DP-4]
[   68.717046] [drm:connected_sink_compute_bpp] [CONNECTOR:66:DP-4] checking for sink bpp constrains
[   68.717049] [drm:connected_sink_compute_bpp] clamping display bpp (was 36) to EDID reported max of 30
[   68.717062] [drm:intel_modeset_pipe_config] hw max bpp: 36, pipe bpp: 24, dithering: 0
[   68.717067] [drm:intel_dump_pipe_config] [CRTC:30][modeset] config ffff8803e1c58800 for pipe B
[   68.717070] [drm:intel_dump_pipe_config] cpu_transcoder: B
[   68.717073] [drm:intel_dump_pipe_config] pipe bpp: 24, dithering: 0
[   68.717077] [drm:intel_dump_pipe_config] fdi/pch: 0, lanes: 0, gmch_m: 0, gmch_n: 0, link_m: 0, link_n: 0, tu: 0
[   68.717082] [drm:intel_dump_pipe_config] dp: 1, lanes: 4, gmch_m: 6213162, gmch_n: 8388608, link_m: 1035527, link_n: 1048576, tu: 48
[   68.717086] [drm:intel_dump_pipe_config] dp: 1, lanes: 4, gmch_m2: 0, gmch_n2: 0, link_m2: 0, link_n2: 0, tu2: 0
[   68.717089] [drm:intel_dump_pipe_config] audio: 0, infoframes: 0
[   68.717091] [drm:intel_dump_pipe_config] requested mode:
[   68.717097] [drm:drm_mode_debug_printmodeline] Modeline 0:"" 0 533280 3840 3848 3992 4000 2160 2214 2219 2222 0x0 0x9
[   68.717099] [drm:intel_dump_pipe_config] adjusted mode:
[   68.717104] [drm:drm_mode_debug_printmodeline] Modeline 0:"" 0 533280 3840 3848 3992 4000 2160 2214 2219 2222 0x0 0x9
[   68.717109] [drm:intel_dump_crtc_timings] crtc timings: 533280 3840 3848 3992 4000 2160 2214 2219 2222, type: 0x0 flags: 0x9
[   68.717112] [drm:intel_dump_pipe_config] port clock: 540000
[   68.717115] [drm:intel_dump_pipe_config] pipe src size: 3840x2160
[   68.717118] [drm:intel_dump_pipe_config] num_scalers: 2, scaler_users: 0x0, scaler_id: -1
[   68.717121] [drm:intel_dump_pipe_config] gmch pfit: control: 0x00000000, ratios: 0x00000000, lvds border: 0x00000000
[   68.717125] [drm:intel_dump_pipe_config] pch pfit: pos: 0x00000000, size: 0x00000000, disabled
[   68.717127] [drm:intel_dump_pipe_config] ips: 0
[   68.717130] [drm:intel_dump_pipe_config] double wide: 0
[   68.717133] [drm:intel_dump_pipe_config] ddi_pll_sel: 1; dpll_hw_state: ctrl1: 0x1, cfgcr1: 0x0, cfgcr2: 0x0
[   68.717135] [drm:intel_dump_pipe_config] planes on this crtc
[   68.717139] [drm:intel_dump_pipe_config] STANDARD PLANE:28 plane: 1.0 idx: 3 enabled
[   68.717143] [drm:intel_dump_pipe_config]     FB:104, fb = 6400x2160 format = 0x34325258
[   68.717148] [drm:intel_dump_pipe_config]     scaler:-1 src (2560, 0) 3840x2160 dst (0, 0) 3840x2160
[   68.717153] [drm:intel_dump_pipe_config] CURSOR PLANE:29 plane: 1.2 idx: 4 disabled, scaler_id = -1
[   68.717156] [drm:intel_dump_pipe_config] STANDARD PLANE:31 plane: 1.1 idx: 5 disabled, scaler_id = -1
[   68.717162] ------------[ cut here ]------------
[   68.717171] WARNING: CPU: 2 PID: 1564 at drivers/gpu/drm/i915/intel_display.c:13963 skl_max_scale.part.109+0x6a/0x80
[   68.717174] WARN_ON_ONCE(!crtc_clock || cdclk < crtc_clock)
[   68.717176] Modules linked in:
[   68.717179]  rfcomm acpi_call(O) bnep dm_crypt dm_mod fuse btusb btrtl btbcm btintel bluetooth arc4 iwlmvm rtsx_pci_sdmmc mmc_core mac80211 kvm_intel kvm irqbypass iwlwifi input_leds cfg80211 rtsx_pci mfd_core mei_me mei
[   68.717213] CPU: 2 PID: 1564 Comm: X Tainted: G        W  O    4.7.0-gentoo #1
[   68.717216] Hardware name: LENOVO 20FWCTO1WW/20FWCTO1WW, BIOS R07ET67W (2.07 ) 06/07/2016
[   68.717219]  0000000000000000 ffff880428fffa30 ffffffff812a7688 ffff880428fffa80
[   68.717226]  0000000000000000 ffff880428fffa70 ffffffff81059a1c 0000368b2fc23000
[   68.717231]  ffff8803e1cbed80 ffff88042fc13400 ffff88042fc23000 ffff88042fc13400
[   68.717237] Call Trace:
[   68.717245]  [<ffffffff812a7688>] dump_stack+0x4d/0x65
[   68.717250]  [<ffffffff81059a1c>] __warn+0xcc/0xf0
[   68.717255]  [<ffffffff81059a8a>] warn_slowpath_fmt+0x4a/0x50
[   68.717259]  [<ffffffff8141eb3a>] skl_max_scale.part.109+0x6a/0x80
[   68.717264]  [<ffffffff8141ec0b>] intel_check_primary_plane+0xbb/0xd0
[   68.717271]  [<ffffffff81410e19>] intel_plane_atomic_check+0x129/0x1f0
[   68.717279]  [<ffffffff813844a3>] drm_atomic_helper_check_planes+0x43/0x1d0
[   68.717285]  [<ffffffff8142bb4f>] intel_atomic_check+0x30f/0x11e0
[   68.717293]  [<ffffffff813a7fd5>] drm_atomic_check_only+0x145/0x640
[   68.717299]  [<ffffffff813a7ba1>] ? drm_atomic_set_crtc_for_connector+0x91/0x100
[   68.717304]  [<ffffffff813a84e2>] drm_atomic_commit+0x12/0x50
[   68.717310]  [<ffffffff81385cdd>] drm_atomic_helper_set_config+0x7d/0xb0
[   68.717315]  [<ffffffff81398110>] drm_mode_set_config_internal+0x60/0x110
[   68.717320]  [<ffffffff8139c2a5>] drm_mode_setcrtc+0x1c5/0x540
[   68.717326]  [<ffffffff8138e96d>] drm_ioctl+0x13d/0x560
[   68.717331]  [<ffffffff8139c0e0>] ? drm_mode_setplane+0x1c0/0x1c0
[   68.717338]  [<ffffffff8118fb09>] do_vfs_ioctl+0x89/0x580
[   68.717343]  [<ffffffff81065d3d>] ? __set_task_blocked+0x2d/0x70
[   68.717348]  [<ffffffff8117f8ec>] ? __sb_end_write+0x1c/0x20
[   68.717353]  [<ffffffff810682d1>] ? __set_current_blocked+0x31/0x50
[   68.717358]  [<ffffffff8119003c>] SyS_ioctl+0x3c/0x70
[   68.717363]  [<ffffffff81068531>] ? SyS_rt_sigprocmask+0x81/0xa0
[   68.717369]  [<ffffffff8170571b>] entry_SYSCALL_64_fastpath+0x13/0x8f
[   68.717373] ---[ end trace 8c7dcb05863d8e94 ]---
[   68.717377] [drm:skl_update_scaler_plane] Updating scaler for [PLANE:28] scaler_user index 1.3
[   68.717384] [drm:intel_find_shared_dpll] CRTC:30 allocated DPLL 1
[   68.717387] [drm:intel_reference_shared_dpll] using DPLL 1 for pipe B
[   68.717390] [drm:skl_update_scaler_crtc] Updating scaler for [CRTC:30] scaler_user index 1.31
[   68.720199] [drm:intel_mst_disable_dp] 1
[   68.720202] [drm:drm_dp_destroy_payload_step1] 
[   68.721687] [drm:intel_get_hpd_pins] hotplug event received, stat 0x00800000, dig 0x10111010, pins 0x00000080
[   68.721690] [drm:intel_hpd_irq_handler] digital hpd port D - short
[   68.721700] [drm:intel_dp_hpd_pulse] got hpd irq on port D - short
[   68.722925] [drm:intel_dp_check_mst_status] got esi 01 10 00
[   68.725779] [drm:intel_dp_check_mst_status] got esi2 01 00 00
[   68.725781] [drm:intel_dp_check_mst_status] got esi 01 00 00
[   68.727751] [drm:drm_dp_update_payload_part1] removing payload 0
[   68.727757] [drm:intel_disable_pipe] disabling pipe B
[   68.755315] [drm:intel_mst_post_disable_dp] 1
[   68.756466] [drm:drm_dp_mst_put_payload_id] putting payload 1
[   68.757342] [drm:intel_disable_shared_dpll] disable DPLL 1 (active 2, on? 1) for crtc 30
[   68.757348] [drm:intel_disable_shared_dpll] disabling DPLL 1
[   68.757354] [drm:verify_encoder_state] [ENCODER:36:TMDS-36]
[   68.757358] [drm:verify_encoder_state] [ENCODER:45:TMDS-45]
[   68.757361] [drm:verify_encoder_state] [ENCODER:47:DP MST-47]
[   68.757363] [drm:verify_encoder_state] [ENCODER:48:DP MST-48]
[   68.757366] [drm:verify_encoder_state] [ENCODER:49:DP MST-49]
[   68.757367] [drm:verify_encoder_state] [ENCODER:52:TMDS-52]
[   68.757370] [drm:verify_encoder_state] [ENCODER:54:DP MST-54]
[   68.757372] [drm:verify_encoder_state] [ENCODER:55:DP MST-55]
[   68.757373] [drm:verify_encoder_state] [ENCODER:56:DP MST-56]
[   68.757375] [drm:verify_encoder_state] [ENCODER:58:TMDS-58]
[   68.757378] [drm:verify_encoder_state] [ENCODER:60:DP MST-60]
[   68.757380] [drm:verify_encoder_state] [ENCODER:61:DP MST-61]
[   68.757382] [drm:verify_encoder_state] [ENCODER:62:DP MST-62]
[   68.757385] [drm:intel_connector_verify_state] [CONNECTOR:46:DP-1]
[   68.757387] [drm:intel_connector_verify_state] [CONNECTOR:50:HDMI-A-1]
[   68.757389] [drm:intel_connector_verify_state] [CONNECTOR:53:DP-2]
[   68.757392] [drm:intel_connector_verify_state] [CONNECTOR:57:HDMI-A-2]
[   68.757394] [drm:intel_connector_verify_state] [CONNECTOR:59:DP-3]
[   68.757398] [drm:intel_connector_verify_state] [CONNECTOR:63:HDMI-A-3]
[   68.757401] [drm:intel_connector_verify_state] [CONNECTOR:71:DP-5]
[   68.757403] [drm:intel_connector_verify_state] [CONNECTOR:75:DP-6]
[   68.757405] [drm:verify_single_dpll_state] DPLL 0
[   68.757408] [drm:verify_single_dpll_state] DPLL 1
[   68.757411] [drm:verify_single_dpll_state] DPLL 2
[   68.757413] [drm:verify_single_dpll_state] DPLL 3
[   68.757417] [drm:intel_enable_shared_dpll] enable DPLL 1 (active 2, on? 0) for crtc 30
[   68.757419] [drm:intel_enable_shared_dpll] enabling DPLL 1
[   68.758677] [drm:intel_mst_pre_enable_dp] 0
[   68.760607] [drm:intel_dp_set_signal_levels] Using signal levels 00000000
[   68.760613] [drm:intel_dp_set_signal_levels] Using vswing level 0
[   68.760616] [drm:intel_dp_set_signal_levels] Using pre-emphasis level 0
[   68.778245] [drm:intel_dp_link_training_clock_recovery] clock recovery OK
[   68.798216] [drm:intel_dp_link_training_channel_equalization] Channel EQ done. DP Training successful
[   68.798670] [drm:drm_dp_mst_allocate_vcpi] initing vcpi for 1908 48
[   68.800641] [drm:skylake_pfit_enable] for crtc_state = ffff8803e1c58800
[   68.800713] [drm:skl_wm_flush_pipe] flush pipe A (pass 3)
[   68.800715] [drm:skl_wm_flush_pipe] flush pipe B (pass 3)
[   68.800719] [drm:intel_enable_pipe] enabling pipe B
[   68.800724] [drm:intel_mst_enable_dp] 1
[   68.801547] [drm:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU pipe B FIFO underrun
[   68.803878] [drm:drm_dp_update_payload_part2] payload 0 1
[   68.805339] [drm:intel_get_hpd_pins] hotplug event received, stat 0x00800000, dig 0x10111010, pins 0x00000080
[   68.805341] [drm:intel_hpd_irq_handler] digital hpd port D - short
[   68.805395] [drm:intel_dp_hpd_pulse] got hpd irq on port D - short
[   68.806613] [drm:intel_dp_check_mst_status] got esi 01 10 00
[   68.809463] [drm:intel_dp_check_mst_status] got esi2 01 00 00
[   68.809465] [drm:intel_dp_check_mst_status] got esi 01 00 00
[   68.817829] [drm:intel_connector_verify_state] [CONNECTOR:66:DP-4]
[   68.817832] [drm:verify_crtc_state] [CRTC:30]
[   68.817841] [drm:verify_single_dpll_state] DPLL 1
[   68.846369] [drm:drm_mode_addfb2] [FB:78]
Comment 2 GMas 2016-07-29 17:26:58 UTC
I can also reproduce following the same steps on a Dell XPS 13 9350 running Ubuntu 16.04. 
Kernel 4.7.0 and xserver-xorg-video-intel 2.99.917+git20160325-1ubuntu1

 [   80.737970] [drm:drm_mode_setcrtc] [CRTC:26:crtc-0]
 [   80.737974] [drm:drm_mode_setcrtc] [CONNECTOR:37:eDP-1]
 [   80.737987] [drm:skl_update_scaler_plane] Updating scaler for [PLANE:23] scaler_user index 0.0
 [   80.740465] [drm:drm_mode_setcrtc] [CRTC:26:crtc-0]
 [   80.740467] [drm:drm_mode_setcrtc] [CONNECTOR:37:eDP-1]
 [   80.740470] [drm:skl_update_scaler_plane] Updating scaler for [PLANE:23] scaler_user index 0.0
 [   80.744270] [drm:drm_mode_setcrtc] [CRTC:26:crtc-0]
 [   80.744271] [drm:drm_mode_setcrtc] [CONNECTOR:37:eDP-1]
 [   80.744276] [drm:skl_update_scaler_plane] Updating scaler for [PLANE:23] scaler_user index 0.0
 [   80.749252] [drm:drm_mode_setcrtc] [CRTC:26:crtc-0]
 [   80.749255] [drm:drm_mode_setcrtc] [CONNECTOR:37:eDP-1]
 [   80.749261] [drm:skl_update_scaler_plane] Updating scaler for [PLANE:23] scaler_user index 0.0
 [   80.754259] [drm:drm_mode_setcrtc] [CRTC:26:crtc-0]
 [   80.754261] [drm:drm_mode_setcrtc] [CONNECTOR:37:eDP-1]
 [   80.754267] [drm:skl_update_scaler_plane] Updating scaler for [PLANE:23] scaler_user index 0.0
 [   80.759266] [drm:drm_mode_setcrtc] [CRTC:26:crtc-0]
 [   80.759269] [drm:drm_mode_setcrtc] [CONNECTOR:37:eDP-1]
 [   80.759275] [drm:skl_update_scaler_plane] Updating scaler for [PLANE:23] scaler_user index 0.0
 [   80.761162] [drm:drm_mode_setcrtc] [CRTC:30:crtc-1]
 [   80.761170] [drm:drm_mode_setcrtc] [CONNECTOR:46:DP-1]
 [   80.761179] [drm:skl_update_scaler_plane] Updating scaler for [PLANE:28] scaler_user index 1.3
 [   80.773741] [drm:skl_wm_flush_pipe] flush pipe A (pass 3)
 [   80.773746] [drm:skl_wm_flush_pipe] flush pipe B (pass 3)
 [   80.774791] [drm:skl_wm_flush_pipe] flush pipe A (pass 3)
 [   80.774795] [drm:skl_wm_flush_pipe] flush pipe B (pass 3)
 [   80.774803] [drm:drm_mode_setcrtc] [CRTC:26:crtc-0]
 [   80.774806] [drm:drm_mode_setcrtc] [CONNECTOR:37:eDP-1]
 [   80.774815] [drm:skl_update_scaler_plane] Updating scaler for [PLANE:23] scaler_user index 0.0
 [   80.779608] [drm:drm_mode_setcrtc] [CRTC:26:crtc-0]
 [   80.779612] [drm:drm_mode_setcrtc] [CONNECTOR:37:eDP-1]
 [   80.779622] [drm:skl_update_scaler_plane] Updating scaler for [PLANE:23] scaler_user index 0.0
 [   80.784606] [drm:drm_mode_setcrtc] [CRTC:26:crtc-0]
 [   80.784611] [drm:drm_mode_setcrtc] [CONNECTOR:37:eDP-1]
 [   80.784622] [drm:skl_update_scaler_plane] Updating scaler for [PLANE:23] scaler_user index 0.0
 [   80.789650] [drm:drm_mode_setcrtc] [CRTC:26:crtc-0]
 [   80.789663] [drm:drm_mode_setcrtc] [CONNECTOR:37:eDP-1]
 [   80.789688] [drm:skl_update_scaler_plane] Updating scaler for [PLANE:23] scaler_user index 0.0
 [   80.791728] [drm:skl_wm_flush_pipe] flush pipe A (pass 3)
 [   80.791739] [drm:skl_wm_flush_pipe] flush pipe B (pass 3)
 [   80.793880] [drm:drm_mode_setcrtc] [CRTC:30:crtc-1]
 [   80.793892] [drm:drm_mode_setcrtc] [CONNECTOR:46:DP-1]
 [   80.793915] [drm:connected_sink_compute_bpp] [CONNECTOR:46:DP-1] checking for sink bpp constrains
 [   80.793919] [drm:connected_sink_compute_bpp] clamping display bpp (was 36) to EDID reported max of 24
 [   80.793928] [drm:intel_dp_compute_config] DP link computation with max lane count 4 max bw 540000 pixel clock 533250KHz
 [   80.793943] [drm:intel_dp_compute_config] DP link bw 14 rate select 00 lane count 4 clock 540000 bpp 24
 [   80.793947] [drm:intel_dp_compute_config] DP link bw required 1279800 available 1728000
 [   80.793953] [drm:intel_modeset_pipe_config] hw max bpp: 36, pipe bpp: 24, dithering: 0
 [   80.793960] [drm:intel_dump_pipe_config] [CRTC:30][modeset] config ffff88046b3d9000 for pipe B
 [   80.793967] [drm:intel_dump_pipe_config] cpu_transcoder: B
 [   80.793970] [drm:intel_dump_pipe_config] pipe bpp: 24, dithering: 0
 [   80.793976] [drm:intel_dump_pipe_config] fdi/pch: 0, lanes: 0, gmch_m: 0, gmch_n: 0, link_m: 0, link_n: 0, tu: 0
 [   80.793981] [drm:intel_dump_pipe_config] dp: 1, lanes: 4, gmch_m: 6212812, gmch_n: 8388608, link_m: 1035468, link_n: 1048576, tu: 64
 [   80.793986] [drm:intel_dump_pipe_config] dp: 1, lanes: 4, gmch_m2: 0, gmch_n2: 0, link_m2: 0, link_n2: 0, tu2: 0
 [   80.793990] [drm:intel_dump_pipe_config] audio: 1, infoframes: 0
 [   80.793993] [drm:intel_dump_pipe_config] requested mode:
 [   80.794001] [drm:drm_mode_debug_printmodeline] Modeline 0:"" 0 533250 3840 3888 3920 4000 2160 2163 2168 2222 0x0 0x9
 [   80.794004] [drm:intel_dump_pipe_config] adjusted mode:
 [   80.794010] [drm:drm_mode_debug_printmodeline] Modeline 0:"" 0 533250 3840 3888 3920 4000 2160 2163 2168 2222 0x0 0x9
 [   80.794016] [drm:intel_dump_crtc_timings] crtc timings: 533250 3840 3888 3920 4000 2160 2163 2168 2222, type: 0x0 flags: 0x9
 [   80.794020] [drm:intel_dump_pipe_config] port clock: 540000
 [   80.794023] [drm:intel_dump_pipe_config] pipe src size: 3840x2160
 [   80.794027] [drm:intel_dump_pipe_config] num_scalers: 2, scaler_users: 0x0, scaler_id: -1
 [   80.794032] [drm:intel_dump_pipe_config] gmch pfit: control: 0x00000000, ratios: 0x00000000, lvds border: 0x00000000
 [   80.794036] [drm:intel_dump_pipe_config] pch pfit: pos: 0x00000000, size: 0x00000000, disabled
 [   80.794039] [drm:intel_dump_pipe_config] ips: 0
 [   80.794043] [drm:intel_dump_pipe_config] double wide: 0
 [   80.794047] [drm:intel_dump_pipe_config] ddi_pll_sel: 1; dpll_hw_state: ctrl1: 0x3, cfgcr1: 0x0, cfgcr2: 0x0
 [   80.794050] [drm:intel_dump_pipe_config] planes on this crtc
 [   80.794056] [drm:intel_dump_pipe_config] STANDARD PLANE:28 plane: 1.0 idx: 3 enabled
 [   80.794061] [drm:intel_dump_pipe_config] 	FB:63, fb = 6400x3039 format = 0x34325258<7>[   80.794068] [drm:intel_dump_pipe_config] 	scaler:-1 src (2560, 0) 3840x2160 dst (0, 0) 3840x2160
 [   80.794074] [drm:intel_dump_pipe_config] CURSOR PLANE:29 plane: 1.2 idx: 4 disabled, scaler_id = -1
 [   80.794079] [drm:intel_dump_pipe_config] STANDARD PLANE:31 plane: 1.1 idx: 5 disabled, scaler_id = -1
 [   80.794086] ------------[ cut here ]------------
 [   80.794173] WARNING: CPU: 3 PID: 3139 at drivers/gpu/drm/i915/intel_display.c:13963 skl_max_scale.part.108+0x6d/0x80 [i915]
 [   80.794177] WARN_ON_ONCE(!crtc_clock || cdclk < crtc_clock)
 [   80.794181] Modules linked in: ccm rfcomm nvram msr asix usbnet mii snd_usb_audio snd_usbmidi_lib cmac uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_core videodev media bnep dell_laptop snd_hda_codec_hdmi dell_led dell_smbios dcdbas snd_soc_skl snd_soc_skl_ipc snd_soc_sst_ipc snd_soc_sst_dsp snd_hda_ext_core snd_soc_sst_match snd_soc_core snd_hda_codec_realtek snd_hda_codec_generic snd_compress ac97_bus snd_pcm_dmaengine dw_dmac_core arc4 snd_hda_intel snd_hda_codec snd_hda_core snd_hwdep snd_pcm intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass crct10dif_pclmul nls_iso8859_1 crc32_pclmul ghash_clmulni_intel aesni_intel snd_seq_midi aes_x86_64 snd_seq_midi_event lrw snd_rawmidi glue_helper ablk_helper cryptd joydev iwlmvm mac80211 snd_seq serio_raw snd_seq_device snd_timer iwlwifi snd cfg80211 rtsx_pci_ms soundcore memstick shpchp mei_me mei processor_thermal_device intel_pch_thermal intel_soc_dts_iosf wmi hci_uart btqca int3403_thermal int340x_thermal_zone int3400_thermal intel_hid(OE) acpi_thermal_rel mac_hid acpi_pad acpi_als kfifo_buf industrialio sunrpc parport_pc ppdev lp parport autofs4 btrfs xor raid6_pq btusb btrtl btbcm btintel bluetooth hid_generic usbhid rtsx_pci_sdmmc psmouse i915 ahci i2c_algo_bit libahci drm_kms_helper nvme syscopyarea rtsx_pci sysfillrect nvme_core sysimgblt fb_sys_fops drm i2c_hid hid video pinctrl_sunrisepoint pinctrl_intel
 [   80.794380] CPU: 3 PID: 3139 Comm: Xorg Tainted: G        W  OE   4.7.0-custom #1
 [   80.794384] Hardware name: Dell Inc. XPS 13 9350/09JHRY, BIOS 1.4.4 06/14/2016
 [   80.794389]  0000000000000000 ffff88006296fa20 ffffffff813c56e3 ffff88006296fa70
 [   80.794397]  0000000000000000 ffff88006296fa60 ffffffff81073c5b 0000368b6582a000
 [   80.794405]  ffff88041c4953c0 ffff880076ed2c00 ffff88046582a000 ffff880076ed2c00
 [   80.794413] Call Trace:
 [   80.794439]  [<ffffffff813c56e3>] dump_stack+0x63/0x90
 [   80.794450]  [<ffffffff81073c5b>] __warn+0xcb/0xf0
 [   80.794460]  [<ffffffff81073ccf>] warn_slowpath_fmt+0x4f/0x60
 [   80.794534]  [<ffffffffc01dab3d>] skl_max_scale.part.108+0x6d/0x80 [i915]
 [   80.794598]  [<ffffffffc01dac10>] intel_check_primary_plane+0xc0/0xe0 [i915]
 [   80.794664]  [<ffffffffc01ccc0e>] intel_plane_atomic_check+0x12e/0x1f0 [i915]
 [   80.794688]  [<ffffffffc0115a68>] drm_atomic_helper_check_planes+0x48/0x1d0 [drm_kms_helper]
 [   80.794760]  [<ffffffffc01e7701>] intel_atomic_check+0x281/0x11a0 [i915]
 [   80.794814]  [<ffffffffc00bbf98>] drm_atomic_check_only+0x188/0x610 [drm]
 [   80.794858]  [<ffffffffc00bbb16>] ? drm_atomic_set_crtc_for_connector+0x96/0x100 [drm]
 [   80.794897]  [<ffffffffc00bc437>] drm_atomic_commit+0x17/0x60 [drm]
 [   80.794919]  [<ffffffffc0117aa1>] drm_atomic_helper_set_config+0x81/0xc0 [drm_kms_helper]
 [   80.794959]  [<ffffffffc00ab3e5>] drm_mode_set_config_internal+0x65/0x110 [drm]
 [   80.795001]  [<ffffffffc00afbf8>] drm_mode_setcrtc+0x418/0x530 [drm]
 [   80.795030]  [<ffffffffc00a17c2>] drm_ioctl+0x152/0x540 [drm]
 [   80.795067]  [<ffffffffc00af7e0>] ? drm_mode_setplane+0x1c0/0x1c0 [drm]
 [   80.795098]  [<ffffffffc06864a2>] ? iwl_dbgfs_interrupt_read+0x62/0x220 [iwlwifi]
 [   80.795108]  [<ffffffff8121920f>] ? dput+0x2f/0x240
 [   80.795115]  [<ffffffff81214fa2>] do_vfs_ioctl+0x92/0x580
 [   80.795124]  [<ffffffff8100322b>] ? do_audit_syscall_entry+0x4b/0x70
 [   80.795131]  [<ffffffff8100388c>] ? syscall_trace_enter_phase1+0xfc/0x120
 [   80.795138]  [<ffffffff81117d30>] ? __audit_syscall_exit+0x230/0x2c0
 [   80.795144]  [<ffffffff81215509>] SyS_ioctl+0x79/0x90
 [   80.795151]  [<ffffffff81003bce>] do_syscall_64+0x5e/0xc0
 [   80.795159]  [<ffffffff817f1a65>] entry_SYSCALL64_slow_path+0x25/0x25
 [   80.795165] ---[ end trace d26be72208153b8f ]---
 [   80.795172] [drm:skl_update_scaler_plane] Updating scaler for [PLANE:28] scaler_user index 1.3
 [   80.795182] [drm:intel_find_shared_dpll] CRTC:30 allocated DPLL 1
 [   80.795186] [drm:intel_reference_shared_dpll] using DPLL 1 for pipe B
 [   80.795191] [drm:skl_update_scaler_crtc] Updating scaler for [CRTC:30] scaler_user index 1.31
 [   80.805551] [drm:hsw_audio_codec_disable] Disable audio codec on pipe B
 [   80.805604] [drm:intel_disable_pipe] disabling pipe B
 [   80.840108] [drm:intel_get_hpd_pins] hotplug event received, stat 0x00200000, dig 0x10101011, pins 0x00000020
 [   80.840113] [drm:intel_hpd_irq_handler] digital hpd port B - short
 [   80.840122] [drm:intel_dp_hpd_pulse] got hpd irq on port B - short
 [   80.842236] [drm:intel_disable_shared_dpll] disable DPLL 1 (active 2, on? 1) for crtc 30
 [   80.842241] [drm:intel_disable_shared_dpll] disabling DPLL 1
 [   80.842247] [drm:verify_encoder_state] [ENCODER:36:TMDS-36]
 [   80.842250] [drm:verify_encoder_state] [ENCODER:45:TMDS-45]
 [   80.842251] [drm:verify_encoder_state] [ENCODER:47:DP MST-47]
 [   80.842253] [drm:verify_encoder_state] [ENCODER:48:DP MST-48]
 [   80.842254] [drm:verify_encoder_state] [ENCODER:49:DP MST-49]
 [   80.842256] [drm:verify_encoder_state] [ENCODER:52:TMDS-52]
 [   80.842258] [drm:verify_encoder_state] [ENCODER:54:DP MST-54]
 [   80.842260] [drm:verify_encoder_state] [ENCODER:55:DP MST-55]
 [   80.842261] [drm:verify_encoder_state] [ENCODER:56:DP MST-56]
 [   80.842263] [drm:intel_connector_verify_state] [CONNECTOR:50:HDMI-A-1]
 [   80.842266] [drm:intel_connector_verify_state] [CONNECTOR:53:DP-2]
 [   80.842268] [drm:intel_connector_verify_state] [CONNECTOR:57:HDMI-A-2]
 [   80.842270] [drm:verify_single_dpll_state] DPLL 0
 [   80.842272] [drm:verify_single_dpll_state] DPLL 1
 [   80.842274] [drm:verify_single_dpll_state] DPLL 2
 [   80.842275] [drm:verify_single_dpll_state] DPLL 3
 [   80.842278] [drm:intel_enable_shared_dpll] enable DPLL 1 (active 2, on? 0) for crtc 30
 [   80.842280] [drm:intel_enable_shared_dpll] enabling DPLL 1
 [   80.843184] [drm:intel_dp_get_dpcd] DPCD: 12 14 c4 01 01 01 01 81 02 02 06 00 00 00 02
 [   80.843997] [drm:intel_dp_get_dpcd] Display Port TPS3 support: source yes, sink yes
 [   80.844000] [drm:intel_dp_print_rates] source rates: 162000, 216000, 270000, 324000, 432000, 540000
 [   80.844002] [drm:intel_dp_print_rates] sink rates: 162000, 270000, 540000
 [   80.844004] [drm:intel_dp_print_rates] common rates: 162000, 270000, 540000
 [   80.847987] [drm:intel_dp_set_signal_levels] Using signal levels 00000000
 [   80.847989] [drm:intel_dp_set_signal_levels] Using vswing level 0
 [   80.847990] [drm:intel_dp_set_signal_levels] Using pre-emphasis level 0
 [   80.857109] [drm:intel_dp_set_signal_levels] Using signal levels 07000000
 [   80.857111] [drm:intel_dp_set_signal_levels] Using vswing level 2
 [   80.857112] [drm:intel_dp_set_signal_levels] Using pre-emphasis level 0
 [   80.866208] [drm:intel_dp_link_training_clock_recovery] clock recovery OK
 [   80.877318] [drm:intel_dp_link_training_channel_equalization] Channel EQ done. DP Training successful
 [   80.877538] [drm:skylake_pfit_enable] for crtc_state = ffff88046b3d9000
 [   80.877611] [drm:skl_wm_flush_pipe] flush pipe A (pass 3)
 [   80.877613] [drm:skl_wm_flush_pipe] flush pipe B (pass 3)
 [   80.877616] [drm:intel_enable_pipe] enabling pipe B
 [   80.877623] [drm:intel_audio_codec_enable] ELD on [CONNECTOR:46:DP-1], [ENCODER:45:TMDS-45]
 [   80.877625] [drm:hsw_audio_codec_enable] Enable audio codec on pipe B, 36 bytes ELD
 [   80.878119] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun
 [   80.894329] [drm:intel_connector_verify_state] [CONNECTOR:46:DP-1]
 [   80.894336] [drm:verify_crtc_state] [CRTC:30]
 [   80.894349] [drm:verify_single_dpll_state] DPLL 1
Comment 3 Rami 2016-09-22 08:32:06 UTC
Please try the last drm-intel-nightly from http://cgit.freedesktop.org/drm-intel and report back.
Comment 4 Robert 2016-09-23 09:56:58 UTC
(In reply to Rami from comment #3)
> Please try the last drm-intel-nightly from
> http://cgit.freedesktop.org/drm-intel and report back.

It works, thank you :-)
Comment 5 tiago 2016-09-23 18:50:52 UTC
The current drm-intel-nightly also works for me, but I get massive tearing and blinking when moving windows around.
Comment 6 Robert 2016-09-23 21:18:02 UTC
I just noticed that although 60Hz now works fine, 30Hz stopped working. When setting the mode to 3840x2160@30Hz the screen stays blank and dmesg says the following:

[drm:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU pipe B FIFO underrun

However, from my side I consider that to be a minor issue.
Comment 7 yann 2016-09-27 09:21:24 UTC
(In reply to tiago from comment #5)
> The current drm-intel-nightly also works for me, but I get massive tearing
> and blinking when moving windows around.

Can you attach your kernel and xorg logs?
Comment 8 yann 2016-09-27 09:23:18 UTC
(In reply to yann from comment #7)
> (In reply to tiago from comment #5)
> > The current drm-intel-nightly also works for me, but I get massive tearing
> > and blinking when moving windows around.
> 
> Can you attach your kernel and xorg logs?

Please check also bug 97888
Comment 9 tiago 2016-09-29 13:08:16 UTC
Created attachment 126860 [details]
dmesg output
Comment 10 tiago 2016-09-29 13:09:32 UTC
Created attachment 126861 [details]
Xorg log
Comment 11 tiago 2016-09-29 13:10:54 UTC
(In reply to yann from comment #7)
> (In reply to tiago from comment #5)
> > The current drm-intel-nightly also works for me, but I get massive tearing
> > and blinking when moving windows around.
> 
> Can you attach your kernel and xorg logs?

They are now attached.
Comment 12 Paulo Zanoni 2016-10-04 17:42:28 UTC
Hello

Can you please confirm whether https://patchwork.freedesktop.org/patch/113642/ fixes the problem?

Thanks,
Paulo
Comment 13 Jani Saarinen 2016-12-09 10:54:05 UTC
Reporter, please report as requested. We close if no feedback.
Comment 14 Robert 2016-12-09 11:21:33 UTC
As already noted, this issue has been fixed for me for some time. I'll mark this as resolved.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.