## KMS Tests KMS Tests — Tests for kernel mode setting |

## Programs

kms_3d |
kms_addfb_basic |
kms_atomic |
kms_atomic_interruptible |
kms_atomic_transition |
kms_busy |
kms_ccs |
kms_chv_cursor_fail |
kms_color |
kms_concurrent |
kms_crtc_background_color |
kms_cursor_crc |
kms_cursor_legacy |
kms_draw_crc |
kms_fbcon_fbt |
kms_fence_pin_leak |
kms_flip |
kms_flip_event_leak |
kms_flip_tiling |
kms_force_connector_basic |
kms_frontbuffer_tracking |
kms_hdmi_inject |
kms_invalid_dotclock |
kms_legacy_colorkey |
kms_mmap_write_crc |
kms_mmio_vs_cs_flip |
kms_panel_fitting |
kms_pipe_b_c_ivb |
kms_pipe_crc_basic |
kms_plane |
kms_plane_lowres |
kms_plane_multiple |
kms_plane_scaling |
kms_properties |
kms_psr_sink_crc |
kms_pwrite_crc |
kms_render |
kms_rmfb |
kms_rotation_crc |
kms_setmode |
kms_sink_crc_basic |
kms_sysfs_edid_timing |
kms_tv_load_detect |
kms_universal_plane |
kms_vblank |

## Description

### kms_3d

Tests 3D mode setting.

### kms_addfb_basic

#### Subtests

unused-handle
unused-pitches
unused-offsets
unused-modifier
clobberred-modifier
no-handle
basic
bad-pitch-0
bad-pitch-32
bad-pitch-63
bad-pitch-128
bad-pitch-256
bad-pitch-1024
bad-pitch-999
bad-pitch-65536
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
basic-X-tiled
framebuffer-vs-set-tiling
tile-pitch-mismatch
basic-Y-tiled
invalid-get-prop-any
invalid-get-prop
invalid-set-prop-any
invalid-set-prop

### kms_atomic

Test atomic modesetting API

#### Subtests

plane_overlay_legacy
plane_primary_legacy
test_only
plane_cursor_legacy
plane_invalid_params
plane_invalid_params_fence
crtc_invalid_params
crtc_invalid_params_fence
atomic_invalid_params

### kms_atomic_interruptible

Tests that interrupt various atomic ioctls.

#### Subtests

legacy-setmode
atomic-setmode
legacy-dpms
legacy-pageflip
legacy-cursor
universal-setplane-primary
universal-setplane-cursor

### kms_atomic_transition

#### Subtests

plane-primary-toggle-with-vblank-wait
plane-all-transition
plane-all-transition-fencing
plane-all-transition-nonblocking
plane-all-transition-nonblocking-fencing
plane-use-after-nonblocking-unbind
plane-use-after-nonblocking-unbind-fencing
plane-all-modeset-transition
plane-all-modeset-transition-fencing
plane-all-modeset-transition-internal-panels
plane-all-modeset-transition-fencing-internal-panels
plane-toggle-modeset-transition
1x-modeset-transitions
1x-modeset-transitions-nonblocking
1x-modeset-transitions-fencing
1x-modeset-transitions-nonblocking-fencing
2x-modeset-transitions
2x-modeset-transitions-nonblocking
2x-modeset-transitions-fencing
2x-modeset-transitions-nonblocking-fencing
3x-modeset-transitions
3x-modeset-transitions-nonblocking
3x-modeset-transitions-fencing
3x-modeset-transitions-nonblocking-fencing
4x-modeset-transitions
4x-modeset-transitions-nonblocking
4x-modeset-transitions-fencing
4x-modeset-transitions-nonblocking-fencing
5x-modeset-transitions
5x-modeset-transitions-nonblocking
5x-modeset-transitions-fencing
5x-modeset-transitions-nonblocking-fencing
6x-modeset-transitions
6x-modeset-transitions-nonblocking
6x-modeset-transitions-fencing
6x-modeset-transitions-nonblocking-fencing

### kms_busy

Basic check of KMS ABI with busy framebuffers.

#### Subtests

