Bug 80532 - [BYT] internal display unusable if second display is connected, port not ready error
Summary: [BYT] internal display unusable if second display is connected, port not read...
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: Ville Syrjala
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-06-25 19:37 UTC by fcbug
Modified: 2017-07-24 22:53 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg.log with error (249.27 KB, text/plain)
2014-06-27 18:39 UTC, fcbug
no flags Details
dmesg.log after boot (179.27 KB, text/plain)
2014-06-27 18:42 UTC, fcbug
no flags Details
dmesg with kernel 3.18.6-200.fc21.x86_64 (215.22 KB, text/plain)
2015-02-12 17:15 UTC, fcbug
no flags Details

Description fcbug 2014-06-25 19:37:18 UTC
Graphics Chip: 8086:0f31 VGA compatible controller: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Graphics & Display (rev 0c)
system archicture: x86_64
driver: xorg-x11-drv-intel.x86_64 2.21.15-7.fc20
OpenGL version string: 3.0 Mesa 10.1.5
kernel: 3.14.8-200.fc20.x86_64
distribution: Fedora 20
machine: Asus F200MA-KX076H
display: internal LCD, externel VGA

How to repoduce:

1) Boot without external monitor
2) Connect extenal monitor

result:

The external monitor is switched on,
The internal monitor is activ regarding display settings but off

journalctl:

Jun 21 15:52:56 beruna.fritz.box kernel: [drm:intel_dp_start_link_train] *ERROR* too many full retries, give up
Jun 21 15:52:56 beruna.fritz.box kernel: [drm:intel_dp_start_link_train] *ERROR* too many full retries, give up
Jun 21 15:52:56 beruna.fritz.box kernel: [drm:intel_dp_complete_link_train] *ERROR* failed to train DP, aborting
Jun 21 15:52:57 beruna.fritz.box kernel: ------------[ cut here ]------------
Jun 21 15:52:57 beruna.fritz.box kernel: WARNING: CPU: 0 PID: 1038 at drivers/gpu/drm/i915/intel_display.c:1539 vlv_wait_port_
Jun 21 15:52:57 beruna.fritz.box kernel: timed out waiting for port C ready: 0xf000a0df
Jun 21 15:52:57 beruna.fritz.box kernel: Modules linked in: mmc_block tcp_lp ccm bnep bluetooth 6lowpan_iphc ip6t_rpfilter ip6
Jun 21 15:52:57 beruna.fritz.box kernel:  crc32_pclmul crc32c_intel dibx000_common dvb_usb cfg80211 dvb_core ghash_clmulni_int
Jun 21 15:52:57 beruna.fritz.box kernel: CPU: 0 PID: 1038 Comm: Xorg Tainted: G        W    3.14.8-200.fc20.x86_64 #1
Jun 21 15:52:57 beruna.fritz.box kernel: Hardware name: ASUSTeK COMPUTER INC. X200MA/X200MA, BIOS X200MA.302 01/21/2014
Jun 21 15:52:57 beruna.fritz.box kernel:  0000000000000000 00000000c36febf7 ffff8800b1d8d9e0 ffffffff816f0502
Jun 21 15:52:57 beruna.fritz.box kernel:  ffff8800b1d8da28 ffff8800b1d8da18 ffffffff8108a1cd ffff880138a18000
Jun 21 15:52:57 beruna.fritz.box kernel:  00000000000000f0 00000001011c270c ffff880138aea000 ffff880138a19f70
Jun 21 15:52:57 beruna.fritz.box kernel: Call Trace:
Jun 21 15:52:57 beruna.fritz.box kernel:  [<ffffffff816f0502>] dump_stack+0x45/0x56
Jun 21 15:52:57 beruna.fritz.box kernel:  [<ffffffff8108a1cd>] warn_slowpath_common+0x7d/0xa0
Jun 21 15:52:57 beruna.fritz.box kernel:  [<ffffffff8108a24c>] warn_slowpath_fmt+0x5c/0x80
Jun 21 15:52:57 beruna.fritz.box kernel:  [<ffffffffa0108ad2>] vlv_wait_port_ready+0x122/0x140 [i915]
Jun 21 15:52:57 beruna.fritz.box kernel:  [<ffffffffa0125f87>] vlv_pre_enable_dp+0xf7/0x170 [i915]
Jun 21 15:52:57 beruna.fritz.box kernel:  [<ffffffffa010ddac>] valleyview_crtc_enable+0x12c/0x490 [i915]
Jun 21 15:52:57 beruna.fritz.box kernel:  [<ffffffffa01104a7>] __intel_set_mode+0x767/0x1610 [i915]
Jun 21 15:52:57 beruna.fritz.box kernel:  [<ffffffffa01137f6>] intel_set_mode+0x16/0x30 [i915]
Jun 21 15:52:57 beruna.fritz.box kernel:  [<ffffffffa01140bb>] intel_crtc_set_config+0x7bb/0x990 [i915]
Jun 21 15:52:57 beruna.fritz.box kernel:  [<ffffffffa006aa3d>] drm_mode_set_config_internal+0x5d/0xe0 [drm]
Jun 21 15:52:57 beruna.fritz.box kernel:  [<ffffffffa006d907>] drm_mode_setcrtc+0x107/0x610 [drm]
Jun 21 15:52:57 beruna.fritz.box kernel:  [<ffffffffa005ebf2>] drm_ioctl+0x4f2/0x620 [drm]
Jun 21 15:52:57 beruna.fritz.box kernel:  [<ffffffff811fd110>] do_vfs_ioctl+0x2e0/0x4a0
Jun 21 15:52:57 beruna.fritz.box kernel:  [<ffffffff811fd351>] SyS_ioctl+0x81/0xa0
Jun 21 15:52:57 beruna.fritz.box kernel:  [<ffffffff81121ed6>] ? __audit_syscall_exit+0x1f6/0x2a0
Jun 21 15:52:57 beruna.fritz.box kernel:  [<ffffffff817008e9>] system_call_fastpath+0x16/0x1b
Jun 21 15:52:57 beruna.fritz.box kernel: ---[ end trace 9562d3148cb68a8b ]---
Jun 21 15:52:58 beruna.fritz.box colord[1020]: Automatic metadata add icc-51c6fbbef93d7fafc235bce35951713b to xrandr-BenQ-BenQ
Jun 21 15:52:58 beruna.fritz.box colord[1020]: Device added: xrandr-BenQ-BenQ FP93GX+-14623

