Bug 98994 - [BDW] : [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
Summary: [BDW] : [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A F...
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-12-05 01:25 UTC by Edward O'Callaghan
Modified: 2017-07-21 16:43 UTC (History)
4 users (show)

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


Attachments
intel_bios_dumper (40.82 KB, application/octet-stream)
2016-12-05 05:52 UTC, Edward O'Callaghan
no flags Details
intel_reg_dumper (12.91 KB, text/plain)
2016-12-05 06:37 UTC, Edward O'Callaghan
no flags Details
xrandr_verbose (645 bytes, text/plain)
2016-12-05 06:39 UTC, Edward O'Callaghan
no flags Details
dmesg from drm-tip (checked out 20170214 09:34UTC) (345.39 KB, text/plain)
2017-02-14 11:08 UTC, Johannes Brummer
no flags Details
dmesg from drm-tip (checked out 20170313 11:19UTC) (171.60 KB, text/plain)
2017-04-04 06:15 UTC, Johannes Brummer
no flags Details
dmesg from 4.11.5-200.fc25.x86_64 (without drm.debug=0xe) (64.52 KB, text/plain)
2017-06-16 23:01 UTC, Andre Robatino
no flags Details

Description Edward O'Callaghan 2016-12-05 01:25:22 UTC
While using wayland I noticed, on occasion, a graphic glitch can occur that coincides with a FIFO underrun.

[drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun

* dmesg =>

$ dmesg | grep drm
[    1.329195] [drm] Initialized drm 1.1.0 20060810
[    1.610304] [drm] Memory usable by graphics device = 4096M
[    1.610305] [drm] Replacing VGA console driver
[    1.616356] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    1.616358] [drm] Driver supports precise vblank timestamp query.
[    1.633922] [drm] Initialized i915 1.6.0 20160711 for 0000:00:02.0 on minor 0
[    1.689550] [drm:intel_dp_start_link_train [i915]] *ERROR* failed to train DP, aborting
[    1.749704] [drm:intel_dp_start_link_train [i915]] *ERROR* failed to train DP, aborting
[    1.986602] fbcon: inteldrmfb (fb0) is primary device
[    2.973124] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
[14588.214453] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun

* lspci + pci config space of the device on 02.0 =>

00:02.0 VGA compatible controller: Intel Corporation HD Graphics 5500 (rev 09) (prog-if 00 [VGA controller])
	Subsystem: Lenovo Device 5034
	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 46
	Region 0: Memory at f0000000 (64-bit, non-prefetchable) [size=16M]
	Region 2: Memory at e0000000 (64-bit, prefetchable) [size=256M]
	Region 4: I/O ports at 3000 [size=64]
	[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
	Capabilities: [90] 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: [a4] PCI Advanced Features
		AFCap: TP+ FLR+
		AFCtrl: FLR-
		AFStatus: TP-
	Kernel driver in use: i915
	Kernel modules: i915
00: 86 80 16 16 07 04 90 00 09 00 00 03 00 00 00 00
10: 04 00 00 f0 00 00 00 00 0c 00 00 e0 00 00 00 00
20: 01 30 00 00 00 00 00 00 00 00 00 00 aa 17 34 50
30: 00 00 00 00 90 00 00 00 00 00 00 00 0b 01 00 00
40: 09 00 0c 01 99 61 04 72 d4 00 5d 14 00 00 00 00
50: c1 01 00 00 31 00 00 00 00 00 00 00 01 00 00 ce
60: 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 05 d0 01 00 18 00 e0 fe 00 00 00 00 00 00 00 00
a0: 00 00 00 00 13 00 06 03 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 01 a4 22 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 80 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 09 00 18 50 d6 cc


* useful version info =>

* 4.8.10-300.fc25.x86_64
* OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2)
  OpenGL core profile version string: 4.3 (Core Profile) Mesa 12.0.3

Kindest Regards,
Edward.
Comment 1 Edward O'Callaghan 2016-12-05 03:40:35 UTC
$ sudo intel_reg_checker 

MI_MODE (0x209c): 0x00000000
  (bit 14) OK:   Async Flip Performance mode
  (bit 13) OK:   Flush Performance Mode
  (bit  7) OK:   Vertex Shader Cache Mode
  (bit  6) FAIL: Vertex Shader Timer Dispatch Enable must be set
CACHE_MODE_0 (0x2120): 0x00000000
  (bit 15) OK:   Sampler L2 Disable
  (bit  9) PERF: Sampler L2 TLB Prefetch Enable should be set
  (bit  8) OK:   Depth Related Cache Pipelined Flush Disable
  (bit  5) OK:   STC LRA Eviction Policy
  (bit  3) OK:   Hierarchical Z Disable
  (bit  0) OK:   Render Cache Operational Flush
CACHE_MODE_1 (0x2124): 0x00000000
  (bit 12) OK:   HIZ LRA Eviction Policy
  (bit 11) OK:   DAP Instruction and State Cache Invalidate
  (bit 10) OK:   Instruction L1 Cache and In-Flight Queue Disable
  (bit  9) OK:   Instruction L2 Cache Fill Buffers Disable
  (bit  4) OK:   Data Disable
  (bit  1) OK:   Instruction and State L2 Cache Disable
  (bit  0) OK:   Instruction and State L1 Cache Disable
3D_CHICKEN (0x2084): 0x00000000
           OK:   chicken bits unset
3D_CHICKEN2 (0x208c): 0x00000000
           OK:   chicken bits unset
ECOSKPD (0x21d0): 0x00000000
           OK:   chicken bits unset
Comment 2 Matt Turner 2016-12-05 03:52:42 UTC
I don't see how this could possibly be a Mesa problem.
Comment 3 Edward O'Callaghan 2016-12-05 04:16:40 UTC
(In reply to Matt Turner from comment #2)
> I don't see how this could possibly be a Mesa problem.

Its not, it was just unclear to me which sub-component to file under. Please feel free to re-cat it.
Comment 4 Edward O'Callaghan 2016-12-05 05:52:44 UTC
Created attachment 128340 [details]
intel_bios_dumper
Comment 5 Edward O'Callaghan 2016-12-05 06:37:43 UTC
Created attachment 128341 [details]
intel_reg_dumper
Comment 6 Edward O'Callaghan 2016-12-05 06:39:37 UTC
Created attachment 128342 [details]
xrandr_verbose
Comment 7 Edward O'Callaghan 2016-12-05 06:40:50 UTC
$ dmesg | grep Hardware
[13144.528491] Hardware name: LENOVO 20BV0020AU/20BV0020AU, BIOS JBET61WW (1.25 ) 07/13/2016
Comment 8 Jani Nikula 2016-12-05 08:28:56 UTC
Please try v4.9-rc8 or drm-tip branch of drm-tip branch of https://cgit.freedesktop.org/drm-tip
Comment 9 Andre Robatino 2016-12-16 13:36:22 UTC
I've been running kernel-4.8.13-300.fc25.x86_64 in Fedora 25 for almost 3 days and am no longer seeing this (I was seeing it up to and including kernel-4.8.12-300.fc25.x86_64). Possibly the fix was backported?
Comment 10 Andre Robatino 2016-12-16 21:43:25 UTC
Never mind. I just saw it in 4.8.13-300.fc25.x86_64. I'll wait longer next time.
Comment 11 Andre Robatino 2017-01-15 19:14:50 UTC
After running the 4.9.3-200.fc25.x86_64 kernel for about 10 1/2 hours, just saw the FIFO underrun error.
Comment 12 Johannes Brummer 2017-02-14 11:08:41 UTC
Created attachment 129581 [details]
dmesg from drm-tip (checked out 20170214 09:34UTC)

Having the same problem: screen flickering black and resuming. Though sometimes only half of the screen (Dell UP3214Q, detected as two 1920x2160 panels when using DP1.2 MST)

Recreated with latest drm-tip. Dmesg as an attachment.
 
$ cat /proc/cmdline 
BOOT_IMAGE=/vmlinuz-4.10.0-rc8+ root=/dev/mapper/vg0-root ro drm.debug=0xe log_buf_len=1M i915.enable_rc6=1 quiet
$ dmesg | grep -i drm > grep_drm_dmesg-drm.debug=0xe-i915.enable_rc6=1.txt
Comment 13 Ricardo 2017-03-03 17:52:49 UTC
removing needinfo status, the issue has been reproduce and information provided
Comment 14 Johannes Brummer 2017-04-04 06:15:27 UTC
Created attachment 130666 [details]
dmesg from drm-tip (checked out 20170313 11:19UTC)

I've been running drm-tim (checkout 20170313 ~11:19UTC) for a while now and haven't noticed any symptoms anymore (no screen distortion with hdmi or flickering on with displayport - on external display, with or without docking station).

I'll retest with the latest (HEAD is now at 5bc82ec7f623 drm-tip: 2017y-04m-03d-16h-44m-48s UTC integration manifest) version, but looking good on my ThinkPad W550s (20E2001JMS).
Comment 15 Jani Saarinen 2017-05-22 10:00:11 UTC
Johannes and other reporters, can this be closed now or still issues seen?
Comment 16 Jani Saarinen 2017-05-24 06:20:46 UTC
Resolving as no feedback. Please re-open if issues still.
Comment 17 Andre Robatino 2017-06-01 09:13:37 UTC
Still happening on Fedora 25 with the 4.11.3-200.fc25.x86_64 kernel.
Comment 18 Maxqia 2017-06-04 18:10:40 UTC
Happening for me on drm-tip, used to cause black screens for a few seconds, now it's causing some weird horizontal scrolling effect.
Comment 19 Jani Saarinen 2017-06-08 07:05:34 UTC
ok, Thanks for the info.
Comment 20 Ville Syrjala 2017-06-08 13:07:26 UTC
(In reply to Andre Robatino from comment #17)
> Still happening on Fedora 25 with the 4.11.3-200.fc25.x86_64 kernel.

(In reply to Maxqia from comment #18)
> Happening for me on drm-tip, used to cause black screens for a few seconds,
> now it's causing some weird horizontal scrolling effect.

Do you have a Broadwell as well, or some other hardware? If not BDW, then please file a separate bug for it and attach the dmesg with drm.debug=0xe.
Comment 21 Andre Robatino 2017-06-08 21:03:41 UTC
(In reply to Ville Syrjala from comment #20)
> (In reply to Andre Robatino from comment #17)
> > Still happening on Fedora 25 with the 4.11.3-200.fc25.x86_64 kernel.
> 
> (In reply to Maxqia from comment #18)
> > Happening for me on drm-tip, used to cause black screens for a few seconds,
> > now it's causing some weird horizontal scrolling effect.
> 
> Do you have a Broadwell as well, or some other hardware? If not BDW, then
> please file a separate bug for it and attach the dmesg with drm.debug=0xe.

OpenGL renderer string: Mesa DRI Intel(R) Q45/Q43

I've rebooted with drm.debug=0xe, but there's a lot of output and dmesg appears to have a relatively small buffer, so I'm not sure if I'll be able to catch the error even if it happens. If I can, I'll file a separate bug.
Comment 22 Andre Robatino 2017-06-16 20:08:51 UTC
I'm still seeing it with 4.11.5-200.fc25.x86_64, but the dmesg output with drm.debug=0xe is so massive compared to the dmesg buffer size that it's unlikely I'd ever be able to capture the output. I'll file a separate bug anyway. It looks like I only need to change the "i915 platform" setting. Which one should I use for Q45/Q43?
Comment 23 Andre Robatino 2017-06-16 23:01:28 UTC
Created attachment 132012 [details]
dmesg from 4.11.5-200.fc25.x86_64 (without drm.debug=0xe)

Adding dmesg output (without the debug flag) in case it provides info needed to decide where to file a bug. (With the debug flag, it's unlikely I could ever spot the error before it dropped out of the dmesg buffer.)
Comment 24 Ricardo 2017-07-21 16:28:53 UTC
Andre the original problem related to this bug is already solved, looks like you have a separate issue... I'm closing this bug as fixed bug please Andre if you still encounter the same issue with the latest kernel create another bug including your hardware configuration and logs.
Comment 25 Andre Robatino 2017-07-21 16:43:41 UTC
(In reply to Ricardo from comment #24)
> Andre the original problem related to this bug is already solved, looks like
> you have a separate issue... I'm closing this bug as fixed bug please Andre
> if you still encounter the same issue with the latest kernel create another
> bug including your hardware configuration and logs.

I'd love to file a bug, but could you at least tell me what i915 platform to file under? Otherwise I could just pick random settings and ask for them to be changed, but I'd rather not do that. I provided dmesg output in my earlier comment in the hope someone could provide that information.


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.