basic-flip-A
basic-modeset-A
extended-pageflip-modeset-hang-oldfb-render-A
extended-pageflip-hang-oldfb-render-A
extended-pageflip-hang-newfb-render-A
extended-modeset-hang-oldfb-render-A
extended-modeset-hang-newfb-render-A
extended-modeset-hang-oldfb-with-reset-render-A
extended-modeset-hang-newfb-with-reset-render-A
basic-flip-B
basic-modeset-B
extended-pageflip-modeset-hang-oldfb-render-B
extended-pageflip-hang-oldfb-render-B
extended-pageflip-hang-newfb-render-B
extended-modeset-hang-oldfb-render-B
extended-modeset-hang-newfb-render-B
extended-modeset-hang-oldfb-with-reset-render-B
extended-modeset-hang-newfb-with-reset-render-B
basic-flip-C
basic-modeset-C
extended-pageflip-modeset-hang-oldfb-render-C
extended-pageflip-hang-oldfb-render-C
extended-pageflip-hang-newfb-render-C
extended-modeset-hang-oldfb-render-C
extended-modeset-hang-newfb-render-C
extended-modeset-hang-oldfb-with-reset-render-C
extended-modeset-hang-newfb-with-reset-render-C
basic-flip-D
basic-modeset-D
extended-pageflip-modeset-hang-oldfb-render-D
extended-pageflip-hang-oldfb-render-D
extended-pageflip-hang-newfb-render-D
extended-modeset-hang-oldfb-render-D
extended-modeset-hang-newfb-render-D
extended-modeset-hang-oldfb-with-reset-render-D
extended-modeset-hang-newfb-with-reset-render-D
basic-flip-E
basic-modeset-E
extended-pageflip-modeset-hang-oldfb-render-E
extended-pageflip-hang-oldfb-render-E
extended-pageflip-hang-newfb-render-E
extended-modeset-hang-oldfb-render-E
extended-modeset-hang-newfb-render-E
extended-modeset-hang-oldfb-with-reset-render-E
extended-modeset-hang-newfb-with-reset-render-E
basic-flip-F
basic-modeset-F
extended-pageflip-modeset-hang-oldfb-render-F
extended-pageflip-hang-oldfb-render-F
extended-pageflip-hang-newfb-render-F
extended-modeset-hang-oldfb-render-F
extended-modeset-hang-newfb-render-F
extended-modeset-hang-oldfb-with-reset-render-F
extended-modeset-hang-newfb-with-reset-render-F

### kms_ccs

Test render compression (RC), in which the main surface is complemented by a color control surface (CCS) that the display uses to interpret the compressed data.

#### Subtests

pipe-A-bad-pixel-format
pipe-A-bad-rotation-90
pipe-A-crc-primary-basic
pipe-A-crc-primary-rotation-180
pipe-A-crc-sprite-planes-basic
pipe-A-missing-ccs-buffer
pipe-A-ccs-on-another-bo
pipe-A-bad-aux-stride
pipe-B-bad-pixel-format
pipe-B-bad-rotation-90
pipe-B-crc-primary-basic
pipe-B-crc-primary-rotation-180
pipe-B-crc-sprite-planes-basic
pipe-B-missing-ccs-buffer
pipe-B-ccs-on-another-bo
pipe-B-bad-aux-stride
pipe-C-bad-pixel-format
pipe-C-bad-rotation-90
pipe-C-crc-primary-basic
pipe-C-crc-primary-rotation-180
pipe-C-crc-sprite-planes-basic
pipe-C-missing-ccs-buffer
pipe-C-ccs-on-another-bo
pipe-C-bad-aux-stride
pipe-D-bad-pixel-format
pipe-D-bad-rotation-90
pipe-D-crc-primary-basic
pipe-D-crc-primary-rotation-180
pipe-D-crc-sprite-planes-basic
pipe-D-missing-ccs-buffer
pipe-D-ccs-on-another-bo
pipe-D-bad-aux-stride
pipe-E-bad-pixel-format
pipe-E-bad-rotation-90
pipe-E-crc-primary-basic
pipe-E-crc-primary-rotation-180
pipe-E-crc-sprite-planes-basic
pipe-E-missing-ccs-buffer
pipe-E-ccs-on-another-bo
pipe-E-bad-aux-stride
pipe-F-bad-pixel-format
pipe-F-bad-rotation-90
pipe-F-crc-primary-basic
pipe-F-crc-primary-rotation-180
pipe-F-crc-sprite-planes-basic
pipe-F-missing-ccs-buffer
pipe-F-ccs-on-another-bo
pipe-F-bad-aux-stride

