KMS TestsKMS Tests — Mode setting tests |
| no-handle |
| normal |
| bad-pitch-0 |
| bad-pitch-32 |
| bad-pitch-63 |
| bad-pitch-128 |
| bad-pitch-256 |
| bad-pitch-1024 |
| bad-pitch-999 |
| bad-pitch-65536 |
| X-tiled |
| framebuffer-vs-set-tiling |
| tile-pitch-mismatch |
| Y-tiled |
| size-max |
| too-wide |
| too-high |
| bo-too-small |
| small-bo |
| bo-too-small-due-to-tiling |
| addfb25-modifier-no-flag |
| addfb25-bad-modifier |
| addfb25-X-tiled-mismatch |
| addfb25-X-tiled |
| addfb25-framebuffer-vs-set-tiling |
| addfb25-Y-tiled |
| addfb25-Yf-tiled |
| addfb25-Y-tiled-small |
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 |
| blt-wf_vblank-vs-dpms |
| 2x-blt-wf_vblank-vs-dpms |
| rcs-wf_vblank-vs-dpms |
| 2x-rcs-wf_vblank-vs-dpms |
| wf_vblank-vs-modeset |
| 2x-wf_vblank-vs-modeset |
| blt-wf_vblank-vs-modeset |
| 2x-blt-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 |
| blt-flip-vs-dpms |
| 2x-blt-flip-vs-dpms |
| render-flip-vs-dpms |
| 2x-render-flip-vs-dpms |
| flip-vs-panning |
| 2x-flip-vs-panning |
| blt-flip-vs-panning |
| 2x-blt-flip-vs-panning |
| render-flip-vs-panning |
| 2x-render-flip-vs-panning |
| flip-vs-modeset |
| 2x-flip-vs-modeset |
| blt-flip-vs-modeset |
| 2x-blt-flip-vs-modeset |
| render-flip-vs-modeset |
| 2x-render-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 |
| blt-wf_vblank-vs-dpms-interruptible |
| 2x-blt-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 |
| blt-wf_vblank-vs-modeset-interruptible |
| 2x-blt-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 |
| blt-flip-vs-dpms-interruptible |
| 2x-blt-flip-vs-dpms-interruptible |
| render-flip-vs-dpms-interruptible |
| 2x-render-flip-vs-dpms-interruptible |
| flip-vs-panning-interruptible |
| 2x-flip-vs-panning-interruptible |
| blt-flip-vs-panning-interruptible |
| 2x-blt-flip-vs-panning-interruptible |
| render-flip-vs-panning-interruptible |
| 2x-render-flip-vs-panning-interruptible |
| flip-vs-modeset-interruptible |
| 2x-flip-vs-modeset-interruptible |
| blt-flip-vs-modeset-interruptible |
| 2x-blt-flip-vs-modeset-interruptible |
| render-flip-vs-modeset-interruptible |
| 2x-render-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-position-hole-dpms-pipe-A-plane-1 |
| plane-panning-top-left-pipe-A-plane-1 |
| plane-panning-bottom-right-pipe-A-plane-1 |
| plane-panning-bottom-right-suspend-pipe-A-plane-1 |
| plane-position-covered-pipe-A-plane-2 |
| plane-position-hole-pipe-A-plane-2 |
| plane-position-hole-dpms-pipe-A-plane-2 |
| plane-panning-top-left-pipe-A-plane-2 |
| plane-panning-bottom-right-pipe-A-plane-2 |
| plane-panning-bottom-right-suspend-pipe-A-plane-2 |
| plane-position-covered-pipe-A-plane-3 |
| plane-position-hole-pipe-A-plane-3 |
| plane-position-hole-dpms-pipe-A-plane-3 |
| plane-panning-top-left-pipe-A-plane-3 |
| plane-panning-bottom-right-pipe-A-plane-3 |
| plane-panning-bottom-right-suspend-pipe-A-plane-3 |
| plane-position-covered-pipe-B-plane-1 |
| plane-position-hole-pipe-B-plane-1 |
| plane-position-hole-dpms-pipe-B-plane-1 |
| plane-panning-top-left-pipe-B-plane-1 |
| plane-panning-bottom-right-pipe-B-plane-1 |
| plane-panning-bottom-right-suspend-pipe-B-plane-1 |
| plane-position-covered-pipe-B-plane-2 |
| plane-position-hole-pipe-B-plane-2 |
| plane-position-hole-dpms-pipe-B-plane-2 |
| plane-panning-top-left-pipe-B-plane-2 |
| plane-panning-bottom-right-pipe-B-plane-2 |
| plane-panning-bottom-right-suspend-pipe-B-plane-2 |
| plane-position-covered-pipe-B-plane-3 |
| plane-position-hole-pipe-B-plane-3 |
| plane-position-hole-dpms-pipe-B-plane-3 |
| plane-panning-top-left-pipe-B-plane-3 |
| plane-panning-bottom-right-pipe-B-plane-3 |
| plane-panning-bottom-right-suspend-pipe-B-plane-3 |
| plane-position-covered-pipe-C-plane-1 |
| plane-position-hole-pipe-C-plane-1 |
| plane-position-hole-dpms-pipe-C-plane-1 |
| plane-panning-top-left-pipe-C-plane-1 |
| plane-panning-bottom-right-pipe-C-plane-1 |
| plane-panning-bottom-right-suspend-pipe-C-plane-1 |
| plane-position-covered-pipe-C-plane-2 |
| plane-position-hole-pipe-C-plane-2 |
| plane-position-hole-dpms-pipe-C-plane-2 |
| plane-panning-top-left-pipe-C-plane-2 |
| plane-panning-bottom-right-pipe-C-plane-2 |
| plane-panning-bottom-right-suspend-pipe-C-plane-2 |
| plane-position-covered-pipe-C-plane-3 |
| plane-position-hole-pipe-C-plane-3 |
| plane-position-hole-dpms-pipe-C-plane-3 |
| plane-panning-top-left-pipe-C-plane-3 |
| plane-panning-bottom-right-pipe-C-plane-3 |
| plane-panning-bottom-right-suspend-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.
| universal-plane-pipe-A-functional |
| universal-plane-pipe-A-sanity |
| disable-primary-vs-flip-pipe-A |
| cursor-fb-leak-pipe-A |
| universal-plane-pipe-B-functional |
| universal-plane-pipe-B-sanity |
| disable-primary-vs-flip-pipe-B |
| cursor-fb-leak-pipe-B |
| universal-plane-pipe-C-functional |
| universal-plane-pipe-C-sanity |
| disable-primary-vs-flip-pipe-C |
| cursor-fb-leak-pipe-C |