3) Change display settings

result:

The mouse pointer moves on the display, but the system freezes.
No reaction on Ctrl-Alt-F2.
The laptop is not reachable with ssh.
A hard power off is the last ressort.

Kernel 3.15 and 3.16 are affected too, but the freeze is fixed with 3.15.

see: https://bugzilla.redhat.com/show_bug.cgi?id=1091726
Comment 1 Jani Nikula 2014-06-27 08:03:17 UTC
Please attach dmesg from early boot to the problem, with drm.debug=0xe module parameter set.

Jesse, does this sound like anything we already have fixes to?
Comment 2 fcbug 2014-06-27 18:39:42 UTC
Created attachment 101890 [details]
dmesg.log with error
Comment 3 fcbug 2014-06-27 18:42:43 UTC
Created attachment 101891 [details]
dmesg.log after boot

As the dmesg.log showing the error didn't show any boot messages, here's an additional log from a fresh boot.
Comment 4 Jesse Barnes 2014-07-03 01:07:24 UTC
Yes, this sounds like one that's been fixed.

Can you try the drm-intel-nightly branch from git://git.freedesktop.org/drm-intel?
Comment 5 fcbug 2014-07-03 20:27:38 UTC
Sorry, I didn't use git until now.
I managed to install git and git-gui.

git fetch  git://git.freedesktop.org/git/drm-intel
seems to download too much.

What to do now to get the nightly build?

Is it possible to get it from a fedora-repository?
Comment 6 fcbug 2014-07-30 16:00:24 UTC
May be I have to change the status also.

Can I test a new vrsion of drm-intel from a fedora repository.

Or do You have instruction for me to test the nightly build?


Now on kernel 3.15.6 the system does not freeze any more. So changing display settings is a work around to switch the internal display on:

Steps to reproduce:

1) Connect external monitor. -> The internal monitor turns off
2) Right Click on background to get the settings window
3) Goto settings for monitors
4) Change the relative position of the two monitors

Result:
The internal monitor is switch on.

