Bug 70507

Summary: [IVB regression FDI link train fail] DP attached 2560x1440 display goes blank
Product: DRI Reporter: Jan-Michael Brummer <jan.brummer>
Component: DRM/IntelAssignee: Intel GFX Bugs mailing list <intel-gfx-bugs>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: intel-gfx-bugs
Version: XOrg git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg output with drm.debug=0xe
none
dmesg output with drm.debug=0xe on latest drm-intel-nightly
none
sanitze ppt bifurcate state
none
dmesg output with drm.debug=0xe on latest drm-intel-nightly + patch
none
sanitze ppt bifurcate state v2
none
updated patch
none
dmesg output with drm.debug=0xe on latest drm-intel-nightly + patch #4
none
next patch version none

Description Jan-Michael Brummer 2013-10-15 20:33:12 UTC
I'm using an HP 8470p notebook and a HP docking station. Attached to this docking station is a DELL 2713HM monitor (max. resolution 2560x1440) through display port. KMS is working fine, i can see the Fedora 20 bootlogo and the GDM is working correctly. But as soon as the GNOME shell starts the kernel throws a WARNING, complains about FDI train failed and the screen goes black.

[   45.575490] ------------[ cut here ]------------
[   45.575536] WARNING: CPU: 2 PID: 1025 at drivers/gpu/drm/i915/intel_display.c:5531 ironlake_crtc_mode_set+0xd88/0xe20 [i915]()
[   45.575538] Modules linked in: fuse ebtable_nat nf_conntrack_netbios_ns nf_conntrack_broadcast ipt_MASQUERADE ip6table_mangle ip6table_security ip6table_raw ip6t_REJECT iptable_nat nf_nat_ipv4 iptable_mangle iptable_security iptable_raw vboxpci(OF) vboxnetadp(OF) vboxnetflt(OF) nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack ebtable_filter ebtables ip6table_filter vboxdrv(OF) ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 nf_nat nf_conntrack ip6_tables bnep snd_hda_codec_hdmi snd_hda_codec_idt iTCO_wdt iTCO_vendor_support hp_wmi sparse_keymap ppdev btusb bluetooth uvcvideo videobuf2_vmalloc x86_pkg_temp_thermal videobuf2_memops coretemp videobuf2_core kvm_intel videodev media kvm crc32_pclmul crc32c_intel ghash_clmulni_intel arc4 microcode iwldvm mac80211 snd_hda_intel joydev snd_hda_codec
[   45.575576]  serio_raw snd_hwdep snd_seq snd_seq_device snd_pcm iwlwifi lpc_ich mfd_core cfg80211 sdhci_pci sdhci mmc_core rfkill snd_page_alloc e1000e snd_timer snd shpchp ptp soundcore pps_core mei_me mei wmi parport_pc tpm_tis parport tpm_infineon tpm tpm_bios hp_accel lis3lv02d input_polldev mperf binfmt_misc nfsd auth_rpcgss nfs_acl lockd sunrpc i915 i2c_algo_bit drm_kms_helper firewire_ohci drm firewire_core crc_itu_t i2c_core video
[   45.575632] CPU: 2 PID: 1025 Comm: Xorg Tainted: GF        C O 3.11.4-302.fc20.x86_64 #1
[   45.575635] Hardware name: Hewlett-Packard HP EliteBook 8470p/179B, BIOS 68ICF Ver. F.43 07/16/2013
[   45.575637]  0000000000000009 ffff88020485da28 ffffffff8164818b 0000000000000000
[   45.575642]  ffff88020485da60 ffffffff8106715d ffff8802306b8000 ffff880232af5000
[   45.575647]  ffff88023043bc70 ffff8802306b8000 00000000c4010001 ffff88020485da70
[   45.575652] Call Trace:
[   45.575660]  [<ffffffff8164818b>] dump_stack+0x45/0x56
[   45.575676]  [<ffffffff8106715d>] warn_slowpath_common+0x7d/0xa0
[   45.575683]  [<ffffffff8106723a>] warn_slowpath_null+0x1a/0x20
[   45.575711]  [<ffffffffa00c9308>] ironlake_crtc_mode_set+0xd88/0xe20 [i915]
[   45.575741]  [<ffffffffa00ca5f0>] __intel_set_mode+0x5b0/0x12e0 [i915]
[   45.575881]  [<ffffffffa00cd3d6>] intel_set_mode+0x16/0x30 [i915]
[   45.575907]  [<ffffffffa00cdc32>] intel_crtc_set_config+0x742/0x920 [i915]
[   45.575932]  [<ffffffffa0043a6d>] drm_mode_set_config_internal+0x5d/0xe0 [drm]
[   45.575953]  [<ffffffffa0046447>] drm_mode_setcrtc+0xf7/0x650 [drm]
[   45.575979]  [<ffffffffa00c2a82>] ? intel_crtc_load_lut+0xd2/0x170 [i915]
[   45.575999]  [<ffffffffa0037142>] drm_ioctl+0x532/0x660 [drm]
[   45.576013]  [<ffffffff811b9dfd>] do_vfs_ioctl+0x2dd/0x4b0
[   45.576018]  [<ffffffff811ba051>] SyS_ioctl+0x81/0xa0
[   45.576024]  [<ffffffff81657359>] system_call_fastpath+0x16/0x1b
[   45.576027] ---[ end trace fd1712f0cf9ed9ea ]---


