igt@kms_plane@pixel-format-pipe-a-planes failed on EHL 4K@60hz
(kms_plane:4136) CRITICAL: Test assertion failure function capture_crc, file ../tests/kms_plane.c:526:
(kms_plane:4136) CRITICAL: Failed assertion: !(crc->has_valid_frame && crc->frame != vblank)
(kms_plane:4136) CRITICAL: Got CRC for the wrong frame (got 640, expected 639). CRC buffer overflow?
(kms_plane:4136) igt_core-INFO: Stack trace:
(kms_plane:4136) igt_core-INFO: #0 ../lib/igt_core.c:1712 __igt_fail_assert()
(kms_plane:4136) igt_core-INFO: #1 [capture_crc.isra.0+0x4f]
(kms_plane:4136) igt_core-INFO: #2 ../tests/kms_plane.c:568 capture_format_crcs.constprop.0()
(kms_plane:4136) igt_core-INFO: #3 ../tests/kms_plane.c:653 test_format_plane_colors.constprop.0()
(kms_plane:4136) igt_core-INFO: #4 ../tests/kms_plane.c:680 test_pixel_formats.constprop.0()
(kms_plane:4136) igt_core-INFO: #5 ../tests/kms_plane.c:947 run_tests_for_pipe_plane.constprop.0()
(kms_plane:4136) igt_core-INFO: #6 ../tests/kms_plane.c:1020 __real_main1007()
(kms_plane:4136) igt_core-INFO: #7 ../tests/kms_plane.c:1007 main()
(kms_plane:4136) igt_core-INFO: #8 ../csu/libc-start.c:342 __libc_start_main()
(kms_plane:4136) igt_core-INFO: #9 ../sysdeps/x86_64/start.S:122 _start()
it seems to be a regression of commit 8eddbad0(@vsyrjala), the problem's gone once rolling back. My understanding is that i915 skips two vblank/flip events for gen8+, and this w/a is triggered when enabling/disabling pipe crc, which seems to interfere with the pending event querying and caused the problem.