### kms_chv_cursor_fail

Exercise CHV pipe C cursor fail

#### Subtests

pipe-A-64x64-left-edge
pipe-A-64x64-right-edge
pipe-A-64x64-top-edge
pipe-A-64x64-bottom-edge
pipe-B-64x64-left-edge
pipe-B-64x64-right-edge
pipe-B-64x64-top-edge
pipe-B-64x64-bottom-edge
pipe-C-64x64-left-edge
pipe-C-64x64-right-edge
pipe-C-64x64-top-edge
pipe-C-64x64-bottom-edge
pipe-A-128x128-left-edge
pipe-A-128x128-right-edge
pipe-A-128x128-top-edge
pipe-A-128x128-bottom-edge
pipe-B-128x128-left-edge
pipe-B-128x128-right-edge
pipe-B-128x128-top-edge
pipe-B-128x128-bottom-edge
pipe-C-128x128-left-edge
pipe-C-128x128-right-edge
pipe-C-128x128-top-edge
pipe-C-128x128-bottom-edge
pipe-A-256x256-left-edge
pipe-A-256x256-right-edge
pipe-A-256x256-top-edge
pipe-A-256x256-bottom-edge
pipe-B-256x256-left-edge
pipe-B-256x256-right-edge
pipe-B-256x256-top-edge
pipe-B-256x256-bottom-edge
pipe-C-256x256-left-edge
pipe-C-256x256-right-edge
pipe-C-256x256-top-edge
pipe-C-256x256-bottom-edge

### kms_color

Test Color Features at Pipe level

#### Subtests

pipe-A-ctm-red-to-blue
pipe-A-ctm-green-to-red
pipe-A-ctm-blue-to-red
pipe-A-ctm-0-25
pipe-A-ctm-0-5
pipe-A-ctm-0-75
pipe-A-ctm-max
pipe-A-ctm-negative
pipe-A-degamma
pipe-A-gamma
pipe-A-legacy-gamma
pipe-A-legacy-gamma-reset
pipe-B-ctm-red-to-blue
pipe-B-ctm-green-to-red
pipe-B-ctm-blue-to-red
pipe-B-ctm-0-25
pipe-B-ctm-0-5
pipe-B-ctm-0-75
pipe-B-ctm-max
pipe-B-ctm-negative
pipe-B-degamma
pipe-B-gamma
pipe-B-legacy-gamma
pipe-B-legacy-gamma-reset
pipe-C-ctm-red-to-blue
pipe-C-ctm-green-to-red
pipe-C-ctm-blue-to-red
pipe-C-ctm-0-25
pipe-C-ctm-0-5
pipe-C-ctm-0-75
pipe-C-ctm-max
pipe-C-ctm-negative
pipe-C-degamma
pipe-C-gamma
pipe-C-legacy-gamma
pipe-C-legacy-gamma-reset
pipe-D-ctm-red-to-blue
pipe-D-ctm-green-to-red
pipe-D-ctm-blue-to-red
pipe-D-ctm-0-25
pipe-D-ctm-0-5
pipe-D-ctm-0-75
pipe-D-ctm-max
pipe-D-ctm-negative
pipe-D-degamma
pipe-D-gamma
pipe-D-legacy-gamma
pipe-D-legacy-gamma-reset
pipe-E-ctm-red-to-blue
pipe-E-ctm-green-to-red
pipe-E-ctm-blue-to-red
pipe-E-ctm-0-25
pipe-E-ctm-0-5
pipe-E-ctm-0-75
pipe-E-ctm-max
pipe-E-ctm-negative
pipe-E-degamma
pipe-E-gamma
pipe-E-legacy-gamma
pipe-E-legacy-gamma-reset
pipe-F-ctm-red-to-blue
pipe-F-ctm-green-to-red
pipe-F-ctm-blue-to-red
pipe-F-ctm-0-25
pipe-F-ctm-0-5
pipe-F-ctm-0-75
pipe-F-ctm-max
pipe-F-ctm-negative
pipe-F-degamma
pipe-F-gamma
pipe-F-legacy-gamma
pipe-F-legacy-gamma-reset
pipe-invalid-lut-sizes
pipe-invalid-ctm-matrix-sizes

