[Bug 94822] New: System hangs when some video output is disabled/enabled on Skylake platform in double/triple display configuration
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Mon Apr 4 16:32:08 UTC 2016
https://bugs.freedesktop.org/show_bug.cgi?id=94822
Bug ID: 94822
Summary: System hangs when some video output is
disabled/enabled on Skylake platform in double/triple
display configuration
Product: DRI
Version: unspecified
Hardware: x86-64 (AMD64)
OS: Linux (All)
Status: NEW
Severity: normal
Priority: medium
Component: DRM/Intel
Assignee: intel-gfx-bugs at lists.freedesktop.org
Reporter: echerkasov at dev.rtsoft.ru
QA Contact: intel-gfx-bugs at lists.freedesktop.org
CC: intel-gfx-bugs at lists.freedesktop.org
i915 platform: SKL
Created attachment 122705
--> https://bugs.freedesktop.org/attachment.cgi?id=122705&action=edit
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:
https://bugs.freedesktop.org/show_bug.cgi?id=94122 (this one can be reproduced
on our side too)
https://bugs.freedesktop.org/show_bug.cgi?id=93578
https://bugs.freedesktop.org/show_bug.cgi?id=92181
https://bugs.freedesktop.org/show_bug.cgi?id=89055
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
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are on the CC list for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20160404/82bb259a/attachment.html>
More information about the intel-gfx-bugs
mailing list