It can only be resurrected if i try to switch the primary monitor to secondary and back. Then the screen wakes up again and is working fine. This worked fine with the Fedora 19 live stick (Kernel 3.9).
Comment 1 Jan-Michael Brummer 2013-10-15 20:34:50 UTC
Created attachment 87690 [details]
dmesg output with drm.debug=0xe
Comment 2 Daniel Vetter 2013-10-16 08:16:09 UTC
Which kernel version is this exactly? The beginning of dmesg is cut off, so I can't tell ...

Also can you please retest with latest drm-intel-nightly branch from

http://cgit.freedesktop.org/~danvet/drm-intel/
Comment 3 Jan-Michael Brummer 2013-10-16 08:32:41 UTC
I'm sorry for the cut off. Its  3.11.5-300.fc20.x86_64. Let me check your git
Comment 4 Jan-Michael Brummer 2013-10-16 10:29:07 UTC
I've tested your git version and it alsa throws an error in ironlake_crtc_mode_set

[   19.416518] ------------[ cut here ]------------
[   19.416546] WARNING: CPU: 0 PID: 993 at drivers/gpu/drm/i915/intel_display.c:5879 ironlake_crtc_mode_set+0xc01/0xc60 [i915]()
[   19.416547] Modules linked in: fuse ebtable_nat nf_conntrack_netbios_ns nf_conntrack_broadcast ipt_MASQUERADE ip6table_mangle ip6table_security ip6table_raw ip6t_REJECT iptable_nat nf_nat_ipv4 iptable_mangle iptable_security iptable_raw nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack ebtable_filter ebtables ip6table_filter vboxpci(OF) vboxnetadp(OF) vboxnetflt(OF) ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 nf_nat nf_conntrack ip6_tables vboxdrv(OF) bnep arc4 iwldvm mac80211 snd_hda_codec_hdmi snd_hda_codec_idt x86_pkg_temp_thermal coretemp kvm_intel kvm iwlwifi snd_hda_intel snd_hda_codec nfsd cfg80211 uvcvideo snd_hwdep snd_seq iTCO_wdt iTCO_vendor_support btusb hp_wmi snd_seq_device bluetooth videobuf2_vmalloc e1000e ppdev sparse_keymap videobuf2_memops crc32_pclmul snd_pcm videobuf2_core
[   19.416569]  crc32c_intel videodev ghash_clmulni_intel auth_rpcgss sdhci_pci snd_page_alloc sdhci tpm_infineon snd_timer mmc_core microcode media nfs_acl snd mei_me lockd joydev rfkill mei ptp serio_raw pcspkr lpc_ich pps_core soundcore mfd_core shpchp parport_pc wmi sunrpc tpm_tis parport tpm hp_accel tpm_bios acpi_cpufreq lis3lv02d input_polldev binfmt_misc i915 i2c_algo_bit drm_kms_helper drm firewire_ohci firewire_core crc_itu_t i2c_core video
[   19.416587] CPU: 0 PID: 993 Comm: Xorg Tainted: GF          O 3.12.0-rc5-jbr+ #1
[   19.416589] Hardware name: Hewlett-Packard HP EliteBook 8470p/179B, BIOS 68ICF Ver. F.43 07/16/2013
[   19.416590]  0000000000000009 ffff880231cfda50 ffffffff8165eaed 0000000000000000
[   19.416592]  ffff880231cfda88 ffffffff810680ad ffff880232b0f000 ffff88022ea28000
[   19.416594]  0000000000000000 ffff88022ea28000 ffff88022ea2aa98 ffff880231cfda98
[   19.416596] Call Trace:
[   19.416601]  [<ffffffff8165eaed>] dump_stack+0x45/0x56
[   19.416604]  [<ffffffff810680ad>] warn_slowpath_common+0x7d/0xa0
[   19.416606]  [<ffffffff8106818a>] warn_slowpath_null+0x1a/0x20
[   19.416620]  [<ffffffffa00e1a41>] ironlake_crtc_mode_set+0xc01/0xc60 [i915]
[   19.416633]  [<ffffffffa00e5174>] __intel_set_mode+0x6b4/0x1510 [i915]
[   19.416646]  [<ffffffffa00e80b6>] intel_set_mode+0x16/0x30 [i915]
[   19.416656]  [<ffffffffa00e89b3>] intel_crtc_set_config+0x7e3/0x9d0 [i915]
[   19.416666]  [<ffffffffa0052ffd>] drm_mode_set_config_internal+0x5d/0xe0 [drm]
[   19.416675]  [<ffffffffa0055ad7>] drm_mode_setcrtc+0xf7/0x5d0 [drm]
[   19.416682]  [<ffffffffa0046bf2>] drm_ioctl+0x522/0x650 [drm]
[   19.416688]  [<ffffffff811bb74d>] do_vfs_ioctl+0x2dd/0x4b0
[   19.416689]  [<ffffffff811bb9a1>] SyS_ioctl+0x81/0xa0
[   19.416692]  [<ffffffff8166dae9>] system_call_fastpath+0x16/0x1b
[   19.416693] ---[ end trace 98a0e0c6a7687072 ]---
Comment 5 Daniel Vetter 2013-10-16 14:19:01 UTC
Can you please boot your system with drm.debug=0xe, reproduce the issue and then attach the complete dmesg? Please make sure that dmesg contains everything since boot-up, extend the log buffer with log_buf_len=4M if needed.
Comment 6 Jan-Michael Brummer 2013-10-16 14:29:17 UTC
Created attachment 87739 [details]
dmesg output with drm.debug=0xe on latest drm-intel-nightly
Comment 7 Daniel Vetter 2013-10-21 19:55:05 UTC
Created attachment 87955 [details] [review]
sanitze ppt bifurcate state