### kms_concurrent

Test atomic mode setting concurrently with multiple planes and screen resolution

#### Subtests

pipe-A
pipe-B
pipe-C
pipe-D
pipe-E
pipe-F

### kms_crtc_background_color

Test crtc background color feature

### kms_cursor_crc

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.

#### Subtests

cursor-size-change
cursor-64x64-onscreen
cursor-64x64-offscreen
cursor-64x64-sliding
cursor-64x64-random
cursor-64x64-dpms
cursor-64x64-suspend
cursor-64x64-rapid-movement
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-128x128-dpms
cursor-128x128-suspend
cursor-128x128-rapid-movement
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-256x256-dpms
cursor-256x256-suspend
cursor-256x256-rapid-movement
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-512x512-dpms
cursor-512x512-suspend
cursor-512x512-rapid-movement
cursor-512x170-onscreen
cursor-512x170-offscreen
cursor-512x170-sliding
cursor-512x170-random

### kms_cursor_legacy

Stress legacy cursor ioctl

#### Subtests

This test has over 100 subtests. Run kms_cursor_legacy `--list-subtests` to list them.

### kms_draw_crc

#### Subtests

draw-method-xrgb8888-mmap-cpu-untiled
draw-method-xrgb8888-mmap-cpu-xtiled
draw-method-xrgb8888-mmap-cpu-ytiled
draw-method-xrgb8888-mmap-gtt-untiled
draw-method-xrgb8888-mmap-gtt-xtiled
draw-method-xrgb8888-mmap-gtt-ytiled
draw-method-xrgb8888-mmap-wc-untiled
draw-method-xrgb8888-mmap-wc-xtiled
draw-method-xrgb8888-mmap-wc-ytiled
draw-method-xrgb8888-pwrite-untiled
draw-method-xrgb8888-pwrite-xtiled
draw-method-xrgb8888-pwrite-ytiled
draw-method-xrgb8888-blt-untiled
draw-method-xrgb8888-blt-xtiled
draw-method-xrgb8888-blt-ytiled
draw-method-xrgb8888-render-untiled
draw-method-xrgb8888-render-xtiled
draw-method-xrgb8888-render-ytiled
draw-method-rgb565-mmap-cpu-untiled
draw-method-rgb565-mmap-cpu-xtiled
draw-method-rgb565-mmap-cpu-ytiled
draw-method-rgb565-mmap-gtt-untiled
draw-method-rgb565-mmap-gtt-xtiled
draw-method-rgb565-mmap-gtt-ytiled
draw-method-rgb565-mmap-wc-untiled
draw-method-rgb565-mmap-wc-xtiled
draw-method-rgb565-mmap-wc-ytiled
draw-method-rgb565-pwrite-untiled
draw-method-rgb565-pwrite-xtiled
draw-method-rgb565-pwrite-ytiled
draw-method-rgb565-blt-untiled
draw-method-rgb565-blt-xtiled
draw-method-rgb565-blt-ytiled
draw-method-rgb565-render-untiled
draw-method-rgb565-render-xtiled
draw-method-rgb565-render-ytiled
draw-method-xrgb2101010-mmap-cpu-untiled
draw-method-xrgb2101010-mmap-cpu-xtiled
draw-method-xrgb2101010-mmap-cpu-ytiled
draw-method-xrgb2101010-mmap-gtt-untiled
draw-method-xrgb2101010-mmap-gtt-xtiled
draw-method-xrgb2101010-mmap-gtt-ytiled
draw-method-xrgb2101010-mmap-wc-untiled
draw-method-xrgb2101010-mmap-wc-xtiled
draw-method-xrgb2101010-mmap-wc-ytiled
draw-method-xrgb2101010-pwrite-untiled
draw-method-xrgb2101010-pwrite-xtiled
draw-method-xrgb2101010-pwrite-ytiled
draw-method-xrgb2101010-blt-untiled
draw-method-xrgb2101010-blt-xtiled
draw-method-xrgb2101010-blt-ytiled
draw-method-xrgb2101010-render-untiled
draw-method-xrgb2101010-render-xtiled
draw-method-xrgb2101010-render-ytiled
fill-fb