Changing the position toggles the state of the internal monitor while display settings show the internal monitor as primary and on always.
Comment 7 Jesse Barnes 2014-08-19 19:50:40 UTC
Sounds like one that should be fixed by Ville's PPS fixes.
Comment 8 Jani Nikula 2014-09-08 14:21:49 UTC
(In reply to comment #7)
> Sounds like one that should be fixed by Ville's PPS fixes.

Presumed fixed, please reopen if the problem persists with drm-intel-nightly or the upcoming v3.18 kernel.
Comment 9 fcbug 2015-01-25 15:19:12 UTC
This bug exists in kernel 3.18.3 also.

kernel:
kernel.x86_64 3.18.3-201.fc21 @updates-testing

dmesg:
[   60.337544] [drm:intel_dp_start_link_train] *ERROR* too many full retries, give up
[   63.109500] [drm:intel_dp_start_link_train] *ERROR* too many full retries, give up
[   65.988684] [drm:intel_dp_start_link_train] *ERROR* too many full retries, give up
[   68.719966] [drm:intel_dp_start_link_train] *ERROR* too many full retries, give up
[   71.352646] [drm:intel_dp_start_link_train] *ERROR* too many full retries, give up
[   73.834707] [drm:intel_dp_start_link_train] *ERROR* too many full retries, give up
[   76.362210] [drm:intel_dp_start_link_train] *ERROR* too many full retries, give up
[   76.386590] [drm:intel_dp_complete_link_train] *ERROR* failed to train DP, aborting
[   77.414982] ------------[ cut here ]------------
[   77.415146] WARNING: CPU: 1 PID: 1182 at drivers/gpu/drm/i915/intel_display.c:1797 vlv_wait_port_ready+0x12e/0x170 [i915]()
[   77.415159] timed out waiting for port C ready: 0x0000001f
[   77.415167] Modules linked in: nf_conntrack_netbios_ns nf_conntrack_broadcast ip6t_rpfilter ip6t_REJECT nf_reject_ipv6 xt_conntrack 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 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_security iptable_raw vfat fat fuse rc_dib0700_rc5 dib7000p mxl5005s af9013 dvb_usb_dib0700 dib7000m dib0090 dib0070 dib3000mc dvb_usb_af9015 dibx000_common dvb_usb_v2 dvb_usb dvb_core rc_core intel_rapl coretemp uvcvideo kvm_intel videobuf2_vmalloc kvm videobuf2_core videobuf2_memops v4l2_common arc4 ath9k videodev crct10dif_pclmul crc32_pclmul crc32c_intel ath9k_common ghash_clmulni_intel
[   77.415382]  media ath9k_hw ath mac80211 snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel asus_nb_wmi cfg80211 snd_hda_controller iTCO_wdt asus_wmi iTCO_vendor_support sparse_keymap snd_hda_codec rtsx_pci_ms memstick serio_raw snd_hwdep snd_seq snd_seq_device snd_pcm wmi i2c_hid i2c_designware_platform dw_dmac snd_timer dw_dmac_core snd i2c_designware_core mei_txe rfkill_gpio mei shpchp soundcore lpc_ich rfkill i2c_i801 iosf_mbi nfsd auth_rpcgss nfs_acl lockd grace binfmt_misc sunrpc i915 rtsx_pci_sdmmc i2c_algo_bit drm_kms_helper uas rtsx_pci drm r8169 mfd_core usb_storage mii sdhci_acpi video sdhci mmc_core
[   77.415588] CPU: 1 PID: 1182 Comm: Xorg.bin Not tainted 3.18.3-201.fc21.x86_64 #1
[   77.415599] Hardware name: ASUSTeK COMPUTER INC. X200MA/X200MA, BIOS X200MA.302 01/21/2014
[   77.415609]  0000000000000000 000000002d2fdab9 ffff8800a3107958 ffffffff8175da66
[   77.415629]  0000000000000000 ffff8800a31079b0 ffff8800a3107998 ffffffff81099181
[   77.415646]  0000000000000000 ffff88003ff80000 0000000000186014 00000000000000f0
[   77.415665] Call Trace:
[   77.415691]  [<ffffffff8175da66>] dump_stack+0x46/0x58
[   77.415715]  [<ffffffff81099181>] warn_slowpath_common+0x81/0xa0
[   77.415735]  [<ffffffff810991f5>] warn_slowpath_fmt+0x55/0x70
[   77.415933]  [<ffffffffa01698fe>] vlv_wait_port_ready+0x12e/0x170 [i915]
[   77.416063]  [<ffffffffa01917ab>] vlv_pre_enable_dp+0xeb/0x150 [i915]
[   77.416093]  [<ffffffff8139c3db>] ? delay_tsc+0x3b/0x70
[   77.416216]  [<ffffffffa01704ab>] valleyview_crtc_enable+0x7ab/0xde0 [i915]
[   77.416323]  [<ffffffffa0138df9>] ? i915_gem_object_get_fence+0x229/0x2f0 [i915]
[   77.416425]  [<ffffffffa0133e12>] ? i915_gem_object_unpin_from_display_plane+0x12/0x70 [i915]
[   77.416547]  [<ffffffffa016ceda>] __intel_set_mode+0x88a/0x16f0 [i915]
[   77.416671]  [<ffffffffa0175c36>] intel_set_mode+0x16/0x30 [i915]
[   77.416801]  [<ffffffffa0176dda>] intel_crtc_set_config+0xa9a/0xea0 [i915]
[   77.416928]  [<ffffffffa00a4228>] ? drm_modeset_lock+0x78/0x110 [drm]
[   77.417004]  [<ffffffffa0094e30>] drm_mode_set_config_internal+0x60/0xf0 [drm]
[   77.417082]  [<ffffffffa00995e6>] drm_mode_setcrtc+0x2b6/0x5d0 [drm]
[   77.417149]  [<ffffffffa008aaaf>] drm_ioctl+0x1df/0x680 [drm]
[   77.417184]  [<ffffffff81229fa0>] do_vfs_ioctl+0x2d0/0x4b0
[   77.417203]  [<ffffffff8122a201>] SyS_ioctl+0x81/0xa0
[   77.417233]  [<ffffffff817647a9>] system_call_fastpath+0x12/0x17
[   77.417246] ---[ end trace 4399a177f201c728 ]---
Comment 10 fcbug 2015-02-11 21:30:58 UTC
This bug is worse since kernel 3.18.5.

The system is unusable without an external monitor.
The internal monitor stays black and switching to a tty seems to be impossible.
Comment 11 Jani Nikula 2015-02-12 07:22:39 UTC
(In reply to fcbug from comment #10)
> This bug is worse since kernel 3.18.5.
> 
> The system is unusable without an external monitor.
> The internal monitor stays black and switching to a tty seems to be
> impossible.

I'm confused, let's verify some things.

Plugging in an external display brings black screen to internal screen. This is the bug, right?

Please provide a fresh dmesg with drm.debug=14 module parameter set for 3.18.5, or preferrably later kernel, reproducing the problem.

Does it make a difference if the external screen is already plugged at boot vs. plugged later on?

Does the internal display work all right if *no* other displays are connected?
Comment 12 fcbug 2015-02-12 17:15:50 UTC
Created attachment 113414 [details]
dmesg with kernel 3.18.6-200.fc21.x86_64

dmesg with no external display attached at the beginning.
-> internal display is black, Switching to tty is not possible

External display attached after about 300 seconds.
-> internal display black, external display working

Login after about 420 seconds.
-> both displays working
Comment 13 fcbug 2015-02-12 17:25:51 UTC
See attached dmesg with kernel 3.18.6, please.

I booted with no external monitor connected.
The internal display was black and I could not switch to a tty.

I used ssh to connect and did the first dmesg. This one ends with:
[  261.949574] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs

Then I connected the external monitor and did the second dmesg. This ends with:
[  415.478230] [drm:valleyview_update_wm] Setting FIFO watermarks - A: plane=111, cursor=6, B: plane=109, cursor=2, SR: plane=0, cursor=0

Last I logged in an did the third dmesg (see attachment, which contains all messages).


If I boot with the second monitor connected, the internal monitor goes to black after "fb: switching to inteldrmfb from EFI VGA".
The external monitor is on and later I can login (blindly), which switches the internal monitor on.
Comment 14 fcbug 2015-03-20 16:52:16 UTC
This bug seems to be fixed in kernel 3.19.1-201.fc21.x86_64 from updates_testing.

I can boot with or without an external monitor, connect or disconnect the external monitor and after a very short moment with a dark display all displays work as expected.

Thanks very much!


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.