Please test this patch, thanks.
Comment 8 Jan-Michael Brummer 2013-10-22 07:43:19 UTC
I've checked-out the latest drm-intel-nightly git and applied your attached patch. Unfortunately this doesn't help. It's still the same issue. Entering GNOME 3 throws listed kernel warning and blanks my big screen.
Comment 9 Jan-Michael Brummer 2013-10-22 07:44:06 UTC
Created attachment 87969 [details]
dmesg output with drm.debug=0xe on latest drm-intel-nightly + patch
Comment 10 Daniel Vetter 2013-10-22 08:57:11 UTC
Created attachment 87974 [details] [review]
sanitze ppt bifurcate state v2

Oops, I've misanalyzed the issue. This hopefully works better, please test.
Comment 11 Jan-Michael Brummer 2013-10-22 11:22:16 UTC
Wonderful, its working. I've used the latest git and *only* your second patch (the first one makes it bad again). The kernel warning is gone and the big screen always shows an image. Thanks :)

There is another warning message when removing the laptop of the docking station. But that's for another bug report. Just to give you a preview:

[   36.161229] WARNING: CPU: 1 PID: 950 at drivers/gpu/drm/i915/intel_dp.c:2675 intel_dp_link_down+0x1d2/0x210 [i915]()
[   36.161233] Modules linked in: fuse nf_conntrack_netbios_ns nf_conntrack_broadcast ipt_MASQUERADE ip6t_REJECT xt_conntrack vboxpci(OF) vboxnetadp(OF) vboxnetflt(OF) ebtable_nat ebtable_broute bridge stp llc ebtable_filter ebtables ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_security ip6table_raw ip6table_filter ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 vboxdrv(OF) nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_security iptable_raw bnep arc4 iwldvm mac80211 iwlwifi cfg80211 snd_hda_codec_hdmi snd_hda_codec_idt uvcvideo videobuf2_vmalloc videobuf2_memops snd_hda_intel iTCO_wdt iTCO_vendor_support ppdev videobuf2_core hp_wmi snd_hda_codec sparse_keymap videodev x86_pkg_temp_thermal coretemp kvm_intel kvm btusb bluetooth media snd_hwdep snd_seq
[   36.161304]  crc32_pclmul tpm_infineon crc32c_intel snd_seq_device ghash_clmulni_intel snd_pcm nfsd snd_page_alloc snd_timer microcode snd soundcore sdhci_pci sdhci joydev rfkill mmc_core e1000e pcspkr serio_raw lpc_ich mfd_core shpchp mei_me auth_rpcgss mei ptp parport_pc pps_core wmi parport tpm_tis tpm tpm_bios hp_accel lis3lv02d input_polldev acpi_cpufreq nfs_acl binfmt_misc lockd sunrpc i915 i2c_algo_bit drm_kms_helper drm firewire_ohci firewire_core i2c_core crc_itu_t video
[   36.161368] CPU: 1 PID: 950 Comm: Xorg Tainted: GF          O 3.12.0-rc5-jbr+ #2
[   36.161373] Hardware name: Hewlett-Packard HP EliteBook 8470p/179B, BIOS 68ICF Ver. F.43 07/16/2013
[   36.161377]  0000000000000009 ffff880230395c08 ffffffff8165ecbd 0000000000000000
[   36.161386]  ffff880230395c40 ffffffff810680ad ffff88022e3360c8 ffff88022e333800
[   36.161393]  ffff880232c75000 0000000080180344 ffff880035e18000 ffff880230395c50
[   36.161400] Call Trace:
[   36.161412]  [<ffffffff8165ecbd>] dump_stack+0x45/0x56
[   36.161422]  [<ffffffff810680ad>] warn_slowpath_common+0x7d/0xa0
[   36.161430]  [<ffffffff8106818a>] warn_slowpath_null+0x1a/0x20
[   36.161467]  [<ffffffffa00f3402>] intel_dp_link_down+0x1d2/0x210 [i915]
[   36.161504]  [<ffffffffa00f7578>] intel_disable_dp+0x68/0x70 [i915]
[   36.161537]  [<ffffffffa00dc76e>] ironlake_crtc_disable+0x1ae/0x960 [i915]
[   36.161571]  [<ffffffffa00e2b8f>] intel_crtc_update_dpms+0x6f/0xa0 [i915]
[   36.161604]  [<ffffffffa00e6209>] intel_connector_dpms+0x59/0x70 [i915]
[   36.161634]  [<ffffffffa0054598>] drm_mode_obj_set_property_ioctl+0x308/0x320 [drm]
[   36.161657]  [<ffffffffa00545e0>] drm_mode_connector_property_set_ioctl+0x30/0x40 [drm]
[   36.161678]  [<ffffffffa0043bf2>] drm_ioctl+0x522/0x650 [drm]
[   36.161694]  [<ffffffff811bb7dd>] do_vfs_ioctl+0x2dd/0x4b0
[   36.161701]  [<ffffffff811bba31>] SyS_ioctl+0x81/0xa0
[   36.161710]  [<ffffffff8166dca9>] system_call_fastpath+0x16/0x1b
[   36.161714] ---[ end trace 37be47971862866f ]---
Comment 12 Daniel Vetter 2013-10-28 09:26:08 UTC
Created attachment 88220 [details] [review]
updated patch