### kms_fbcon_fbt

Test the relationship between fbcon and the frontbuffer tracking infrastructure.

#### Subtests

fbc
psr
fbc-suspend
psr-suspend

### kms_fence_pin_leak

Exercises full ppgtt fence pin_count leak in the kernel.

### kms_flip

#### Subtests

This test has over 100 subtests. Run kms_flip `--list-subtests` to list them.

### kms_flip_event_leak

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.

### kms_flip_tiling

Test page flips and tiling scenarios

#### Subtests

flip-changes-tiling
flip-changes-tiling-Y
flip-changes-tiling-Yf
flip-X-tiled
flip-Y-tiled
flip-Yf-tiled
flip-to-X-tiled
flip-to-Y-tiled
flip-to-Yf-tiled

### kms_force_connector_basic

Check the debugfs force connector/edid features work correctly.

#### Subtests

force-load-detect
force-connector-state
force-edid
prune-stale-modes

### kms_frontbuffer_tracking

Test the Kernel's frontbuffer tracking mechanism and its related features: FBC and PSR

#### Subtests

This test has over 100 subtests. Run kms_frontbuffer_tracking `--list-subtests` to list them.

### kms_hdmi_inject

Tests 4K and audio HDMI injection.

#### Subtests

inject-4k
inject-audio

### kms_invalid_dotclock

Make sure all modesets are rejected when the requested dotclock is too high

### kms_legacy_colorkey

Check that the legacy set colorkey ioctl only works on sprite planes.

### kms_mmap_write_crc

Use the display CRC support to validate mmap write to an already uncached future scanout buffer.

### kms_mmio_vs_cs_flip

#### Subtests

setplane_vs_cs_flip
setcrtc_vs_cs_flip

### kms_panel_fitting

Test display panel fitting

#### Subtests

legacy
atomic-fastset

### kms_pipe_b_c_ivb

Exercise the FDI lane bifurcation code for IVB in the kernel by settingdifferent combinations of modes for pipes B and C.

#### Subtests

pipe-B-dpms-off-modeset-pipe-C
pipe-B-double-modeset-then-modeset-pipe-C
disable-pipe-B-enable-pipe-C
from-pipe-C-to-B-with-3-lanes
enable-pipe-C-while-B-has-3-lanes

### kms_pipe_crc_basic

#### Subtests

bad-pipe
bad-source
bad-nb-words-1
bad-nb-words-3
read-crc-pipe-A
read-crc-pipe-A-frame-sequence
nonblocking-crc-pipe-A
nonblocking-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
nonblocking-crc-pipe-B
nonblocking-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
nonblocking-crc-pipe-C
nonblocking-crc-pipe-C-frame-sequence
suspend-read-crc-pipe-C
hang-read-crc-pipe-C

### kms_plane

#### Subtests

