KMS TestsKMS Tests — Mode setting tests |
Use the display CRC support to validate cursor plane functionality. The test will position the cursor plane either fully onscreen, partially onscreen, or fully offscreen, using either a fully opaque or fully transparent surface. In each case it then reads the PF CRC and compares it with the CRC value obtained when the cursor plane was disabled.
| cursor-size-change |
| cursor-64x64-onscreen |
| cursor-64x64-offscreen |
| cursor-64x64-sliding |
| cursor-64x64-random |
| cursor-64x21-onscreen |
| cursor-64x21-offscreen |
| cursor-64x21-sliding |
| cursor-64x21-random |
| cursor-128x128-onscreen |
| cursor-128x128-offscreen |
| cursor-128x128-sliding |
| cursor-128x128-random |
| cursor-128x42-onscreen |
| cursor-128x42-offscreen |
| cursor-128x42-sliding |
| cursor-128x42-random |
| cursor-256x256-onscreen |
| cursor-256x256-offscreen |
| cursor-256x256-sliding |
| cursor-256x256-random |
| cursor-256x85-onscreen |
| cursor-256x85-offscreen |
| cursor-256x85-sliding |
| cursor-256x85-random |
| cursor-512x512-onscreen |
| cursor-512x512-offscreen |
| cursor-512x512-sliding |
| cursor-512x512-random |
| cursor-512x170-onscreen |
| cursor-512x170-offscreen |
| cursor-512x170-sliding |
| cursor-512x170-random |
Performs various write operations to the scanout buffer while FBC is enabled. CRC checks will be used to make sure the modifications to scanout buffer are detected.
| nonblocking-read |
| wf_vblank |
| 2x-wf_vblank |
| wf_vblank-ts-check |
| 2x-wf_vblank-ts-check |
| blocking-wf_vblank |
| 2x-blocking-wf_vblank |
| absolute-wf_vblank |
| 2x-absolute-wf_vblank |
| blocking-absolute-wf_vblank |
| 2x-blocking-absolute-wf_vblank |
| wf_vblank-vs-dpms |
| 2x-wf_vblank-vs-dpms |
| bcs-wf_vblank-vs-dpms |
| 2x-bcs-wf_vblank-vs-dpms |
| rcs-wf_vblank-vs-dpms |
| 2x-rcs-wf_vblank-vs-dpms |
| wf_vblank-vs-modeset |
| 2x-wf_vblank-vs-modeset |
| bcs-wf_vblank-vs-modeset |
| 2x-bcs-wf_vblank-vs-modeset |
| rcs-wf_vblank-vs-modeset |
| 2x-rcs-wf_vblank-vs-modeset |
| plain-flip |
| 2x-plain-flip |
| busy-flip |
| 2x-busy-flip |
| flip-vs-fences |
| 2x-flip-vs-fences |
| plain-flip-ts-check |
| 2x-plain-flip-ts-check |
| plain-flip-fb-recreate |
| 2x-plain-flip-fb-recreate |
| flip-vs-rmfb |
| 2x-flip-vs-rmfb |
| flip-vs-dpms |
| 2x-flip-vs-dpms |
| bcs-flip-vs-dpms |
| 2x-bcs-flip-vs-dpms |
| rcs-flip-vs-dpms |
| 2x-rcs-flip-vs-dpms |
| flip-vs-panning |
| 2x-flip-vs-panning |
| bcs-flip-vs-panning |
| 2x-bcs-flip-vs-panning |
| rcs-flip-vs-panning |
| 2x-rcs-flip-vs-panning |
| flip-vs-modeset |
| 2x-flip-vs-modeset |
| bcs-flip-vs-modeset |
| 2x-bcs-flip-vs-modeset |
| rcs-flip-vs-modeset |
| 2x-rcs-flip-vs-modeset |
| flip-vs-expired-vblank |
| 2x-flip-vs-expired-vblank |
| flip-vs-absolute-wf_vblank |
| 2x-flip-vs-absolute-wf_vblank |
| flip-vs-wf_vblank |
| 2x-flip-vs-wf_vblank |
| flip-vs-blocking-wf-vblank |
| 2x-flip-vs-blocking-wf-vblank |
| flip-vs-modeset-vs-hang |
| 2x-flip-vs-modeset-vs-hang |
| flip-vs-panning-vs-hang |
| 2x-flip-vs-panning-vs-hang |
| vblank-vs-hang |
| 2x-vblank-vs-hang |
| flip-vs-bad-tiling |
| 2x-flip-vs-bad-tiling |
| flip-vs-dpms-off-vs-modeset |
| 2x-flip-vs-dpms-off-vs-modeset |
| single-buffer-flip-vs-dpms-off-vs-modeset |
| 2x-single-buffer-flip-vs-dpms-off-vs-modeset |
| dpms-off-confusion |
| nonexisting-fb |
| 2x-nonexisting-fb |
| dpms-vs-vblank-race |
| 2x-dpms-vs-vblank-race |
| modeset-vs-vblank-race |
| 2x-modeset-vs-vblank-race |
| vblank-vs-dpms-rpm |
| vblank-vs-modeset-rpm |
| vblank-vs-dpms-suspend |
| 2x-vblank-vs-dpms-suspend |
| vblank-vs-modeset-suspend |
| 2x-vblank-vs-modeset-suspend |
| vblank-vs-suspend |
| 2x-vblank-vs-suspend |
| bo-too-big |
| wf_vblank-interruptible |
| 2x-wf_vblank-interruptible |
| wf_vblank-ts-check-interruptible |
| 2x-wf_vblank-ts-check-interruptible |
| absolute-wf_vblank-interruptible |
| 2x-absolute-wf_vblank-interruptible |
| blocking-absolute-wf_vblank-interruptible |
| 2x-blocking-absolute-wf_vblank-interruptible |
| wf_vblank-vs-dpms-interruptible |
| 2x-wf_vblank-vs-dpms-interruptible |
| bcs-wf_vblank-vs-dpms-interruptible |
| 2x-bcs-wf_vblank-vs-dpms-interruptible |
| rcs-wf_vblank-vs-dpms-interruptible |
| 2x-rcs-wf_vblank-vs-dpms-interruptible |
| wf_vblank-vs-modeset-interruptible |
| 2x-wf_vblank-vs-modeset-interruptible |
| bcs-wf_vblank-vs-modeset-interruptible |
| 2x-bcs-wf_vblank-vs-modeset-interruptible |
| rcs-wf_vblank-vs-modeset-interruptible |
| 2x-rcs-wf_vblank-vs-modeset-interruptible |
| plain-flip-interruptible |
| 2x-plain-flip-interruptible |
| busy-flip-interruptible |
| 2x-busy-flip-interruptible |
| flip-vs-fences-interruptible |
| 2x-flip-vs-fences-interruptible |
| plain-flip-ts-check-interruptible |
| 2x-plain-flip-ts-check-interruptible |
| plain-flip-fb-recreate-interruptible |
| 2x-plain-flip-fb-recreate-interruptible |
| flip-vs-rmfb-interruptible |
| 2x-flip-vs-rmfb-interruptible |
| flip-vs-dpms-interruptible |
| 2x-flip-vs-dpms-interruptible |
| bcs-flip-vs-dpms-interruptible |
| 2x-bcs-flip-vs-dpms-interruptible |
| rcs-flip-vs-dpms-interruptible |
| 2x-rcs-flip-vs-dpms-interruptible |
| flip-vs-panning-interruptible |
| 2x-flip-vs-panning-interruptible |
| bcs-flip-vs-panning-interruptible |
| 2x-bcs-flip-vs-panning-interruptible |
| rcs-flip-vs-panning-interruptible |
| 2x-rcs-flip-vs-panning-interruptible |
| flip-vs-modeset-interruptible |
| 2x-flip-vs-modeset-interruptible |
| bcs-flip-vs-modeset-interruptible |
| 2x-bcs-flip-vs-modeset-interruptible |
| rcs-flip-vs-modeset-interruptible |
| 2x-rcs-flip-vs-modeset-interruptible |
| flip-vs-expired-vblank-interruptible |
| 2x-flip-vs-expired-vblank-interruptible |
| flip-vs-absolute-wf_vblank-interruptible |
| 2x-flip-vs-absolute-wf_vblank-interruptible |
| flip-vs-wf_vblank-interruptible |
| 2x-flip-vs-wf_vblank-interruptible |
| flip-vs-modeset-vs-hang-interruptible |
| 2x-flip-vs-modeset-vs-hang-interruptible |
| flip-vs-panning-vs-hang-interruptible |
| 2x-flip-vs-panning-vs-hang-interruptible |
| vblank-vs-hang-interruptible |
| 2x-vblank-vs-hang-interruptible |
| flip-vs-bad-tiling-interruptible |
| 2x-flip-vs-bad-tiling-interruptible |
| flip-vs-dpms-off-vs-modeset-interruptible |
| 2x-flip-vs-dpms-off-vs-modeset-interruptible |
| single-buffer-flip-vs-dpms-off-vs-modeset-interruptible |
| 2x-single-buffer-flip-vs-dpms-off-vs-modeset-interruptible |
| dpms-off-confusion-interruptible |
| nonexisting-fb-interruptible |
| 2x-nonexisting-fb-interruptible |
| dpms-vs-vblank-race-interruptible |
| 2x-dpms-vs-vblank-race-interruptible |
| modeset-vs-vblank-race-interruptible |
| 2x-modeset-vs-vblank-race-interruptible |
| vblank-vs-dpms-rpm-interruptible |
| vblank-vs-modeset-rpm-interruptible |
| vblank-vs-dpms-suspend-interruptible |
| 2x-vblank-vs-dpms-suspend-interruptible |
| vblank-vs-modeset-suspend-interruptible |
| 2x-vblank-vs-modeset-suspend-interruptible |
| vblank-vs-suspend-interruptible |
| 2x-vblank-vs-suspend-interruptible |
| bo-too-big-interruptible |
This test tries to provoke the kernel into leaking a pending page flip event when the fd is closed before the flip has completed. The test itself won't fail even if the kernel leaks the event, but the resulting dmesg WARN will indicate a failure.
| bad-pipe |
| bad-source |
| bad-nb-words-1 |
| bad-nb-words-3 |
| read-crc-pipe-A |
| read-crc-pipe-A-frame-sequence |
| suspend-read-crc-pipe-A |
| hang-read-crc-pipe-A |
| read-crc-pipe-B |
| read-crc-pipe-B-frame-sequence |
| suspend-read-crc-pipe-B |
| hang-read-crc-pipe-B |
| read-crc-pipe-C |
| read-crc-pipe-C-frame-sequence |
| suspend-read-crc-pipe-C |
| hang-read-crc-pipe-C |
| plane-position-covered-pipe-A-plane-1 |
| plane-position-hole-pipe-A-plane-1 |
| plane-panning-top-left-pipe-A-plane-1 |
| plane-panning-bottom-right-pipe-A-plane-1 |
| plane-position-covered-pipe-A-plane-2 |
| plane-position-hole-pipe-A-plane-2 |
| plane-panning-top-left-pipe-A-plane-2 |
| plane-panning-bottom-right-pipe-A-plane-2 |
| plane-position-covered-pipe-A-plane-3 |
| plane-position-hole-pipe-A-plane-3 |
| plane-panning-top-left-pipe-A-plane-3 |
| plane-panning-bottom-right-pipe-A-plane-3 |
| plane-position-covered-pipe-B-plane-1 |
| plane-position-hole-pipe-B-plane-1 |
| plane-panning-top-left-pipe-B-plane-1 |
| plane-panning-bottom-right-pipe-B-plane-1 |
| plane-position-covered-pipe-B-plane-2 |
| plane-position-hole-pipe-B-plane-2 |
| plane-panning-top-left-pipe-B-plane-2 |
| plane-panning-bottom-right-pipe-B-plane-2 |
| plane-position-covered-pipe-B-plane-3 |
| plane-position-hole-pipe-B-plane-3 |
| plane-panning-top-left-pipe-B-plane-3 |
| plane-panning-bottom-right-pipe-B-plane-3 |
| plane-position-covered-pipe-C-plane-1 |
| plane-position-hole-pipe-C-plane-1 |
| plane-panning-top-left-pipe-C-plane-1 |
| plane-panning-bottom-right-pipe-C-plane-1 |
| plane-position-covered-pipe-C-plane-2 |
| plane-position-hole-pipe-C-plane-2 |
| plane-panning-top-left-pipe-C-plane-2 |
| plane-panning-bottom-right-pipe-C-plane-2 |
| plane-position-covered-pipe-C-plane-3 |
| plane-position-hole-pipe-C-plane-3 |
| plane-panning-top-left-pipe-C-plane-3 |
| plane-panning-bottom-right-pipe-C-plane-3 |
| primary_page_flip |
| primary_mmap_gtt |
| primary_mmap_gtt_waiting |
| primary_mmap_cpu |
| primary_blt |
| primary_render |
| sprite_mmap_gtt |
| sprite_mmap_gtt_waiting |
| sprite_mmap_cpu |
| sprite_blt |
| sprite_render |
| sprite_plane_move |
| sprite_plane_onoff |
| cursor_mmap_gtt |
| cursor_mmap_gtt_waiting |
| cursor_mmap_cpu |
| cursor_blt |
| cursor_render |
| cursor_plane_move |
| cursor_plane_onoff |
Use the display CRC support to validate pwrite to an already uncached future scanout buffer.