KMS TestsKMS Tests — Tests for kernel mode setting |
Check if addfb2 with a system memory gem object fails correctly if device requires local memory framebuffers
Check if addfb2 call works for relevant combination of tiling and fbs
Test that addfb2 call fails correctly with small buffer object after changing tile
Test asynchronous page flips.
Verify the async flip functionality and the fps during async flips Wait for page flip events in between successive asynchronous flips
Verify the async flip functionality and the fps during async flips Alternate between sync and async flips
Test atomic modesetting API
Test for KMS atomic modesetting on overlay plane and ensure coherency between the legacy and atomic interfaces.
Test for KMS atomic modesetting on primary plane and ensure coherency between the legacy and atomic interfaces.
Verify that the overlay plane can cover the primary one (and vice versa) by changing their zpos property.
Verify the reported zpos property of planes by making sure only higher zpos planes cover the lower zpos ones.
Test to ensure that DRM_MODE_ATOMIC_TEST_ONLY really only touches the free-standing state objects and nothing else.
Test for KMS atomic modesetting on cursor plane and ensure coherency between legacy and atomic interfaces.
Transition test for all plane combinations with nonblocking and fencing commit
Transition test with non blocking commit and make sure commit of disabled plane has to complete before atomic commit on that plane
Transition test with non blocking and fencing commit and make sure commit of disabled plane has to complete before atomic commit on that plane
Modeset test for all plane combinations on internal panels
Modeset test for all plane combinations on internal panels with fencing commit
Modeset transition tests for combinations of crtc enabled with fencing commit
Test Color Features at Pipe level
Test content protection (HDCP)
Test to detect the HDCP status change when we are reading the uevent sent with the corresponding connector id and property id.
Use the display CRC support to validate cursor plane functionality. The test will position thecursor plane either fully onscreen, partially onscreen, or fully offscreen, using either afully opaque or fully transparent surface. In each case, it enables the cursor plane and thenreads the PF CRC (hardware test) and compares it with the CRC value obtained when the cursorplane was disabled and its drawing is directly inserted on the PF by software.
Create a maximum size cursor, then change the size in flight to smaller ones to see that the size is applied correctly.
Validates the composition of a fully opaque cursor plane, i.e., alpha channel equal to 1.0.
Validates the composition of a fully transparent cursor plane, i.e., alpha channel equal to 0.0.
Check the smooth and pixel-by-pixel given-size cursor movements on horizontal, vertical and diagonal.
Check the smooth and pixel-by-pixel given-size cursor movements on horizontal, vertical and diagonal.
Check the smooth and pixel-by-pixel given-size cursor movements on horizontal, vertical and diagonal.
Check the smooth and pixel-by-pixel given-size cursor movements on horizontal, vertical and diagonal.
Check the smooth and pixel-by-pixel given-size cursor movements on horizontal, vertical and diagonal.
Check the smooth and pixel-by-pixel given-size cursor movements on horizontal, vertical and diagonal.
Check the smooth and pixel-by-pixel given-size cursor movements on horizontal, vertical and diagonal.
Check the smooth and pixel-by-pixel given-size cursor movements on horizontal, vertical and diagonal.
Check the smooth and pixel-by-pixel given-size cursor movements on horizontal, vertical and diagonal.
Check the smooth and pixel-by-pixel given-size cursor movements on horizontal, vertical and diagonal.
Stress legacy cursor ioctl
Test checks how many cursor updates we can fit between vblanks on single/all pipes with different modes, priority and number of processes
Test checks how many cursor updates we can fit between vblanks on single/all pipes with different modes, priority and number of processes
Test checks how many cursor updates we can fit between vblanks on single/all pipes with different modes, priority and number of processes
Test checks how many cursor updates we can fit between vblanks on single/all pipes with different modes, priority and number of processes
Test checks how many cursor updates we can fit between vblanks on single/all pipes with different modes, priority and number of processes
Test checks how many cursor updates we can fit between vblanks on single/all pipes with different modes, priority and number of processes
Test checks how many cursor updates we can fit between vblanks on all pipes with different modes, priority and number of processes
Test checks how many cursor updates we can fit between vblanks on all pipes with different modes, priority and number of processes
Test changes the cursor hotspot and checks that the property is updated accordignly
This test executes flips on both CRTCs while running cursor updates in parallel
This test executes flips on both CRTCs while running cursor updates in parallel
This test executes flips on both CRTCs while running cursor updates in parallel
This test executes flips on both CRTCs while running cursor updates in parallel
This test executes flips on both CRTCs while running cursor updates in parallel
This test executes flips on both CRTCs while running cursor updates in parallel
This test executes flips on both CRTCs while running cursor updates in parallel
This test executes flips on both CRTCs while running cursor updates in parallel
This test executes flips on both CRTCs while running cursor updates in parallel
This test executes flips on both CRTCs while running cursor updates in parallel
Adds variety of tests:* varying-size: change the size of cursor b/w 64*64 to maxw x maxh.* atomic-transition: alternates between a full screen sprite plane and full screen primary plane.* toggle: which toggles cursor visibility and make sure cursor moves between updates.
Adds variety of tests:* varying-size: change the size of cursor b/w 64*64 to maxw x maxh.* atomic-transition: alternates between a full screen sprite plane and full screen primary plane.* toggle: which toggles cursor visibility and make sure cursor moves between updates.
Adds variety of tests:* varying-size: change the size of cursor b/w 64*64 to maxw x maxh.* atomic-transition: alternates between a full screen sprite plane and full screen primary plane.* toggle: which toggles cursor visibility and make sure cursor moves between updates.
Adds variety of tests:* varying-size: change the size of cursor b/w 64*64 to maxw x maxh.* atomic-transition: alternates between a full screen sprite plane and full screen primary plane.* toggle: which toggles cursor visibility and make sure cursor moves between updates.
Adds variety of tests:* varying-size: change the size of cursor b/w 64*64 to maxw x maxh.* atomic-transition: alternates between a full screen sprite plane and full screen primary plane.* toggle: which toggles cursor visibility and make sure cursor moves between updates.
Adds variety of tests:* varying-size: change the size of cursor b/w 64*64 to maxw x maxh.* atomic-transition: alternates between a full screen sprite plane and full screen primary plane.* toggle: which toggles cursor visibility and make sure cursor moves between updates.
Adds variety of tests:* varying-size: change the size of cursor b/w 64*64 to maxw x maxh.* atomic-transition: alternates between a full screen sprite plane and full screen primary plane.* toggle: which toggles cursor visibility and make sure cursor moves between updates.
Adds variety of tests:* varying-size: change the size of cursor b/w 64*64 to maxw x maxh.* atomic-transition: alternates between a full screen sprite plane and full screen primary plane.* toggle: which toggles cursor visibility and make sure cursor moves between updates.
Adds variety of tests:* varying-size: change the size of cursor b/w 64*64 to maxw x maxh.* atomic-transition: alternates between a full screen sprite plane and full screen primary plane.* toggle: which toggles cursor visibility and make sure cursor moves between updates.
Adds variety of tests:* varying-size: change the size of cursor b/w 64*64 to maxw x maxh.* atomic-transition: alternates between a full screen sprite plane and full screen primary plane.* toggle: which toggles cursor visibility and make sure cursor moves between updates.
Adds variety of tests:* varying-size: change the size of cursor b/w 64*64 to maxw x maxh.* atomic-transition: alternates between a full screen sprite plane and full screen primary plane.* toggle: which toggles cursor visibility and make sure cursor moves between updates.
Adds variety of tests:* varying-size: change the size of cursor b/w 64*64 to maxw x maxh.* atomic-transition: alternates between a full screen sprite plane and full screen primary plane.* toggle: which toggles cursor visibility and make sure cursor moves between updates.
Adds variety of tests:* varying-size: change the size of cursor b/w 64*64 to maxw x maxh.* atomic-transition: alternates between a full screen sprite plane and full screen primary plane.* toggle: which toggles cursor visibility and make sure cursor moves between updates.
Adds variety of tests:* varying-size: change the size of cursor b/w 64*64 to maxw x maxh.* atomic-transition: alternates between a full screen sprite plane and full screen primary plane.* toggle: which toggles cursor visibility and make sure cursor moves between updates.
Adds variety of tests:* varying-size: change the size of cursor b/w 64*64 to maxw x maxh.* atomic-transition: alternates between a full screen sprite plane and full screen primary plane.* toggle: which toggles cursor visibility and make sure cursor moves between updates.
Adds variety of tests:* varying-size: change the size of cursor b/w 64*64 to maxw x maxh.* atomic-transition: alternates between a full screen sprite plane and full screen primary plane.* toggle: which toggles cursor visibility and make sure cursor moves between updates.
Adds variety of tests:* varying-size: change the size of cursor b/w 64*64 to maxw x maxh.* atomic-transition: alternates between a full screen sprite plane and full screen primary plane.* toggle: which toggles cursor visibility and make sure cursor moves between updates.
Adds variety of tests:* varying-size: change the size of cursor b/w 64*64 to maxw x maxh.* atomic-transition: alternates between a full screen sprite plane and full screen primary plane.* toggle: which toggles cursor visibility and make sure cursor moves between updates.
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next
A metatest that checks for "features" presence. The subtests here should only skip or pass,anything else means we have a serious problem.
Test for validating modeset, dpms and pageflips with a pair of connected displays
Test for validating modeset, dpms and pageflips with a pair of connected displays
Test for validating modeset, dpms and pageflips with a pair of connected displays
Test for validating modeset, dpms and pageflips with a pair of connected displays
Test for validating modeset, dpms and pageflips with a pair of connected displays
Test for validating modeset, dpms and pageflips with a pair of connected displays
Test for validating modeset, dpms and pageflips with a pair of connected displays
Test for validating modeset, dpms and pageflips with a pair of connected displays
Test for validating modeset, dpms and pageflips with a pair of connected displays
Test for validating modeset, dpms and pageflips with a pair of connected displays
Test for validating modeset, dpms and pageflips with a pair of connected displays
Test for validating modeset, dpms and pageflips with a pair of connected displays
Test for validating modeset, dpms and pageflips with a pair of connected displays
Test for validating modeset, dpms and pageflips with a pair of connected displays
Test for validating modeset, dpms and pageflips with a pair of connected displays
Test for validating modeset, dpms and pageflips with a pair of connected displays
Test for validating modeset, dpms and pageflips with a pair of connected displays
Test for validating modeset, dpms and pageflips with a pair of connected displays
Test for validating modeset, dpms and pageflips with a pair of connected displays
Interrupt test for validating modeset, dpms and pageflips with pair of connected displays
Interrupt test for validating modeset, dpms and pageflips with pair of connected displays
Interrupt test for validating modeset, dpms and pageflips with pair of connected displays
Interrupt test for validating modeset, dpms and pageflips with pair of connected displays
Interrupt test for validating modeset, dpms and pageflips with pair of connected displays
Interrupt test for validating modeset, dpms and pageflips with pair of connected displays
Interrupt test for validating modeset, dpms and pageflips with pair of connected displays
Interrupt test for validating modeset, dpms and pageflips with pair of connected displays
Interrupt test for validating modeset, dpms and pageflips with pair of connected displays
Interrupt test for validating modeset, dpms and pageflips with pair of connected displays
Interrupt test for validating modeset, dpms and pageflips with pair of connected displays
Interrupt test for validating modeset, dpms and pageflips with pair of connected displays
Interrupt test for validating modeset, dpms and pageflips with pair of connected displays
Interrupt test for validating modeset, dpms and pageflips
Interrupt test for validating modeset, dpms and pageflips with pair of connected displays
Interrupt test for validating modeset, dpms and pageflips with pair of connected displays
Interrupt test for validating modeset, dpms and pageflips with pair of connected displays
This test tries to provoke the kernel into leaking a pending page flip event when the fd is closedbefore the flip has completed. The test itself won't fail even if the kernel leaks the event, butthe resulting dmesg WARN will indicate a failure.
Tests GETFB and GETFB2 ioctls.
Tests error handling while requesting for two different handles from same fd.
Tests error handling while requesting for two different handles from different fd.
Test that in-kernel EDID parsing is producing expected results by forcing a HDMI connectorwith a known EDID and checking that the metadata exposed to user space matches.
Test of CreateLease.
Tests error handling while creating invalid corner-cases for create-lease ioctl
Tests that possible_crtcs logically match between master and lease, and that the values are correctly renumbered on the lease side.
verify plane position using two planes to create a partially covered screen andcheck for DPMS
Test plane alpha and blending mode properties
Uses alpha values 0x7e and 0xfc to validate fg.alpha and plane_alpha are swappable on pre-multiplied blend mode.
Test atomic mode setting with a plane by switching between high and low resolutions
Tests the visibility of the planes when switching between high and low resolution with tiling-none
Tests the visibility of the planes when switching between high and low resolution with tiling-x
Tests the visibility of the planes when switching between high and low resolution with tiling-y
Test atomic mode setting with multiple planes.
Check that the kernel handles atomic updates of multiple planes correctly by changing their geometry and making sure the changes are reflected immediately after each commit.
Check that the kernel handles atomic updates of multiple planes correctly by changing their geometry and making sure the changes are reflected immediately after each commit.
Check that the kernel handles atomic updates of multiple planes correctly by changing their geometry and making sure the changes are reflected immediately after each commit.
Test display plane scaling
Tests upscaling with pixel formats for 0.25 scaling factor.
Tests downscaling with pixel formats for 0.25 scaling factor.
Tests downscaling with pixel formats for 0.5 scaling factor.
Tests downscaling with pixel formats for 0.75 scaling factor.
Tests downscaling with modifiers for 0.25 scaling factor.
Tests downscaling with modifiers for 0.75 scaling factor.
Tests scaling with clipping and clamping, pixel formats.
Tests upscaling (20x20) and downscaling (scaling factor 0.25) of 2 planes.
Tests upscaling (20x20) and downscaling (scaling factor 0.5) of 2 planes.
Tests upscaling (20x20) and downscaling (scaling factor 0.75) of 2 planes.
Tests upscaling (scaling factor 0.25) and downscaling (scaling factor 0.25) of 2 planes.
Tests upscaling (scaling factor 0.25) and downscaling (scaling factor 0.5) of 2 planes.
Tests upscaling (scaling factor 0.25) and downscaling (scaling factor 0.75) of 2 planes.
Tests scaling (unity) and downscaling (scaling factor 0.25) of 2 planes.
Tests scaling (unity) and downscaling (scaling factor 0.5) of 2 planes.
Tests scaling (unity) and downscaling (scaling factor 0.75) of 2 planes.
Tests downscaling (scaling factor 0.25) and upscaling (20x20) of 2 planes.
Tests downscaling (scaling factor 0.25) and upscaling (scaling factor 0.25) of 2 planes.
Tests downscaling (scaling factor 0.25) and scaling (unity) of 2 planes.
Tests downscaling (scaling factor 0.5) and upscaling (20x20) of 2 planes.
Tests downscaling (scaling factor 0.5) and upscaling (scaling factor 0.25) of 2 planes.
Tests downscaling (scaling factor 0.5) and scaling (unity) of 2 planes.
Tests downscaling (scaling factor 0.75) and upscaling (20x20) of 2 planes.
Tests downscaling (scaling factor 0.75) and upscaling (scaling factor 0.25) of 2 planes.
Prime tests, focusing on KMS side
Hybrid GPU subtests Hybrid GPU: Make a dumb color buffer, export to another device and compare the CRCs with a buffer native to that device
Tests behaviour of mass-data 'blob' properties.
Checks each property of any type with combination of mode object with legacy commit and make sure only valid properties are set to mode object else return with relevant error
Checks each property of any type with combination of mode object with atomic commit and make sure only valid properties are set to mode object else return with relevant error
This tests rmfb and close-fd behavior. In these cases the framebuffers should be removed fromthe crtc.
Rotation test on both planes by cropping left/top corner of primary plane andright/top corner of sprite plane
Tests the mode by iterating through all valid/invalid crtc/connector combinations
Tests the mode by iterating through all valid/invalid crtc/connector combinations
Tests the mode by iterating through all valid/invalid crtc/connector combinations
This test checks the time it takes to reprobe each connector and fails if either the time it takesfor one reprobe is too long or if the mean time it takes to reprobe one connector is too long. Additionally, make sure that the mean time for all connectors is not too long.
Test for genlocked CRTCs with tiled displays
Test for scale-up or scale-down using universal plane API without covering CRTC
Tests that VRR is enabled and that the difference between flip timestamps converges to the requested rate
Tests with DPMS that VRR is enabled and that the difference between flip timestamps converges to the requested rate.
Tests that VRR is enabled and that the difference between flip timestamps converges to the requested rate in a suspend test
Tests that VRR is enabled without modeset and that the difference between flip timestamps converges to the requested rate
This test validates the expected behavior of the writeback connectors feature by checking ifthe target device support writeback; it validates bad and good combination, check colorformat, and check the output result by using CRC.
Test render compression (RC), in which the main surface is complemented by a color controlsurface (CCS) that the display uses to interpret the compressed data.
More than 100 subtests, skipping listing
Verify that igt draw library works for the draw method (mmap-cpu) with different modifiers & DRM formats.
Verify that igt draw library works for the draw method (mmap-gtt) with different modifiers & DRM formats.
Verify that igt draw library works for the draw method (mmap-wc) with different modifiers & DRM formats.
Verify that igt draw library works for the draw method (pwrite) with different modifiers & DRM formats.
Verify that igt draw library works for the draw method (blt) with different modifiers & DRM formats.
Test to validate display stream compression
Tests basic display stream compression functionality if supported by a connector by forcing DSC on all connectors that support it with default parameters
Tests basic display stream compression functionality if supported by a connector by forcing DSC on all connectors that support it with default parameters and creating fb with diff formats
Tests basic display stream compression functionality if supported by a connector by forcing DSC on all connectors that support it with certain input BPC for the connector
Tests basic display stream compression functionality if supported by a connector by forcing DSC on all connectors that support it with certain input BPC for the connector with diff formats
Tests basic display stream compression functionality if supported by a connector by forcing DSC and output format on all connectors that support it
Tests basic display stream compression functionality if supported by a connector by forcing DSC and output format on all connectors that support it with certain input BPC for the connector
Tests fractional compressed bpp functionality if supported by a connector by forcing fractional_bpp on all connectors that support it with default parameter. While finding the optimum compressed bpp, driver will skip over the compressed bpps with integer values. It will go ahead with DSC, iff compressed bpp is fractional, failing in which, it will fail the commit.
Test the relationship between fbcon and the frontbuffer tracking infrastructure.
Test the relationship between fbcon and the frontbuffer tracking infrastructure with fbc enabled.
Test the relationship between fbcon and the frontbuffer tracking infrastructure with psr enabled.
Test flipping between scaled/nonscaled framebuffers
Flip from 32bpp non scaled fb to 64bpp downscaled fb to stress CD clock programming
Flip from 32bpp non scaled fb to 64bpp downscaled fb to stress CD clock programming
Flip from 32bpp non scaled fb to 64bpp downscaled fb to stress CD clock programming
Flip from 32bpp non scaled fb to 64bpp downscaled fb to stress CD clock programming
Flip from 32bpp non scaled fb to 64bpp downscaled fb to stress CD clock programming
Flip from 64bpp non scaled fb to 32bpp downscaled fb to stress CD clock programming
Flip from 64bpp non scaled fb to 32bpp downscaled fb to stress CD clock programming
Flip from 64bpp non scaled fb to 32bpp downscaled fb to stress CD clock programming
Flip from 64bpp non scaled fb to 32bpp downscaled fb to stress CD clock programming
Flip from 64bpp non scaled fb to 32bpp downscaled fb to stress CD clock programming
Flip from 64bpp non scaled fb to 16bpp downscaled fb to stress CD clock programming
Flip from 64bpp non scaled fb to 16bpp downscaled fb to stress CD clock programming
Flip from 64bpp non scaled fb to 16bpp downscaled fb to stress CD clock programming
Flip from 64bpp non scaled fb to 16bpp downscaled fb to stress CD clock programming
Flip from 64bpp non scaled fb to 16bpp downscaled fb to stress CD clock programming
Flip from 32bpp non scaled fb to 64bpp downscaled fb to stress CD clock programming
Flip from 32bpp non scaled fb to 64bpp downscaled fb to stress CD clock programming
Flip from 32bpp non scaled fb to 32bpp downscaled fb to stress CD clock programming
Flip from 32bpp non scaled fb to 32bpp downscaled fb to stress CD clock programming
Flip from 32bpp non scaled fb to 32bpp downscaled fb to stress CD clock programming
Flip from 32bpp non scaled fb to 32bpp downscaled fb to stress CD clock programming
Flip from 64bpp non scaled fb to 32bpp downscaled fb to stress CD clock programming
Flip from 64bpp non scaled fb to 32bpp downscaled fb to stress CD clock programming
Flip from 32bpp non scaled fb to 64bpp upscaled fb to stress CD clock programming
Flip from 32bpp non scaled fb to 64bpp upscaled fb to stress CD clock programming
Flip from 32bpp non scaled fb to 64bpp upscaled fb to stress CD clock programming
Flip from 32bpp non scaled fb to 64bpp upscaled fb to stress CD clock programming
Flip from 32bpp non scaled fb to 64bpp upscaled fb to stress CD clock programming
Flip from 64bpp non scaled fb to 32bpp upscaled fb to stress CD clock programming
Flip from 64bpp non scaled fb to 32bpp upscaled fb to stress CD clock programming
Flip from 64bpp non scaled fb to 32bpp upscaled fb to stress CD clock programming
Flip from 64bpp non scaled fb to 32bpp upscaled fb to stress CD clock programming
Flip from 64bpp non scaled fb to 32bpp upscaled fb to stress CD clock programming
Flip from 64bpp non scaled fb to 16bpp upscaled fb to stress CD clock programming
Flip from 64bpp non scaled fb to 16bpp upscaled fb to stress CD clock programming
Flip from 64bpp non scaled fb to 16bpp upscaled fb to stress CD clock programming
Flip from 64bpp non scaled fb to 16bpp upscaled fb to stress CD clock programming
Flip from 64bpp non scaled fb to 16bpp upscaled fb to stress CD clock programming
Flip from 32bpp non scaled fb to 64bpp upscaled fb to stress CD clock programming
Flip from 32bpp non scaled fb to 64bpp upscaled fb to stress CD clock programming
Flip from 32bpp non scaled fb to 32bpp upscaled fb to stress CD clock programming
Flip from 32bpp non scaled fb to 32bpp upscaled fb to stress CD clock programming
Flip from 32bpp non scaled fb to 32bpp upscaled fb to stress CD clock programming
Flip from 32bpp non scaled fb to 32bpp upscaled fb to stress CD clock programming
Test the Kernel's frontbuffer tracking mechanism and its related features: FBC, PSR and DRRS
More than 100 subtests, skipping listing
Test joiner / force joiner
Verify if the modeset on the adjoining pipe is rejected when the pipe is active with a big joiner modeset
Use the display CRC support to validate mmap write to an already uncached future scanoutbuffer.
Exercise the FDI lane bifurcation code for IVB in the kernel by settingdifferent combinationsof modes for pipes B and C.
Tests pipe-B and pipe-C interactions in IVB by enabling pipe-B with mode that requires 3 lanes and then enabling pipe-c with dpms off/on pipe-B.
Tests pipe-B and pipe-C interactions in IVB by enabling 2 different modes on pipe-B and then a single mode on pipe-C.
Tests pipe-B and pipe-C interactions in IVB by disabling pipe-B and then setting mode on pipe-C.
Tests to validate display power DC states.
In this test we make sure that system enters DC3CO when PSR2 is active and system is in SLEEP state
This test validates display engine entry to DC5 state while all connectors's DPMS property set to OFF
This test validates display engine entry to DC5 state while PSR is active on Pipe B
This test validates negative scenario of DC5 display engine entry to DC5 state while all connectors's DPMS property set to ON
Tests to verify PSR2 selective fetch by sending multiple damaged areas with and without fbc
Test that selective fetch works on primary plane with big fb
Test that selective fetch works on moving cursor plane (no update)
Test that selective fetch works on moving cursor plane exceeding partially visible area (no update)
Test that selective fetch works on moving cursor plane exceeding fully visible area (no update)
Test that selective fetch works on moving overlay plane (no update)
Test that selective fetch works on moving overlay plane partially exceeding visible area (no update)
Test that selective fetch works on moving overlay plane fully exceeding visible area (no update)
Test that selective fetch works on primary plane with blended overlay plane
Test that selective fetch works on primary plane with big fb
Test that selective fetch works on moving cursor plane (no update)
Test that selective fetch works on moving cursor plane exceeding partially visible area (no update)
Test that selective fetch works on moving cursor plane exceeding fully visible area (no update)
Test that selective fetch works on moving overlay plane (no update)
Test that selective fetch works on moving overlay plane partially exceeding visible area (no update)
Test that selective fetch works on moving overlay plane fully exceeding visible area (no update)
Test that selective fetch works on primary plane with blended overlay plane
Test that selective fetch works on moving cursor plane (no update)
Test that selective fetch works on moving cursor plane exceeding partially visible area (no update)
Test that selective fetch works on moving cursor plane exceeding fully visible area (no update)
Test that selective fetch works on moving overlay plane (no update)
Test that selective fetch works on moving overlay plane partially exceeding visible area (no update)
Test that selective fetch works on moving overlay plane fully exceeding visible area (no update)
Test that selective fetch works on primary plane with blended overlay plane
Test that selective fetch works on moving cursor plane (no update)
Test that selective fetch works on moving cursor plane exceeding partially visible area (no update)
Test that selective fetch works on moving cursor plane exceeding fully visible area (no update)
Test that selective fetch works on moving overlay plane (no update)
Test that selective fetch works on moving overlay plane partially exceeding visible area (no update)
Test that selective fetch works on moving overlay plane fully exceeding visible area (no update)
Use the display CRC support to validate pwrite to an already uncached future scanout buffer.
Testing Audio with a Chamelium board
DisplayPort tests Playback various audio signals with various audio formats/rates, capture them and check they are correct
DisplayPort tests Plug a connector with an EDID suitable for audio, check ALSA's EDID-Like Data reports the correct audio parameters
Testing EDID with a Chamelium board
DisplayPort tests Stress test the DUT by testing multiple EDIDs, one right after the other, and ensure their validity by check the real screen resolution vs the advertised mode resultion.
DisplayPort tests Stress test the DUT by testing multiple EDIDs, one right after the other, and ensure their validity by check the real screen resolution vs the advertised mode resultion.
DisplayPort tests Get an EDID with many modes of different configurations, set them on the screen and check the screen resolution matches the mode resolution.
DisplayPort tests Simulate a screen being unplugged and another screen being plugged during suspend, check that a uevent is sent and connector status is updated
DisplayPort tests Simulate a screen being unplugged and another screen being plugged during suspend, check that a uevent is sent and connector status is updated
DisplayPort tests For each mode of the IGT base EDID, perform a modeset and check the mode detected by the Chamelium receiver matches the mode we set
HDMI tests Stress test the DUT by testing multiple EDIDs, one right after the other, and ensure their validity by check the real screen resolution vs the advertised mode resultion.
HDMI tests Stress test the DUT by testing multiple EDIDs, one right after the other, and ensure their validity by check the real screen resolution vs the advertised mode resultion.
HDMI tests Simulate a screen being unplugged and another screen being plugged during suspend, check that a uevent is sent and connector status is updated
HDMI tests Simulate a screen being unplugged and another screen being plugged during suspend, check that a uevent is sent and connector status is updated
Tests requiring a Chamelium board
DisplayPort tests For each mode of the IGT base EDID, display and capture a few frames, then check captured frames are correct
DisplayPort tests Pick the first mode of the IGT base EDID, display and capture a few frames, then check captured frames are correct
DisplayPort tests For each mode of the IGT base EDID, display and capture a few frames, then check captured frames are correct
DisplayPort tests For each mode of the IGT base EDID, display and capture a few frames, then download the captured frames and compare them bit-by-bit to the sent ones
HDMI tests For each mode of the IGT base EDID, display and capture a few frames, then check captured frames are correct
HDMI tests Pick the first mode of the IGT base EDID, display and capture a few frames, then check captured frames are correct
HDMI tests For each mode of the IGT base EDID, display and capture a few frames, then check captured frames are correct
HDMI tests Pick the first mode of the IGT base EDID, display and capture a few frames, then check captured frames are correct
HDMI tests Setup a few overlay planes with random parameters, capture the frame and check it matches the expected output
HDMI tests Pick the first mode of the IGT base EDID, display and capture a few frames, then check captured frames are correct
HDMI tests Setup a few overlay planes with random parameters, capture the frame and check it matches the expected output
HDMI tests For each mode of the IGT base EDID, display and capture a few frames, then download the captured frames and compare them bit-by-bit to the sent ones
Testing HPD with a Chamelium board
DisplayPort tests Check that we get uevents and updated connector status on hotplug and unplug
DisplayPort tests Check that we get uevents and updated connector status on hotplug and unplug
DisplayPort tests Check that we get uevents and updated connector status on hotplug and unplug
DisplayPort tests Check that we get uevents and updated connector status on hotplug and unplug
DisplayPort tests Check that we get uevents and updated connector status on hotplug and unplug for each pipe with valid output
DisplayPort tests Toggle HPD during suspend, check that uevents are sent and connector status is updated
DisplayPort tests Toggle HPD during suspend, check that uevents are sent and connector status is updated
DisplayPort tests Trigger a series of hotplugs in a very small timeframe to simulate abad cable, check the kernel falls back to polling to avoid a hotplug storm
DisplayPort tests Disable HPD storm detection, trigger a storm and check the kernel doesn't detect one
HDMI tests Check that we get uevents and updated connector status on hotplug and unplug
HDMI tests Check that we get uevents and updated connector status on hotplug and unplug
HDMI tests Check that we get uevents and updated connector status on hotplug and unplug
HDMI tests Check that we get uevents and updated connector status on hotplug and unplug for each pipe with valid output
HDMI tests Toggle HPD during suspend, check that uevents are sent and connector status is updated
HDMI tests Toggle HPD during suspend, check that uevents are sent and connector status is updated
HDMI tests Trigger a series of hotplugs in a very small timeframe to simulate abad cable, check the kernel falls back to polling to avoid a hotplug storm
HDMI tests Disable HPD storm detection, trigger a storm and check the kernel doesn't detect one
VGA tests Check that we get uevents and updated connector status on hotplug and unplug
VGA tests Check that we get uevents and updated connector status on hotplug and unplug
VGA tests Toggle HPD during suspend, check that uevents are sent and connector status is updated
VGA tests Toggle HPD during suspend, check that uevents are sent and connector status is updated
VGA tests Disable DDC on a VGA connector, check we still get a uevent on hotplug
Tests that operate on all connectors Toggle HPD during suspend on all connectors, check that uevents are sent and connector status is updated