[igt-dev] [PATCH i-g-t 0/2] test/kms_cursor_crc: tie some loose ends in prepare_crtc

Melissa Wen melissa.srw at gmail.com
Thu Jun 25 10:34:51 UTC 2020


Using vkms, when running a sequence of subtests from kms_cursor_crc,
several strange timeout failures occurred. For example, running the
alpha-opaque cursor twice, the first run is successful and the second
fails. In addition, if we run the entire test in a call (i.e.: sudo
IGT_FORCE_DRIVER=vkms build/tests/kms_cursor_crc), the first subtest
passes and the rest of the subtests fail - even those that succeed when
run in isolation.

igt_debugfs-DEBUG: Opening debugfs directory '/sys/kernel/debug/dri/0'
igt_core-INFO: Timed out: Opening crc fd, and poll for first CRC.

During my debugging process, I found two issues that were blocking
execution and the solution is in this patchset:

1 - When a subtest fails, it exits and skips the cleaning step, leaving
the pipe_crc allocated and blocked for the next subtest. The first patch
fixes it by releasing any old pipe_crc before creating a new one.

2 - When the CRC capture process starts, it enters an endless wait; this
seems to be related to the fact that the VKMS simulates vblank events,
generating a time mismatch between vblank and CRC capture. Waiting for
vblank before starting the capture process sets the pace, as shown in
the second patch.

Melissa Wen (2):
  test/kms_cursor_crc: release old pipe_crc before create a new one
  test/kms_cursor_crc: align the start of the CRC capture to a vblank

 tests/kms_cursor_crc.c | 3 +++
 1 file changed, 3 insertions(+)

-- 
2.27.0



More information about the igt-dev mailing list