pixel-format-pipe-A-planes
plane-position-covered-pipe-A-planes
plane-position-hole-pipe-A-planes
plane-position-hole-dpms-pipe-A-planes
plane-panning-top-left-pipe-A-planes
plane-panning-bottom-right-pipe-A-planes
plane-panning-bottom-right-suspend-pipe-A-planes
pixel-format-pipe-B-planes
plane-position-covered-pipe-B-planes
plane-position-hole-pipe-B-planes
plane-position-hole-dpms-pipe-B-planes
plane-panning-top-left-pipe-B-planes
plane-panning-bottom-right-pipe-B-planes
plane-panning-bottom-right-suspend-pipe-B-planes
pixel-format-pipe-C-planes
plane-position-covered-pipe-C-planes
plane-position-hole-pipe-C-planes
plane-position-hole-dpms-pipe-C-planes
plane-panning-top-left-pipe-C-planes
plane-panning-bottom-right-pipe-C-planes
plane-panning-bottom-right-suspend-pipe-C-planes
pixel-format-pipe-D-planes
plane-position-covered-pipe-D-planes
plane-position-hole-pipe-D-planes
plane-position-hole-dpms-pipe-D-planes
plane-panning-top-left-pipe-D-planes
plane-panning-bottom-right-pipe-D-planes
plane-panning-bottom-right-suspend-pipe-D-planes
pixel-format-pipe-E-planes
plane-position-covered-pipe-E-planes
plane-position-hole-pipe-E-planes
plane-position-hole-dpms-pipe-E-planes
plane-panning-top-left-pipe-E-planes
plane-panning-bottom-right-pipe-E-planes
plane-panning-bottom-right-suspend-pipe-E-planes
pixel-format-pipe-F-planes
plane-position-covered-pipe-F-planes
plane-position-hole-pipe-F-planes
plane-position-hole-dpms-pipe-F-planes
plane-panning-top-left-pipe-F-planes
plane-panning-bottom-right-pipe-F-planes
plane-panning-bottom-right-suspend-pipe-F-planes

### kms_plane_lowres

Test atomic mode setting with a plane by switching between high and low resolutions

#### Subtests

pipe-A-tiling-none
pipe-A-tiling-x
pipe-A-tiling-y
pipe-A-tiling-yf
pipe-B-tiling-none
pipe-B-tiling-x
pipe-B-tiling-y
pipe-B-tiling-yf
pipe-C-tiling-none
pipe-C-tiling-x
pipe-C-tiling-y
pipe-C-tiling-yf
pipe-D-tiling-none
pipe-D-tiling-x
pipe-D-tiling-y
pipe-D-tiling-yf
pipe-E-tiling-none
pipe-E-tiling-x
pipe-E-tiling-y
pipe-E-tiling-yf
pipe-F-tiling-none
pipe-F-tiling-x
pipe-F-tiling-y
pipe-F-tiling-yf

### kms_plane_multiple

Test atomic mode setting with multiple planes

#### Subtests

legacy-pipe-A-tiling-none
atomic-pipe-A-tiling-none
legacy-pipe-A-tiling-x
atomic-pipe-A-tiling-x
legacy-pipe-A-tiling-y
atomic-pipe-A-tiling-y
legacy-pipe-A-tiling-yf
atomic-pipe-A-tiling-yf
legacy-pipe-B-tiling-none
atomic-pipe-B-tiling-none
legacy-pipe-B-tiling-x
atomic-pipe-B-tiling-x
legacy-pipe-B-tiling-y
atomic-pipe-B-tiling-y
legacy-pipe-B-tiling-yf
atomic-pipe-B-tiling-yf
legacy-pipe-C-tiling-none
atomic-pipe-C-tiling-none
legacy-pipe-C-tiling-x
atomic-pipe-C-tiling-x
legacy-pipe-C-tiling-y
atomic-pipe-C-tiling-y
legacy-pipe-C-tiling-yf
atomic-pipe-C-tiling-yf
legacy-pipe-D-tiling-none
atomic-pipe-D-tiling-none
legacy-pipe-D-tiling-x
atomic-pipe-D-tiling-x
legacy-pipe-D-tiling-y
atomic-pipe-D-tiling-y
legacy-pipe-D-tiling-yf
atomic-pipe-D-tiling-yf
legacy-pipe-E-tiling-none
atomic-pipe-E-tiling-none
legacy-pipe-E-tiling-x
atomic-pipe-E-tiling-x
legacy-pipe-E-tiling-y
atomic-pipe-E-tiling-y
legacy-pipe-E-tiling-yf
atomic-pipe-E-tiling-yf
legacy-pipe-F-tiling-none
atomic-pipe-F-tiling-none
legacy-pipe-F-tiling-x
atomic-pipe-F-tiling-x
legacy-pipe-F-tiling-y
atomic-pipe-F-tiling-y
legacy-pipe-F-tiling-yf
atomic-pipe-F-tiling-yf

### kms_plane_scaling

Test display plane scaling

### kms_properties