patch v2 was ripped apart in review, so this one here tries yet another approach. At least conceptually this should be sound. Please test.
Comment 13 Jan-Michael Brummer 2013-10-29 08:22:26 UTC
The latest patch is not working for me, the display stays blank. I guess you need another dmesg log output?
Comment 14 Jan-Michael Brummer 2013-10-29 08:29:44 UTC
Created attachment 88279 [details]
dmesg output with drm.debug=0xe on latest drm-intel-nightly + patch #4
Comment 15 Daniel Vetter 2013-10-29 09:09:39 UTC
Created attachment 88282 [details] [review]
next patch version

Ok, this is getting a bit embarassing ;-) Previous patch was indeed rather bogus for your issue, but I've stared at the update dmesg some more and I think patch v2 was indeed the right thing. Now updated to address the issues pointed out in the review. Please test.
Comment 16 Jan-Michael Brummer 2013-10-29 10:32:31 UTC
Works again :)
Comment 17 Daniel Vetter 2013-10-29 13:19:37 UTC
Thanks for bearing with me, patch is now merged to -fixes and the pull request already sent off:

commit 1fbc0d789d12fec313c91912fc11733fdfbab863
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Tue Oct 29 12:04:08 2013 +0100

    drm/i915: Fix the PPT fdi lane bifurcate state handling on ivb

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.