Linux Distro: Antergos
Linux Kernel: Linux Standard 4.12.8-2-ARCH (x86_64)
Specs: Apollo Lake N3450 with 6GB RAM (Jumper EZBook 3 Pro)
Random hang while opening Chromium (youtube player) / Movie Player (Parole) / Android Emulator.
Attaching journalcte message on next attachment.
Created attachment 133755 [details]
journalcte error text
No error state collected
Hello, could you please try to replicate with drm.debug=0x1e log_bug_len=2M and attach full dmesg log. Thank you.
I've encountered same problem on the same hardware, although i've got Devuan & 4.13 kernel.
I added log with drm.debug=0x1e log_bug_len=2M settings as an attachement.
Created attachment 134373 [details]
log file with drm.debug=0x1e log_bug_len=2M options
The attachment only includes warning messages. When a hang occurs, the file /sys/class/drm/card0/error would have all the information related to the hang, but if this one is empty full dmesg log (from boot till the problem) would give the information. So could you share either error state or full dmesg?
*** Bug 102821 has been marked as a duplicate of this bug. ***
somehow, without updating or changing anything i didn't encounter bug in past several days, if it will appear again, i'd post complete log.
Created attachment 134500 [details]
i915 debug log
I've found additional messages concerning hang in different file, i filtered only time around hang, since the rest of it is pretty much the same.
I have the same hardware and have the same fault mainly playing video at least 2 or three times an hour, will freeze screen for 4-10 seconds and can fail twice in a row.
Running Linux mint cinnamon and xfce
I can post logs too if required.
Created attachment 137212 [details]
Created attachment 137213 [details]
dmesg output at hang
Author: Michel Thierry <firstname.lastname@example.org>
Date: Mon Nov 20 12:34:58 2017 +0000
drm/i915/execlists: Delay writing to ELSP until HW has processed the previous write
The hardware needs some time to process the information received in the
ExecList Submission Port, and expects us to not write anything more until
it has 'acknowledged' this new submission by sending an IDLE_ACTIVE or
PREEMPTED CSB event.
If we do not follow this, the driver could write new data into the ELSP
before HW had finishing fetching the previous one, putting us in
'undefined behaviour' space.
This seems to be the problem causing the spurious PREEMPTED & COMPLETE
events after a COMPLETE like the one below:
 vcs0: sw rd pointer = 2, hw wr pointer = 0, current 'head' = 3.
 vcs0: Execlist CSB: 0x00000018 _ 0x00000007
 vcs0: Execlist CSB: 0x00000001 _ 0x00000000
 vcs0: Execlist CSB: 0x00000018 _ 0x00000007 <<< COMPLETE
 vcs0: Execlist CSB: 0x00000012 _ 0x00000007 <<< PREEMPTED & COMPLETE
 vcs0: Execlist CSB: 0x00008002 _ 0x00000006
 vcs0: Execlist CSB: 0x00000014 _ 0x00000006
The ELSP writes that lead to this CSB sequence show that the HW hadn't
started executing the previous execlist (the one with only ctx 0x6) by the
time the new one was submitted; this is a bit more clear in the data
show in the EXECLIST_STATUS register at the time of the ELSP write.
 vcs0: ELSP = 0x0_0 [execlist1] - status_reg = 0x0_302
 vcs0: ELSP = 0x6_fedb2119 [execlist0] - status_reg = 0x0_8302
 vcs0: ELSP = 0x7_fedaf119 [execlist1] - status_reg = 0x0_8308
 vcs0: ELSP = 0x6_fedb2119 [execlist0] - status_reg = 0x7_8308
Note that having to wait for this ack does not disable lite-restores,
although it may reduce their numbers.
Signed-off-by: Michel Thierry <email@example.com>
Reviewed-by: Chris Wilson <firstname.lastname@example.org>
Tested-by: Chris Wilson <email@example.com>
Signed-off-by: Chris Wilson <firstname.lastname@example.org>
*** This bug has been marked as a duplicate of bug 102035 ***