Bug 105604 - [CI][KBL only] igt@* - dmesg-warn - *ERROR* CPU pipe [A|B] FIFO underrun
Summary: [CI][KBL only] igt@* - dmesg-warn - *ERROR* CPU pipe [A|B] FIFO underrun
Status: RESOLVED MOVED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: DRI git
Hardware: Other All
: high normal
Assignee: Mun, Gwan-gyeong
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard: ReadyForDev
Keywords:
Depends on:
Blocks: 105980
  Show dependency treegraph
 
Reported: 2018-03-19 14:26 UTC by Marta Löfstedt
Modified: 2019-11-29 17:43 UTC (History)
3 users (show)

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


Attachments

Description Marta Löfstedt 2018-03-19 14:26:13 UTC
This bug is intended for KBL FIFO underruns.

https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_4/fi-kbl-7500u/igt@kms_cursor_legacy@cursora-vs-flipa-toggle.html

[   43.184721] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
[   43.185236] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun
Comment 1 Marta Löfstedt 2018-03-21 09:45:23 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_5/fi-kbl-7500u/igt@gem_mmap_gtt@basic-wc.html

[   43.013962] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
Comment 2 Marta Löfstedt 2018-03-23 10:40:25 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_6/fi-kbl-7500u/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html

[  135.131495] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun
Comment 3 Marta Löfstedt 2018-04-03 12:35:16 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_9/fi-kbl-7500u/igt@perf_pmu@semaphore-wait-bcs0.html
	

[  190.129475] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
Comment 5 Marta Löfstedt 2018-04-06 08:20:51 UTC
(In reply to Marta Löfstedt from comment #4)
> https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_12/fi-skl-6770hq/
> igt@gem_exec_schedule@reorder-wide-bsd2.html

Wrong bug
Comment 7 Francesco Balestrieri 2018-06-01 07:49:20 UTC
Still seen
Comment 8 Mun, Gwan-gyeong 2019-01-25 06:58:38 UTC
After investigating the issue, I am suspecting a GEN9 hardware issue.
I figured out enabling FBC on a plane which has a combination of a 180-degree rotation with having a Height that isn't divisible by 4 occasionally causes FIFO underrun.
I tested the issue with igt-gpu-tools. ( multiplane-rotation-cropping-top subtest from kms_rotation_crc).
I tested on Gen9 disaply HWs (both Skylake and Kabylake).
when I added the patch code which make avoiding the issue case, I could always passed the test case.
https://gitlab.freedesktop.org/elongbug/drm-tip/tree/gen9_fbc_underrun01
https://gitlab.freedesktop.org/elongbug/drm-tip/commit/a3969a959230153a53088a0abbf354c4c233af20

I asked a HW guy this issue to clarify.
And for now I am waiting the reply.
Comment 9 Mun, Gwan-gyeong 2019-01-29 12:25:54 UTC
I received a guide of the issue from HW Team .
He guided me that we should disable FBC when 180 rotation and non-divisible by 4 plane size scenarios on GEN9

Issue case:
 Enabling FBC on a plane which has a combination of a 180-degree rotation with having a Height that isn't divisible by 4  occasionally causes FIFO underrun.

Solution: 
 Disabling FBC on a plane which has a combination of a 180-degree rotation with having a Height that isn't divisible by 4 to GEN9
Comment 10 Mun, Gwan-gyeong 2019-01-29 12:58:39 UTC
https://patchwork.freedesktop.org/patch/281708/
Comment 11 Jose Roberto de Souza 2019-01-30 16:42:32 UTC
Hi Gwan-gyeong

HW will add or already have added this information to BSpec?
Comment 12 Marijan 2019-08-27 13:11:50 UTC
Running on Fedora 30, Kernel 5.2.9, HP Elitebook 840 G5, Using 2 external monitors on DP (tried also 1xVGA + 1DP, same issue).
Same issue on Ubuntu 18.04.

Result - PC Hangs, hw reboot required.

Here are the logs of last moments:

Jul 31 15:13:03 localhost.localdomain kernel: [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun
Jul 31 15:13:03 localhost.localdomain kernel: [drm:intel_mst_enable_dp [i915]] *ERROR* Timed out waiting for ACT sent
Jul 31 15:13:03 localhost.localdomain kernel: [drm:pipe_config_err [i915]] *ERROR* mismatch in pixel_rate (expected 148500, found 296999)
Jul 31 15:13:03 localhost.localdomain kernel: [drm:pipe_config_err [i915]] *ERROR* mismatch in shared_dpll (expected 000000001275aaee, found 000000004520f932)
Jul 31 15:13:03 localhost.localdomain kernel: [drm:pipe_config_err [i915]] *ERROR* mismatch in dpll_hw_state.ctrl1 (expected 0x00000003, found 0x00000001)
Jul 31 15:13:03 localhost.localdomain kernel: [drm:pipe_config_err [i915]] *ERROR* mismatch in base.adjusted_mode.crtc_clock (expected 148500, found 296999)
Jul 31 15:13:03 localhost.localdomain kernel: [drm:pipe_config_err [i915]] *ERROR* mismatch in port_clock (expected 270000, found 540000)
[drm:intel_ddi_prepare_link_retrain [i915]] *ERROR* Timeout waiting for DDI BUF C idle bit
Jul 31 15:13:18 localhost.localdomain kernel: [drm:intel_ddi_prepare_link_retrain [i915]] *ERROR* Timeout waiting for DDI BUF C idle bit
[drm:drm_atomic_helper_wait_for_flip_done [drm_kms_helper]] *ERROR* [CRTC:83:pipe C] flip_done timed out

Error appear/disappear more frequently after screen lock depending on kernel version.
Comment 13 Marijan 2019-08-27 13:20:48 UTC
Related to previus post - driver configuration.

alpha_support   N
disable_display N
disable_power_well      1
dmc_firmware_path       (null)
edp_vswing      0
enable_dc       -1
enable_dpcd_backlight   N
enable_dp_mst   Y
enable_fbc      1
enable_guc      2
enable_gvt      N
enable_hangcheck        Y
enable_ips      1
enable_psr      0
error_capture   Y
fastboot        -1
force_reset_modeset_test        N
guc_firmware_path       (null)
guc_log_level   1
huc_firmware_path       (null)
invert_brightness       0
load_detect_test        N
lvds_channel_mode       0
mmio_debug      1
modeset -1
nuclear_pageflip        N
panel_use_ssc   -1
prefault_disable        N
reset   2
vbt_firmware    (null)
vbt_sdvo_panel_type     -1
verbose_state_checks    Y
Comment 14 Martin Peres 2019-11-29 17:43:02 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/intel/issues/93.


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.