Bug 104168 - [KBLR] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
Summary: [KBLR] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A FI...
Status: CLOSED WORKSFORME
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: DRI git
Hardware: x86-64 (AMD64) Linux (All)
: high critical
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard: ReadyForDev
Keywords:
Depends on:
Blocks:
 
Reported: 2017-12-08 01:06 UTC by Pengyu.Ma
Modified: 2019-08-27 09:28 UTC (History)
6 users (show)

See Also:
i915 platform: KBL
i915 features: display/Other


Attachments
drm-intel-next-queued-i915-fifo-underrun-log (186.62 KB, application/x-compressed-tar)
2017-12-08 01:06 UTC, Pengyu.Ma
no flags Details
video.mp4 (8.49 MB, video/mp4)
2017-12-14 07:21 UTC, Gabriel Chen
no flags Details
screen flicker video when switch external and internal monitor. (8.49 MB, video/mp4)
2017-12-14 07:24 UTC, Pengyu.Ma
no flags Details
dmesg (64.07 KB, text/plain)
2019-04-27 08:32 UTC, Behrang Saeedzadeh
no flags Details

Description Pengyu.Ma 2017-12-08 01:06:02 UTC
Created attachment 136045 [details]
drm-intel-next-queued-i915-fifo-underrun-log

CPU: Model name:            Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
GPU:
00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:5917] (rev 07) (prog-if 00 [VGA controller])
        Subsystem: Lenovo Device [17aa:2259]
        Flags: bus master, fast devsel, latency 0, IRQ 154
        Memory at e1000000 (64-bit, non-prefetchable) [size=16M]
        Memory at c0000000 (64-bit, prefetchable) [size=512M]
        I/O ports at e000 [size=64]
        [virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
        Capabilities: <access denied>
        Kernel driver in use: i915
        Kernel modules: i915

Kernel tested:
git: drm-intel branch drm-intel-next/drm-intel-next-queued
git: linux 4.15-rc1/4.14/4.13

How to reproduce:
1, Connecting one external monitor(Dell 1080P/4k tested) to the laptop with HDMI cable.
2, switch the display mode in mirror/external/internal/extend modes.
3, After sometimes, internal or exteranl monitor will blink and tear.

logs attached with drm.debug=0xce.

Distro: Ubuntu 16.04.3

Xorg version:
ii  xserver-common                             2:1.18.4-0ubuntu0.7                          all          common files used by various X servers
rc  xserver-xorg                               1:7.7+13ubuntu3                              amd64        X.Org X server
rc  xserver-xorg-core                          2:1.18.4-0ubuntu0.7                          amd64        Xorg X server - core server
ii  xserver-xorg-core-hwe-16.04                2:1.19.3-1ubuntu1~16.04.4                    amd64        Xorg X server - core server
ii  xserver-xorg-hwe-16.04                     1:7.7+16ubuntu3~16.04.1                      amd64        X.Org X server
ii  xserver-xorg-legacy-hwe-16.04              2:1.19.3-1ubuntu1~16.04.4                    amd64        setuid root Xorg server wrapper
ii  xserver-xorg-video-all-hwe-16.04           1:7.7+16ubuntu3~16.04.1                      amd64        X.Org X server -- output driver metapackage
ii  xserver-xorg-video-fbdev-hwe-16.04         1:0.4.4-1build6~16.04.1                      amd64        X.Org X server -- fbdev display driver
ii  xserver-xorg-video-intel-hwe-16.04         2:2.99.917+git20170309-0ubuntu1~16.04.1      amd64        X.Org X server -- Intel i8xx, i9xx display driver
Comment 1 Elizabeth 2017-12-13 16:33:02 UTC
Hello Pengyu Ma,
Is it possible that you attach a picture/screen shot of the corrupted image?
Comment 2 Gabriel Chen 2017-12-14 07:21:24 UTC
Created attachment 136165 [details]
video.mp4

Please refer to the video.mp4, Thanks.
Comment 3 Pengyu.Ma 2017-12-14 07:24:42 UTC
Created attachment 136166 [details]
screen flicker video when switch external and internal monitor.
Comment 4 Pengyu.Ma 2018-01-17 16:35:59 UTC
It can be reproduced on new Thinkpad X1 Carbon 6th:

logs:
Jan 17 13:44:20 u-ThinkPad-X1-Carbon-6th kernel: [ 4460.254635] i915 0000:00:02.0: HDMI-A-1: EDID is invalid:
Jan 17 13:44:20 u-ThinkPad-X1-Carbon-6th kernel: [ 4460.254638]         [00] BAD  00 ff ff ff ff ff ff 00 ff ff ff ff ff ff ff ff
Jan 17 13:44:20 u-ThinkPad-X1-Carbon-6th kernel: [ 4460.254639]         [00] BAD  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Jan 17 13:44:20 u-ThinkPad-X1-Carbon-6th kernel: [ 4460.254640]         [00] BAD  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Jan 17 13:44:20 u-ThinkPad-X1-Carbon-6th kernel: [ 4460.254641]         [00] BAD  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Jan 17 13:44:20 u-ThinkPad-X1-Carbon-6th kernel: [ 4460.254641]         [00] BAD  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Jan 17 13:44:20 u-ThinkPad-X1-Carbon-6th kernel: [ 4460.254642]         [00] BAD  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Jan 17 13:44:20 u-ThinkPad-X1-Carbon-6th kernel: [ 4460.254643]         [00] BAD  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Jan 17 13:44:20 u-ThinkPad-X1-Carbon-6th kernel: [ 4460.254644]         [00] BAD  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Jan 17 13:44:56 u-ThinkPad-X1-Carbon-6th kernel: [ 4495.691252] do_trap: 14 callbacks suppressed
Jan 17 13:44:56 u-ThinkPad-X1-Carbon-6th kernel: [ 4495.691257] traps: unity-settings-[2867] trap int3 ip:7fd2c6d9da5b sp:7fff492b5b80 error:0 in libglib-2.0.so.0.4800.2[7fd2c6d4d000+10f000]
Jan 17 13:46:08 u-ThinkPad-X1-Carbon-6th kernel: [ 4568.235116] traps: unity-settings-[7346] trap int3 ip:7f8e278a3a5b sp:7fffbe71cd80 error:0 in libglib-2.0.so.0.4800.2[7f8e27853000+10f000]
Jan 17 13:46:47 u-ThinkPad-X1-Carbon-6th kernel: [ 4607.021203] [drm] Reducing the compressed framebuffer size. This may lead to less power savings than a non-reduced-size. Try to increase stolen memory size if available in BIOS.
Jan 17 13:47:00 u-ThinkPad-X1-Carbon-6th kernel: [ 4619.928434] traps: unity-settings-[7403] trap int3 ip:7f5411004a5b sp:7ffcf4570a90 error:0 in libglib-2.0.so.0.4800.2[7f5410fb4000+10f000]
Jan 17 13:47:05 u-ThinkPad-X1-Carbon-6th kernel: [ 4624.969103] [drm] Reducing the compressed framebuffer size. This may lead to less power savings than a non-reduced-size. Try to increase stolen memory size if available in BIOS.
Jan 17 13:47:10 u-ThinkPad-X1-Carbon-6th kernel: [ 4629.640154] traps: unity-settings-[7455] trap int3 ip:7ff901cc5a5b sp:7fff43917760 error:0 in libglib-2.0.so.0.4800.2[7ff901c75000+10f000]
Jan 17 13:47:30 u-ThinkPad-X1-Carbon-6th kernel: [ 4650.078915] [drm] Reducing the compressed framebuffer size. This may lead to less power savings than a non-reduced-size. Try to increase stolen memory size if available in BIOS.
Jan 17 13:47:31 u-ThinkPad-X1-Carbon-6th kernel: [ 4651.111816] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun
Jan 17 13:47:31 u-ThinkPad-X1-Carbon-6th kernel: [ 4651.111883] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
Jan 17 13:47:40 u-ThinkPad-X1-Carbon-6th kernel: [ 4659.497593] traps: unity-settings-[7468] trap int3 ip:7f793380ea5b sp:7ffcf09d49f0 error:0 in libglib-2.0.so.0.4800.2[7f79337be000+10f000]
Comment 5 Jani Nikula 2018-01-24 12:18:30 UTC
Is this reproducible when booting with nvme_core.default_ps_max_latency_us=0 module parameter?
Comment 6 Pengyu.Ma 2018-01-26 06:07:07 UTC
Setting BIOS 'ThunderBolt BIOS Assist Mode' from Disabled -> Enabled will fix this issue.
Comment 7 Behrang Saeedzadeh 2019-04-27 08:31:41 UTC
I think this issue has been affecting me for a few years now but i just recently started to look into it.

my current system is ubuntu 19.04 but this issue was present even when i was using 18.04 and 18.10 and even before that.

os: ubuntu 19.04
cpu: intel core i7 6700
graphics (integrated only): hd graphics 530 (skylake gt2)

anyway, from time to time only one of my monitors turn on. when that happens `dmesg | grep i915` prints this:

```
➜  ~ dmesg -e | grep i915
[  +0.000545] i915 0000:00:02.0: vgaarb: changed vga decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[  +0.000627] [drm] finished loading dmc firmware i915/skl_dmc_ver1_27.bin (v1.27)
[  +0.003052] [drm] initialized i915 1.6.0 20181204 for 0000:00:02.0 on minor 0
[  +0.000036] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[  +0.000047] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
[  +0.249846] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *error* cpu pipe a fifo underrun

➜  ~ dmesg -t | grep i915
[sat apr 27 17:47:08 2019] i915 0000:00:02.0: vgaarb: changed vga decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[sat apr 27 17:47:08 2019] [drm] finished loading dmc firmware i915/skl_dmc_ver1_27.bin (v1.27)
[sat apr 27 17:47:09 2019] [drm] initialized i915 1.6.0 20181204 for 0000:00:02.0 on minor 0
[sat apr 27 17:47:09 2019] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[sat apr 27 17:47:09 2019] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
[sat apr 27 17:47:09 2019] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *error* cpu pipe a fifo underrun
```

when i switch to wayland, sometimes none of my monitors turn on at all. once when both turned on, i turned off one
and tried to turn it back on again, but it went into energy saving mode. then `dmesg` was showing this:


```
➜  ~ dmesg -t | grep i915
[sat apr 27 18:14:17 2019] i915 0000:00:02.0: vgaarb: changed vga decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[sat apr 27 18:14:17 2019] [drm] finished loading dmc firmware i915/skl_dmc_ver1_27.bin (v1.27)
[sat apr 27 18:14:18 2019] [drm] initialized i915 1.6.0 20181204 for 0000:00:02.0 on minor 0
[sat apr 27 18:14:18 2019] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[sat apr 27 18:14:18 2019] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
[sat apr 27 18:14:56 2019] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *error* cpu pipe b fifo underrun

➜  ~ dmesg -e | grep i915
[  +0.000664] i915 0000:00:02.0: vgaarb: changed vga decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[  +0.000861] [drm] finished loading dmc firmware i915/skl_dmc_ver1_27.bin (v1.27)
[  +0.016298] [drm] initialized i915 1.6.0 20181204 for 0000:00:02.0 on minor 0
[  +0.000047] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[  +0.000047] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
[ +23.689059] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *error* cpu pipe b fifo underrun

```
Comment 8 Behrang Saeedzadeh 2019-04-27 08:32:35 UTC
Created attachment 144099 [details]
dmesg
Comment 9 Lakshmi 2019-04-29 13:34:02 UTC
(In reply to Behrang Saeedzadeh from comment #8)
> Created attachment 144099 [details]
> dmesg

Can you please verify the issue with drmtip https://cgit.freedesktop.org/drm-tip ?
Comment 10 Lakshmi 2019-06-17 08:34:29 UTC
(In reply to Behrang Saeedzadeh from comment #8)
> Created attachment 144099 [details]
> dmesg

Changing the status to NEEDINFO. Recently there were few changed merged related to underruns. so can you please verify the issue with drmtip?
Comment 11 Lakshmi 2019-08-27 09:28:53 UTC
No updates from the reporter for more than a month. Closing this bug as WORKSFORME. Please reopen the issue if the issue is reproducible with latest drmtip (https://cgit.freedesktop.org/drm-tip).
Remember to attach dmesg from boot with kernel parameters drm.debug=0x1e log_buf_len=4M when this issue is reopened.


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.