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
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
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
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
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_12/fi-skl-6770hq/igt@gem_exec_schedule@reorder-wide-bsd2.html
(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
Also seen on KBL-r: https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_30/fi-kbl-r/igt@kms_draw_crc@draw-method-rgb565-mmap-gtt-ytiled.html https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_30/fi-kbl-r/igt@kms_draw_crc@draw-method-rgb565-mmap-wc-ytiled.html
Still seen
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.
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
https://patchwork.freedesktop.org/patch/281708/
Hi Gwan-gyeong HW will add or already have added this information to BSpec?
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.
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
-- 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.