#### Subtests

plane-properties-legacy
plane-properties-atomic
crtc-properties-legacy
crtc-properties-atomic
connector-properties-legacy
connector-properties-atomic
invalid-properties-legacy
invalid-properties-atomic
get_properties-sanity

### kms_psr_sink_crc

#### Subtests

psr_basic
psr_drrs
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
dpms_off_psr_active
dpms_off_psr_exit
suspend_psr_active
suspend_psr_exit

### kms_pwrite_crc

Use the display CRC support to validate pwrite to an already uncached future scanout buffer.

### kms_render

#### Subtests

direct-render
gpu-blit

### kms_rmfb

#### Subtests

rmfb-ioctl
close-fd

### kms_rotation_crc

#### Subtests

primary-rotation-90
primary-rotation-180
primary-rotation-270
primary-rotation-90-flip
primary-rotation-180-flip
primary-rotation-270-flip
sprite-rotation-90
sprite-rotation-180
sprite-rotation-270
sprite-rotation-90-flip
sprite-rotation-180-flip
sprite-rotation-270-flip
cursor-rotation-180
sprite-rotation-90-pos-100-0
bad-pixel-format
bad-tiling
primary-rotation-90-Y-tiled
primary-x-tiled-reflect-x-0
primary-x-tiled-reflect-x-180
primary-y-tiled-reflect-x-0
primary-y-tiled-reflect-x-90
primary-y-tiled-reflect-x-180
primary-y-tiled-reflect-x-270
primary-yf-tiled-reflect-x-0
primary-yf-tiled-reflect-x-90
primary-yf-tiled-reflect-x-180
primary-yf-tiled-reflect-x-270
primary-x-tiled-reflect-x-0-flip
primary-x-tiled-reflect-x-180-flip
primary-y-tiled-reflect-x-0-flip
primary-y-tiled-reflect-x-90-flip
primary-y-tiled-reflect-x-180-flip
primary-y-tiled-reflect-x-270-flip
primary-yf-tiled-reflect-x-0-flip
primary-yf-tiled-reflect-x-90-flip
primary-yf-tiled-reflect-x-180-flip
primary-yf-tiled-reflect-x-270-flip
exhaust-fences

### kms_setmode

#### Subtests

basic
basic-clone-single-crtc
invalid-clone-single-crtc
invalid-clone-exclusive-crtc
clone-exclusive-crtc
invalid-clone-single-crtc-stealing

### kms_sink_crc_basic

### kms_sysfs_edid_timing

This check the time we take to read the content of all the possible connectors. Without the edid -ENXIO patch (http://permalink.gmane.org/gmane.comp.video.dri.devel/62083), we sometimes take a *really* long time. So let's just check for some reasonable timing here

### kms_tv_load_detect

Check tv load detection works correctly.

#### Subtests

load-detect

### kms_universal_plane

#### Subtests

universal-plane-pipe-A-functional
universal-plane-pipe-A-sanity
disable-primary-vs-flip-pipe-A
cursor-fb-leak-pipe-A
universal-plane-gen9-features-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-gen9-features-pipe-B
universal-plane-pipe-C-functional
universal-plane-pipe-C-sanity
disable-primary-vs-flip-pipe-C
cursor-fb-leak-pipe-C
universal-plane-gen9-features-pipe-C
universal-plane-pipe-D-functional
universal-plane-pipe-D-sanity
disable-primary-vs-flip-pipe-D
cursor-fb-leak-pipe-D
universal-plane-gen9-features-pipe-D
universal-plane-pipe-E-functional
universal-plane-pipe-E-sanity
disable-primary-vs-flip-pipe-E
cursor-fb-leak-pipe-E
universal-plane-gen9-features-pipe-E
universal-plane-pipe-F-functional
universal-plane-pipe-F-sanity
disable-primary-vs-flip-pipe-F
cursor-fb-leak-pipe-F
universal-plane-gen9-features-pipe-F

### kms_vblank

Test speed of WaitVblank.

#### Subtests

crtc-id
accuracy-idle
query-idle
query-forked
query-busy
query-forked-busy
wait-idle
wait-forked
wait-busy
wait-forked-busy