<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - System hangs when some video output is disabled/enabled on Skylake platform in double/triple display configuration"
href="https://bugs.freedesktop.org/show_bug.cgi?id=94822">94822</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>System hangs when some video output is disabled/enabled on Skylake platform in double/triple display configuration
</td>
</tr>
<tr>
<th>Product</th>
<td>DRI
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Hardware</th>
<td>x86-64 (AMD64)
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux (All)
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Component</th>
<td>DRM/Intel
</td>
</tr>
<tr>
<th>Assignee</th>
<td>intel-gfx-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>echerkasov@dev.rtsoft.ru
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>intel-gfx-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>CC</th>
<td>intel-gfx-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>i915 platform</th>
<td>SKL
</td>
</tr></table>
<p>
<div>
<pre>Created <span class=""><a href="attachment.cgi?id=122705" name="attach_122705" title="Dmesg log, xrandr and intel_reg_dump output">attachment 122705</a> <a href="attachment.cgi?id=122705&action=edit" title="Dmesg log, xrandr and intel_reg_dump output">[details]</a></span>
Dmesg log, xrandr and intel_reg_dump output
==Reproduce steps==
-------------------------------
How to reproduce:
1. Connect at least two displays to Intel Skylake platform;
2. Boot some decent Linux on it;
3. If system successfully boots up, try to manually disable/enable some video
output, e.g. via xrandr:
xrandr --output eDP1 --off
xrandr --outout eDP1 --auto
Please note that several attempts may be required.
4. If it does not hang, try to enable/disable different video outputs:
xrandr --output HDMI1 --off
xrandr --output HDMI1 --auto
or
xrandr --output DP1 --off
xrandr --output DP1 --auto
5. After these actions, our system hangs in 100% cases.
==Bug detailed description==
-----------------------------------------
We have some Skylake platform(a prototype board from some vendor) with three
video outputs:
- 2xDDIx4(DVI/HDMI/DP);
- 1xLVDS(PTN3460 is used to convert eDPx2 to LVDS).
The problem is that Linux(latest Yocto and Ubuntu) sometimes hangs during boot.
When we tried to investigate this issue we had discovered that the problem is
related to video subsystem and:
- it can be reproduced only when two or three displays are connected to the
board;
- is can be reproduced manually(several dozen attempts may be required) by
switching on/off some video output via xrandr;
- it's more likely that the system will hang during turning on/off the eDP
channel than DDI;
- the system locks up completely so it is not possible to debug the issue
further;
- the system hangs when the connected display is physically turned on/off (and
not at the moment when xrandr is issued in console);
- when system does not hang, the following calltrace can be observed in dmesg
after issuing xrandr command:
[ 456.516554] WARNING: CPU: 2 PID: 695 at
/home/kernel/COD/linux/drivers/gpu/drm/i915/intel_pm.c:3633
skl_update_other_pipe_wm+0x16c/0x180 [i915]
[ 456.516559] WARN_ON(!wm_changed)
[ 456.516564] Modules linked in:
[ 456.516569] bnep nls_iso8859_1 snd_soc_skl intel_rapl
snd_soc_skl_ipc x86_pkg_temp_thermal intel_powerclamp snd_soc_sst_ipc
coretemp snd_soc_sst_dsp snd_hda_codec_hdmi kvm_intel snd_hda_ext_core
snd_hda_codec_realtek snd_soc_sst_match kvm snd_hda_codec_generic
snd_soc_core snd_compress ac97_bus snd_pcm_dmaengine joydev input_leds
dw_dmac_core irqbypass snd_hda_intel snd_hda_codec snd_hda_core
crct10dif_pclmul snd_hwdep snd_pcm 8250_dw i2c_designware_platform
i2c_designware_core snd_seq_midi hci_uart crc32_pclmul
ghash_clmulni_intel aesni_intel btbcm aes_x86_64 snd_seq_midi_event
btqca btintel lrw snd_rawmidi gf128mul bluetooth glue_helper snd_seq
snd_seq_device ablk_helper snd_timer cryptd idma64 virt_dma snd
intel_lpss_pci intel_lpss_acpi intel_lpss mei_me soundcore mei acpi_pad
mac_hid intel_pch_thermal
[ 456.516675] acpi_als kfifo_buf industrialio parport_pc ppdev lp
parport autofs4 hid_generic usbhid i915 e1000e i2c_algo_bit ptp
drm_kms_helper pps_core syscopyarea sysfillrect sysimgblt fb_sys_fops
sdhci_pci ahci sdhci drm libahci wmi i2c_hid hid video
pinctrl_sunrisepoint pinctrl_intel fjes
[ 456.516734] CPU: 2 PID: 695 Comm: Xorg Tainted: G W 4.6.0-994-generic
#201603312200
[ 456.516745] Hardware name: Default string Default string/SKYBAY, BIOS
5.11 12/07/2015
[ 456.516751] 0000000000000286 0000000002f3854e ffff88026166f988
ffffffff813ee8c3
[ 456.516762] ffff88026166f9d8 0000000000000000 ffff88026166f9c8
ffffffff8108275b
[ 456.516771] 00000e3101b60400 ffff880263aff000 ffff88025dc49fa8
ffff88025ead7000
[ 456.516780] Call Trace:
[ 456.516799] [<ffffffff813ee8c3>] dump_stack+0x63/0x90
[ 456.516811] [<ffffffff8108275b>] __warn+0xcb/0xf0
[ 456.516821] [<ffffffff810827df>] warn_slowpath_fmt+0x5f/0x80
[ 456.516891] [<ffffffffc01e17fc>] skl_update_other_pipe_wm+0x16c/0x180
[i915]
[ 456.516956] [<ffffffffc01e1995>] skl_update_wm+0x185/0x670 [i915]
[ 456.517019] [<ffffffffc01e578e>] intel_update_watermarks+0x1e/0x30 [i915]
[ 456.517112] [<ffffffffc024f8c1>] intel_atomic_commit+0x471/0xdf0 [i915]
[ 456.517163] [<ffffffffc008b2ac>] ? drm_ut_debug_printk+0x6c/0x90 [drm]
[ 456.517226] [<ffffffffc00a2df7>] drm_atomic_commit+0x37/0x60 [drm]
[ 456.517256] [<ffffffffc0157f2a>] drm_atomic_helper_set_config+0x7a/0xb0
[drm_kms_helper]
[ 456.517310] [<ffffffffc0092862>] drm_mode_set_config_internal+0x62/0x100
[drm]
[ 456.517363] [<ffffffffc00967b0>] drm_mode_setcrtc+0x3e0/0x500 [drm]
[ 456.517402] [<ffffffffc0087ab2>] drm_ioctl+0x152/0x540 [drm]
[ 456.517448] [<ffffffffc00963d0>] ? drm_mode_setplane+0x1b0/0x1b0 [drm]
[ 456.517459] [<ffffffff81233501>] do_vfs_ioctl+0xa1/0x5b0
[ 456.517470] [<ffffffff8122158e>] ? ____fput+0xe/0x10
[ 456.517479] [<ffffffff810a1258>] ? task_work_run+0x78/0x90
[ 456.517486] [<ffffffff81233a89>] SyS_ioctl+0x79/0x90
[ 456.517499] [<ffffffff81839fb6>] entry_SYSCALL_64_fastpath+0x1e/0xa8
Similar errors/issues can be found on bugzilla, but we are not sure that they
are related to our problem:
<a class="bz_bug_link
bz_status_NEW "
title="NEW - [SKL] SKL freezes when using a sprite with two monitors connected"
href="show_bug.cgi?id=94122">https://bugs.freedesktop.org/show_bug.cgi?id=94122</a> (this one can be reproduced
on our side too)
<a class="bz_bug_link
bz_status_NEW "
title="NEW - Intel HD 520 failed to train DP when connected with a external monitor"
href="show_bug.cgi?id=93578">https://bugs.freedesktop.org/show_bug.cgi?id=93578</a>
<a class="bz_bug_link
bz_status_ASSIGNED "
title="ASSIGNED - [SKL] igt/kms_plane/plane-position-covered-pipe-b-plane-2 fail and cause system crash"
href="show_bug.cgi?id=92181">https://bugs.freedesktop.org/show_bug.cgi?id=92181</a>
<a class="bz_bug_link
bz_status_REOPENED "
title="REOPENED - [SKL ] WARN_ON(!wm_changed) hit in the WM code with multiple pipes enabled"
href="show_bug.cgi?id=89055">https://bugs.freedesktop.org/show_bug.cgi?id=89055</a>
We have also tried the latest versions of i915 driver from git - no luck.
Please tell if any additional information/testing are needed. Due to lock-up of
the system, we have managed to collect only logs below.
==Environment info==
--------------------
$ uname -m
x86_64
$ uname -r
4.6.0-994-generic
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu Xenial Xerus (development branch)
Release: 16.04
Codename: xenial
$ dpkg -s libdrm2 | grep 'Version'
Version: 2.4.67+git1603290630.ea78c1~gd~x
$ dpkg -s libdrm-intel1 | grep 'Version'
Version: 2.4.67+git1603290630.ea78c1~gd~x
Graphics adapter:
00:02.0 VGA compatible controller: Intel Corporation Skylake Integrated
Graphics (rev 07) (prog-if 00 [VGA controller])
DeviceName: Onboard IGD
Subsystem: Intel Corporation Skylake Integrated Graphics
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 277
Region 0: Memory at de000000 (64-bit, non-prefetchable) [size=16M]
Region 2: Memory at c0000000 (64-bit, prefetchable) [size=256M]
Region 4: I/O ports at f000 [size=64]
[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: [40] Vendor Specific Information: Len=0c <?>
Capabilities: [70] Express (v2) Root Complex Integrated Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0
ExtTag- RBE+
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
DevCap2: Completion Timeout: Not Supported, TimeoutDis-, LTR-, OBFF Not
Supported
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF
Disabled
Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit-
Address: fee00018 Data: 0000
Capabilities: [d0] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [100 v1] #1b
Capabilities: [200 v1] Address Translation Service (ATS)
ATSCap: Invalidate Queue Depth: 00
ATSCtl: Enable-, Smallest Translation Unit: 00
Capabilities: [300 v1] #13
Kernel driver in use: i915
Kernel modules: i915</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are on the CC list for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>