Created attachment 124389 [details] [review]
Boot error intermittently appears around 6% of the time (with external displays and active DP adaptors):
[ 1.447236] [drm:intel_dp_aux_ch] *ERROR* dp aux hw did not signal timeout (has irq: 1)!
The error does not seem to cause any real problems as all displays still work fine.
A lengthy and interesting bisect shows the cause of this is two interacting commits, reverting either of these commits results in the error disappearing entirely (auto revert of d1d706 on current git master is not clean, equivalent patch attached):
Author: Chuansheng Liu <firstname.lastname@example.org>
Date: Thu Sep 4 15:17:55 2014 +0800
cpuidle: Use wake_up_all_idle_cpus() to wake up all idle cpus
Currently kick_all_cpus_sync() or smp_call_function() can not
break the polling idle cpu immediately.
Instead using wake_up_all_idle_cpus() which can wake up the polling idle
cpu quickly is much more helpful for power.
Author: Jesse Barnes <email@example.com>
Date: Wed May 28 14:39:03 2014 -0700
drm/i915: make fbdev initialization asynchronous v2
This gets us out of our init code and out to userspace quite a bit
faster, but does open us up to some bugs given the state of our init
v2: switch to async_schedule (Chris)
check with lockdep, seems happy (Jesse)
move hotplug enable flag set to fbdev_initial_config (Jesse)
This bug might be related to bug #92685
Which kernel are you running? Please try current drm-intel-nightly branch of http://cgit.freedesktop.org/drm-intel
Bug appears in Linus tree from 2d65a9f48fcd where the two commits identified above were merged together up to latest v4.7-rc5.
Bug is still present in drm-intel-nightly v4.7-rc5-832-ga90c9899ce2f, after 30 reboots:
[ 1.392565] [drm:intel_dp_aux_ch] *ERROR* dp aux hw did not signal timeout (has irq: 1)!
[ 1.415537] [drm:intel_dp_aux_ch] *ERROR* dp aux hw did not signal timeout (has irq: 1)!
[ 1.438534] [drm:intel_dp_aux_ch] *ERROR* dp aux hw did not signal timeout (has irq: 1)!
Chris - I'm really sorry about this long delay until getting back to you. There has been quite a few changes/fixes introduced, so please retest (again) with the latest kernels (preferable from drm-tip), and mark status as REOPENED if problem still persist. Attach logs etc. as instructed in https://01.org/linuxgraphics/documentation/how-report-bugs.
Chris, did you get a chance to run against the latest drm-tip since there have been lot of changes since 4.7. Just want to understand if this is still valid and if you still see it please send us the dmesg logs with DRM.DEBUG set to 0xe and we can help triage/fix this.
I just tried to reproduce the problem with following configuration:
HSW NUC, using mini-DP, external monitor (asus) 1920x1080.
HSW NUC, using mini-DP with MST DP-DP, external monitor (asus) 1920x1080.
HSW NUC, using mini-DP, external monitor (acer) 3840 x 2160
HSW NUC, using mini-DP with MST DP-DP, external monitor (acer) 3840 x 2160
Attaching my configuration used to test
kernel version : 4.12.0-rc3-drm-tip-ww22-commit-187376e+
architecture : x86_64
os version : Ubuntu 17.04
os codename : zesty
kernel driver : i915
bios revision : 4.6
bios release date : 03/02/2017
mesa : 17.0.3
modesetting : modesetting_drv.so
xorg-xserver : 1.19.3
libdrm : 2.4.81
cairo : 1.14.8
xserver : X.Org X Server 184.108.40.206
intel-gpu-tools (tag) : intel-gpu-tools-1.18-211-g00ce341b
intel-gpu-tools (commit) : 00ce341b
platform : HSW-Nuc
motherboard id : D54250WYK
form factor : Desktop
cpu family : Core i5
cpu family id : 6
cpu information : Intel(R) Core(TM) i5-4250U CPU @ 1.30GHz
gpu card : Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller])
memory ram : 3.79 GB
max memory ram : 16 GB
display resolution : 1600x900
cpu thread : 4
cpu core : 2
cpu model : 69
cpu stepping : 1
socket : Socket LGA1150
signature : Type 0, Family 6, Model 69, Stepping 1
hard drive : 223GiB (240GB)
current cd clock frequency : 450000 kHz
maximum cd clock frequency : 450000 kHz
displays connected : DP-1
quiet splash fastboot drm.debug=0xe
I did not have any issue.
This configuration works for me.