Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.
Admin message
The migration is almost done, at least the rest should happen in the background. There are still a few technical difference between the old cluster and the new ones, and they are summarized in this issue. Please pay attention to the TL:DR at the end of the comment.
[ 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
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 elongbug/drm-tip@a3969a95
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
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.
A CI Bug Log filter associated to this bug has been updated by Lakshmi Vudum:
Description: kbl: all tests - dmesg-warn - *ERROR* CPU pipe [A|B] FIFO underrun
Equivalent query: runconfig_tag IS IN ["DRM-TIP"] AND machine_name IS IN ["fi-kbl-7567u", "shard-kbl3", "shard-kbl2", "fi-kbl-7500u", "shard-kbl5", "shard-kbl6", "shard-kbl4", "shard-kbl", "shard-kbl1", "fi-kbl-7560u", "shard-kbl7", "fi-kbl-r"] AND ((testsuite_name = "IGT" AND status_name IS IN ["fail", "dmesg-warn"])) AND dmesg ~= '\*ERROR\* CPU pipe [ABC] FIFO underrun'
A CI Bug Log filter associated to this bug has been updated by Lakshmi Vudum:
Description: kbl: all tests - dmesg-warn/fail - *ERROR* CPU pipe [A|BC] FIFO underrun
Equivalent query: runconfig_tag IS IN ["DRM-TIP"] AND machine_name IS IN ["fi-kbl-7567u", "shard-kbl3", "shard-kbl2", "fi-kbl-7500u", "shard-kbl5", "shard-kbl6", "shard-kbl4", "shard-kbl", "shard-kbl1", "fi-kbl-7560u", "shard-kbl7", "fi-kbl-r"] AND ((testsuite_name = "IGT" AND status_name IS IN ["fail", "dmesg-warn"])) AND dmesg ~= '\*ERROR\* CPU pipe [ABC] FIFO underrun'