* [igt-dev] [i-g-t 0/2] Optimize kms tesplan documentation
@ 2023-09-14 13:19 Bhanuprakash Modem
2023-09-14 13:19 ` [igt-dev] [i-g-t 1/2] tests/kms: Fix Mega Feature in testplan documentation Bhanuprakash Modem
` (7 more replies)
0 siblings, 8 replies; 12+ messages in thread
From: Bhanuprakash Modem @ 2023-09-14 13:19 UTC (permalink / raw)
To: igt-dev, swati2.sharma
Optimizations:
- Move common stuff to TEST level
- Move documentation to beginning of the file
- Align Mega features to internal tools
Bhanuprakash Modem (2):
tests/kms: Fix Mega Feature in testplan documentation
tests/kms: Optimize KMS testplan documentation
tests/chamelium/kms_chamelium_color.c | 6 +-
tests/intel/kms_big_fb.c | 301 +-
tests/intel/kms_big_joiner.c | 41 +-
tests/intel/kms_busy.c | 88 +-
tests/intel/kms_ccs.c | 15 +-
tests/intel/kms_cdclk.c | 41 +-
tests/intel/kms_dirtyfb.c | 23 +-
tests/intel/kms_draw_crc.c | 71 +-
tests/intel/kms_dsc.c | 8 +-
tests/intel/kms_fb_coherency.c | 21 +-
tests/intel/kms_fbcon_fbt.c | 21 +-
tests/intel/kms_fence_pin_leak.c | 18 +-
tests/intel/kms_flip_scaled_crc.c | 60 +-
tests/intel/kms_flip_tiling.c | 18 +-
tests/intel/kms_frontbuffer_tracking.c | 3892 ++++++++++--------------
tests/intel/kms_legacy_colorkey.c | 17 +-
tests/intel/kms_mmap_write_crc.c | 20 +-
tests/intel/kms_pipe_b_c_ivb.c | 28 +-
tests/intel/kms_pm_backlight.c | 32 +-
tests/intel/kms_pm_dc.c | 39 +-
tests/intel/kms_pm_lpsp.c | 22 +-
tests/intel/kms_psr.c | 94 +-
tests/intel/kms_psr2_sf.c | 74 +-
tests/intel/kms_psr2_su.c | 19 +-
tests/intel/kms_psr_stress_test.c | 21 +-
tests/intel/kms_pwrite_crc.c | 17 +-
tests/kms_3d.c | 12 +-
tests/kms_addfb_basic.c | 353 +--
tests/kms_async_flips.c | 81 +-
tests/kms_atomic.c | 145 +-
tests/kms_atomic_interruptible.c | 88 +-
tests/kms_atomic_transition.c | 148 +-
tests/kms_bw.c | 18 +-
tests/kms_color.c | 125 +-
tests/kms_concurrent.c | 14 +-
tests/kms_content_protection.c | 120 +-
tests/kms_cursor_crc.c | 129 +-
tests/kms_cursor_edge_walk.c | 19 +-
tests/kms_cursor_legacy.c | 431 ++-
tests/kms_display_modes.c | 34 +-
tests/kms_dither.c | 27 +-
tests/kms_dp_aux_dev.c | 18 +-
tests/kms_feature_discovery.c | 41 +-
tests/kms_flip.c | 155 +-
tests/kms_flip_event_leak.c | 17 +-
tests/kms_force_connector_basic.c | 53 +-
tests/kms_getfb.c | 142 +-
tests/kms_hdmi_inject.c | 22 +-
tests/kms_hdr.c | 105 +-
tests/kms_invalid_mode.c | 8 +-
tests/kms_lease.c | 89 +-
tests/kms_multipipe_modeset.c | 12 +-
tests/kms_panel_fitting.c | 20 +-
tests/kms_pipe_crc_basic.c | 117 +-
tests/kms_plane.c | 115 +-
tests/kms_plane_alpha_blend.c | 81 +-
tests/kms_plane_cursor.c | 19 +-
tests/kms_plane_lowres.c | 46 +-
tests/kms_plane_multiple.c | 50 +-
tests/kms_plane_scaling.c | 354 +--
tests/kms_prime.c | 22 +-
tests/kms_prop_blob.c | 82 +-
tests/kms_properties.c | 42 +-
tests/kms_rmfb.c | 24 +-
tests/kms_rotation_crc.c | 204 +-
tests/kms_scaling_modes.c | 10 +-
tests/kms_selftest.c | 12 +-
tests/kms_sequence.c | 55 +-
tests/kms_setmode.c | 41 +-
tests/kms_sysfs_edid_timing.c | 19 +-
tests/kms_tiled_display.c | 9 +-
tests/kms_tv_load_detect.c | 10 +-
tests/kms_universal_plane.c | 28 +-
tests/kms_vblank.c | 96 +-
tests/kms_vrr.c | 32 +-
tests/kms_writeback.c | 36 +-
76 files changed, 3615 insertions(+), 5322 deletions(-)
--
2.40.0
^ permalink raw reply [flat|nested] 12+ messages in thread* [igt-dev] [i-g-t 1/2] tests/kms: Fix Mega Feature in testplan documentation 2023-09-14 13:19 [igt-dev] [i-g-t 0/2] Optimize kms tesplan documentation Bhanuprakash Modem @ 2023-09-14 13:19 ` Bhanuprakash Modem 2023-10-26 7:47 ` Sharma, Swati2 2023-09-14 13:19 ` [igt-dev] [i-g-t 2/2] tests/kms: Optimize KMS " Bhanuprakash Modem ` (6 subsequent siblings) 7 siblings, 1 reply; 12+ messages in thread From: Bhanuprakash Modem @ 2023-09-14 13:19 UTC (permalink / raw) To: igt-dev, swati2.sharma Adjust KMS testplan Mega Feature to allign with internal tools. - s/Bigjoiner/Pipe Joiner/ - s/Color mgmt/Color Management/ - s/General Display Features/E2E Compression/ (CCS tests) - s/Display Power/Display Power Management/ Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> --- tests/chamelium/kms_chamelium_color.c | 6 +++--- tests/intel/kms_big_joiner.c | 6 +++--- tests/intel/kms_ccs.c | 6 +++--- tests/intel/kms_pm_backlight.c | 10 +++++----- tests/intel/kms_pm_dc.c | 14 +++++++------- tests/intel/kms_pm_lpsp.c | 4 ++-- tests/kms_color.c | 14 +++++++------- 7 files changed, 30 insertions(+), 30 deletions(-) diff --git a/tests/chamelium/kms_chamelium_color.c b/tests/chamelium/kms_chamelium_color.c index 0a9788214..f9adca6c6 100644 --- a/tests/chamelium/kms_chamelium_color.c +++ b/tests/chamelium/kms_chamelium_color.c @@ -36,7 +36,7 @@ IGT_TEST_DESCRIPTION("Test Color Features at Pipe level using Chamelium to verif * SUBTEST: degamma * Description: Verify that degamma LUT transformation works correctly * Functionality: chamelium, colorspace - * Mega feature: Color mgmt + * Mega feature: Color Management * Test category: functionality test * Driver requirement: i915, xe */ @@ -133,7 +133,7 @@ static bool test_pipe_degamma(data_t *data, * SUBTEST: gamma * Description: Verify that gamma LUT transformation works correctly * Functionality: chamelium, colorspace - * Mega feature: Color mgmt + * Mega feature: Color Management * Test category: functionality test * Driver requirement: i915, xe */ @@ -491,7 +491,7 @@ run_gamma_degamma_tests_for_pipe(data_t *data, enum pipe p, * SUBTEST: ctm-%s * Description: Check the color transformation %arg[1] * Functionality: chamelium, colorspace - * Mega feature: Color mgmt + * Mega feature: Color Management * Test category: functionality test * Driver requirement: i915, xe * diff --git a/tests/intel/kms_big_joiner.c b/tests/intel/kms_big_joiner.c index a555ca799..5c9646133 100644 --- a/tests/intel/kms_big_joiner.c +++ b/tests/intel/kms_big_joiner.c @@ -51,7 +51,7 @@ typedef struct { * the pipe is active with a big joiner modeset * Driver requirement: i915, xe * Functionality: 2p1p - * Mega feature: Bigjoiner + * Mega feature: Pipe Joiner * Test category: functionality test */ static void test_invalid_modeset(data_t *data) @@ -99,7 +99,7 @@ static void test_invalid_modeset(data_t *data) * Description: Verify the basic modeset on big joiner mode on all pipes * Driver requirement: i915, xe * Functionality: 2p1p - * Mega feature: Bigjoiner + * Mega feature: Pipe Joiner * Test category: functionality test */ static void test_basic_modeset(data_t *data) @@ -145,7 +145,7 @@ static void test_basic_modeset(data_t *data) * Description: Verify simultaneous modeset on 2 big joiner outputs * Driver requirement: i915, xe * Functionality: 2p1p - * Mega feature: Bigjoiner + * Mega feature: Pipe Joiner * Test category: functionality test */ static void test_dual_display(data_t *data) diff --git a/tests/intel/kms_ccs.c b/tests/intel/kms_ccs.c index e2bb5a067..102b193da 100644 --- a/tests/intel/kms_ccs.c +++ b/tests/intel/kms_ccs.c @@ -38,7 +38,7 @@ * Description: Test %arg[2] with given %arg[3] modifier * Driver requirement: i915, xe * Functionality: ccs, tiling - * Mega feature: General Display Features + * Mega feature: E2E Compression * Test category: functionality test * * arg[1]: @@ -75,7 +75,7 @@ * Description: Test %arg[2] with %arg[3] modifier * Driver requirement: i915, xe * Functionality: ccs, tiling - * Mega feature: General Display Features + * Mega feature: E2E Compression * Test category: functionality test * * arg[1]: @@ -116,7 +116,7 @@ * Description: Test %arg[2] with %arg[3] modifier * Driver requirement: i915, xe * Functionality: ccs, rotation, tiling - * Mega feature: General Display Features + * Mega feature: E2E Compression * Test category: functionality test * * arg[1]: diff --git a/tests/intel/kms_pm_backlight.c b/tests/intel/kms_pm_backlight.c index 20af15a6b..f3f22da51 100644 --- a/tests/intel/kms_pm_backlight.c +++ b/tests/intel/kms_pm_backlight.c @@ -45,35 +45,35 @@ * Description: Test the bad brightness. * Driver requirement: i915 * Functionality: backlight - * Mega feature: Display Power + * Mega feature: Display Power Management * Test category: functionality test * * SUBTEST: basic-brightness * Description: Test the basic brightness. * Driver requirement: i915 * Functionality: backlight - * Mega feature: Display Power + * Mega feature: Display Power Management * Test category: functionality test * * SUBTEST: fade * Description: Test basic fade. * Driver requirement: i915 * Functionality: backlight - * Mega feature: Display Power + * Mega feature: Display Power Management * Test category: functionality test * * SUBTEST: fade-with-dpms * Description: Test the fade with DPMS. * Driver requirement: i915 * Functionality: dpms, backlight - * Mega feature: Display Power + * Mega feature: Display Power Management * Test category: functionality test * * SUBTEST: fade-with-suspend * Description: Test the fade with suspend. * Driver requirement: i915 * Functionality: backlight, suspend - * Mega feature: Display Power + * Mega feature: Display Power Management * Test category: functionality test */ diff --git a/tests/intel/kms_pm_dc.c b/tests/intel/kms_pm_dc.c index 76c662f1f..9c5d990f7 100644 --- a/tests/intel/kms_pm_dc.c +++ b/tests/intel/kms_pm_dc.c @@ -46,7 +46,7 @@ * is in SLEEP state * Driver requirement: i915 * Functionality: dc3co, pm_dc, psr2 - * Mega feature: Display Power + * Mega feature: Display Power Management * Test category: functionality test * * SUBTEST: dc5-dpms @@ -54,7 +54,7 @@ * DPMS property set to OFF * Driver requirement: i915 * Functionality: dpms, pm_dc - * Mega feature: Display Power + * Mega feature: Display Power Management * Test category: functionality test * * SUBTEST: dc5-dpms-negative @@ -62,14 +62,14 @@ * while all connectors's DPMS property set to ON * Driver requirement: i915 * Functionality: dpms, pm_dc - * Mega feature: Display Power + * Mega feature: Display Power Management * Test category: functionality test * * SUBTEST: dc5-psr * Description: This test validates display engine entry to DC5 state while PSR is active * Driver requirement: i915 * Functionality: pm_dc, psr - * Mega feature: Display Power + * Mega feature: Display Power Management * Test category: functionality test * * SUBTEST: dc6-dpms @@ -77,21 +77,21 @@ * DPMS property set to OFF * Driver requirement: i915 * Functionality: dpms, pm_dc - * Mega feature: Display Power + * Mega feature: Display Power Management * Test category: functionality test * * SUBTEST: dc6-psr * Description: This test validates display engine entry to DC6 state while PSR is active * Driver requirement: i915 * Functionality: pm_dc, psr - * Mega feature: Display Power + * Mega feature: Display Power Management * Test category: functionality test * * SUBTEST: dc9-dpms * Description: This test validates display engine entry to DC9 state * Driver requirement: i915 * Functionality: dpms, pm_dc - * Mega feature: Display Power + * Mega feature: Display Power Management * Test category: functionality test */ diff --git a/tests/intel/kms_pm_lpsp.c b/tests/intel/kms_pm_lpsp.c index 9093f728c..b2db4f653 100644 --- a/tests/intel/kms_pm_lpsp.c +++ b/tests/intel/kms_pm_lpsp.c @@ -41,14 +41,14 @@ * Description: This test validates lpsp on all connected outputs on low power PIPE_A * Driver requirement: i915 * Functionality: pm_lpsp - * Mega feature: Display Power + * Mega feature: Display Power Management * Test category: functionality test * * SUBTEST: screens-disabled * Description: This test validates lpsp while all crtc are disabled * Driver requirement: i915 * Functionality: pm_lpsp - * Mega feature: Display Power + * Mega feature: Display Power Management * Test category: functionality test */ diff --git a/tests/kms_color.c b/tests/kms_color.c index f59feabd4..4809481bc 100644 --- a/tests/kms_color.c +++ b/tests/kms_color.c @@ -36,7 +36,7 @@ IGT_TEST_DESCRIPTION("Test Color Features at Pipe level"); * Description: Verify that degamma LUT transformation works correctly * Driver requirement: i915, xe * Functionality: colorspace - * Mega feature: Color mgmt + * Mega feature: Color Management * Test category: functionality test */ static bool test_pipe_degamma(data_t *data, @@ -132,7 +132,7 @@ static bool test_pipe_degamma(data_t *data, * Description: Verify that gamma LUT transformation works correctly * Driver requirement: i915, xe * Functionality: colorspace - * Mega feature: Color mgmt + * Mega feature: Color Management * Test category: functionality test */ @@ -229,7 +229,7 @@ static bool test_pipe_gamma(data_t *data, * Description: Verify that legacy gamma LUT transformation works correctly * Driver requirement: i915, xe * Functionality: colorspace - * Mega feature: Color mgmt + * Mega feature: Color Management * Test category: functionality test */ @@ -351,7 +351,7 @@ static bool test_pipe_legacy_gamma(data_t *data, * set through GAMMA_LUT property * Driver requirement: i915, xe * Functionality: colorspace - * Mega feature: Color mgmt + * Mega feature: Color Management * Test category: functionality test */ @@ -494,7 +494,7 @@ end: * Description: Check the color transformation %arg[1] * Driver requirement: i915, xe * Functionality: colorspace - * Mega feature: Color mgmt + * Mega feature: Color Management * Test category: functionality test * * arg[1]: @@ -874,7 +874,7 @@ out: * Description: Verify that deep color works correctly * Driver requirement: i915, xe * Functionality: colorspace - * Mega feature: Color mgmt + * Mega feature: Color Management * Test category: functionality test */ static void @@ -983,7 +983,7 @@ run_deep_color_tests_for_pipe(data_t *data, enum pipe p) * Description: Negative check for %arg[1] sizes * Driver requirement: i915, xe * Functionality: colorspace - * Mega feature: Color mgmt + * Mega feature: Color Management * Test category: functionality test * * arg[1]: -- 2.40.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [igt-dev] [i-g-t 1/2] tests/kms: Fix Mega Feature in testplan documentation 2023-09-14 13:19 ` [igt-dev] [i-g-t 1/2] tests/kms: Fix Mega Feature in testplan documentation Bhanuprakash Modem @ 2023-10-26 7:47 ` Sharma, Swati2 0 siblings, 0 replies; 12+ messages in thread From: Sharma, Swati2 @ 2023-10-26 7:47 UTC (permalink / raw) To: Bhanuprakash Modem, igt-dev LGTM Reviewed-by: Swati Sharma <swati2.sharma@intel.com> On 14-Sep-23 6:49 PM, Bhanuprakash Modem wrote: > Adjust KMS testplan Mega Feature to allign with internal tools. > > - s/Bigjoiner/Pipe Joiner/ > - s/Color mgmt/Color Management/ > - s/General Display Features/E2E Compression/ (CCS tests) > - s/Display Power/Display Power Management/ > > Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> > --- > tests/chamelium/kms_chamelium_color.c | 6 +++--- > tests/intel/kms_big_joiner.c | 6 +++--- > tests/intel/kms_ccs.c | 6 +++--- > tests/intel/kms_pm_backlight.c | 10 +++++----- > tests/intel/kms_pm_dc.c | 14 +++++++------- > tests/intel/kms_pm_lpsp.c | 4 ++-- > tests/kms_color.c | 14 +++++++------- > 7 files changed, 30 insertions(+), 30 deletions(-) > > diff --git a/tests/chamelium/kms_chamelium_color.c b/tests/chamelium/kms_chamelium_color.c > index 0a9788214..f9adca6c6 100644 > --- a/tests/chamelium/kms_chamelium_color.c > +++ b/tests/chamelium/kms_chamelium_color.c > @@ -36,7 +36,7 @@ IGT_TEST_DESCRIPTION("Test Color Features at Pipe level using Chamelium to verif > * SUBTEST: degamma > * Description: Verify that degamma LUT transformation works correctly > * Functionality: chamelium, colorspace > - * Mega feature: Color mgmt > + * Mega feature: Color Management > * Test category: functionality test > * Driver requirement: i915, xe > */ > @@ -133,7 +133,7 @@ static bool test_pipe_degamma(data_t *data, > * SUBTEST: gamma > * Description: Verify that gamma LUT transformation works correctly > * Functionality: chamelium, colorspace > - * Mega feature: Color mgmt > + * Mega feature: Color Management > * Test category: functionality test > * Driver requirement: i915, xe > */ > @@ -491,7 +491,7 @@ run_gamma_degamma_tests_for_pipe(data_t *data, enum pipe p, > * SUBTEST: ctm-%s > * Description: Check the color transformation %arg[1] > * Functionality: chamelium, colorspace > - * Mega feature: Color mgmt > + * Mega feature: Color Management > * Test category: functionality test > * Driver requirement: i915, xe > * > diff --git a/tests/intel/kms_big_joiner.c b/tests/intel/kms_big_joiner.c > index a555ca799..5c9646133 100644 > --- a/tests/intel/kms_big_joiner.c > +++ b/tests/intel/kms_big_joiner.c > @@ -51,7 +51,7 @@ typedef struct { > * the pipe is active with a big joiner modeset > * Driver requirement: i915, xe > * Functionality: 2p1p > - * Mega feature: Bigjoiner > + * Mega feature: Pipe Joiner > * Test category: functionality test > */ > static void test_invalid_modeset(data_t *data) > @@ -99,7 +99,7 @@ static void test_invalid_modeset(data_t *data) > * Description: Verify the basic modeset on big joiner mode on all pipes > * Driver requirement: i915, xe > * Functionality: 2p1p > - * Mega feature: Bigjoiner > + * Mega feature: Pipe Joiner > * Test category: functionality test > */ > static void test_basic_modeset(data_t *data) > @@ -145,7 +145,7 @@ static void test_basic_modeset(data_t *data) > * Description: Verify simultaneous modeset on 2 big joiner outputs > * Driver requirement: i915, xe > * Functionality: 2p1p > - * Mega feature: Bigjoiner > + * Mega feature: Pipe Joiner > * Test category: functionality test > */ > static void test_dual_display(data_t *data) > diff --git a/tests/intel/kms_ccs.c b/tests/intel/kms_ccs.c > index e2bb5a067..102b193da 100644 > --- a/tests/intel/kms_ccs.c > +++ b/tests/intel/kms_ccs.c > @@ -38,7 +38,7 @@ > * Description: Test %arg[2] with given %arg[3] modifier > * Driver requirement: i915, xe > * Functionality: ccs, tiling > - * Mega feature: General Display Features > + * Mega feature: E2E Compression > * Test category: functionality test > * > * arg[1]: > @@ -75,7 +75,7 @@ > * Description: Test %arg[2] with %arg[3] modifier > * Driver requirement: i915, xe > * Functionality: ccs, tiling > - * Mega feature: General Display Features > + * Mega feature: E2E Compression > * Test category: functionality test > * > * arg[1]: > @@ -116,7 +116,7 @@ > * Description: Test %arg[2] with %arg[3] modifier > * Driver requirement: i915, xe > * Functionality: ccs, rotation, tiling > - * Mega feature: General Display Features > + * Mega feature: E2E Compression > * Test category: functionality test > * > * arg[1]: > diff --git a/tests/intel/kms_pm_backlight.c b/tests/intel/kms_pm_backlight.c > index 20af15a6b..f3f22da51 100644 > --- a/tests/intel/kms_pm_backlight.c > +++ b/tests/intel/kms_pm_backlight.c > @@ -45,35 +45,35 @@ > * Description: Test the bad brightness. > * Driver requirement: i915 > * Functionality: backlight > - * Mega feature: Display Power > + * Mega feature: Display Power Management > * Test category: functionality test > * > * SUBTEST: basic-brightness > * Description: Test the basic brightness. > * Driver requirement: i915 > * Functionality: backlight > - * Mega feature: Display Power > + * Mega feature: Display Power Management > * Test category: functionality test > * > * SUBTEST: fade > * Description: Test basic fade. > * Driver requirement: i915 > * Functionality: backlight > - * Mega feature: Display Power > + * Mega feature: Display Power Management > * Test category: functionality test > * > * SUBTEST: fade-with-dpms > * Description: Test the fade with DPMS. > * Driver requirement: i915 > * Functionality: dpms, backlight > - * Mega feature: Display Power > + * Mega feature: Display Power Management > * Test category: functionality test > * > * SUBTEST: fade-with-suspend > * Description: Test the fade with suspend. > * Driver requirement: i915 > * Functionality: backlight, suspend > - * Mega feature: Display Power > + * Mega feature: Display Power Management > * Test category: functionality test > */ > > diff --git a/tests/intel/kms_pm_dc.c b/tests/intel/kms_pm_dc.c > index 76c662f1f..9c5d990f7 100644 > --- a/tests/intel/kms_pm_dc.c > +++ b/tests/intel/kms_pm_dc.c > @@ -46,7 +46,7 @@ > * is in SLEEP state > * Driver requirement: i915 > * Functionality: dc3co, pm_dc, psr2 > - * Mega feature: Display Power > + * Mega feature: Display Power Management > * Test category: functionality test > * > * SUBTEST: dc5-dpms > @@ -54,7 +54,7 @@ > * DPMS property set to OFF > * Driver requirement: i915 > * Functionality: dpms, pm_dc > - * Mega feature: Display Power > + * Mega feature: Display Power Management > * Test category: functionality test > * > * SUBTEST: dc5-dpms-negative > @@ -62,14 +62,14 @@ > * while all connectors's DPMS property set to ON > * Driver requirement: i915 > * Functionality: dpms, pm_dc > - * Mega feature: Display Power > + * Mega feature: Display Power Management > * Test category: functionality test > * > * SUBTEST: dc5-psr > * Description: This test validates display engine entry to DC5 state while PSR is active > * Driver requirement: i915 > * Functionality: pm_dc, psr > - * Mega feature: Display Power > + * Mega feature: Display Power Management > * Test category: functionality test > * > * SUBTEST: dc6-dpms > @@ -77,21 +77,21 @@ > * DPMS property set to OFF > * Driver requirement: i915 > * Functionality: dpms, pm_dc > - * Mega feature: Display Power > + * Mega feature: Display Power Management > * Test category: functionality test > * > * SUBTEST: dc6-psr > * Description: This test validates display engine entry to DC6 state while PSR is active > * Driver requirement: i915 > * Functionality: pm_dc, psr > - * Mega feature: Display Power > + * Mega feature: Display Power Management > * Test category: functionality test > * > * SUBTEST: dc9-dpms > * Description: This test validates display engine entry to DC9 state > * Driver requirement: i915 > * Functionality: dpms, pm_dc > - * Mega feature: Display Power > + * Mega feature: Display Power Management > * Test category: functionality test > */ > > diff --git a/tests/intel/kms_pm_lpsp.c b/tests/intel/kms_pm_lpsp.c > index 9093f728c..b2db4f653 100644 > --- a/tests/intel/kms_pm_lpsp.c > +++ b/tests/intel/kms_pm_lpsp.c > @@ -41,14 +41,14 @@ > * Description: This test validates lpsp on all connected outputs on low power PIPE_A > * Driver requirement: i915 > * Functionality: pm_lpsp > - * Mega feature: Display Power > + * Mega feature: Display Power Management > * Test category: functionality test > * > * SUBTEST: screens-disabled > * Description: This test validates lpsp while all crtc are disabled > * Driver requirement: i915 > * Functionality: pm_lpsp > - * Mega feature: Display Power > + * Mega feature: Display Power Management > * Test category: functionality test > */ > > diff --git a/tests/kms_color.c b/tests/kms_color.c > index f59feabd4..4809481bc 100644 > --- a/tests/kms_color.c > +++ b/tests/kms_color.c > @@ -36,7 +36,7 @@ IGT_TEST_DESCRIPTION("Test Color Features at Pipe level"); > * Description: Verify that degamma LUT transformation works correctly > * Driver requirement: i915, xe > * Functionality: colorspace > - * Mega feature: Color mgmt > + * Mega feature: Color Management > * Test category: functionality test > */ > static bool test_pipe_degamma(data_t *data, > @@ -132,7 +132,7 @@ static bool test_pipe_degamma(data_t *data, > * Description: Verify that gamma LUT transformation works correctly > * Driver requirement: i915, xe > * Functionality: colorspace > - * Mega feature: Color mgmt > + * Mega feature: Color Management > * Test category: functionality test > */ > > @@ -229,7 +229,7 @@ static bool test_pipe_gamma(data_t *data, > * Description: Verify that legacy gamma LUT transformation works correctly > * Driver requirement: i915, xe > * Functionality: colorspace > - * Mega feature: Color mgmt > + * Mega feature: Color Management > * Test category: functionality test > */ > > @@ -351,7 +351,7 @@ static bool test_pipe_legacy_gamma(data_t *data, > * set through GAMMA_LUT property > * Driver requirement: i915, xe > * Functionality: colorspace > - * Mega feature: Color mgmt > + * Mega feature: Color Management > * Test category: functionality test > */ > > @@ -494,7 +494,7 @@ end: > * Description: Check the color transformation %arg[1] > * Driver requirement: i915, xe > * Functionality: colorspace > - * Mega feature: Color mgmt > + * Mega feature: Color Management > * Test category: functionality test > * > * arg[1]: > @@ -874,7 +874,7 @@ out: > * Description: Verify that deep color works correctly > * Driver requirement: i915, xe > * Functionality: colorspace > - * Mega feature: Color mgmt > + * Mega feature: Color Management > * Test category: functionality test > */ > static void > @@ -983,7 +983,7 @@ run_deep_color_tests_for_pipe(data_t *data, enum pipe p) > * Description: Negative check for %arg[1] sizes > * Driver requirement: i915, xe > * Functionality: colorspace > - * Mega feature: Color mgmt > + * Mega feature: Color Management > * Test category: functionality test > * > * arg[1]: ^ permalink raw reply [flat|nested] 12+ messages in thread
* [igt-dev] [i-g-t 2/2] tests/kms: Optimize KMS testplan documentation 2023-09-14 13:19 [igt-dev] [i-g-t 0/2] Optimize kms tesplan documentation Bhanuprakash Modem 2023-09-14 13:19 ` [igt-dev] [i-g-t 1/2] tests/kms: Fix Mega Feature in testplan documentation Bhanuprakash Modem @ 2023-09-14 13:19 ` Bhanuprakash Modem 2023-09-21 6:48 ` [igt-dev] [i-g-t V2 " Bhanuprakash Modem 2023-09-14 14:30 ` [igt-dev] ✓ CI.xeBAT: success for Optimize kms tesplan documentation Patchwork ` (5 subsequent siblings) 7 siblings, 1 reply; 12+ messages in thread From: Bhanuprakash Modem @ 2023-09-14 13:19 UTC (permalink / raw) To: igt-dev, swati2.sharma Moving all common key:values to TEST level from SUBTEST will minimize the maintenance effort. Also, to maintain the uniformness, move testplan documentation to beginning of the file. Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> --- tests/intel/kms_big_fb.c | 301 +- tests/intel/kms_big_joiner.c | 41 +- tests/intel/kms_busy.c | 88 +- tests/intel/kms_ccs.c | 15 +- tests/intel/kms_cdclk.c | 41 +- tests/intel/kms_dirtyfb.c | 23 +- tests/intel/kms_draw_crc.c | 71 +- tests/intel/kms_dsc.c | 8 +- tests/intel/kms_fb_coherency.c | 21 +- tests/intel/kms_fbcon_fbt.c | 21 +- tests/intel/kms_fence_pin_leak.c | 18 +- tests/intel/kms_flip_scaled_crc.c | 60 +- tests/intel/kms_flip_tiling.c | 18 +- tests/intel/kms_frontbuffer_tracking.c | 3892 ++++++++++-------------- tests/intel/kms_legacy_colorkey.c | 17 +- tests/intel/kms_mmap_write_crc.c | 20 +- tests/intel/kms_pipe_b_c_ivb.c | 28 +- tests/intel/kms_pm_backlight.c | 32 +- tests/intel/kms_pm_dc.c | 39 +- tests/intel/kms_pm_lpsp.c | 22 +- tests/intel/kms_psr.c | 94 +- tests/intel/kms_psr2_sf.c | 74 +- tests/intel/kms_psr2_su.c | 19 +- tests/intel/kms_psr_stress_test.c | 21 +- tests/intel/kms_pwrite_crc.c | 17 +- tests/kms_3d.c | 12 +- tests/kms_addfb_basic.c | 353 +-- tests/kms_async_flips.c | 81 +- tests/kms_atomic.c | 145 +- tests/kms_atomic_interruptible.c | 88 +- tests/kms_atomic_transition.c | 148 +- tests/kms_bw.c | 18 +- tests/kms_color.c | 125 +- tests/kms_concurrent.c | 14 +- tests/kms_content_protection.c | 120 +- tests/kms_cursor_crc.c | 129 +- tests/kms_cursor_edge_walk.c | 19 +- tests/kms_cursor_legacy.c | 431 ++- tests/kms_display_modes.c | 34 +- tests/kms_dither.c | 27 +- tests/kms_dp_aux_dev.c | 18 +- tests/kms_feature_discovery.c | 41 +- tests/kms_flip.c | 155 +- tests/kms_flip_event_leak.c | 17 +- tests/kms_force_connector_basic.c | 53 +- tests/kms_getfb.c | 142 +- tests/kms_hdmi_inject.c | 22 +- tests/kms_hdr.c | 105 +- tests/kms_invalid_mode.c | 8 +- tests/kms_lease.c | 89 +- tests/kms_multipipe_modeset.c | 12 +- tests/kms_panel_fitting.c | 20 +- tests/kms_pipe_crc_basic.c | 117 +- tests/kms_plane.c | 115 +- tests/kms_plane_alpha_blend.c | 81 +- tests/kms_plane_cursor.c | 19 +- tests/kms_plane_lowres.c | 46 +- tests/kms_plane_multiple.c | 50 +- tests/kms_plane_scaling.c | 354 +-- tests/kms_prime.c | 22 +- tests/kms_prop_blob.c | 82 +- tests/kms_properties.c | 42 +- tests/kms_rmfb.c | 24 +- tests/kms_rotation_crc.c | 204 +- tests/kms_scaling_modes.c | 10 +- tests/kms_selftest.c | 12 +- tests/kms_sequence.c | 55 +- tests/kms_setmode.c | 41 +- tests/kms_sysfs_edid_timing.c | 19 +- tests/kms_tiled_display.c | 9 +- tests/kms_tv_load_detect.c | 10 +- tests/kms_universal_plane.c | 28 +- tests/kms_vblank.c | 96 +- tests/kms_vrr.c | 32 +- tests/kms_writeback.c | 36 +- 75 files changed, 3612 insertions(+), 5319 deletions(-) diff --git a/tests/intel/kms_big_fb.c b/tests/intel/kms_big_fb.c index 611e60896..f3184d565 100644 --- a/tests/intel/kms_big_fb.c +++ b/tests/intel/kms_big_fb.c @@ -25,6 +25,9 @@ * TEST: kms big fb * Category: Display * Description: Test big framebuffers + * Driver requirement: i915, xe + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" @@ -37,6 +40,130 @@ #include "xe/xe_ioctl.h" #include "xe/xe_query.h" +/** + * SUBTEST: linear-%dbpp-rotate-%d + * Description: Sanity check if addfb ioctl works correctly for given combination + * of Linear modifier with %arg[1]-bpp & %arg[2]-rotation + * Functionality: big_fbs, kms_gem_interop, rotation + * + * arg[1].values: 8, 16, 32, 64 + * arg[2].values: 0, 90, 180, 270 + */ + +/** + * SUBTEST: %s-%dbpp-rotate-%d + * Description: Sanity check if addfb ioctl works correctly for given combination + * of %arg[1] with %arg[2]-bpp & %arg[3]-rotation + * Functionality: big_fbs, kms_gem_interop, rotation, tiling + * + * arg[1]: + * + * @4-tiled: TILE-4 modifier + * @x-tiled: TILE-X modifier + * @y-tiled: TILE-Y modifier + * @yf-tiled: TILE-YF modifier + * + * arg[2].values: 8, 16, 32, 64 + * arg[3].values: 0, 90, 180, 270 + */ + +/** + * SUBTEST: linear-max-hw-stride-%dbpp-rotate-%d + * Description: Test maximum hardware supported stride length for given combination + * of linear modifier with max hardware stride length, %arg[1]-bpp, + * and %arg[2]-rotation + * Functionality: big_fbs, kms_gem_interop, rotation + * + * arg[1].values: 32, 64 + * arg[2].values: 0, 180 + */ + +/** + * SUBTEST: %s-max-hw-stride-%dbpp-rotate-%d + * Description: Test maximum hardware supported stride length for given combination + * of %arg[1] modifier with max hardware stride length, %arg[2]-bpp, + * and %arg[3]-rotation + * Functionality: big_fbs, kms_gem_interop, rotation, tiling + * + * arg[1]: + * + * @4-tiled: TILE-4 modifier + * @x-tiled: TILE-X modifier + * @y-tiled: TILE-Y modifier + * @yf-tiled: TILE-YF modifier + * + * arg[2].values: 32, 64 + * arg[3].values: 0, 180 + */ + +/** + * SUBTEST: %s-max-hw-stride-%dbpp-rotate-%d-hflip + * Description: Test maximum hardware supported stride length for given combination + * of %arg[1] modifier with max hardware stride length, %arg[2]-bpp, + * and %arg[3]-rotation with H-flip mode + * Functionality: big_fbs, kms_gem_interop, rotation, tiling + * + * SUBTEST: %s-max-hw-stride-%dbpp-rotate-%d-%s + * Description: Test maximum hardware supported stride length for given combination + * of %arg[1] modifier with max hardware stride length, %arg[2]-bpp, + * and %arg[3]-rotation with %arg[4] mode + * Functionality: async_flips, big_fbs, kms_gem_interop, rotation, tiling + * + * arg[1]: + * + * @4-tiled: TILE-4 modifier + * @x-tiled: TILE-X modifier + * @y-tiled: TILE-Y modifier + * @yf-tiled: TILE-YF modifier + * + * arg[2].values: 32, 64 + * arg[3].values: 0, 180 + * + * arg[4]: + * + * @async-flip: Async flip + * @hflip-async-flip: Async & H-flip + */ + +/** + * SUBTEST: linear-addfb-size-overflow + * Description: Sanity check if addfb ioctl fails correctly for (Linear) modifier + * with small bo. + * Functionality: big_fbs, kms_gem_interop + * + * SUBTEST: %s-addfb-size-overflow + * Description: Sanity check if addfb ioctl fails correctly for (%arg[1]) modifier + * with small bo. + * Functionality: big_fbs, kms_gem_interop, tiling + * + * SUBTEST: linear-addfb-size-offset-overflow + * Description: Sanity check if addfb ioctl fails correctly for (Linear) modifier + * and offsets with small bo + * Functionality: big_fbs, kms_gem_interop + * + * SUBTEST: %s-addfb-size-offset-overflow + * Description: Sanity check if addfb ioctl fails correctly for (%arg[1]) modifier + * and offsets with small bo + * Functionality: big_fbs, kms_gem_interop, tiling + * + * SUBTEST: linear-addfb + * Description: Sanity check if addfb ioctl works correctly with Linear modifier + * for given size and strides of fb + * Functionality: big_fbs, kms_gem_interop + * + * SUBTEST: %s-addfb + * Description: Sanity check if addfb ioctl works correctly with %arg[1] modifier + * for given size and strides of fb + * Functionality: big_fbs, kms_gem_interop, tiling + * + * arg[1]: + * + * @4-tiled: TILE-4 + * @x-tiled: TILE-X + * @y-tiled: TILE-Y + * @yf-tiled: TILE-YF + */ + IGT_TEST_DESCRIPTION("Test big framebuffers"); typedef struct { @@ -588,108 +715,6 @@ max_hw_stride_async_flip_test(data_t *data) return true; } -/** - * SUBTEST: linear-%dbpp-rotate-%d - * Description: Sanity check if addfb ioctl works correctly for given combination - * of Linear modifier with %arg[1]-bpp & %arg[2]-rotation - * Driver requirement: i915, xe - * Functionality: big_fbs, kms_gem_interop, rotation - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 8, 16, 32, 64 - * arg[2].values: 0, 90, 180, 270 - */ - -/** - * SUBTEST: %s-%dbpp-rotate-%d - * Description: Sanity check if addfb ioctl works correctly for given combination - * of %arg[1] with %arg[2]-bpp & %arg[3]-rotation - * Driver requirement: i915, xe - * Functionality: big_fbs, kms_gem_interop, rotation, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @4-tiled: TILE-4 modifier - * @x-tiled: TILE-X modifier - * @y-tiled: TILE-Y modifier - * @yf-tiled: TILE-YF modifier - * - * arg[2].values: 8, 16, 32, 64 - * arg[3].values: 0, 90, 180, 270 - */ - -/** - * SUBTEST: linear-max-hw-stride-%dbpp-rotate-%d - * Description: Test maximum hardware supported stride length for given combination - * of linear modifier with max hardware stride length, %arg[1]-bpp, - * and %arg[2]-rotation - * Driver requirement: i915, xe - * Functionality: big_fbs, kms_gem_interop, rotation - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 32, 64 - * arg[2].values: 0, 180 - */ - -/** - * SUBTEST: %s-max-hw-stride-%dbpp-rotate-%d - * Description: Test maximum hardware supported stride length for given combination - * of %arg[1] modifier with max hardware stride length, %arg[2]-bpp, - * and %arg[3]-rotation - * Driver requirement: i915, xe - * Functionality: big_fbs, kms_gem_interop, rotation, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @4-tiled: TILE-4 modifier - * @x-tiled: TILE-X modifier - * @y-tiled: TILE-Y modifier - * @yf-tiled: TILE-YF modifier - * - * arg[2].values: 32, 64 - * arg[3].values: 0, 180 - */ - -/** - * SUBTEST: %s-max-hw-stride-%dbpp-rotate-%d-hflip - * Description: Test maximum hardware supported stride length for given combination - * of %arg[1] modifier with max hardware stride length, %arg[2]-bpp, - * and %arg[3]-rotation with H-flip mode - * Driver requirement: i915, xe - * Functionality: big_fbs, kms_gem_interop, rotation, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: %s-max-hw-stride-%dbpp-rotate-%d-%s - * Description: Test maximum hardware supported stride length for given combination - * of %arg[1] modifier with max hardware stride length, %arg[2]-bpp, - * and %arg[3]-rotation with %arg[4] mode - * Driver requirement: i915, xe - * Functionality: async_flips, big_fbs, kms_gem_interop, rotation, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @4-tiled: TILE-4 modifier - * @x-tiled: TILE-X modifier - * @y-tiled: TILE-Y modifier - * @yf-tiled: TILE-YF modifier - * - * arg[2].values: 32, 64 - * arg[3].values: 0, 180 - * - * arg[4]: - * - * @async-flip: Async flip - * @hflip-async-flip: Async & H-flip - */ static void test_scanout(data_t *data) { igt_output_t *output; @@ -735,30 +760,6 @@ static void test_scanout(data_t *data) igt_skip("unsupported configuration\n"); } -/** - * SUBTEST: linear-addfb-size-overflow - * Description: Sanity check if addfb ioctl fails correctly for (Linear) modifier - * with small bo. - * Driver requirement: i915, xe - * Functionality: big_fbs, kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: %s-addfb-size-overflow - * Description: Sanity check if addfb ioctl fails correctly for (%arg[1]) modifier - * with small bo. - * Driver requirement: i915, xe - * Functionality: big_fbs, kms_gem_interop, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @4-tiled: TILE-4 - * @x-tiled: TILE-X - * @y-tiled: TILE-Y - * @yf-tiled: TILE-YF - */ static void test_size_overflow(data_t *data) { @@ -803,30 +804,6 @@ test_size_overflow(data_t *data) gem_close(data->drm_fd, bo); } -/** - * SUBTEST: linear-addfb-size-offset-overflow - * Description: Sanity check if addfb ioctl fails correctly for (Linear) modifier - * and offsets with small bo - * Driver requirement: i915, xe - * Functionality: big_fbs, kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: %s-addfb-size-offset-overflow - * Description: Sanity check if addfb ioctl fails correctly for (%arg[1]) modifier - * and offsets with small bo - * Driver requirement: i915, xe - * Functionality: big_fbs, kms_gem_interop, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @4-tiled: TILE-4 - * @x-tiled: TILE-X - * @y-tiled: TILE-Y - * @yf-tiled: TILE-YF - */ static void test_size_offset_overflow(data_t *data) { @@ -885,30 +862,6 @@ static int rmfb(int fd, uint32_t id) return err; } -/** - * SUBTEST: linear-addfb - * Description: Sanity check if addfb ioctl works correctly with Linear modifier - * for given size and strides of fb - * Driver requirement: i915, xe - * Functionality: big_fbs, kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: %s-addfb - * Description: Sanity check if addfb ioctl works correctly with %arg[1] modifier - * for given size and strides of fb - * Driver requirement: i915, xe - * Functionality: big_fbs, kms_gem_interop, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @4-tiled: TILE-4 - * @x-tiled: TILE-X - * @y-tiled: TILE-Y - * @yf-tiled: TILE-YF - */ static void test_addfb(data_t *data) { diff --git a/tests/intel/kms_big_joiner.c b/tests/intel/kms_big_joiner.c index 5c9646133..2ae17362f 100644 --- a/tests/intel/kms_big_joiner.c +++ b/tests/intel/kms_big_joiner.c @@ -28,9 +28,25 @@ * TEST: kms big joiner * Category: Display * Description: Test big joiner + * Driver requirement: i915, xe + * Functionality: 2p1p + * Mega feature: Pipe Joiner + * Test category: functionality test */ #include "igt.h" +/** + * SUBTEST: basic + * Description: Verify the basic modeset on big joiner mode on all pipes + * + * SUBTEST: invalid-modeset + * Description: Verify if the modeset on the adjoining pipe is rejected when + * the pipe is active with a big joiner modeset + * + * SUBTEST: 2x-modeset + * Description: Verify simultaneous modeset on 2 big joiner outputs + */ + #define MAX_HDISPLAY_PER_PIPE 5120 IGT_TEST_DESCRIPTION("Test big joiner"); @@ -45,15 +61,6 @@ typedef struct { uint32_t big_joiner_output[2]; } data_t; -/** - * SUBTEST: invalid-modeset - * Description: Verify if the modeset on the adjoining pipe is rejected when - * the pipe is active with a big joiner modeset - * Driver requirement: i915, xe - * Functionality: 2p1p - * Mega feature: Pipe Joiner - * Test category: functionality test - */ static void test_invalid_modeset(data_t *data) { igt_output_t *output; @@ -94,14 +101,6 @@ static void test_invalid_modeset(data_t *data) igt_assert_lt(ret, 0); } -/** - * SUBTEST: basic - * Description: Verify the basic modeset on big joiner mode on all pipes - * Driver requirement: i915, xe - * Functionality: 2p1p - * Mega feature: Pipe Joiner - * Test category: functionality test - */ static void test_basic_modeset(data_t *data) { drmModeModeInfo *mode; @@ -140,14 +139,6 @@ static void test_basic_modeset(data_t *data) igt_display_commit2(display, COMMIT_ATOMIC); } -/** - * SUBTEST: 2x-modeset - * Description: Verify simultaneous modeset on 2 big joiner outputs - * Driver requirement: i915, xe - * Functionality: 2p1p - * Mega feature: Pipe Joiner - * Test category: functionality test - */ static void test_dual_display(data_t *data) { drmModeModeInfo *mode; diff --git a/tests/intel/kms_busy.c b/tests/intel/kms_busy.c index 5b620658f..bd79cb88a 100644 --- a/tests/intel/kms_busy.c +++ b/tests/intel/kms_busy.c @@ -25,6 +25,10 @@ * TEST: kms busy * Category: Display * Description: Basic check of KMS ABI with busy framebuffers. + * Driver requirement: i915 + * Functionality: kms_core, hang + * Mega feature: General Display Features + * Test category: functionality test */ #include <sys/poll.h> #include <signal.h> @@ -33,6 +37,38 @@ #include "i915/gem.h" #include "igt.h" +/** + * SUBTEST: basic + * Description: Test for basic check of KMS ABI with busy framebuffers. + * Functionality: kms_core + * + * SUBTEST: basic-hang + * Description: Test for basic check of KMS ABI with busy framebuffers. + * + * SUBTEST: extended-modeset-hang-%s + * Description: Test for basic check of KMS ABI with busy framebuffers. + * + * arg[1]: + * + * @newfb: New framebuffer + * @oldfb: Old framebuffer + * @newfb-with-reset: New framebuffer with reset + * @oldfb-with-reset: Old framebuffer with reset + */ + +/** + * SUBTEST: extended-pageflip-modeset-hang-oldfb + * Description: Test for basic check of KMS ABI with busy framebuffers. + * + * SUBTEST: extended-pageflip-hang-%s + * Description: Test for basic check of KMS ABI with busy framebuffers. + * + * arg[1]: + * + * @newfb: New framebuffer + * @oldfb: Old framebuffer + */ + IGT_TEST_DESCRIPTION("Basic check of KMS ABI with busy framebuffers."); static bool all_pipes = false; @@ -136,21 +172,6 @@ static void flip_to_fb(igt_display_t *dpy, int pipe, put_ahnd(ahnd); } -/** - * SUBTEST: basic - * Description: Test for basic check of KMS ABI with busy framebuffers. - * Driver requirement: i915 - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: basic-hang - * Description: Test for basic check of KMS ABI with busy framebuffers. - * Driver requirement: i915 - * Functionality: kms_core, hang - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_flip(igt_display_t *dpy, int pipe, igt_output_t *output, bool modeset) { @@ -243,35 +264,6 @@ static void test_atomic_commit_hang(igt_display_t *dpy, igt_plane_t *primary, put_ahnd(ahnd); } -/** - * SUBTEST: extended-modeset-hang-%s - * Description: Test for basic check of KMS ABI with busy framebuffers. - * Driver requirement: i915 - * Functionality: kms_core, hang - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @newfb: New framebuffer - * @oldfb: Old framebuffer - * @newfb-with-reset: New framebuffer with reset - * @oldfb-with-reset: Old framebuffer with reset - */ - -/** - * SUBTEST: extended-pageflip-hang-%s - * Description: Test for basic check of KMS ABI with busy framebuffers. - * Driver requirement: i915 - * Functionality: kms_core, hang - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @newfb: New framebuffer - * @oldfb: Old framebuffer - */ static void test_hang(igt_display_t *dpy, enum pipe pipe, igt_output_t *output, bool modeset, bool hang_newfb) @@ -319,14 +311,6 @@ static void test_hang(igt_display_t *dpy, igt_remove_fb(dpy->drm_fd, &fb[0]); } -/** - * SUBTEST: extended-pageflip-modeset-hang-oldfb - * Description: Test for basic check of KMS ABI with busy framebuffers. - * Driver requirement: i915 - * Functionality: kms_core, hang - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_pageflip_modeset_hang(igt_display_t *dpy, igt_output_t *output, enum pipe pipe) diff --git a/tests/intel/kms_ccs.c b/tests/intel/kms_ccs.c index 102b193da..9ca5e9a19 100644 --- a/tests/intel/kms_ccs.c +++ b/tests/intel/kms_ccs.c @@ -28,6 +28,10 @@ * Description: 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. + * Driver requirement: i915, xe + * Functionality: ccs, tiling + * Mega feature: E2E Compression + * Test category: functionality test */ #include "igt.h" @@ -36,10 +40,6 @@ /** * SUBTEST: %s-%s-%s * Description: Test %arg[2] with given %arg[3] modifier - * Driver requirement: i915, xe - * Functionality: ccs, tiling - * Mega feature: E2E Compression - * Test category: functionality test * * arg[1]: * @@ -73,10 +73,6 @@ /** * SUBTEST: %s-%s-%s * Description: Test %arg[2] with %arg[3] modifier - * Driver requirement: i915, xe - * Functionality: ccs, tiling - * Mega feature: E2E Compression - * Test category: functionality test * * arg[1]: * @@ -114,10 +110,7 @@ /** * SUBTEST: %s-%s-%s * Description: Test %arg[2] with %arg[3] modifier - * Driver requirement: i915, xe * Functionality: ccs, rotation, tiling - * Mega feature: E2E Compression - * Test category: functionality test * * arg[1]: * diff --git a/tests/intel/kms_cdclk.c b/tests/intel/kms_cdclk.c index 71d827dac..5057894ca 100644 --- a/tests/intel/kms_cdclk.c +++ b/tests/intel/kms_cdclk.c @@ -28,9 +28,26 @@ * TEST: kms cdclk * Category: Display * Description: Test cdclk features : crawling and squashing + * Driver requirement: i915, xe + * Functionality: kms_core + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" +/** + * SUBTEST: mode-transition-all-outputs + * Description: Mode transition (low to high) test to validate cdclk frequency + * change by simultaneous modesets on all pipes with valid outputs. + * + * SUBTEST: mode-transition + * Description: Mode transition (low to high) test to validate cdclk frequency change. + * + * SUBTEST: plane-scaling + * Description: Plane scaling test to validate cdclk frequency change. + * Functionality: kms_core, plane, scaling + */ + IGT_TEST_DESCRIPTION("Test cdclk features : crawling and squashing"); #define HDISPLAY_4K 3840 @@ -253,15 +270,6 @@ static void test_mode_transition(data_t *data, enum pipe pipe, igt_output_t *out igt_remove_fb(display->drm_fd, &fb); } -/** - * SUBTEST: mode-transition-all-outputs - * Description: Mode transition (low to high) test to validate cdclk frequency - * change by simultaneous modesets on all pipes with valid outputs. - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_mode_transition_on_all_outputs(data_t *data) { igt_display_t *display = &data->display; @@ -358,21 +366,6 @@ static void test_mode_transition_on_all_outputs(data_t *data) igt_remove_fb(data->drm_fd, &fb); } -/** - * SUBTEST: mode-transition - * Description: Mode transition (low to high) test to validate cdclk frequency change. - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: plane-scaling - * Description: Plane scaling test to validate cdclk frequency change. - * Driver requirement: i915, xe - * Functionality: kms_core, plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - */ static void run_cdclk_test(data_t *data, uint32_t flags) { igt_display_t *display = &data->display; diff --git a/tests/intel/kms_dirtyfb.c b/tests/intel/kms_dirtyfb.c index cc9529178..bbf71ca1b 100644 --- a/tests/intel/kms_dirtyfb.c +++ b/tests/intel/kms_dirtyfb.c @@ -3,6 +3,15 @@ * Copyright © 2023 Intel Corporation */ +/** + * TEST: kms dirtyfb + * Category: Display + * Description: Test DIRTYFB ioctl functionality. + * Driver requirement: i915, xe + * Functionality: dirtyfb, fbc, psr, drrs + * Mega feature: General Display Features + * Test category: functionality test + */ #include <sys/types.h> #include "igt.h" @@ -13,24 +22,16 @@ #include "xe/xe_query.h" -IGT_TEST_DESCRIPTION("Test the DIRTYFB ioctl is working properly with " - "its related features: FBC, PSR and DRRS"); - /** - * TEST: kms dirtyfb - * Category: Display - * Description: Test DIRTYFB ioctl functionality. - * * SUBTEST: dirtyfb-ioctl * Description: Test DIRTYFB ioctl is working properly using GPU * frontbuffer rendering with features like FBC, PSR * and DRRS. - * Driver requirement: i915, xe - * Functionality: dirtyfb, fbc, psr, drrs - * Mega feature: General Display Features - * Test category: functionality test */ +IGT_TEST_DESCRIPTION("Test the DIRTYFB ioctl is working properly with " + "its related features: FBC, PSR and DRRS"); + #ifndef PAGE_ALIGN #ifndef PAGE_SIZE #define PAGE_SIZE 4096 diff --git a/tests/intel/kms_draw_crc.c b/tests/intel/kms_draw_crc.c index 086f64dc8..7f1a1c5ae 100644 --- a/tests/intel/kms_draw_crc.c +++ b/tests/intel/kms_draw_crc.c @@ -26,10 +26,42 @@ * TEST: kms draw crc * Category: Display * Description: Tests whether the igt_draw library actually works. + * Driver requirement: i915, xe + * Functionality: kms_core, tiling + * Mega feature: General Display Features + * Test category: functionality test */ #include "i915/gem.h" #include "igt.h" +/** + * SUBTEST: fill-fb + * Description: This subtest verifies CRC after filling fb with x-tiling or none. + * + * SUBTEST: draw-method-%s + * Description: Verify that igt draw library works for the %arg[1] method with + * different modifiers & DRM formats. + * + * arg[1]: + * + * @blt: Blitter + * @mmap-wc: MMAP-WC + * @render: Render + */ + +/** + * SUBTEST: draw-method-%s + * Description: Verify that igt draw library works for the %arg[1] method with + * different modifiers & DRM formats. + * Driver requirement: i915 + * + * arg[1]: + * + * @mmap-cpu: MMAP-CPU + * @mmap-gtt: MMAP-GTT + * @pwrite: PWRITE + */ + #define MAX_CONNECTORS 32 int drm_fd; @@ -143,37 +175,6 @@ static void get_method_crc(enum igt_draw_method method, uint32_t drm_format, igt_remove_fb(drm_fd, &fb); } -/** - * SUBTEST: draw-method-%s - * Description: Verify that igt draw library works for the %arg[1] method with - * different modifiers & DRM formats. - * Driver requirement: i915, xe - * Functionality: kms_core, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @blt: Blitter - * @mmap-wc: MMAP-WC - * @render: Render - */ - -/** - * SUBTEST: draw-method-%s - * Description: Verify that igt draw library works for the %arg[1] method with - * different modifiers & DRM formats. - * Driver requirement: i915 - * Functionality: kms_core, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @mmap-cpu: MMAP-CPU - * @mmap-gtt: MMAP-GTT - * @pwrite: PWRITE - */ static void draw_method_subtest(enum igt_draw_method method, uint32_t format_index, uint64_t modifier) { @@ -213,14 +214,6 @@ static void get_fill_crc(uint64_t modifier, igt_crc_t *crc) igt_remove_fb(drm_fd, &fb); } -/** - * SUBTEST: fill-fb - * Description: This subtest verifies CRC after filling fb with x-tiling or none. - * Driver requirement: i915, xe - * Functionality: kms_core, tiling - * Mega feature: General Display Features - * Test category: functionality test - */ static void fill_fb_subtest(void) { int rc; diff --git a/tests/intel/kms_dsc.c b/tests/intel/kms_dsc.c index c7dfb509a..3a0b7c0ef 100644 --- a/tests/intel/kms_dsc.c +++ b/tests/intel/kms_dsc.c @@ -34,6 +34,10 @@ * TEST: kms dsc * Category: Display * Description: Test to validate display stream compression + * Driver requirement: i915, xe + * Functionality: dsc + * Mega feature: VDSC + * Test category: functionality test */ #include "kms_dsc_helper.h" @@ -41,10 +45,6 @@ * SUBTEST: dsc-%s * Description: Tests Display Stream Compression functionality if supported by a * connector by forcing %arg[1] on all connectors that support it - * Driver requirement: i915, xe - * Functionality: dsc - * Mega feature: VDSC - * Test category: functionality test * * arg[1]: * diff --git a/tests/intel/kms_fb_coherency.c b/tests/intel/kms_fb_coherency.c index d0c0df9ee..d854959b4 100644 --- a/tests/intel/kms_fb_coherency.c +++ b/tests/intel/kms_fb_coherency.c @@ -7,6 +7,10 @@ * TEST: kms_fb_coherency * Category: Display * Description: Exercise coherency of future scanout buffer objects + * Driver requirement: i915, xe + * Functionality: kms_core + * Mega feature: General Display Features + * Test category: functionality test */ #include <errno.h> @@ -17,6 +21,13 @@ #include "igt.h" +/** + * SUBTEST: memset-crc + * Description: Use display controller CRC hardware to validate (non)coherency + * of memset operations on future scanout buffer objects + * mmapped with different mmap methods and different caching modes. + */ + typedef struct { int drm_fd; igt_display_t display; @@ -239,16 +250,6 @@ igt_main select_valid_pipe_output_combo(&data); } - /** - * SUBTEST: memset-crc - * Description: Use display controller CRC hardware to validate (non)coherency - * of memset operations on future scanout buffer objects - * mmapped with different mmap methods and different caching modes. - * Mega feature: General Display Features - * Functionality: kms_core - * Driver requirement: i915, xe - * Test category: functionality test - */ igt_subtest_with_dynamic("memset-crc") { if (gem_has_mappable_ggtt(data.drm_fd)) { igt_dynamic("mmap-gtt") diff --git a/tests/intel/kms_fbcon_fbt.c b/tests/intel/kms_fbcon_fbt.c index e017d5887..d7195b30a 100644 --- a/tests/intel/kms_fbcon_fbt.c +++ b/tests/intel/kms_fbcon_fbt.c @@ -24,6 +24,14 @@ * */ +/** + * TEST: kms fbcon fbt + * Category: Display + * Description: Test the relationship between fbcon and the frontbuffer tracking + * infrastructure. + * Driver requirement: i915, xe + * Test category: functionality test + */ #include "igt.h" #include "igt_device.h" #include "igt_psr.h" @@ -33,42 +41,29 @@ #include <fcntl.h> /** - * TEST: kms fbcon fbt - * Category: Display - * Description: Test the relationship between fbcon and the frontbuffer tracking - * infrastructure. - * * SUBTEST: fbc * Description: Test the relationship between fbcon and the frontbuffer tracking * infrastructure with fbc enabled. - * Driver requirement: i915, xe * Functionality: fbc, fbcon, fbt * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: fbc-suspend * Description: Suspend test to validate the relationship between fbcon and the * frontbuffer tracking infrastructure with fbc enabled. - * Driver requirement: i915, xe * Functionality: fbc, fbcon, fbt, suspend * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: psr * Description: Test the relationship between fbcon and the frontbuffer tracking * infrastructure with psr enabled. - * Driver requirement: i915, xe * Functionality: fbcon, fbt, psr * Mega feature: PSR - * Test category: functionality test * * SUBTEST: psr-suspend * Description: Suspend test to validate the relationship between fbcon and the * frontbuffer tracking infrastructure with psr enabled. - * Driver requirement: i915, xe * Functionality: fbcon, fbt, psr, suspend * Mega feature: PSR - * Test category: functionality test */ IGT_TEST_DESCRIPTION("Test the relationship between fbcon and the frontbuffer " diff --git a/tests/intel/kms_fence_pin_leak.c b/tests/intel/kms_fence_pin_leak.c index 03f3990c4..75e3a72de 100644 --- a/tests/intel/kms_fence_pin_leak.c +++ b/tests/intel/kms_fence_pin_leak.c @@ -22,6 +22,15 @@ * */ +/** + * TEST: kms fence pin leak + * Category: Display + * Description: Exercises full ppgtt fence pin_count leak in the kernel. + * Driver requirement: i915 + * Functionality: kms_core, synchronization + * Mega feature: General Display Features + * Test category: functionality test + */ #include <errno.h> #include <limits.h> #include <stdbool.h> @@ -30,17 +39,10 @@ #include "i915/gem.h" #include "igt.h" + /** - * TEST: kms fence pin leak - * Category: Display - * Description: Exercises full ppgtt fence pin_count leak in the kernel. - * * SUBTEST: * Description: Along with the modeset, validate fence pin_count leakage. - * Driver requirement: i915 - * Functionality: kms_core, synchronization - * Mega feature: General Display Features - * Test category: functionality test */ IGT_TEST_DESCRIPTION("Exercises full ppgtt fence pin_count leak in the " diff --git a/tests/intel/kms_flip_scaled_crc.c b/tests/intel/kms_flip_scaled_crc.c index 2997b63fa..6015e412b 100644 --- a/tests/intel/kms_flip_scaled_crc.c +++ b/tests/intel/kms_flip_scaled_crc.c @@ -26,6 +26,9 @@ * TEST: kms flip scaled crc * Category: Display * Description: Test flipping between scaled/nonscaled framebuffers + * Driver requirement: i915, xe + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" @@ -33,114 +36,72 @@ * SUBTEST: flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling * Description: Flip from 64bpp non scaled fb to 32bpp upscaled fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: ccs, scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling * Description: Flip from 64bpp non scaled fb to 32bpp downscaled fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: ccs, scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-32bpp-linear-to-64bpp-linear-%s * Description: Flip from 32bpp non scaled fb to 64bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: scaling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-%s * Description: Flip from 32bpp non scaled fb to 32bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: ccs, scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-32bpp-4tile-to-64bpp-4tile-%s * Description: Flip from 32bpp non scaled fb to 64bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-32bpp-xtile-to-64bpp-xtile-%s * Description: Flip from 32bpp non scaled fb to 64bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-32bpp-yftile-to-32bpp-yftileccs-%s * Description: Flip from 32bpp non scaled fb to 32bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: ccs, scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-32bpp-yftile-to-64bpp-yftile-%s * Description: Flip from 32bpp non scaled fb to 64bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-32bpp-yftileccs-to-64bpp-yftile-%s * Description: Flip from 32bpp non scaled fb to 64bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: ccs, scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-32bpp-ytile-to-32bpp-ytileccs-%s * Description: Flip from 32bpp non scaled fb to 32bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: ccs, scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-%s * Description: Flip from 32bpp non scaled fb to 32bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: ccs, scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-32bpp-ytile-to-64bpp-ytile-%s * Description: Flip from 32bpp non scaled fb to 64bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-32bpp-ytileccs-to-64bpp-ytile-%s * Description: Flip from 32bpp non scaled fb to 64bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: ccs, scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-%s * Description: Flip from 64bpp non scaled fb to 32bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: ccs, scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * @@ -152,42 +113,27 @@ * SUBTEST: flip-64bpp-4tile-to-%dbpp-4tile-%s * Description: Flip from 64bpp non scaled fb to %arg[1]bpp %arg[2] fb to stress * CD clock programming - * Driver requirement: i915, xe * Functionality: scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-64bpp-xtile-to-%dbpp-xtile-%s * Description: Flip from 64bpp non scaled fb to %arg[1]bpp %arg[2] fb to stress * CD clock programming - * Driver requirement: i915, xe * Functionality: scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-64bpp-yftile-to-%dbpp-yftile-%s * Description: Flip from 64bpp non scaled fb to %arg[1]bpp %arg[2] fb to stress * CD clock programming - * Driver requirement: i915, xe * Functionality: scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-64bpp-ytile-to-%dbpp-ytile-%s * Description: Flip from 64bpp non scaled fb to %arg[1]bpp %arg[2] fb to stress * CD clock programming - * Driver requirement: i915, xe * Functionality: scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-64bpp-linear-to-%dbpp-linear-%s * Description: Flip from 64bpp non scaled fb to %arg[1]bpp %arg[2] fb to stress * CD clock programming - * Driver requirement: i915, xe * Functionality: scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * arg[1].values: 16, 32 * arg[2]: diff --git a/tests/intel/kms_flip_tiling.c b/tests/intel/kms_flip_tiling.c index 44121d7cf..3cc0762eb 100644 --- a/tests/intel/kms_flip_tiling.c +++ b/tests/intel/kms_flip_tiling.c @@ -24,23 +24,25 @@ * Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> */ +/** + * TEST: kms flip tiling + * Category: Display + * Description: Test page flips and tiling scenarios + * Driver requirement: i915, xe + * Functionality: kms_gem_interop, tiling + * Mega feature: General Display Features + * Test category: functionality test + */ #include <errno.h> #include <stdbool.h> #include <stdio.h> #include <string.h> #include "igt.h" + /** - * TEST: kms flip tiling - * Category: Display - * Description: Test page flips and tiling scenarios - * * SUBTEST: flip-change-tiling * Description: Check pageflip between modifiers - * Driver requirement: i915, xe - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * Test category: functionality test */ IGT_TEST_DESCRIPTION("Test page flips and tiling scenarios"); diff --git a/tests/intel/kms_frontbuffer_tracking.c b/tests/intel/kms_frontbuffer_tracking.c index 215ecdeef..5bf21308c 100644 --- a/tests/intel/kms_frontbuffer_tracking.c +++ b/tests/intel/kms_frontbuffer_tracking.c @@ -28,6 +28,9 @@ * TEST: kms frontbuffer tracking * Category: Display * Description: Test the Kernel's frontbuffer tracking mechanism and its related features: FBC, PSR and DRRS + * Driver requirement: i915, xe + * Mega feature: General Display Features + * Test category: functionality test */ #include <sys/types.h> #include <sys/stat.h> @@ -43,268 +46,1392 @@ #include "igt_sysfs.h" #include "igt_psr.h" -#define TIME SLOW_QUICK(1000, 10000) - -IGT_TEST_DESCRIPTION("Test the Kernel's frontbuffer tracking mechanism and " - "its related features: FBC, PSR and DRRS"); - -/* - * One of the aspects of this test is that, for every subtest, we try different - * combinations of the parameters defined by the struct below. Because of this, - * a single addition of a new parameter or subtest function can lead to hundreds - * of new subtests. +/** + * SUBTEST: basic + * Description: Do some basic operations regardless of which features are enabled + * Functionality: fbt * - * In order to reduce the number combinations we cut the cases that don't make - * sense, such as writing on the secondary screen when there is only a single - * pipe, or flipping when the target is the offscreen buffer. We also hide some - * combinations that are somewhat redundant and don't add much value to the - * test. For example, since we already do the offscreen testing with a single - * pipe enabled, there's no much value in doing it again with dual pipes. If you - * still want to try these redundant tests, you need to use the --show-hidden - * option. + * SUBTEST: drrs-%dp-rte + * Description: Sanity test to enable DRRS with %arg[1] panels. + * Functionality: fbt, drrs * - * The most important hidden thing is the FEATURE_NONE set of tests. Whenever - * you get a failure on any test, it is important to check whether the same test - * fails with FEATURE_NONE - replace the feature name for "nop". If the nop test - * also fails, then it's likely the problem will be on the IGT side instead of - * the Kernel side. We don't expose this set of tests by default because (i) - * they take a long time to test; and (ii) if the feature tests work, then it's - * very likely that the nop tests will also work. + * SUBTEST: fbc-%dp-rte + * Description: Sanity test to enable FBC with %arg[1] panels. + * Functionality: fbc, fbt + * + * SUBTEST: psr-%dp-rte + * Description: Sanity test to enable PSR with %arg[1] panels. + * Functionality: fbt, psr + * + * SUBTEST: fbcdrrs-%dp-rte + * Description: Sanity test to enable FBC & DRRS with %arg[1] panels. + * Functionality: drrs, fbc, fbt + * + * SUBTEST: fbcpsr-%dp-rte + * Description: Sanity test to enable FBC & PSR with %arg[1] panels. + * Functionality: fbc, fbt, psr + * + * SUBTEST: psrdrrs-%dp-rte + * Description: Sanity test to enable PSR & DRRS with %arg[1] panels. + * Functionality: fbt, drrs, psr + * + * SUBTEST: fbcpsrdrrs-%dp-rte + * Description: Sanity test to enable FBC, PSR & DRRS with %arg[1] panels. + * Functionality: fbc, fbt, drrs, psr + * + * arg[1].values: 1, 2 */ -struct test_mode { - /* Are we going to enable just one monitor, or are we going to setup a - * dual screen environment for the test? */ - enum { - PIPE_SINGLE = 0, - PIPE_DUAL, - PIPE_COUNT, - } pipes; - - /* The primary screen is the one that's supposed to have the "feature" - * enabled on, but we have the option to draw on the secondary screen or - * on some offscreen buffer. We also only theck the CRC of the primary - * screen. */ - enum { - SCREEN_PRIM = 0, - SCREEN_SCND, - SCREEN_OFFSCREEN, - SCREEN_COUNT, - } screen; - - /* When we draw, we can draw directly on the primary plane, on the - * cursor or on the sprite plane. */ - enum { - PLANE_PRI = 0, - PLANE_CUR, - PLANE_SPR, - PLANE_COUNT, - } plane; - /* We can organize the screens in a way that each screen has its own - * framebuffer, or in a way that all screens point to the same - * framebuffer, but on different places. This includes the offscreen - * screen. */ - enum { - FBS_INDIVIDUAL = 0, - FBS_SHARED, - FBS_COUNT, - } fbs; +/** + * SUBTEST: drrs-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1]: + * + * @indfb: Individual fb + * @shrfb: Shared fb + * + * arg[2]: + * + * @blt: Blitter + * @mmap-wc: MMAP-WC + * @render: Render + */ - /* Which features are we going to test now? This is a mask! - * FEATURE_DEFAULT is a special value which instruct the test to just - * keep what's already enabled by default in the Kernel. */ - enum { - FEATURE_NONE = 0, - FEATURE_FBC = 1, - FEATURE_PSR = 2, - FEATURE_DRRS = 4, - FEATURE_COUNT = 8, - FEATURE_DEFAULT = 8, - } feature; +/** + * SUBTEST: drrs-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1]: + * + * @indfb: Individual fb + * @shrfb: Shared fb + * + * arg[2]: + * + * @mmap-cpu: MMAP-CPU + * @mmap-gtt: MMAP-GTT + * @pwrite: PWRITE + */ - /* Possible pixel formats. We just use FORMAT_DEFAULT for most tests and - * only test a few things on the other formats. */ - enum pixel_format { - FORMAT_RGB888 = 0, - FORMAT_RGB565, - FORMAT_RGB101010, - FORMAT_COUNT, - FORMAT_DEFAULT = FORMAT_RGB888, - } format; +/** + * SUBTEST: drrs-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1].values: 1, 2 + * + * arg[2]: + * + * @cur: Cursor plane + * @pri: Primary plane + * @spr: Sprite plane + * + * arg[3]: + * + * @mmap-cpu: MMAP-CPU + * @mmap-gtt: MMAP-GTT + * @pwrite: PWRITE + */ - /* There are multiple APIs where we can do the equivalent of a page flip - * and they exercise slightly different codepaths inside the Kernel. */ - enum flip_type { - FLIP_PAGEFLIP, - FLIP_MODESET, - FLIP_PLANES, - FLIP_COUNT, - } flip; - - enum tiling_type { - TILING_LINEAR = 0, - TILING_X, - TILING_Y, - TILING_4, - TILING_COUNT, - TILING_DEFAULT = TILING_X, - } tiling; - - enum igt_draw_method method; -}; +/** + * SUBTEST: drrs-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1].values: 1, 2 + * + * arg[2]: + * + * @cur: Cursor plane + * @pri: Primary plane + * @spr: Sprite plane + * + * arg[3]: + * + * @blt: Blitter + * @mmap-wc: MMAP-WC + * @render: Render + */ -enum color { - COLOR_RED, - COLOR_GREEN, - COLOR_BLUE, - COLOR_MAGENTA, - COLOR_CYAN, - COLOR_SCND_BG, - COLOR_PRIM_BG = COLOR_BLUE, - COLOR_OFFSCREEN_BG = COLOR_SCND_BG, -}; +/** + * SUBTEST: drrs-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1].values: 1, 2 + * + * arg[2]: + * + * @blt: Blitter + * @mmap-wc: MMAP-WC + * @render: Render + */ -struct rect { - int x; - int y; - int w; - int h; - uint32_t color; -}; +/** + * SUBTEST: drrs-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1].values: 1, 2 + * + * arg[2]: + * + * @mmap-cpu: MMAP-CPU + * @mmap-gtt: MMAP-GTT + * @pwrite: PWRITE + */ -struct { - int fd; - int debugfs; - igt_display_t display; +/** + * SUBTEST: drrs-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1]: + * + * @cur: Cursor plane + * @pri: Primary plane + * @spr: Sprite plane + * + * arg[2]: + * + * @blt: Blitter + * @mmap-wc: MMAP-WC + * @render: Render + */ - struct buf_ops *bops; -} drm; +/** + * SUBTEST: drrs-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1]: + * + * @cur: Cursor plane + * @pri: Primary plane + * @spr: Sprite plane + * + * arg[2]: + * + * @mmap-cpu: MMAP-CPU + * @mmap-gtt: MMAP-GTT + * @pwrite: PWRITE + */ -struct { - bool can_test; - - bool supports_last_action; +/** + * SUBTEST: drrs-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1]: + * + * @blt: Blitter + * @mmap-wc: MMAP-WC + * @render: Render + */ - struct timespec last_action; -} fbc = { - .can_test = false, - .supports_last_action = false, -}; +/** + * SUBTEST: drrs-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1]: + * + * @mmap-cpu: MMAP-CPU + * @mmap-gtt: MMAP-GTT + * @pwrite: PWRITE + */ -struct { - bool can_test; -} psr = { - .can_test = false, -}; +/** + * SUBTEST: drrs-%dp-pri-indfb-multidraw + * Description: Draw a set of rectangles on the screen using alternated drawing methods + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-%dp-pri-indfb-multidraw + * Description: Draw a set of rectangles on the screen using alternated drawing methods + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-%dp-pri-indfb-multidraw + * Description: Draw a set of rectangles on the screen using alternated drawing methods + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-%dp-pri-indfb-multidraw + * Description: Draw a set of rectangles on the screen using alternated drawing methods + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-%dp-pri-indfb-multidraw + * Description: Draw a set of rectangles on the screen using alternated drawing methods + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-%dp-pri-indfb-multidraw + * Description: Draw a set of rectangles on the screen using alternated drawing methods + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-%dp-pri-indfb-multidraw + * Description: Draw a set of rectangles on the screen using alternated drawing methods + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1].values: 1, 2 + */ -#define MAX_DRRS_STATUS_BUF_LEN 256 +/** + * SUBTEST: drrs-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1]: + * + * @rgb101010: FORMAT_RGB101010 + * @rgb565: FORMAT_RGB565 + * + * arg[2]: + * + * @blt: Blitter + * @mmap-wc: MMAP-WC + * @render: Render + */ -struct { - bool can_test; -} drrs = { - .can_test = false, -}; +/** + * SUBTEST: drrs-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Driver requirement: i915 + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1]: + * + * @rgb101010: FORMAT_RGB101010 + * @rgb565: FORMAT_RGB565 + * + * arg[2]: + * + * @mmap-cpu: MMAP-CPU + * @mmap-gtt: MMAP-GTT + * @pwrite: PWRITE + */ -igt_pipe_crc_t *pipe_crc; -igt_crc_t *wanted_crc; -struct { - bool initialized; - igt_crc_t crc; -} blue_crcs[FORMAT_COUNT]; +/** + * SUBTEST: drrs-slowdraw + * Description: Sleep a little bit between drawing operations with DRRS + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-slowdraw + * Description: Sleep a little bit between drawing operations with FBC + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-slowdraw + * Description: Sleep a little bit between drawing operations with PSR + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-slowdraw + * Description: Sleep a little bit between drawing operations with FBC & DRRS + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-slowdraw + * Description: Sleep a little bit between drawing operations with FBC & PSR + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-slowdraw + * Description: Sleep a little bit between drawing operations with PSR & DRRS + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-slowdraw + * Description: Sleep a little bit between drawing operations with FBC, PSR & DRRS + * Functionality: drrs, fbc, fbt, kms_core, psr + */ -/* The goal of this structure is to easily allow us to deal with cases where we - * have a big framebuffer and the CRTC is just displaying a subregion of this - * big FB. */ -struct fb_region { - igt_plane_t *plane; - struct igt_fb *fb; - int x; - int y; - int w; - int h; -}; - -struct draw_pattern_info { - bool frames_stack; - int n_rects; - struct rect (*get_rect)(struct fb_region *fb, int r); - - bool initialized[FORMAT_COUNT]; - igt_crc_t *crcs[FORMAT_COUNT]; -}; - -/* Draw big rectangles on the screen. */ -struct draw_pattern_info pattern1; -/* 64x64 rectangles at x:0,y:0, just so we can draw on the cursor and sprite. */ -struct draw_pattern_info pattern2; -/* 64x64 rectangles at different positions, same color, for the move test. */ -struct draw_pattern_info pattern3; -/* Just a fullscreen green square. */ -struct draw_pattern_info pattern4; - -/* Command line parameters. */ -struct { - bool check_status; - bool check_crc; - bool fbc_check_compression; - bool fbc_check_last_action; - bool no_edp; - bool small_modes; - bool show_hidden; - int step; - int only_pipes; - int shared_fb_x_offset; - int shared_fb_y_offset; - enum tiling_type tiling; -} opt = { - .check_status = true, - .check_crc = true, - .fbc_check_compression = true, - .fbc_check_last_action = true, - .no_edp = false, - .small_modes = false, - .show_hidden= false, - .step = 0, - .only_pipes = PIPE_COUNT, - .shared_fb_x_offset = 248, - .shared_fb_y_offset = 500, - .tiling = TILING_DEFAULT, -}; - -struct modeset_params { - enum pipe pipe; - igt_output_t *output; - drmModeModeInfo mode; - - struct fb_region primary; - struct fb_region cursor; - struct fb_region sprite; -}; - -struct modeset_params prim_mode_params; -struct modeset_params scnd_mode_params; - -struct fb_region offscreen_fb; -struct screen_fbs { - bool initialized; +/** + * SUBTEST: drrs-%dp-primscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-%dp-primscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-%dp-primscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-%dp-primscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-%dp-primscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-%dp-primscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1].values: 1, 2 + * + * arg[2]: + * + * @indfb: Individual fb + * @shrfb: Shared fb + * + * arg[3]: + * + * @ms: Modeset + * @pg: Page flip + * @pl: Plane change + */ - struct igt_fb prim_pri; - struct igt_fb prim_cur; - struct igt_fb prim_spr; +/** + * SUBTEST: drrs-2p-scndscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-2p-scndscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-2p-scndscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-2p-scndscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-2p-scndscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-2p-scndscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1]: + * + * @indfb: Individual fb + * @shrfb: Shared fb + * + * arg[2]: + * + * @ms: Modeset + * @pg: Page flip + * @pl: Plane change + */ - struct igt_fb scnd_pri; - struct igt_fb scnd_cur; - struct igt_fb scnd_spr; +/** + * SUBTEST: fbc-%dp-%s-fliptrack-mmap-gtt + * Description: Check if the hardware tracking works after page flips + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: fbcdrrs-%dp-%s-fliptrack-mmap-gtt + * Description: Check if the hardware tracking works after page flips + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-%dp-%s-fliptrack-mmap-gtt + * Description: Check if the hardware tracking works after page flips + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-%dp-%s-fliptrack-mmap-gtt + * Description: Check if the hardware tracking works after page flips + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1].values: 1, 2 + * + * arg[2]: + * + * @indfb: Individual fb + * @shrfb: Shared fb + */ - struct igt_fb offscreen; - struct igt_fb big; -} fbs[FORMAT_COUNT]; +/** + * SUBTEST: drrs-%dp-primscrn-%s-indfb-move + * Description: Just move the %arg[2] around + * Functionality: drrs, fbt + * + * SUBTEST: fbc-%dp-primscrn-%s-indfb-move + * Description: Just move the %arg[2] around + * Functionality: fbc, fbt + * + * SUBTEST: psr-%dp-primscrn-%s-indfb-move + * Description: Just move the %arg[2] around + * Functionality: fbt, psr + * + * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-move + * Description: Just move the %arg[2] around + * Functionality: drrs, fbc, fbt + * + * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-move + * Description: Just move the %arg[2] around + * Functionality: fbc, fbt, psr + * + * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-move + * Description: Just move the %arg[2] around + * Functionality: drrs, fbt, psr + * + * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-move + * Description: Just move the %arg[2] around + * Functionality: drrs, fbc, fbt, psr + * + * arg[1].values: 1, 2 + * + * arg[2]: + * + * @spr: Sprite plane + * @cur: Cursor plane + */ -struct { - pthread_t thread; - bool stop; +/** + * SUBTEST: drrs-2p-scndscrn-%s-indfb-move + * Description: Just move the %arg[1] around + * Functionality: drrs, fbt + * + * SUBTEST: fbc-2p-scndscrn-%s-indfb-move + * Description: Just move the %arg[1] around + * Functionality: fbc, fbt + * + * SUBTEST: psr-2p-scndscrn-%s-indfb-move + * Description: Just move the %arg[1] around + * Functionality: fbt, psr + * + * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-move + * Description: Just move the %arg[1] around + * Functionality: drrs, fbc, fbt + * + * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-move + * Description: Just move the %arg[1] around + * Functionality: fbc, fbt, psr + * + * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-move + * Description: Just move the %arg[1] around + * Functionality: drrs, fbt, psr + * + * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-move + * Description: Just move the %arg[1] around + * Functionality: drrs, fbc, fbt, psr + * + * arg[1]: + * + * @spr: Sprite plane + * @cur: Cursor plane + */ - uint32_t handle; +/** + * SUBTEST: drrs-%dp-primscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[2] a few times + * Functionality: drrs, fbt + * + * SUBTEST: fbc-%dp-primscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[2] a few times + * Functionality: fbc, fbt + * + * SUBTEST: psr-%dp-primscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[2] a few times + * Functionality: fbt, psr + * + * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[2] a few times + * Functionality: drrs, fbc, fbt + * + * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[2] a few times + * Functionality: fbc, fbt, psr + * + * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[2] a few times + * Functionality: drrs, fbt, psr + * + * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[2] a few times + * Functionality: drrs, fbc, fbt, psr + * + * arg[1].values: 1, 2 + * + * arg[2]: + * + * @spr: Sprite plane + * @cur: Cursor plane + */ + +/** + * SUBTEST: drrs-2p-scndscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[1] a few times + * Functionality: drrs, fbt + * + * SUBTEST: fbc-2p-scndscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[1] a few times + * Functionality: fbc, fbt + * + * SUBTEST: psr-2p-scndscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[1] a few times + * Functionality: fbt, psr + * + * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[1] a few times + * Functionality: drrs, fbc, fbt + * + * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[1] a few times + * Functionality: fbc, fbt, psr + * + * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[1] a few times + * Functionality: drrs, fbt, psr + * + * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[1] a few times + * Functionality: drrs, fbc, fbt, psr + * + * arg[1]: + * + * @spr: Sprite plane + * @cur: Cursor plane + */ + +/** + * SUBTEST: drrs-%dp-primscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: drrs, fbt + * + * SUBTEST: fbc-%dp-primscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: fbc, fbt + * + * SUBTEST: psr-%dp-primscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: fbt, psr + * + * SUBTEST: fbcdrrs-%dp-primscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: drrs, fbc, fbt + * + * SUBTEST: fbcpsr-%dp-primscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: fbc, fbt, psr + * + * SUBTEST: psrdrrs-%dp-primscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: drrs, fbt, psr + * + * SUBTEST: fbcpsrdrrs-%dp-primscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: drrs, fbc, fbt, psr + * + * SUBTEST: drrs-2p-scndscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: drrs, fbt + * + * SUBTEST: fbc-2p-scndscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: fbc, fbt + * + * SUBTEST: psr-2p-scndscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: fbt, psr + * + * SUBTEST: fbcdrrs-2p-scndscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: drrs, fbc, fbt + * + * SUBTEST: fbcpsr-2p-scndscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: fbc, fbt, psr + * + * SUBTEST: psrdrrs-2p-scndscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: drrs, fbt, psr + * + * SUBTEST: fbcpsrdrrs-2p-scndscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: drrs, fbc, fbt, psr + * + * arg[1].values: 1, 2 + */ + +/** + * SUBTEST: drrs-%s-scaledprimary + * Description: Try different primary plane scaling strategies + * Functionality: drrs, fbt, scaling + * + * SUBTEST: fbc-%s-scaledprimary + * Description: Try different primary plane scaling strategies + * Functionality: fbc, fbt, scaling + * + * SUBTEST: psr-%s-scaledprimary + * Description: Try different primary plane scaling strategies + * Functionality: fbt, psr, scaling + * + * SUBTEST: fbcdrrs-%s-scaledprimary + * Description: Try different primary plane scaling strategies + * Functionality: drrs, fbc, fbt, scaling + * + * SUBTEST: fbcpsr-%s-scaledprimary + * Description: Try different primary plane scaling strategies + * Functionality: fbc, fbt, psr, scaling + * + * SUBTEST: psrdrrs-%s-scaledprimary + * Description: Try different primary plane scaling strategies + * Functionality: drrs, fbt, psr, scaling + * + * SUBTEST: fbcpsrdrrs-%s-scaledprimary + * Description: Try different primary plane scaling strategies + * Functionality: drrs, fbc, fbt, psr, scaling + * + * arg[1]: + * + * @indfb: Individual fb + * @shrfb: Shared fb + */ + +/** + * SUBTEST: drrs-modesetfrombusy + * Description: Modeset from a busy buffer to a non-busy buffer with DRRS + * Functionality: drrs, fbt, scaling + * + * SUBTEST: fbc-modesetfrombusy + * Description: Modeset from a busy buffer to a non-busy buffer with FBC + * Functionality: fbc, fbt, scaling + * + * SUBTEST: psr-modesetfrombusy + * Description: Modeset from a busy buffer to a non-busy buffer with PSR + * Functionality: fbt, psr, scaling + * + * SUBTEST: fbcdrrs-modesetfrombusy + * Description: Modeset from a busy buffer to a non-busy buffer with FBC & DRRS + * Functionality: drrs, fbc, fbt, scaling + * + * SUBTEST: fbcpsr-modesetfrombusy + * Description: Modeset from a busy buffer to a non-busy buffer with FBC & PSR + * Functionality: fbc, fbt, psr, scaling + * + * SUBTEST: psrdrrs-modesetfrombusy + * Description: Modeset from a busy buffer to a non-busy buffer with PSR & DRRS + * Functionality: drrs, fbt, psr, scaling + * + * SUBTEST: fbcpsrdrrs-modesetfrombusy + * Description: Modeset from a busy buffer to a non-busy buffer with FBC, PSR & DRRS + * Functionality: drrs, fbc, fbt, psr, scaling + * + * SUBTEST: drrs-suspend + * Description: Make sure suspend/resume keeps us on the same state of DRRS + * Functionality: drrs, fbt, suspend + * + * SUBTEST: fbc-suspend + * Description: Make sure suspend/resume keeps us on the same state of FBC + * Functionality: fbc, fbt, suspend + * + * SUBTEST: psr-suspend + * Description: Make sure suspend/resume keeps us on the same state of PSR + * Functionality: fbt, psr, suspend + * + * SUBTEST: fbcdrrs-suspend + * Description: Make sure suspend/resume keeps us on the same state of FBC & DRRS + * Functionality: drrs, fbc, fbt, suspend + * + * SUBTEST: fbcpsr-suspend + * Description: Make sure suspend/resume keeps us on the same state of FBC & PSR + * Functionality: fbc, fbt, psr, suspend + * + * SUBTEST: psrdrrs-suspend + * Description: Make sure suspend/resume keeps us on the same state of PSR & DRRS + * Functionality: drrs, fbt, psr, suspend + * + * SUBTEST: fbcpsrdrrs-suspend + * Description: Make sure suspend/resume keeps us on the same state of FBC, PSR & DRRS + * Functionality: drrs, fbc, fbt, psr, suspend + * + * SUBTEST: drrs-farfromfence-mmap-gtt + * Description: Test drawing as far from the fence start as possible + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-farfromfence-mmap-gtt + * Description: Test drawing as far from the fence start as possible + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-farfromfence-mmap-gtt + * Description: Test drawing as far from the fence start as possible + * Driver requirement: i915 + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-farfromfence-mmap-gtt + * Description: Test drawing as far from the fence start as possible + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-farfromfence-mmap-gtt + * Description: Test drawing as far from the fence start as possible + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-farfromfence-mmap-gtt + * Description: Test drawing as far from the fence start as possible + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-farfromfence-mmap-gtt + * Description: Test drawing as far from the fence start as possible + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * SUBTEST: fbc-badstride + * Description: Try to use buffers with strides that are not supported + * Functionality: fbc, fbt + * + * SUBTEST: fbcdrrs-badstride + * Description: Try to use buffers with strides that are not supported + * Functionality: drrs, fbc, fbt + * + * SUBTEST: fbcpsr-badstride + * Description: Try to use buffers with strides that are not supported + * Functionality: fbc, fbt, psr + * + * SUBTEST: fbcpsrdrrs-badstride + * Description: Try to use buffers with strides that are not supported + * Functionality: drrs, fbc, fbt, psr + * + * SUBTEST: fbc-stridechange + * Description: Change the frontbuffer stride by doing a modeset + * Functionality: fbc, fbt + * + * SUBTEST: fbcdrrs-stridechange + * Description: Change the frontbuffer stride by doing a modeset + * Functionality: drrs, fbc, fbt + * + * SUBTEST: fbcpsr-stridechange + * Description: Change the frontbuffer stride by doing a modeset + * Functionality: fbc, fbt, psr + * + * SUBTEST: fbcpsrdrrs-stridechange + * Description: Change the frontbuffer stride by doing a modeset + * Functionality: drrs, fbc, fbt, psr + */ + +/** + * SUBTEST: fbc-tiling-%s + * Description: Test %arg[1] formats, if the tiling format supports FBC do the + * basic drawing test, else set the mode & test if FBC is disabled + * Functionality: fbc, fbt, tiling + * + * SUBTEST: fbcdrrs-tiling-%s + * Description: Test %arg[1] formats, if the tiling format supports FBC do the + * basic drawing test, else set the mode & test if FBC is disabled + * Functionality: drrs, fbc, fbt, tiling + * + * SUBTEST: fbcpsr-tiling-%s + * Description: Test %arg[1] formats, if the tiling format supports FBC do the + * basic drawing test, else set the mode & test if FBC is disabled + * Functionality: fbc, fbt, psr, tiling + * + * SUBTEST: fbcpsrdrrs-tiling-%s + * Description: Test %arg[1] formats, if the tiling format supports FBC do the + * basic drawing test, else set the mode & test if FBC is disabled + * Functionality: drrs, fbc, fbt, psr, tiling + * + * arg[1]: + * + * @4: 4 tiling + * @linear: Linear tiling + * @y: Y tiling + */ +#define TIME SLOW_QUICK(1000, 10000) + +IGT_TEST_DESCRIPTION("Test the Kernel's frontbuffer tracking mechanism and " + "its related features: FBC, PSR and DRRS"); + +/* + * One of the aspects of this test is that, for every subtest, we try different + * combinations of the parameters defined by the struct below. Because of this, + * a single addition of a new parameter or subtest function can lead to hundreds + * of new subtests. + * + * In order to reduce the number combinations we cut the cases that don't make + * sense, such as writing on the secondary screen when there is only a single + * pipe, or flipping when the target is the offscreen buffer. We also hide some + * combinations that are somewhat redundant and don't add much value to the + * test. For example, since we already do the offscreen testing with a single + * pipe enabled, there's no much value in doing it again with dual pipes. If you + * still want to try these redundant tests, you need to use the --show-hidden + * option. + * + * The most important hidden thing is the FEATURE_NONE set of tests. Whenever + * you get a failure on any test, it is important to check whether the same test + * fails with FEATURE_NONE - replace the feature name for "nop". If the nop test + * also fails, then it's likely the problem will be on the IGT side instead of + * the Kernel side. We don't expose this set of tests by default because (i) + * they take a long time to test; and (ii) if the feature tests work, then it's + * very likely that the nop tests will also work. + */ +struct test_mode { + /* Are we going to enable just one monitor, or are we going to setup a + * dual screen environment for the test? */ + enum { + PIPE_SINGLE = 0, + PIPE_DUAL, + PIPE_COUNT, + } pipes; + + /* The primary screen is the one that's supposed to have the "feature" + * enabled on, but we have the option to draw on the secondary screen or + * on some offscreen buffer. We also only theck the CRC of the primary + * screen. */ + enum { + SCREEN_PRIM = 0, + SCREEN_SCND, + SCREEN_OFFSCREEN, + SCREEN_COUNT, + } screen; + + /* When we draw, we can draw directly on the primary plane, on the + * cursor or on the sprite plane. */ + enum { + PLANE_PRI = 0, + PLANE_CUR, + PLANE_SPR, + PLANE_COUNT, + } plane; + + /* We can organize the screens in a way that each screen has its own + * framebuffer, or in a way that all screens point to the same + * framebuffer, but on different places. This includes the offscreen + * screen. */ + enum { + FBS_INDIVIDUAL = 0, + FBS_SHARED, + FBS_COUNT, + } fbs; + + /* Which features are we going to test now? This is a mask! + * FEATURE_DEFAULT is a special value which instruct the test to just + * keep what's already enabled by default in the Kernel. */ + enum { + FEATURE_NONE = 0, + FEATURE_FBC = 1, + FEATURE_PSR = 2, + FEATURE_DRRS = 4, + FEATURE_COUNT = 8, + FEATURE_DEFAULT = 8, + } feature; + + /* Possible pixel formats. We just use FORMAT_DEFAULT for most tests and + * only test a few things on the other formats. */ + enum pixel_format { + FORMAT_RGB888 = 0, + FORMAT_RGB565, + FORMAT_RGB101010, + FORMAT_COUNT, + FORMAT_DEFAULT = FORMAT_RGB888, + } format; + + /* There are multiple APIs where we can do the equivalent of a page flip + * and they exercise slightly different codepaths inside the Kernel. */ + enum flip_type { + FLIP_PAGEFLIP, + FLIP_MODESET, + FLIP_PLANES, + FLIP_COUNT, + } flip; + + enum tiling_type { + TILING_LINEAR = 0, + TILING_X, + TILING_Y, + TILING_4, + TILING_COUNT, + TILING_DEFAULT = TILING_X, + } tiling; + + enum igt_draw_method method; +}; + +enum color { + COLOR_RED, + COLOR_GREEN, + COLOR_BLUE, + COLOR_MAGENTA, + COLOR_CYAN, + COLOR_SCND_BG, + COLOR_PRIM_BG = COLOR_BLUE, + COLOR_OFFSCREEN_BG = COLOR_SCND_BG, +}; + +struct rect { + int x; + int y; + int w; + int h; + uint32_t color; +}; + +struct { + int fd; + int debugfs; + igt_display_t display; + + struct buf_ops *bops; +} drm; + +struct { + bool can_test; + + bool supports_last_action; + + struct timespec last_action; +} fbc = { + .can_test = false, + .supports_last_action = false, +}; + +struct { + bool can_test; +} psr = { + .can_test = false, +}; + +#define MAX_DRRS_STATUS_BUF_LEN 256 + +struct { + bool can_test; +} drrs = { + .can_test = false, +}; + +igt_pipe_crc_t *pipe_crc; +igt_crc_t *wanted_crc; +struct { + bool initialized; + igt_crc_t crc; +} blue_crcs[FORMAT_COUNT]; + +/* The goal of this structure is to easily allow us to deal with cases where we + * have a big framebuffer and the CRTC is just displaying a subregion of this + * big FB. */ +struct fb_region { + igt_plane_t *plane; + struct igt_fb *fb; + int x; + int y; + int w; + int h; +}; + +struct draw_pattern_info { + bool frames_stack; + int n_rects; + struct rect (*get_rect)(struct fb_region *fb, int r); + + bool initialized[FORMAT_COUNT]; + igt_crc_t *crcs[FORMAT_COUNT]; +}; + +/* Draw big rectangles on the screen. */ +struct draw_pattern_info pattern1; +/* 64x64 rectangles at x:0,y:0, just so we can draw on the cursor and sprite. */ +struct draw_pattern_info pattern2; +/* 64x64 rectangles at different positions, same color, for the move test. */ +struct draw_pattern_info pattern3; +/* Just a fullscreen green square. */ +struct draw_pattern_info pattern4; + +/* Command line parameters. */ +struct { + bool check_status; + bool check_crc; + bool fbc_check_compression; + bool fbc_check_last_action; + bool no_edp; + bool small_modes; + bool show_hidden; + int step; + int only_pipes; + int shared_fb_x_offset; + int shared_fb_y_offset; + enum tiling_type tiling; +} opt = { + .check_status = true, + .check_crc = true, + .fbc_check_compression = true, + .fbc_check_last_action = true, + .no_edp = false, + .small_modes = false, + .show_hidden= false, + .step = 0, + .only_pipes = PIPE_COUNT, + .shared_fb_x_offset = 248, + .shared_fb_y_offset = 500, + .tiling = TILING_DEFAULT, +}; + +struct modeset_params { + enum pipe pipe; + igt_output_t *output; + drmModeModeInfo mode; + + struct fb_region primary; + struct fb_region cursor; + struct fb_region sprite; +}; + +struct modeset_params prim_mode_params; +struct modeset_params scnd_mode_params; + +struct fb_region offscreen_fb; +struct screen_fbs { + bool initialized; + + struct igt_fb prim_pri; + struct igt_fb prim_cur; + struct igt_fb prim_spr; + + struct igt_fb scnd_pri; + struct igt_fb scnd_cur; + struct igt_fb scnd_spr; + + struct igt_fb offscreen; + struct igt_fb big; +} fbs[FORMAT_COUNT]; + +struct { + pthread_t thread; + bool stop; + + uint32_t handle; uint32_t size; uint32_t stride; int width; @@ -1683,898 +2810,233 @@ static void set_region_for_test(const struct test_mode *t, fill_fb_region(reg, COLOR_PRIM_BG); igt_plane_set_fb(reg->plane, reg->fb); - igt_plane_set_position(reg->plane, 0, 0); - igt_plane_set_size(reg->plane, reg->w, reg->h); - igt_fb_set_size(reg->fb, reg->plane, reg->w, reg->h); - - igt_display_commit(&drm.display); - do_assertions(ASSERT_NO_ACTION_CHANGE); -} - -static bool enable_features_for_test(const struct test_mode *t) -{ - bool ret = false; - - if (t->feature == FEATURE_DEFAULT) - return false; - - if (t->feature & FEATURE_FBC) - intel_fbc_enable(drm.fd); - if (t->feature & FEATURE_PSR) - ret = psr_enable(drm.fd, drm.debugfs, PSR_MODE_1); - if (t->feature & FEATURE_DRRS) - intel_drrs_enable(drm.fd, prim_mode_params.pipe); - - return ret; -} - -static void check_test_requirements(const struct test_mode *t) -{ - int ver; - - if (t->pipes == PIPE_DUAL) - igt_require_f(scnd_mode_params.output, - "Can't test dual pipes with the current outputs\n"); - - if (t->feature & FEATURE_FBC) - igt_require_f(fbc.can_test, - "Can't test FBC with this chipset\n"); - - if (t->feature & FEATURE_PSR) { - igt_require_f(psr.can_test, - "Can't test PSR with the current outputs\n"); - } - - if (t->feature & FEATURE_DRRS) - igt_require_f(drrs.can_test, - "Can't test DRRS with the current outputs\n"); - - /* - * In kernel, When PSR is enabled, DRRS will be disabled. So If a test - * case needs DRRS + PSR enabled, that will be skipped. - */ - igt_require_f(!((t->feature & FEATURE_PSR) && - (t->feature & FEATURE_DRRS)), - "Can't test PSR and DRRS together\n"); - - if (opt.only_pipes != PIPE_COUNT) - igt_require(t->pipes == opt.only_pipes); - - /* Kernel disables fbc for display versions 12 and 13 if psr is enabled. */ - ver = intel_display_ver(intel_get_drm_devid(drm.fd)); - if (ver >= 12 && ver <= 13) - igt_require_f(!((t->feature & FEATURE_PSR) && - (t->feature & FEATURE_FBC)), - "Can't test PSR and FBC together\n"); - -} - -static void set_crtc_fbs(const struct test_mode *t) -{ - struct screen_fbs *s = &fbs[t->format]; - - create_fbs(t->format, t->tiling); - - switch (t->fbs) { - case FBS_INDIVIDUAL: - prim_mode_params.primary.fb = &s->prim_pri; - scnd_mode_params.primary.fb = &s->scnd_pri; - offscreen_fb.fb = &s->offscreen; - - prim_mode_params.primary.x = 0; - scnd_mode_params.primary.x = 0; - offscreen_fb.x = 0; - - prim_mode_params.primary.y = 0; - scnd_mode_params.primary.y = 0; - offscreen_fb.y = 0; - break; - case FBS_SHARED: - /* Please see the comment at the top of create_shared_fb(). */ - prim_mode_params.primary.fb = &s->big; - scnd_mode_params.primary.fb = &s->big; - offscreen_fb.fb = &s->big; - - prim_mode_params.primary.x = opt.shared_fb_x_offset; - scnd_mode_params.primary.x = opt.shared_fb_x_offset; - offscreen_fb.x = opt.shared_fb_x_offset; - - prim_mode_params.primary.y = opt.shared_fb_y_offset; - scnd_mode_params.primary.y = prim_mode_params.primary.y + - prim_mode_params.primary.h; - offscreen_fb.y = scnd_mode_params.primary.y + scnd_mode_params.primary.h; - break; - default: - igt_assert(false); - } - - prim_mode_params.cursor.fb = &s->prim_cur; - prim_mode_params.sprite.fb = &s->prim_spr; - scnd_mode_params.cursor.fb = &s->scnd_cur; - scnd_mode_params.sprite.fb = &s->scnd_spr; -} - -static void prepare_subtest_data(const struct test_mode *t, - struct draw_pattern_info *pattern) -{ - bool need_modeset; - - check_test_requirements(t); - - stop_busy_thread(); - - need_modeset = disable_features(t); - set_crtc_fbs(t); - - if (t->screen == SCREEN_OFFSCREEN) - fill_fb_region(&offscreen_fb, COLOR_OFFSCREEN_BG); - - igt_display_reset(&drm.display); - if (need_modeset) - igt_display_commit(&drm.display); - - init_blue_crc(t->format, t->tiling); - if (pattern) - init_crcs(t->format, t->tiling, pattern); - - need_modeset = enable_features_for_test(t); - if (need_modeset) - igt_display_commit(&drm.display); -} - -static void prepare_subtest_screens(const struct test_mode *t) -{ - if (t->pipes == PIPE_DUAL) - enable_both_screens_and_wait(t); - else - enable_prim_screen_and_wait(t); - - if (t->screen == SCREEN_PRIM) { - if (t->plane == PLANE_CUR) - set_region_for_test(t, &prim_mode_params.cursor); - if (t->plane == PLANE_SPR) - set_region_for_test(t, &prim_mode_params.sprite); - } - - if (t->pipes == PIPE_DUAL && t->screen == SCREEN_SCND) { - if (t->plane == PLANE_CUR) - set_region_for_test(t, &scnd_mode_params.cursor); - if (t->plane == PLANE_SPR) - set_region_for_test(t, &scnd_mode_params.sprite); - } -} - -static void prepare_subtest(const struct test_mode *t, - struct draw_pattern_info *pattern) -{ - prepare_subtest_data(t, pattern); - prepare_subtest_screens(t); -} - -/** - * SUBTEST: drrs-%dp-rte - * Description: Sanity test to enable DRRS with %arg[1] panels. - * Driver requirement: i915, xe - * Functionality: fbt, drrs - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%dp-rte - * Description: Sanity test to enable FBC with %arg[1] panels. - * Driver requirement: i915, xe - * Functionality: fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%dp-rte - * Description: Sanity test to enable PSR with %arg[1] panels. - * Driver requirement: i915, xe - * Functionality: fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%dp-rte - * Description: Sanity test to enable FBC & DRRS with %arg[1] panels. - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%dp-rte - * Description: Sanity test to enable FBC & PSR with %arg[1] panels. - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%dp-rte - * Description: Sanity test to enable PSR & DRRS with %arg[1] panels. - * Driver requirement: i915, xe - * Functionality: fbt, drrs, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%dp-rte - * Description: Sanity test to enable FBC, PSR & DRRS with %arg[1] panels. - * Driver requirement: i915, xe - * Functionality: fbc, fbt, drrs, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 1, 2 - */ - -/* - * rte - the basic sanity test - * - * METHOD - * Just disable all screens, assert everything is disabled, then enable all - * screens - including primary, cursor and sprite planes - and assert that - * the tested feature is enabled. - * - * EXPECTED RESULTS - * Blue screens and t->feature enabled. - * - * FAILURES - * A failure here means that every other subtest will probably fail too. It - * probably means that the Kernel is just not enabling the feature we want. - */ -static void rte_subtest(const struct test_mode *t) -{ - prepare_subtest_data(t, NULL); + igt_plane_set_position(reg->plane, 0, 0); + igt_plane_set_size(reg->plane, reg->w, reg->h); + igt_fb_set_size(reg->fb, reg->plane, reg->w, reg->h); - unset_all_crtcs(); - do_assertions(ASSERT_FBC_DISABLED | ASSERT_PSR_DISABLED | - DONT_ASSERT_CRC | ASSERT_DRRS_INACTIVE); + igt_display_commit(&drm.display); + do_assertions(ASSERT_NO_ACTION_CHANGE); +} - if (t->pipes == PIPE_SINGLE) - enable_prim_screen_and_wait(t); - else - enable_both_screens_and_wait(t); +static bool enable_features_for_test(const struct test_mode *t) +{ + bool ret = false; - set_region_for_test(t, &prim_mode_params.cursor); - set_region_for_test(t, &prim_mode_params.sprite); + if (t->feature == FEATURE_DEFAULT) + return false; - if (t->pipes == PIPE_DUAL) { - set_region_for_test(t, &scnd_mode_params.cursor); - set_region_for_test(t, &scnd_mode_params.sprite); - } + if (t->feature & FEATURE_FBC) + intel_fbc_enable(drm.fd); + if (t->feature & FEATURE_PSR) + ret = psr_enable(drm.fd, drm.debugfs, PSR_MODE_1); + if (t->feature & FEATURE_DRRS) + intel_drrs_enable(drm.fd, prim_mode_params.pipe); + + return ret; } -static void update_wanted_crc(const struct test_mode *t, igt_crc_t *crc) +static void check_test_requirements(const struct test_mode *t) { - if (t->screen == SCREEN_PRIM) - wanted_crc = crc; + int ver; + + if (t->pipes == PIPE_DUAL) + igt_require_f(scnd_mode_params.output, + "Can't test dual pipes with the current outputs\n"); + + if (t->feature & FEATURE_FBC) + igt_require_f(fbc.can_test, + "Can't test FBC with this chipset\n"); + + if (t->feature & FEATURE_PSR) { + igt_require_f(psr.can_test, + "Can't test PSR with the current outputs\n"); + } + + if (t->feature & FEATURE_DRRS) + igt_require_f(drrs.can_test, + "Can't test DRRS with the current outputs\n"); + + /* + * In kernel, When PSR is enabled, DRRS will be disabled. So If a test + * case needs DRRS + PSR enabled, that will be skipped. + */ + igt_require_f(!((t->feature & FEATURE_PSR) && + (t->feature & FEATURE_DRRS)), + "Can't test PSR and DRRS together\n"); + + if (opt.only_pipes != PIPE_COUNT) + igt_require(t->pipes == opt.only_pipes); + + /* Kernel disables fbc for display versions 12 and 13 if psr is enabled. */ + ver = intel_display_ver(intel_get_drm_devid(drm.fd)); + if (ver >= 12 && ver <= 13) + igt_require_f(!((t->feature & FEATURE_PSR) && + (t->feature & FEATURE_FBC)), + "Can't test PSR and FBC together\n"); + } -static bool op_disables_psr(const struct test_mode *t, - enum igt_draw_method method) +static void set_crtc_fbs(const struct test_mode *t) { - if (method != IGT_DRAW_MMAP_GTT) - return false; - if (t->screen == SCREEN_PRIM) - return true; - /* On FBS_SHARED, even if the target is not the PSR screen - * (SCREEN_PRIM), all primary planes share the same frontbuffer, so a - * write to the second screen primary plane - or offscreen plane - will - * touch the framebuffer that's also used by the primary screen. */ - if (t->fbs == FBS_SHARED && t->plane == PLANE_PRI) - return true; + struct screen_fbs *s = &fbs[t->format]; - return false; + create_fbs(t->format, t->tiling); + + switch (t->fbs) { + case FBS_INDIVIDUAL: + prim_mode_params.primary.fb = &s->prim_pri; + scnd_mode_params.primary.fb = &s->scnd_pri; + offscreen_fb.fb = &s->offscreen; + + prim_mode_params.primary.x = 0; + scnd_mode_params.primary.x = 0; + offscreen_fb.x = 0; + + prim_mode_params.primary.y = 0; + scnd_mode_params.primary.y = 0; + offscreen_fb.y = 0; + break; + case FBS_SHARED: + /* Please see the comment at the top of create_shared_fb(). */ + prim_mode_params.primary.fb = &s->big; + scnd_mode_params.primary.fb = &s->big; + offscreen_fb.fb = &s->big; + + prim_mode_params.primary.x = opt.shared_fb_x_offset; + scnd_mode_params.primary.x = opt.shared_fb_x_offset; + offscreen_fb.x = opt.shared_fb_x_offset; + + prim_mode_params.primary.y = opt.shared_fb_y_offset; + scnd_mode_params.primary.y = prim_mode_params.primary.y + + prim_mode_params.primary.h; + offscreen_fb.y = scnd_mode_params.primary.y + scnd_mode_params.primary.h; + break; + default: + igt_assert(false); + } + + prim_mode_params.cursor.fb = &s->prim_cur; + prim_mode_params.sprite.fb = &s->prim_spr; + scnd_mode_params.cursor.fb = &s->scnd_cur; + scnd_mode_params.sprite.fb = &s->scnd_spr; } -/** - * SUBTEST: drrs-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @indfb: Individual fb - * @shrfb: Shared fb - * - * arg[2]: - * - * @blt: Blitter - * @mmap-wc: MMAP-WC - * @render: Render - */ +static void prepare_subtest_data(const struct test_mode *t, + struct draw_pattern_info *pattern) +{ + bool need_modeset; -/** - * SUBTEST: drrs-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @indfb: Individual fb - * @shrfb: Shared fb - * - * arg[2]: - * - * @mmap-cpu: MMAP-CPU - * @mmap-gtt: MMAP-GTT - * @pwrite: PWRITE - */ + check_test_requirements(t); + + stop_busy_thread(); -/** - * SUBTEST: drrs-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 1, 2 - * - * arg[2]: - * - * @cur: Cursor plane - * @pri: Primary plane - * @spr: Sprite plane - * - * arg[3]: - * - * @mmap-cpu: MMAP-CPU - * @mmap-gtt: MMAP-GTT - * @pwrite: PWRITE - */ + need_modeset = disable_features(t); + set_crtc_fbs(t); -/** - * SUBTEST: drrs-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 1, 2 - * - * arg[2]: - * - * @cur: Cursor plane - * @pri: Primary plane - * @spr: Sprite plane - * - * arg[3]: - * - * @blt: Blitter - * @mmap-wc: MMAP-WC - * @render: Render - */ + if (t->screen == SCREEN_OFFSCREEN) + fill_fb_region(&offscreen_fb, COLOR_OFFSCREEN_BG); -/** - * SUBTEST: drrs-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 1, 2 - * - * arg[2]: - * - * @blt: Blitter - * @mmap-wc: MMAP-WC - * @render: Render - */ + igt_display_reset(&drm.display); + if (need_modeset) + igt_display_commit(&drm.display); -/** - * SUBTEST: drrs-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 1, 2 - * - * arg[2]: - * - * @mmap-cpu: MMAP-CPU - * @mmap-gtt: MMAP-GTT - * @pwrite: PWRITE - */ + init_blue_crc(t->format, t->tiling); + if (pattern) + init_crcs(t->format, t->tiling, pattern); + + need_modeset = enable_features_for_test(t); + if (need_modeset) + igt_display_commit(&drm.display); +} -/** - * SUBTEST: drrs-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @cur: Cursor plane - * @pri: Primary plane - * @spr: Sprite plane - * - * arg[2]: - * - * @blt: Blitter - * @mmap-wc: MMAP-WC - * @render: Render - */ +static void prepare_subtest_screens(const struct test_mode *t) +{ + if (t->pipes == PIPE_DUAL) + enable_both_screens_and_wait(t); + else + enable_prim_screen_and_wait(t); -/** - * SUBTEST: drrs-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @cur: Cursor plane - * @pri: Primary plane - * @spr: Sprite plane - * - * arg[2]: - * - * @mmap-cpu: MMAP-CPU - * @mmap-gtt: MMAP-GTT - * @pwrite: PWRITE - */ + if (t->screen == SCREEN_PRIM) { + if (t->plane == PLANE_CUR) + set_region_for_test(t, &prim_mode_params.cursor); + if (t->plane == PLANE_SPR) + set_region_for_test(t, &prim_mode_params.sprite); + } -/** - * SUBTEST: drrs-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @blt: Blitter - * @mmap-wc: MMAP-WC - * @render: Render - */ + if (t->pipes == PIPE_DUAL && t->screen == SCREEN_SCND) { + if (t->plane == PLANE_CUR) + set_region_for_test(t, &scnd_mode_params.cursor); + if (t->plane == PLANE_SPR) + set_region_for_test(t, &scnd_mode_params.sprite); + } +} -/** - * SUBTEST: drrs-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test +static void prepare_subtest(const struct test_mode *t, + struct draw_pattern_info *pattern) +{ + prepare_subtest_data(t, pattern); + prepare_subtest_screens(t); +} + +/* + * rte - the basic sanity test * - * arg[1]: + * METHOD + * Just disable all screens, assert everything is disabled, then enable all + * screens - including primary, cursor and sprite planes - and assert that + * the tested feature is enabled. * - * @mmap-cpu: MMAP-CPU - * @mmap-gtt: MMAP-GTT - * @pwrite: PWRITE + * EXPECTED RESULTS + * Blue screens and t->feature enabled. + * + * FAILURES + * A failure here means that every other subtest will probably fail too. It + * probably means that the Kernel is just not enabling the feature we want. */ +static void rte_subtest(const struct test_mode *t) +{ + prepare_subtest_data(t, NULL); + + unset_all_crtcs(); + do_assertions(ASSERT_FBC_DISABLED | ASSERT_PSR_DISABLED | + DONT_ASSERT_CRC | ASSERT_DRRS_INACTIVE); + + if (t->pipes == PIPE_SINGLE) + enable_prim_screen_and_wait(t); + else + enable_both_screens_and_wait(t); + + set_region_for_test(t, &prim_mode_params.cursor); + set_region_for_test(t, &prim_mode_params.sprite); + + if (t->pipes == PIPE_DUAL) { + set_region_for_test(t, &scnd_mode_params.cursor); + set_region_for_test(t, &scnd_mode_params.sprite); + } +} + +static void update_wanted_crc(const struct test_mode *t, igt_crc_t *crc) +{ + if (t->screen == SCREEN_PRIM) + wanted_crc = crc; +} + +static bool op_disables_psr(const struct test_mode *t, + enum igt_draw_method method) +{ + if (method != IGT_DRAW_MMAP_GTT) + return false; + if (t->screen == SCREEN_PRIM) + return true; + /* On FBS_SHARED, even if the target is not the PSR screen + * (SCREEN_PRIM), all primary planes share the same frontbuffer, so a + * write to the second screen primary plane - or offscreen plane - will + * touch the framebuffer that's also used by the primary screen. */ + if (t->fbs == FBS_SHARED && t->plane == PLANE_PRI) + return true; + + return false; +} /* * draw - draw a set of rectangles on the screen using the provided method @@ -2649,59 +3111,6 @@ static void draw_subtest(const struct test_mode *t) } } -/** - * SUBTEST: drrs-%dp-pri-indfb-multidraw - * Description: Draw a set of rectangles on the screen using alternated drawing methods - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%dp-pri-indfb-multidraw - * Description: Draw a set of rectangles on the screen using alternated drawing methods - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%dp-pri-indfb-multidraw - * Description: Draw a set of rectangles on the screen using alternated drawing methods - * Driver requirement: i915, xe - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%dp-pri-indfb-multidraw - * Description: Draw a set of rectangles on the screen using alternated drawing methods - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%dp-pri-indfb-multidraw - * Description: Draw a set of rectangles on the screen using alternated drawing methods - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%dp-pri-indfb-multidraw - * Description: Draw a set of rectangles on the screen using alternated drawing methods - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%dp-pri-indfb-multidraw - * Description: Draw a set of rectangles on the screen using alternated drawing methods - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 1, 2 - */ - /* * multidraw - draw a set of rectangles on the screen using alternated drawing * methods @@ -2832,147 +3241,23 @@ static bool format_is_valid(int feature_flags, */ static void badformat_subtest(const struct test_mode *t) { - bool fbc_valid = format_is_valid(FEATURE_FBC, t->format); - bool psr_valid = format_is_valid(FEATURE_PSR, t->format); - int assertions = ASSERT_NO_ACTION_CHANGE; - - prepare_subtest_data(t, NULL); - - fill_fb_region(&prim_mode_params.primary, COLOR_PRIM_BG); - set_mode_for_params(&prim_mode_params); - - wanted_crc = &blue_crcs[t->format].crc; - - if (!fbc_valid) - assertions |= ASSERT_FBC_DISABLED; - if (!psr_valid) - assertions |= ASSERT_PSR_DISABLED; - do_assertions(assertions); -} - -/** - * SUBTEST: drrs-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915, xe - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @rgb101010: FORMAT_RGB101010 - * @rgb565: FORMAT_RGB565 - * - * arg[2]: - * - * @blt: Blitter - * @mmap-wc: MMAP-WC - * @render: Render - */ - -/** - * SUBTEST: drrs-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915 - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @rgb101010: FORMAT_RGB101010 - * @rgb565: FORMAT_RGB565 - * - * arg[2]: - * - * @mmap-cpu: MMAP-CPU - * @mmap-gtt: MMAP-GTT - * @pwrite: PWRITE - */ + bool fbc_valid = format_is_valid(FEATURE_FBC, t->format); + bool psr_valid = format_is_valid(FEATURE_PSR, t->format); + int assertions = ASSERT_NO_ACTION_CHANGE; + + prepare_subtest_data(t, NULL); + + fill_fb_region(&prim_mode_params.primary, COLOR_PRIM_BG); + set_mode_for_params(&prim_mode_params); + + wanted_crc = &blue_crcs[t->format].crc; + + if (!fbc_valid) + assertions |= ASSERT_FBC_DISABLED; + if (!psr_valid) + assertions |= ASSERT_PSR_DISABLED; + do_assertions(assertions); +} /* * format_draw - test pixel formats that are not FORMAT_DEFAULT @@ -3017,57 +3302,6 @@ static bool tiling_is_valid(int feature_flags, enum tiling_type tiling) } } -/** - * SUBTEST: drrs-slowdraw - * Description: Sleep a little bit between drawing operations with DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-slowdraw - * Description: Sleep a little bit between drawing operations with FBC - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-slowdraw - * Description: Sleep a little bit between drawing operations with PSR - * Driver requirement: i915, xe - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-slowdraw - * Description: Sleep a little bit between drawing operations with FBC & DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-slowdraw - * Description: Sleep a little bit between drawing operations with FBC & PSR - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-slowdraw - * Description: Sleep a little bit between drawing operations with PSR & DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-slowdraw - * Description: Sleep a little bit between drawing operations with FBC, PSR & DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - */ - /* * slow_draw - sleep a little bit between drawing operations * @@ -3174,132 +3408,6 @@ static void page_flip_for_params(struct modeset_params *params, } } -/** - * SUBTEST: drrs-%dp-primscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%dp-primscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%dp-primscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%dp-primscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%dp-primscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%dp-primscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 1, 2 - * - * arg[2]: - * - * @indfb: Individual fb - * @shrfb: Shared fb - * - * arg[3]: - * - * @ms: Modeset - * @pg: Page flip - * @pl: Plane change - */ - -/** - * SUBTEST: drrs-2p-scndscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-2p-scndscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-2p-scndscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-2p-scndscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-2p-scndscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-2p-scndscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @indfb: Individual fb - * @shrfb: Shared fb - * - * arg[2]: - * - * @ms: Modeset - * @pg: Page flip - * @pl: Plane change - */ - /* * flip - just exercise page flips with the patterns we have * @@ -3334,68 +3442,31 @@ static void flip_subtest(const struct test_mode *t) bg_color = COLOR_SCND_BG; break; default: - igt_assert(false); - } - - prepare_subtest(t, pattern); - - create_fb(t->format, params->primary.fb->width, params->primary.fb->height, - t->tiling, t->plane, &fb2); - fill_fb(&fb2, bg_color); - orig_fb = params->primary.fb; - - for (r = 0; r < pattern->n_rects; r++) { - params->primary.fb = (r % 2 == 0) ? &fb2 : orig_fb; - - if (r != 0) - draw_rect(pattern, ¶ms->primary, t->method, r - 1); - draw_rect(pattern, ¶ms->primary, t->method, r); - update_wanted_crc(t, &pattern->crcs[t->format][r]); - - page_flip_for_params(params, t->flip); - - do_assertions(assertions); - } - - igt_remove_fb(drm.fd, &fb2); -} - -/** - * SUBTEST: fbc-%dp-%s-fliptrack-mmap-gtt - * Description: Check if the hardware tracking works after page flips - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%dp-%s-fliptrack-mmap-gtt - * Description: Check if the hardware tracking works after page flips - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%dp-%s-fliptrack-mmap-gtt - * Description: Check if the hardware tracking works after page flips - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%dp-%s-fliptrack-mmap-gtt - * Description: Check if the hardware tracking works after page flips - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 1, 2 - * - * arg[2]: - * - * @indfb: Individual fb - * @shrfb: Shared fb - */ + igt_assert(false); + } + + prepare_subtest(t, pattern); + + create_fb(t->format, params->primary.fb->width, params->primary.fb->height, + t->tiling, t->plane, &fb2); + fill_fb(&fb2, bg_color); + orig_fb = params->primary.fb; + + for (r = 0; r < pattern->n_rects; r++) { + params->primary.fb = (r % 2 == 0) ? &fb2 : orig_fb; + + if (r != 0) + draw_rect(pattern, ¶ms->primary, t->method, r - 1); + draw_rect(pattern, ¶ms->primary, t->method, r); + update_wanted_crc(t, &pattern->crcs[t->format][r]); + + page_flip_for_params(params, t->flip); + + do_assertions(assertions); + } + + igt_remove_fb(drm.fd, &fb2); +} /* * fliptrack - check if the hardware tracking works after page flips @@ -3445,120 +3516,6 @@ static void fliptrack_subtest(const struct test_mode *t, enum flip_type type) igt_remove_fb(drm.fd, &fb2); } -/** - * SUBTEST: drrs-%dp-primscrn-%s-indfb-move - * Description: Just move the %arg[2] around - * Driver requirement: i915, xe - * Functionality: drrs, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%dp-primscrn-%s-indfb-move - * Description: Just move the %arg[2] around - * Driver requirement: i915, xe - * Functionality: fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%dp-primscrn-%s-indfb-move - * Description: Just move the %arg[2] around - * Driver requirement: i915, xe - * Functionality: fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-move - * Description: Just move the %arg[2] around - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-move - * Description: Just move the %arg[2] around - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-move - * Description: Just move the %arg[2] around - * Driver requirement: i915, xe - * Functionality: drrs, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-move - * Description: Just move the %arg[2] around - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 1, 2 - * - * arg[2]: - * - * @spr: Sprite plane - * @cur: Cursor plane - */ - -/** - * SUBTEST: drrs-2p-scndscrn-%s-indfb-move - * Description: Just move the %arg[1] around - * Driver requirement: i915, xe - * Functionality: drrs, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-2p-scndscrn-%s-indfb-move - * Description: Just move the %arg[1] around - * Driver requirement: i915, xe - * Functionality: fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-2p-scndscrn-%s-indfb-move - * Description: Just move the %arg[1] around - * Driver requirement: i915, xe - * Functionality: fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-move - * Description: Just move the %arg[1] around - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-move - * Description: Just move the %arg[1] around - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-move - * Description: Just move the %arg[1] around - * Driver requirement: i915, xe - * Functionality: drrs, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-move - * Description: Just move the %arg[1] around - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @spr: Sprite plane - * @cur: Cursor plane - */ - /* * move - just move the sprite or cursor around * @@ -3608,123 +3565,9 @@ static void move_subtest(const struct test_mode *t) if (r+1 == pattern->n_rects && !repeat) { repeat = true; r--; - } - } -} - -/** - * SUBTEST: drrs-%dp-primscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[2] a few times - * Driver requirement: i915, xe - * Functionality: drrs, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%dp-primscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[2] a few times - * Driver requirement: i915, xe - * Functionality: fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%dp-primscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[2] a few times - * Driver requirement: i915, xe - * Functionality: fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[2] a few times - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[2] a few times - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[2] a few times - * Driver requirement: i915, xe - * Functionality: drrs, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[2] a few times - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 1, 2 - * - * arg[2]: - * - * @spr: Sprite plane - * @cur: Cursor plane - */ - -/** - * SUBTEST: drrs-2p-scndscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[1] a few times - * Driver requirement: i915, xe - * Functionality: drrs, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-2p-scndscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[1] a few times - * Driver requirement: i915, xe - * Functionality: fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-2p-scndscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[1] a few times - * Driver requirement: i915, xe - * Functionality: fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[1] a few times - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[1] a few times - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[1] a few times - * Driver requirement: i915, xe - * Functionality: drrs, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[1] a few times - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @spr: Sprite plane - * @cur: Cursor plane - */ + } + } +} /* * onoff - just enable and disable the sprite or cursor plane a few times @@ -3785,108 +3628,6 @@ static bool prim_plane_disabled(void) return !prim_mode_params.primary.plane->values[IGT_PLANE_FB_ID]; } -/** - * SUBTEST: drrs-%dp-primscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: drrs, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%dp-primscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%dp-primscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%dp-primscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%dp-primscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%dp-primscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: drrs, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%dp-primscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: drrs-2p-scndscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: drrs, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-2p-scndscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-2p-scndscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-2p-scndscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-2p-scndscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-2p-scndscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: drrs, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-2p-scndscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 1, 2 - */ - /* * fullscreen_plane - put a fullscreen plane covering the whole screen * @@ -3948,62 +3689,6 @@ static void fullscreen_plane_subtest(const struct test_mode *t) igt_remove_fb(drm.fd, &fullscreen_fb); } -/** - * SUBTEST: drrs-%s-scaledprimary - * Description: Try different primary plane scaling strategies - * Driver requirement: i915, xe - * Functionality: drrs, fbt, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%s-scaledprimary - * Description: Try different primary plane scaling strategies - * Driver requirement: i915, xe - * Functionality: fbc, fbt, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%s-scaledprimary - * Description: Try different primary plane scaling strategies - * Driver requirement: i915, xe - * Functionality: fbt, psr, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%s-scaledprimary - * Description: Try different primary plane scaling strategies - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%s-scaledprimary - * Description: Try different primary plane scaling strategies - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%s-scaledprimary - * Description: Try different primary plane scaling strategies - * Driver requirement: i915, xe - * Functionality: drrs, fbt, psr, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%s-scaledprimary - * Description: Try different primary plane scaling strategies - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @indfb: Individual fb - * @shrfb: Shared fb - */ - /* * scaledprimary - try different primary plane scaling strategies * @@ -4064,101 +3749,51 @@ static void scaledprimary_subtest(const struct test_mode *t) do_assertions(DONT_ASSERT_CRC); /* Source upscaling. */ - igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); - igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); - do_assertions(DONT_ASSERT_CRC); - - /* Destination doesn't fill the entire CRTC, no scaling. */ - igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); - igt_plane_set_position(reg->plane, - params->mode.hdisplay / 4, - params->mode.vdisplay / 4); - igt_plane_set_size(reg->plane, - params->mode.hdisplay / 2, - params->mode.vdisplay / 2); - igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); - do_assertions(DONT_ASSERT_CRC); - - /* Destination doesn't fill the entire CRTC, upscaling. */ - igt_fb_set_position(&new_fb, reg->plane, - reg->x + reg->w / 4, reg->y + src_y_upscale); - igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); - igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); - do_assertions(DONT_ASSERT_CRC); - - /* - * On gen >= 9 HW, FBC is not enabled on a plane with a Y offset - * that isn't divisible by 4, because it causes FIFO underruns. - * - * Check that FBC is disabled. - */ - igt_fb_set_position(&new_fb, reg->plane, - reg->x + reg->w / 4, (reg->y + src_y_upscale) | 3); - igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); - igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); - do_assertions(DONT_ASSERT_CRC | (gen >= 9 ? ASSERT_FBC_DISABLED : 0)); - - /* Back to the good and old blue fb. */ - igt_plane_set_fb(reg->plane, old_fb); - igt_plane_set_position(params->primary.plane, 0, 0); - igt_plane_set_size(reg->plane, params->mode.hdisplay, params->mode.vdisplay); - igt_fb_set_position(reg->fb, reg->plane, reg->x, reg->y); - igt_fb_set_size(reg->fb, reg->plane, reg->w, reg->h); - igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); - do_assertions(0); - - igt_remove_fb(drm.fd, &new_fb); -} - -/** - * SUBTEST: drrs-modesetfrombusy - * Description: Modeset from a busy buffer to a non-busy buffer with DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbt, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-modesetfrombusy - * Description: Modeset from a busy buffer to a non-busy buffer with FBC - * Driver requirement: i915, xe - * Functionality: fbc, fbt, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-modesetfrombusy - * Description: Modeset from a busy buffer to a non-busy buffer with PSR - * Driver requirement: i915, xe - * Functionality: fbt, psr, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-modesetfrombusy - * Description: Modeset from a busy buffer to a non-busy buffer with FBC & DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-modesetfrombusy - * Description: Modeset from a busy buffer to a non-busy buffer with FBC & PSR - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-modesetfrombusy - * Description: Modeset from a busy buffer to a non-busy buffer with PSR & DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbt, psr, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-modesetfrombusy - * Description: Modeset from a busy buffer to a non-busy buffer with FBC, PSR & DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr, scaling - * Mega feature: General Display Features - */ + igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); + igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); + do_assertions(DONT_ASSERT_CRC); + + /* Destination doesn't fill the entire CRTC, no scaling. */ + igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); + igt_plane_set_position(reg->plane, + params->mode.hdisplay / 4, + params->mode.vdisplay / 4); + igt_plane_set_size(reg->plane, + params->mode.hdisplay / 2, + params->mode.vdisplay / 2); + igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); + do_assertions(DONT_ASSERT_CRC); + + /* Destination doesn't fill the entire CRTC, upscaling. */ + igt_fb_set_position(&new_fb, reg->plane, + reg->x + reg->w / 4, reg->y + src_y_upscale); + igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); + igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); + do_assertions(DONT_ASSERT_CRC); + + /* + * On gen >= 9 HW, FBC is not enabled on a plane with a Y offset + * that isn't divisible by 4, because it causes FIFO underruns. + * + * Check that FBC is disabled. + */ + igt_fb_set_position(&new_fb, reg->plane, + reg->x + reg->w / 4, (reg->y + src_y_upscale) | 3); + igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); + igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); + do_assertions(DONT_ASSERT_CRC | (gen >= 9 ? ASSERT_FBC_DISABLED : 0)); + + /* Back to the good and old blue fb. */ + igt_plane_set_fb(reg->plane, old_fb); + igt_plane_set_position(params->primary.plane, 0, 0); + igt_plane_set_size(reg->plane, params->mode.hdisplay, params->mode.vdisplay); + igt_fb_set_position(reg->fb, reg->plane, reg->x, reg->y); + igt_fb_set_size(reg->fb, reg->plane, reg->w, reg->h); + igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); + do_assertions(0); + + igt_remove_fb(drm.fd, &new_fb); +} /** * modesetfrombusy - modeset from a busy buffer to a non-busy buffer @@ -4203,57 +3838,6 @@ static void modesetfrombusy_subtest(const struct test_mode *t) igt_remove_fb(drm.fd, &fb2); } -/** - * SUBTEST: drrs-suspend - * Description: Make sure suspend/resume keeps us on the same state of DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbt, suspend - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-suspend - * Description: Make sure suspend/resume keeps us on the same state of FBC - * Driver requirement: i915, xe - * Functionality: fbc, fbt, suspend - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-suspend - * Description: Make sure suspend/resume keeps us on the same state of PSR - * Driver requirement: i915, xe - * Functionality: fbt, psr, suspend - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-suspend - * Description: Make sure suspend/resume keeps us on the same state of FBC & DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, suspend - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-suspend - * Description: Make sure suspend/resume keeps us on the same state of FBC & PSR - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr, suspend - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-suspend - * Description: Make sure suspend/resume keeps us on the same state of PSR & DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbt, psr, suspend - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-suspend - * Description: Make sure suspend/resume keeps us on the same state of FBC, PSR & DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr, suspend - * Mega feature: General Display Features - * Test category: functionality test - */ - /** * suspend - make sure suspend/resume keeps us on the same state * @@ -4286,57 +3870,6 @@ static void suspend_subtest(const struct test_mode *t) do_assertions(0); } -/** - * SUBTEST: drrs-farfromfence-mmap-gtt - * Description: Test drawing as far from the fence start as possible - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-farfromfence-mmap-gtt - * Description: Test drawing as far from the fence start as possible - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-farfromfence-mmap-gtt - * Description: Test drawing as far from the fence start as possible - * Driver requirement: i915 - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-farfromfence-mmap-gtt - * Description: Test drawing as far from the fence start as possible - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-farfromfence-mmap-gtt - * Description: Test drawing as far from the fence start as possible - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-farfromfence-mmap-gtt - * Description: Test drawing as far from the fence start as possible - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-farfromfence-mmap-gtt - * Description: Test drawing as far from the fence start as possible - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - */ - /** * farfromfence - test drawing as far from the fence start as possible * @@ -4433,36 +3966,6 @@ static void try_invalid_strides(void) gem_close(drm.fd, gem_handle); } -/** - * SUBTEST: fbc-badstride - * Description: Try to use buffers with strides that are not supported - * Driver requirement: i915, xe - * Functionality: fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-badstride - * Description: Try to use buffers with strides that are not supported - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-badstride - * Description: Try to use buffers with strides that are not supported - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-badstride - * Description: Try to use buffers with strides that are not supported - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - */ - /** * badstride - try to use buffers with strides that are not supported * @@ -4531,36 +4034,6 @@ static void badstride_subtest(const struct test_mode *t) igt_remove_fb(drm.fd, &wide_fb); } -/** - * SUBTEST: fbc-stridechange - * Description: Change the frontbuffer stride by doing a modeset - * Driver requirement: i915, xe - * Functionality: fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-stridechange - * Description: Change the frontbuffer stride by doing a modeset - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-stridechange - * Description: Change the frontbuffer stride by doing a modeset - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-stridechange - * Description: Change the frontbuffer stride by doing a modeset - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - */ - /** * stridechange - change the frontbuffer stride by doing a modeset * @@ -4625,46 +4098,6 @@ static void stridechange_subtest(const struct test_mode *t) do_assertions(rc ? 0 : DONT_ASSERT_FBC_STATUS); } -/** - * SUBTEST: fbc-tiling-%s - * Description: Test %arg[1] formats, if the tiling format supports FBC do the - * basic drawing test, else set the mode & test if FBC is disabled - * Driver requirement: i915, xe - * Functionality: fbc, fbt, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-tiling-%s - * Description: Test %arg[1] formats, if the tiling format supports FBC do the - * basic drawing test, else set the mode & test if FBC is disabled - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-tiling-%s - * Description: Test %arg[1] formats, if the tiling format supports FBC do the - * basic drawing test, else set the mode & test if FBC is disabled - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-tiling-%s - * Description: Test %arg[1] formats, if the tiling format supports FBC do the - * basic drawing test, else set the mode & test if FBC is disabled - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @4: 4 tiling - * @linear: Linear tiling - * @y: Y tiling - */ - /** * tiling_disable_fbc_subtest - Check if tiling is unsupported by FBC * @@ -4714,15 +4147,6 @@ static void tiling_disable_fbc_subtest(const struct test_mode *t) igt_remove_fb(drm.fd, &new_fb); } -/** - * SUBTEST: basic - * Description: Do some basic operations regardless of which features are enabled - * Driver requirement: i915, xe - * Functionality: fbt - * Mega feature: General Display Features - * Test category: functionality test - */ - /* * basic - do some basic operations regardless of which features are enabled * diff --git a/tests/intel/kms_legacy_colorkey.c b/tests/intel/kms_legacy_colorkey.c index 877a6799a..6d11ecd79 100644 --- a/tests/intel/kms_legacy_colorkey.c +++ b/tests/intel/kms_legacy_colorkey.c @@ -21,27 +21,24 @@ * IN THE SOFTWARE. */ -#include "igt.h" -#include <errno.h> - /** * TEST: kms legacy colorkey * Category: Display * Description: Test to check the legacy set colorkey ioctl on sprite planes. - * - * SUBTEST: basic - * Description: Check that the legacy set colorkey ioctl only works on sprite planes. * Driver requirement: i915 * Functionality: plane, xorg_xv * Mega feature: General Display Features * Test category: functionality test + */ +#include "igt.h" +#include <errno.h> + +/** + * SUBTEST: basic + * Description: Check that the legacy set colorkey ioctl only works on sprite planes. * * SUBTEST: invalid-plane * Description: Check invalid plane id's, zero and outrange - * Driver requirement: i915 - * Functionality: plane, xorg_xv - * Mega feature: General Display Features - * Test category: functionality test */ IGT_TEST_DESCRIPTION("Check that the legacy set colorkey ioctl only works on sprite planes."); diff --git a/tests/intel/kms_mmap_write_crc.c b/tests/intel/kms_mmap_write_crc.c index 17d72ee32..34c9fafd5 100644 --- a/tests/intel/kms_mmap_write_crc.c +++ b/tests/intel/kms_mmap_write_crc.c @@ -24,6 +24,16 @@ * Tiago Vignatti <tiago.vignatti at intel.com> */ +/** + * TEST: kms mmap write crc + * Category: Display + * Description: Use the display CRC support to validate mmap write to an already + * uncached future scanout buffer. + * Driver requirement: i915, xe + * Functionality: kms_core, kms_gem_interop + * Mega feature: General Display Features + * Test category: functionality test + */ #include <errno.h> #include <limits.h> #include <stdbool.h> @@ -37,18 +47,10 @@ #include "intel_chipset.h" #include "ioctl_wrappers.h" #include "igt_aux.h" + /** - * TEST: kms mmap write crc - * Category: Display - * Description: Use the display CRC support to validate mmap write to an already - * uncached future scanout buffer. - * * SUBTEST: main * Description: Tests that caching mode has become UC/WT and flushed using mmap write - * Driver requirement: i915, xe - * Functionality: kms_core, kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test */ IGT_TEST_DESCRIPTION( diff --git a/tests/intel/kms_pipe_b_c_ivb.c b/tests/intel/kms_pipe_b_c_ivb.c index 386f3003a..3d7e5a5af 100644 --- a/tests/intel/kms_pipe_b_c_ivb.c +++ b/tests/intel/kms_pipe_b_c_ivb.c @@ -24,53 +24,39 @@ * Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> */ -#include "igt.h" /** * TEST: kms pipe b c ivb * Category: Display * Description: Exercise the FDI lane bifurcation code for IVB in the kernel by * setting different combinations of modes for pipes B and C. - * - * SUBTEST: disable-pipe-B-enable-pipe-C - * Description: Tests pipe-B and pipe-C interactions in IVB by disabling pipe-B - * and then setting mode on pipe-C. * Driver requirement: i915 * Functionality: kms_core, obsolete * Mega feature: General Display Features * Test category: functionality test + */ +#include "igt.h" + +/** + * SUBTEST: disable-pipe-B-enable-pipe-C + * Description: Tests pipe-B and pipe-C interactions in IVB by disabling pipe-B + * and then setting mode on pipe-C. * * SUBTEST: enable-pipe-C-while-B-has-3-lanes * Description: Tests pipe-B and pipe-C interactions in IVB by enabling pipe-C * while pipe-B has 3-lanes - * Driver requirement: i915 - * Functionality: kms_core, obsolete - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: from-pipe-C-to-B-with-3-lanes * Description: Tests pipe-B and pipe-C interactions in IVB by enabling pipe-B * with 3 lanes from pipe-C. - * Driver requirement: i915 - * Functionality: kms_core, obsolete - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: pipe-B-double-modeset-then-modeset-pipe-C * Description: Tests pipe-B and pipe-C interactions in IVB by enabling two * different modes on pipe-B and then a single mode on pipe-C. - * Driver requirement: i915 - * Functionality: kms_core, obsolete - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: pipe-B-dpms-off-modeset-pipe-C * Description: 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. - * Driver requirement: i915 - * Functionality: kms_core, obsolete - * Mega feature: General Display Features - * Test category: functionality test */ IGT_TEST_DESCRIPTION( diff --git a/tests/intel/kms_pm_backlight.c b/tests/intel/kms_pm_backlight.c index f3f22da51..af9ffab4c 100644 --- a/tests/intel/kms_pm_backlight.c +++ b/tests/intel/kms_pm_backlight.c @@ -25,6 +25,15 @@ * */ +/** + * TEST: kms pm backlight + * Category: Display + * Description: Basic backlight sysfs test + * Driver requirement: i915 + * Functionality: backlight + * Mega feature: Display Power Management + * Test category: functionality test + */ #include "igt.h" #include <limits.h> #include <sys/types.h> @@ -36,45 +45,24 @@ #include <time.h> #include "igt_device.h" #include "igt_device_scan.h" + /** - * TEST: kms pm backlight - * Category: Display - * Description: Basic backlight sysfs test - * * SUBTEST: bad-brightness * Description: Test the bad brightness. - * Driver requirement: i915 - * Functionality: backlight - * Mega feature: Display Power Management - * Test category: functionality test * * SUBTEST: basic-brightness * Description: Test the basic brightness. - * Driver requirement: i915 - * Functionality: backlight - * Mega feature: Display Power Management - * Test category: functionality test * * SUBTEST: fade * Description: Test basic fade. - * Driver requirement: i915 - * Functionality: backlight - * Mega feature: Display Power Management - * Test category: functionality test * * SUBTEST: fade-with-dpms * Description: Test the fade with DPMS. - * Driver requirement: i915 * Functionality: dpms, backlight - * Mega feature: Display Power Management - * Test category: functionality test * * SUBTEST: fade-with-suspend * Description: Test the fade with suspend. - * Driver requirement: i915 * Functionality: backlight, suspend - * Mega feature: Display Power Management - * Test category: functionality test */ struct context { diff --git a/tests/intel/kms_pm_dc.c b/tests/intel/kms_pm_dc.c index 9c5d990f7..a5471f32b 100644 --- a/tests/intel/kms_pm_dc.c +++ b/tests/intel/kms_pm_dc.c @@ -22,6 +22,15 @@ * */ +/** + * TEST: kms pm dc + * Category: Display + * Description: Tests to validate display power DC states. + * Driver requirement: i915 + * Functionality: dpms, pm_dc + * Mega feature: Display Power Management + * Test category: functionality test + */ #include <errno.h> #include <fcntl.h> #include <stdbool.h> @@ -36,63 +45,35 @@ #include "limits.h" #include "time.h" #include "igt_pm.h" + /** - * TEST: kms pm dc - * Category: Display - * Description: Tests to validate display power DC states. - * * SUBTEST: dc3co-vpb-simulation * Description: Make sure that system enters DC3CO when PSR2 is active and system * is in SLEEP state - * Driver requirement: i915 * Functionality: dc3co, pm_dc, psr2 - * Mega feature: Display Power Management - * Test category: functionality test * * SUBTEST: dc5-dpms * Description: Validate display engine entry to DC5 state while all connectors's * DPMS property set to OFF - * Driver requirement: i915 - * Functionality: dpms, pm_dc - * Mega feature: Display Power Management - * Test category: functionality test * * SUBTEST: dc5-dpms-negative * Description: Validate negative scenario of DC5 display engine entry to DC5 state * while all connectors's DPMS property set to ON - * Driver requirement: i915 - * Functionality: dpms, pm_dc - * Mega feature: Display Power Management - * Test category: functionality test * * SUBTEST: dc5-psr * Description: This test validates display engine entry to DC5 state while PSR is active - * Driver requirement: i915 * Functionality: pm_dc, psr - * Mega feature: Display Power Management - * Test category: functionality test * * SUBTEST: dc6-dpms * Description: Validate display engine entry to DC6 state while all connectors's * DPMS property set to OFF - * Driver requirement: i915 - * Functionality: dpms, pm_dc - * Mega feature: Display Power Management - * Test category: functionality test * * SUBTEST: dc6-psr * Description: This test validates display engine entry to DC6 state while PSR is active - * Driver requirement: i915 * Functionality: pm_dc, psr - * Mega feature: Display Power Management - * Test category: functionality test * * SUBTEST: dc9-dpms * Description: This test validates display engine entry to DC9 state - * Driver requirement: i915 - * Functionality: dpms, pm_dc - * Mega feature: Display Power Management - * Test category: functionality test */ /* DC State Flags */ diff --git a/tests/intel/kms_pm_lpsp.c b/tests/intel/kms_pm_lpsp.c index b2db4f653..6536860a1 100644 --- a/tests/intel/kms_pm_lpsp.c +++ b/tests/intel/kms_pm_lpsp.c @@ -24,6 +24,15 @@ * */ +/** + * TEST: kms pm lpsp + * Category: Display + * Description: These tests validates display Low Power Single Pipe configurations + * Driver requirement: i915 + * Functionality: pm_lpsp + * Mega feature: Display Power Management + * Test category: functionality test + */ #include "igt.h" #include "igt_kmod.h" #include "igt_pm.h" @@ -32,24 +41,13 @@ #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> + /** - * TEST: kms pm lpsp - * Description: These tests validates display Low Power Single Pipe configurations - * Category: Display - * * SUBTEST: kms-lpsp * Description: This test validates lpsp on all connected outputs on low power PIPE_A - * Driver requirement: i915 - * Functionality: pm_lpsp - * Mega feature: Display Power Management - * Test category: functionality test * * SUBTEST: screens-disabled * Description: This test validates lpsp while all crtc are disabled - * Driver requirement: i915 - * Functionality: pm_lpsp - * Mega feature: Display Power Management - * Test category: functionality test */ #define MAX_SINK_LPSP_INFO_BUF_LEN 4096 diff --git a/tests/intel/kms_psr.c b/tests/intel/kms_psr.c index ffecc5222..8ab14dabb 100644 --- a/tests/intel/kms_psr.c +++ b/tests/intel/kms_psr.c @@ -26,6 +26,9 @@ * TEST: kms psr * Category: Display * Description: Tests behaviour of PSR & PSR2 + * Driver requirement: i915, xe + * Mega feature: PSR + * Test category: functionality test */ #include "igt.h" @@ -41,18 +44,12 @@ /** * SUBTEST: basic * Description: Basic check for psr if it is detecting changes made in planes - * Driver requirement: i915, xe * Functionality: psr - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: %s_%s * Description: Check if psr is detecting memory mapping, rendering and plane * operations performed on %arg[1] - * Driver requirement: i915 * Functionality: kms_core, plane, psr - * Mega feature: PSR - * Test category: functionality test * * arg[1]: * @@ -70,18 +67,12 @@ * SUBTEST: sprite_plane_move * Description: Check if psr is detecting memory mapping, rendering and plane * operations performed on sprite planes - * Driver requirement: i915, xe * Functionality: plane, psr - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: %s_%s * Description: Check if psr is detecting memory mapping, rendering and plane * operations performed on %arg[1] planes - * Driver requirement: i915, xe * Functionality: kms_core, plane, psr - * Mega feature: PSR - * Test category: functionality test * * arg[1]: * @@ -99,10 +90,7 @@ * SUBTEST: primary_%s * Description: Check if psr is detecting memory mapping, rendering and plane * operations performed on %arg[1] planes - * Driver requirement: i915, xe * Functionality: kms_core, psr - * Mega feature: PSR - * Test category: functionality test * * arg[1]: * @@ -114,63 +102,39 @@ * SUBTEST: dpms * Description: Check if psr is detecting changes when rendering operation is * performed with dpms enabled or disabled - * Driver requirement: i915, xe * Functionality: dpms, psr - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: no_drrs * Description: Check if psr is detecting changes when drrs is disabled - * Driver requirement: i915, xe * Functionality: drrs, psr - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: suspend * Description: Check if psr is detecting changes when plane operation * is performed with suspend resume cycles - * Driver requirement: i915, xe * Functionality: psr, suspend - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: psr2_dpms * Description: Check if psr is detecting changes when rendering operation * is performed with dpms enabled or disabled - * Driver requirement: i915, xe * Functionality: dpms, psr, psr2 - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: psr2_no_drrs * Description: Check if psr is detecting changes when drrs is disabled - * Driver requirement: i915, xe * Functionality: drrs, psr, psr2 - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: psr2_suspend * Description: Check if psr is detecting changes when plane operation is * performed with suspend resume cycles - * Driver requirement: i915, xe * Functionality: psr, psr2, suspend - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: psr2_basic * Description: Basic check for psr if it is detecting changes made in planes - * Driver requirement: i915, xe * Functionality: psr, psr2 - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: psr2_%s_%s * Description: Check if psr2 is detecting memory mapping, rendering and plane * operations performed on %arg[1] planes - * Driver requirement: i915 * Functionality: kms_core, plane, psr, psr2 - * Mega feature: PSR - * Test category: functionality test * * arg[1]: * @@ -188,18 +152,12 @@ * SUBTEST: psr2_primary_page_flip * Description: Check if psr is detecting memory mapping, rendering and plane * operations performed on primary planes - * Driver requirement: i915, xe * Functionality: plane, psr, psr2 - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: psr2_primary_%s * Description: Check if psr is detecting memory mapping, rendering and plane * operations performed on primary planes - * Driver requirement: i915, xe * Functionality: kms_core, plane, psr, psr2 - * Mega feature: PSR - * Test category: functionality test * * arg[1]: * @@ -211,10 +169,7 @@ * SUBTEST: psr2_%s_%s * Description: Check if psr is detecting memory mapping, rendering and plane * operations performed on %arg[1] planes - * Driver requirement: i915, xe * Functionality: kms_core, plane, psr, psr2 - * Mega feature: PSR - * Test category: functionality test * * arg[1]: * @@ -229,6 +184,23 @@ * @plane_move: Move plane position */ +/** + * SUBTEST: cursor_plane_move + * Description: Check if psr is detecting the plane operations performed on + * cursor planes + * Functionality: psr + * + * SUBTEST: primary_page_flip + * Description: Check if psr is detecting page-flipping operations performed + * on primary planes + * Functionality: psr + * + * SUBTEST: sprite_plane_onoff + * Description: Check if psr is detecting the plane operations performed on + * sprite planes + * Functionality: psr + */ + enum operations { PAGE_FLIP, MMAP_GTT, @@ -501,32 +473,6 @@ static void fb_dirty_fb_ioctl(data_t *data, struct igt_fb *fb) igt_assert(ret == 0 || ret == -ENOSYS); } -/** - * SUBTEST: cursor_plane_move - * Description: Check if psr is detecting the plane operations performed on - * cursor planes - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: psr - * Mega feature: PSR - * - * SUBTEST: primary_page_flip - * Description: Check if psr is detecting page-flipping operations performed - * on primary planes - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: psr - * Mega feature: PSR - * - * SUBTEST: sprite_plane_onoff - * Description: Check if psr is detecting the plane operations performed on - * sprite planes - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: psr - * Mega feature: PSR - */ - static void run_test(data_t *data) { uint32_t handle = data->fb_white.gem_handle; diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c index d7a746211..01bf6e4bd 100644 --- a/tests/intel/kms_psr2_sf.c +++ b/tests/intel/kms_psr2_sf.c @@ -22,90 +22,62 @@ * */ -#include "igt.h" -#include "igt_sysfs.h" -#include "igt_psr.h" -#include "kms_dsc_helper.h" -#include <errno.h> -#include <stdbool.h> -#include <stdio.h> -#include <string.h> /** * TEST: kms psr2 sf * Category: Display * Description: Tests to varify PSR2 selective fetch by sending multiple damaged * areas - * - * SUBTEST: %s-plane-move-continuous-%s - * Description: Test that selective fetch works on moving %arg[1] plane %arg[2] - * visible area (no update) * Driver requirement: i915, xe * Functionality: plane, psr2, selective_fetch * Mega feature: PSR * Test category: functionality test - * - * arg[1]: - * - * @cursor: Cursor - * @overlay: Overlay - * - * arg[2]: - * - * @exceed-fully-sf: exceeding fully - * @exceed-sf: exceeding paritally - * @sf: default */ +#include "igt.h" +#include "igt_sysfs.h" +#include "igt_psr.h" +#include "kms_dsc_helper.h" +#include <errno.h> +#include <stdbool.h> +#include <stdio.h> +#include <string.h> /** * SUBTEST: cursor-plane-update-sf * Description: Test that selective fetch works on cursor plane - * Driver requirement: i915, xe - * Functionality: cursor, psr2, selective_fetch - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: overlay-plane-update-continuous-sf * Description: Test that selective fetch works on overlay plane - * Driver requirement: i915, xe - * Functionality: plane, psr2, selective_fetch - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: overlay-plane-update-sf-dmg-area * Description: Test that selective fetch works on overlay plane - * Driver requirement: i915, xe - * Functionality: plane, psr2, selective_fetch - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: overlay-primary-update-sf-dmg-area * Description: Test that selective fetch works on primary plane with blended * overlay plane - * Driver requirement: i915, xe - * Functionality: plane, psr2, selective_fetch - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: plane-move-sf-dmg-area * Description: Test that selective fetch works on moving overlay plane - * Driver requirement: i915, xe - * Functionality: plane, psr2, selective_fetch - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: primary-plane-update-sf-dmg-area * Description: Test that selective fetch works on primary plane - * Driver requirement: i915, xe - * Functionality: plane, psr2, selective_fetch - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: primary-plane-update-sf-dmg-area-big-fb * Description: Test that selective fetch works on primary plane with big fb - * Driver requirement: i915, xe - * Functionality: plane, psr2, selective_fetch - * Mega feature: PSR - * Test category: functionality test + * + * SUBTEST: %s-plane-move-continuous-%s + * Description: Test that selective fetch works on moving %arg[1] plane %arg[2] + * visible area (no update) + * + * arg[1]: + * + * @cursor: Cursor + * @overlay: Overlay + * + * arg[2]: + * + * @exceed-fully-sf: exceeding fully + * @exceed-sf: exceeding paritally + * @sf: default */ IGT_TEST_DESCRIPTION("Tests to varify PSR2 selective fetch by sending multiple" diff --git a/tests/intel/kms_psr2_su.c b/tests/intel/kms_psr2_su.c index 321144d6b..89d3127dc 100644 --- a/tests/intel/kms_psr2_su.c +++ b/tests/intel/kms_psr2_su.c @@ -22,6 +22,14 @@ * */ +/** + * TEST: kms psr2 su + * Category: Display + * Description: Test PSR2 selective update + * Driver requirement: i915, xe + * Mega feature: PSR + * Test category: functionality test + */ #include "igt.h" #include "igt_sysfs.h" #include "igt_psr.h" @@ -30,24 +38,15 @@ #include <stdio.h> #include <string.h> #include <sys/timerfd.h> + /** - * TEST: kms psr2 su - * Category: Display - * Description: Test PSR2 selective update - * * SUBTEST: frontbuffer-XRGB8888 * Description: Test that selective update works when screen changes - * Driver requirement: i915, xe * Functionality: fbt, psr2, selective_update - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: page_flip-%s * Description: Test the selective update with %arg[1] when screen changes - * Driver requirement: i915, xe * Functionality: pixel-format, psr2, selective_update - * Mega feature: PSR - * Test category: functionality test * * arg[1]: * diff --git a/tests/intel/kms_psr_stress_test.c b/tests/intel/kms_psr_stress_test.c index b6759eece..ac1cccfab 100644 --- a/tests/intel/kms_psr_stress_test.c +++ b/tests/intel/kms_psr_stress_test.c @@ -1,3 +1,12 @@ + +/** + * TEST: kms psr stress test + * Category: Display + * Driver requirement: i915, xe + * Functionality: plane, psr + * Mega feature: PSR + * Test category: functionality test + */ #include "igt.h" #include "igt_sysfs.h" #include "igt_psr.h" @@ -7,25 +16,15 @@ #include <stdio.h> #include <string.h> #include <sys/timerfd.h> + /** - * TEST: kms psr stress test - * Category: Display - * * SUBTEST: flip-primary-invalidate-overlay * Description: Mix page flips in primary plane and frontbuffer writes to overlay * plane and check for warnings, underruns or PSR state changes - * Driver requirement: i915, xe - * Functionality: plane, psr - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: invalidate-primary-flip-overlay * Description: Mix frontbuffer writes to the primary plane and page flips in the * overlay plane and check for warnings, underruns or PSR state changes - * Driver requirement: i915, xe - * Functionality: plane, psr - * Mega feature: PSR - * Test category: functionality test */ #define INVALIDATES_PER_SEC 15 diff --git a/tests/intel/kms_pwrite_crc.c b/tests/intel/kms_pwrite_crc.c index 50df18aa3..72ea2df39 100644 --- a/tests/intel/kms_pwrite_crc.c +++ b/tests/intel/kms_pwrite_crc.c @@ -22,6 +22,15 @@ * */ +/** + * TEST: kms pwrite crc + * Category: Display + * Description: Test to validate pwrite buffer using the display CRC + * Driver requirement: i915 + * Functionality: crc, kms_core, kms_gem_interop + * Mega feature: General Display Features + * Test category: functionality test + */ #include "igt.h" #include <errno.h> #include <limits.h> @@ -30,17 +39,9 @@ #include <string.h> /** - * TEST: kms pwrite crc - * Category: Display - * Description: Test to validate pwrite buffer using the display CRC - * * SUBTEST: * Description: Use the display CRC support to validate pwrite to an already * uncached future scanout buffer. - * Driver requirement: i915 - * Functionality: crc, kms_core, kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test */ IGT_TEST_DESCRIPTION( diff --git a/tests/kms_3d.c b/tests/kms_3d.c index fa73d0cc6..567115065 100644 --- a/tests/kms_3d.c +++ b/tests/kms_3d.c @@ -22,20 +22,22 @@ * */ -#include "igt.h" -#include "xe/xe_query.h" /** * TEST: kms 3d * Category: Display * Description: Tests 3D mode setting. - * - * SUBTEST: - * Description: Tests 3D mode setting. * Driver requirement: i915, xe * Functionality: stereoscopic * Mega feature: General Display Features * Test category: functionality test */ +#include "igt.h" +#include "xe/xe_query.h" + +/** + * SUBTEST: + * Description: Tests 3D mode setting. + */ IGT_TEST_DESCRIPTION("Tests 3D mode setting."); diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c index fc16b8814..1befdc2e3 100644 --- a/tests/kms_addfb_basic.c +++ b/tests/kms_addfb_basic.c @@ -29,6 +29,10 @@ * TEST: kms addfb basic * Category: Display * Description: Sanity test for ioctls DRM_IOCTL_MODE_ADDFB2 & DRM_IOCTL_MODE_RMFB. + * Driver requirement: i915, xe + * Functionality: kms_gem_interop + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" @@ -50,58 +54,27 @@ #include "xe/xe_ioctl.h" #include "xe/xe_query.h" -static uint32_t gem_bo; -static uint32_t gem_bo_small; -static igt_display_t display; - -static int legacy_addfb(int fd, struct drm_mode_fb_cmd *arg) -{ - int err; - - err = 0; - if (igt_ioctl(fd, DRM_IOCTL_MODE_ADDFB, arg)) - err = -errno; - - errno = 0; - return err; -} - /** + * SUBTEST: master-rmfb + * Description: Check that only master can rmfb + * * SUBTEST: unused-%s * Description: Test that addfb2 call fails correctly for unused %arg[1] - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop - * Mega feature: General Display Features * * SUBTEST: unused-modifier * Description: Test that addfb2 call fails correctly for unused modifier - * Driver requirement: i915, xe - * Test category: functionality test * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features * * SUBTEST: clobberred-modifier * Description: Check if addfb2 call works for clobbered modifier - * Driver requirement: i915 * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: invalid-smem-bo-on-discrete * Description: Check if addfb2 with a system memory gem object fails correctly * if device requires local memory framebuffers - * Driver requirement: i915, xe - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: legacy-format * Description: Check if addfb2 call works for legacy formats - * Driver requirement: i915, xe - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * @@ -109,6 +82,133 @@ static int legacy_addfb(int fd, struct drm_mode_fb_cmd *arg) * @pitches: Pitches * @offsets: Offsets */ + +/** + * SUBTEST: no-handle + * Description: Test that addfb2 call fails correctly without handle + * + * SUBTEST: basic + * Description: Check if addfb2 call works with given handle + * + * SUBTEST: bad-pitch-%i + * Description: bad-pitch-%arg[1]: Test that addfb2 call fails correctly for bad-pitches + * + * arg[1].values: 0, 32, 63, 128, 256, 999, 1024, 65536 + */ + +/** + * SUBTEST: basic-%s-tiled-legacy + * Description: Check if addfb2 and rmfb call works for basic %arg[1] test + * Functionality: kms_gem_interop, tiling + * + * SUBTEST: framebuffer-vs-set-tiling + * Description: Check if addfb2 call works for x and y tiling + * Driver requirement: i915 + * Functionality: kms_gem_interop, tiling + * + * SUBTEST: tile-pitch-mismatch + * Description: Test that addfb2 call fails correctly for pitches mismatch + * Functionality: kms_gem_interop, tiling + * + * arg[1]: + * + * @x: x-tiling + * @y: y-tiling + */ + +/** + * SUBTEST: size-max + * Description: Check if addfb2 call works with max size of buffer object + * + * SUBTEST: too-wide + * Description: Test that addfb2 call fails correctly with increased width of fb + * + * SUBTEST: too-high + * Description: Test that addfb2 call fails correctly with increased height of fb + * + * SUBTEST: bo-too-small + * Description: Test that addfb2 call fails correctly with small size of buffer object + * + * SUBTEST: small-bo + * Description: Check if addfb2 call works for given height + * + * SUBTEST: bo-too-small-due-to-tiling + * Description: Test that addfb2 call fails correctly with small buffer object + * after changing tile + * Functionality: kms_gem_interop, tiling + * + * SUBTEST: addfb25-modifier-no-flag + * Description: Test that addfb2 call fails correctly for x-tiling with given modifier + * Functionality: kms_gem_interop, tiling + * + * SUBTEST: addfb25-bad-modifier + * Description: Test that addfb2 call fails correctly for irrelevant modifier + * Functionality: kms_gem_interop, tiling + * + * SUBTEST: addfb25-x-tiled-mismatch-legacy + * Description: Test that addfb2 call fails correctly for irrelevant x-tiling + * Functionality: kms_gem_interop, tiling + * + * SUBTEST: addfb25-x-tiled-legacy + * Description: Check if addfb2 call works for x-tiling + * Functionality: kms_gem_interop, tiling + * + * SUBTEST: addfb25-framebuffer-vs-set-tiling + * Description: Check if addfb2 call works for relevant combination of tiling and fbs + * Driver requirement: i915 + * Functionality: kms_gem_interop, tiling + * + * SUBTEST: addfb25-4-tiled + * Description: Check if addfb2 call works for tiling-4 + * Functionality: kms_gem_interop, tiling + */ + +/** + * SUBTEST: addfb25-y-tiled-%s + * Description: Check if addfb2 call works for y-tiling %arg[1] + * Functionality: kms_gem_interop, tiling + * + * SUBTEST: addfb25-yf-tiled-legacy + * Description: Check if addfb2 call works for yf-tiling + * Functionality: kms_gem_interop, tiling + * + * arg[1]: + * + * @legacy: with default size + * @small-legacy: with given size & modifier + */ + +/** + * SUBTEST: invalid-%s-%s + * Description: Test that %arg[1] ioctl call fails correctly for %arg[2] object + * + * arg[1]: + * + * @get: get-properties + * @set: set-properties + * + * arg[2]: + * + * @prop: fb mode + * @prop-any: invalid + */ + +static uint32_t gem_bo; +static uint32_t gem_bo_small; +static igt_display_t display; + +static int legacy_addfb(int fd, struct drm_mode_fb_cmd *arg) +{ + int err; + + err = 0; + if (igt_ioctl(fd, DRM_IOCTL_MODE_ADDFB, arg)) + err = -errno; + + errno = 0; + return err; +} + static void invalid_tests(int fd) { struct drm_mode_fb_cmd2 f = {}; @@ -322,30 +422,6 @@ static void invalid_tests(int fd) } } -/** - * SUBTEST: no-handle - * Description: Test that addfb2 call fails correctly without handle - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * - * SUBTEST: basic - * Description: Check if addfb2 call works with given handle - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * - * SUBTEST: bad-pitch-%i - * Description: bad-pitch-%arg[1]: Test that addfb2 call fails correctly for bad-pitches - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * - * arg[1].values: 0, 32, 63, 128, 256, 999, 1024, 65536 - */ static void pitch_tests(int fd) { struct drm_mode_fb_cmd2 f = {}; @@ -393,33 +469,6 @@ static void pitch_tests(int fd) gem_close(fd, gem_bo); } -/** - * SUBTEST: basic-%s-tiled-legacy - * Description: Check if addfb2 and rmfb call works for basic %arg[1] test - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * - * SUBTEST: framebuffer-vs-set-tiling - * Description: Check if addfb2 call works for x and y tiling - * Driver requirement: i915 - * Test category: functionality test - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * - * SUBTEST: tile-pitch-mismatch - * Description: Test that addfb2 call fails correctly for pitches mismatch - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * - * arg[1]: - * - * @x: x-tiling - * @y: y-tiling - */ static void tiling_tests(int fd) { struct drm_mode_fb_cmd2 f = {}; @@ -506,50 +555,6 @@ static void tiling_tests(int fd) } } -/** - * SUBTEST: size-max - * Description: Check if addfb2 call works with max size of buffer object - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * - * SUBTEST: too-wide - * Description: Test that addfb2 call fails correctly with increased width of fb - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * - * SUBTEST: too-high - * Description: Test that addfb2 call fails correctly with increased height of fb - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * - * SUBTEST: bo-too-small - * Description: Test that addfb2 call fails correctly with small size of buffer object - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * - * SUBTEST: small-bo - * Description: Check if addfb2 call works for given height - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * - * SUBTEST: bo-too-small-due-to-tiling - * Description: Test that addfb2 call fails correctly with small buffer object - * after changing tile - * Driver requirement: i915 - * Test category: functionality test - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - */ static void size_tests(int fd) { struct drm_mode_fb_cmd2 f = {}; @@ -665,42 +670,6 @@ static void size_tests(int fd) } } -/** - * SUBTEST: addfb25-modifier-no-flag - * Description: Test that addfb2 call fails correctly for x-tiling with given modifier - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * - * SUBTEST: addfb25-bad-modifier - * Description: Test that addfb2 call fails correctly for irrelevant modifier - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * - * SUBTEST: addfb25-x-tiled-mismatch-legacy - * Description: Test that addfb2 call fails correctly for irrelevant x-tiling - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * - * SUBTEST: addfb25-x-tiled-legacy - * Description: Check if addfb2 call works for x-tiling - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * - * SUBTEST: addfb25-framebuffer-vs-set-tiling - * Description: Check if addfb2 call works for relevant combination of tiling and fbs - * Driver requirement: i915 - * Test category: functionality test - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - */ static void addfb25_tests(int fd) { struct drm_mode_fb_cmd2 f = {}; @@ -786,26 +755,6 @@ static int addfb_expected_ret(igt_display_t *disp, struct drm_mode_fb_cmd2 *f) f->modifier[0]) ? 0 : -1; } -/** - * SUBTEST: addfb25-y-tiled-%s - * Description: Check if addfb2 call works for y-tiling %arg[1] - * Driver requirement: i915, xe - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: addfb25-yf-tiled-legacy - * Description: Check if addfb2 call works for yf-tiling - * Driver requirement: i915, xe - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @legacy: with default size - * @small-legacy: with given size & modifier - */ static void addfb25_ytile(int fd) { struct drm_mode_fb_cmd2 f = {}; @@ -872,14 +821,6 @@ static void addfb25_ytile(int fd) } } -/** - * SUBTEST: addfb25-4-tiled - * Description: Check if addfb2 call works for tiling-4 - * Driver requirement: i915, xe - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * Test category: functionality test - */ static void addfb25_4tile(int fd) { struct drm_mode_fb_cmd2 f = {}; @@ -918,24 +859,6 @@ static void addfb25_4tile(int fd) gem_close(fd, gem_bo); } -/** - * SUBTEST: invalid-%s-%s - * Description: Test that %arg[1] ioctl call fails correctly for %arg[2] object - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * - * arg[1]: - * - * @get: get-properties - * @set: set-properties - * - * arg[2]: - * - * @prop: fb mode - * @prop-any: invalid - */ static void prop_tests(int fd) { struct drm_mode_fb_cmd2 f = {}; @@ -1001,14 +924,6 @@ static void prop_tests(int fd) } } -/** - * SUBTEST: master-rmfb - * Description: Check that only master can rmfb - * Driver requirement: i915, xe - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test - */ static void master_tests(int fd) { struct drm_mode_fb_cmd2 f = {}; diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c index 6c97558be..fa9cef937 100644 --- a/tests/kms_async_flips.c +++ b/tests/kms_async_flips.c @@ -29,6 +29,10 @@ * TEST: kms async flips * Category: Display * Description: Test asynchronous page flips. + * Driver requirement: i915, xe + * Functionality: async_flips, vblank + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include "igt_aux.h" @@ -37,6 +41,32 @@ #include <sys/time.h> #include <poll.h> +/** + * SUBTEST: alternate-sync-async-flip + * Description: Verify the async flip functionality and the fps during async flips + * Alternate between sync and async flips + * + * SUBTEST: async-flip-with-page-flip-events + * Description: Verify the async flip functionality and the fps during async flips + * Wait for page flip events in between successive asynchronous flips + * + * SUBTEST: crc + * Description: Use CRC to verify async flip scans out the correct framebuffer + * Functionality: async_flips, crc, vblank + * + * SUBTEST: invalid-async-flip + * Description: Negative case to verify if changes in fb are rejected from kernel as expected + * + * SUBTEST: test-time-stamp + * Description: Verify the async flip functionality and the fps during async flips + * Verify that the async flip timestamp does not coincide with either + * previous or next vblank + * + * SUBTEST: test-cursor + * Description: Verify that the DRM_IOCTL_MODE_CURSOR passes after async flip + * Functionality: async_flips, cursor, vblank + */ + #define CURSOR_POS 128 /* @@ -203,23 +233,6 @@ static void test_init_fbs(data_t *data) igt_display_commit2(&data->display, data->display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY); } -/** - * SUBTEST: alternate-sync-async-flip - * Description: Verify the async flip functionality and the fps during async flips - * Alternate between sync and async flips - * Driver requirement: i915, xe - * Functionality: async_flips, vblank - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: async-flip-with-page-flip-events - * Description: Verify the async flip functionality and the fps during async flips - * Wait for page flip events in between successive asynchronous flips - * Driver requirement: i915, xe - * Functionality: async_flips, vblank - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_async_flip(data_t *data) { int ret, frame; @@ -315,16 +328,6 @@ static void wait_for_vblank(data_t *data, unsigned long *vbl_time, unsigned int *seq = wait_vbl.reply.sequence; } -/** - * SUBTEST: test-time-stamp - * Description: Verify the async flip functionality and the fps during async flips - * Verify that the async flip timestamp does not coincide with either - * previous or next vblank - * Driver requirement: i915, xe - * Functionality: async_flips, vblank - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_timestamp(data_t *data) { int flags = DRM_MODE_PAGE_FLIP_ASYNC | DRM_MODE_PAGE_FLIP_EVENT; @@ -369,14 +372,6 @@ static void test_timestamp(data_t *data) "Async flip time stamp is expected to be in between 2 vblank time stamps\n"); } -/** - * SUBTEST: test-cursor - * Description: Verify that the DRM_IOCTL_MODE_CURSOR passes after async flip - * Driver requirement: i915, xe - * Functionality: async_flips, cursor, vblank - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_cursor(data_t *data) { int flags = DRM_MODE_PAGE_FLIP_ASYNC | DRM_MODE_PAGE_FLIP_EVENT; @@ -529,14 +524,6 @@ static unsigned int clock_ms(void) return ts.tv_sec * 1000 + ts.tv_nsec / 1000000; } -/** - * SUBTEST: crc - * Description: Use CRC to verify async flip scans out the correct framebuffer - * Driver requirement: i915, xe - * Functionality: async_flips, crc, vblank - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_crc(data_t *data) { unsigned int frame = 0; @@ -599,14 +586,6 @@ static void test_crc(data_t *data) igt_assert_lt(data->frame_count * 2, data->flip_count); } -/** - * SUBTEST: invalid-async-flip - * Description: Negative case to verify if changes in fb are rejected from kernel as expected - * Driver requirement: i915, xe - * Functionality: async_flips, vblank - * Mega feature: General Display Features - * Test category: functionality test - */ static void run_test(data_t *data, void (*test)(data_t *)) { igt_display_t *display = &data->display; diff --git a/tests/kms_atomic.c b/tests/kms_atomic.c index d1511716a..44e6c4902 100644 --- a/tests/kms_atomic.c +++ b/tests/kms_atomic.c @@ -31,6 +31,10 @@ * TEST: kms atomic * Category: Display * Description: Test atomic modesetting API + * Driver requirement: i915, xe + * Functionality: kms_core + * Mega feature: General Display Features + * Test category: functionality test */ #include <unistd.h> @@ -48,6 +52,59 @@ #include "igt_aux.h" #include "sw_sync.h" +/** + * SUBTEST: atomic-invalid-params + * Description: Test abuse the atomic ioctl directly in order to test various + * invalid conditions which the libdrm wrapper won't allow us to + * create. + * + * SUBTEST: atomic_plane_damage + * Description: Simple test cases to use FB_DAMAGE_CLIPS plane property + * + * SUBTEST: plane-primary-overlay-mutable-zpos + * Description: Verify that the overlay plane can cover the primary one (and + * vice versa) by changing their zpos property. + * Functionality: kms_core, plane + * + * SUBTEST: plane-immutable-zpos + * Description: Verify the reported zpos property of planes by making sure only + * higher zpos planes cover the lower zpos ones. + * Functionality: kms_core, plane + * + * SUBTEST: test-only + * Description: Test to ensure that DRM_MODE_ATOMIC_TEST_ONLY really only touches + * the free-standing state objects and nothing else. + */ + +/** + * SUBTEST: plane-%s-legacy + * Description: Test for KMS atomic modesetting on %arg[1] and ensure coherency + * between legacy and atomic interfaces. + * Functionality: kms_core, plane + * + * arg[1]: + * + * @cursor: Cursor plane + * @overlay: Overlay plane + * @primary: Primary plane + */ + +/** + * SUBTEST: %s-invalid-%s + * Description: Test error handling when invalid %arg[1] %arg[2] are passed + * Functionality: kms_core, plane + * + * arg[1]: + * + * @crtc: crtc + * @plane: plane + * + * arg[2]: + * + * @params: parameters + * @params-fence: fence parameters + */ + #ifndef DRM_CAP_CURSOR_WIDTH #define DRM_CAP_CURSOR_WIDTH 0x8 #endif @@ -289,15 +346,6 @@ static uint32_t plane_get_igt_format(igt_plane_t *plane) return 0; } -/** - * SUBTEST: plane-primary-overlay-mutable-zpos - * Description: Verify that the overlay plane can cover the primary one (and - * vice versa) by changing their zpos property. - * Driver requirement: i915, xe - * Functionality: kms_core, plane - * Mega feature: General Display Features - * Test category: functionality test - */ static void plane_primary_overlay_mutable_zpos(igt_pipe_t *pipe, igt_output_t *output, igt_plane_t *primary, igt_plane_t *overlay, @@ -380,15 +428,6 @@ plane_primary_overlay_mutable_zpos(igt_pipe_t *pipe, igt_output_t *output, igt_assert_eq_u64(igt_plane_get_prop(overlay, IGT_PLANE_ZPOS), 1); } -/** - * SUBTEST: plane-immutable-zpos - * Description: Verify the reported zpos property of planes by making sure only - * higher zpos planes cover the lower zpos ones. - * Driver requirement: i915, xe - * Functionality: kms_core, plane - * Mega feature: General Display Features - * Test category: functionality test - */ static void plane_immutable_zpos(igt_display_t *display, igt_pipe_t *pipe, igt_output_t *output) @@ -524,21 +563,6 @@ plane_immutable_zpos(igt_display_t *display, igt_pipe_t *pipe, igt_remove_fb(display->drm_fd, &fb_upper); } -/** - * SUBTEST: plane-%s-legacy - * Description: Test for KMS atomic modesetting on %arg[1] and ensure coherency - * between legacy and atomic interfaces. - * Driver requirement: i915, xe - * Functionality: kms_core, plane - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @cursor: Cursor plane - * @overlay: Overlay plane - * @primary: Primary plane - */ static void plane_overlay(igt_pipe_t *pipe, igt_output_t *output, igt_plane_t *plane) { drmModeModeInfo *mode = igt_output_get_mode(output); @@ -613,16 +637,6 @@ static void plane_primary(igt_pipe_t *pipe, igt_plane_t *plane, struct igt_fb *f plane_commit(plane, COMMIT_UNIVERSAL, ATOMIC_RELAX_NONE); } -/** - * SUBTEST: test-only - * Description: Test to ensure that DRM_MODE_ATOMIC_TEST_ONLY really only touches - * the free-standing state objects and nothing else. - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - */ - /* test to ensure that DRM_MODE_ATOMIC_TEST_ONLY really only touches the * free-standing state objects and nothing else. */ @@ -731,19 +745,6 @@ static void plane_cursor(igt_pipe_t *pipe_obj, plane_commit(cursor, COMMIT_LEGACY, ATOMIC_RELAX_NONE); } -/** - * SUBTEST: plane-invalid-%s - * Description: Test error handling when invalid %arg[1] are passed - * Driver requirement: i915, xe - * Functionality: kms_core, plane - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @params: plane parameters - * @params-fence: plane fence parameters - */ static void plane_invalid_params(igt_pipe_t *pipe, igt_output_t *output, igt_plane_t *plane, @@ -833,19 +834,6 @@ static void plane_invalid_params_fence(igt_pipe_t *pipe, close(timeline); } -/** - * SUBTEST: crtc-invalid-%s - * Description: Test error handling when invalid %arg[1] are passed - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @params: crtc parameters - * @params-fence: crtc fence parameters - */ static void crtc_invalid_params(igt_pipe_t *pipe, igt_output_t *output, igt_plane_t *plane, @@ -993,17 +981,6 @@ static void crtc_invalid_params_fence(igt_pipe_t *pipe, igt_assert(pipe->out_fence_fd != -1); } -/** - * SUBTEST: atomic-invalid-params - * Description: Test abuse the atomic ioctl directly in order to test various - * invalid conditions which the libdrm wrapper won't allow us to - * create. - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - */ - /* Abuse the atomic ioctl directly in order to test various invalid conditions, * which the libdrm wrapper won't allow us to create. */ static void atomic_invalid_params(igt_pipe_t *pipe, @@ -1145,14 +1122,6 @@ static void atomic_invalid_params(igt_pipe_t *pipe, do_ioctl_err(display->drm_fd, DRM_IOCTL_MODE_ATOMIC, &ioc, EFAULT); } -/** - * SUBTEST: atomic_plane_damage - * Description: Simple test cases to use FB_DAMAGE_CLIPS plane property - * Driver requirement: i915, xe - * Functionality: kms_core, plane - * Mega feature: General Display Features - * Test category: functionality test - */ static void atomic_plane_damage(igt_pipe_t *pipe, igt_plane_t *plane, struct igt_fb *fb) { struct drm_mode_rect damage[2]; diff --git a/tests/kms_atomic_interruptible.c b/tests/kms_atomic_interruptible.c index 0ae2435f9..582b80c42 100644 --- a/tests/kms_atomic_interruptible.c +++ b/tests/kms_atomic_interruptible.c @@ -25,6 +25,10 @@ * TEST: kms atomic interruptible * Category: Display * Description: Tests that interrupt various atomic ioctls. + * Driver requirement: i915, xe + * Functionality: kms_core + * Mega feature: General Display Features + * Test category: functionality test */ #include <signal.h> @@ -32,6 +36,40 @@ #include "drmtest.h" #include "sw_sync.h" +/** + * SUBTEST: legacy-cursor + * Description: Tests the interrupt properties for Cursor + * Functionality: cursor, kms_core + * + * SUBTEST: legacy-dpms + * Description: Tests the interrupt properties for DPMS + * Functionality: dpms, kms_core + * + * SUBTEST: legacy-pageflip + * Description: Tests the interrupt properties for page flip + */ + +/** + * SUBTEST: %s-setmode + * Description: Tests the interrupt properties of %arg[1] modeset + * + * arg[1]: + * + * @atomic: atomic + * @legacy: legacy + */ + +/** + * SUBTEST: universal-setplane-%s + * Description: Tests the interrupt properties for %arg[1] + * Functionality: kms_core, plane + * + * arg[1]: + * + * @cursor: Cursor plane + * @primary: Primary plane + */ + IGT_TEST_DESCRIPTION("Tests that interrupt various atomic ioctls."); enum plane_test_type @@ -79,56 +117,6 @@ static drmEventContext drm_events = { .page_flip_handler = ev_page_flip }; -/** - * SUBTEST: %s-setmode - * Description: Tests the interrupt properties of %arg[1] modeset - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @atomic: atomic - * @legacy: legacy - */ - -/** - * SUBTEST: legacy-cursor - * Description: Tests the interrupt properties for Cursor - * Driver requirement: i915, xe - * Functionality: cursor, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: legacy-dpms - * Description: Tests the interrupt properties for DPMS - * Driver requirement: i915, xe - * Functionality: dpms, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: legacy-pageflip - * Description: Tests the interrupt properties for page flip - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - */ - -/** - * SUBTEST: universal-setplane-%s - * Description: Tests the interrupt properties for %arg[1] - * Driver requirement: i915, xe - * Functionality: kms_core, plane - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @cursor: Cursor plane - * @primary: Primary plane - */ static void run_plane_test(igt_display_t *display, enum pipe pipe, igt_output_t *output, enum plane_test_type test_type, unsigned plane_type) { diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c index 3e72d1222..021a6f2f9 100644 --- a/tests/kms_atomic_transition.c +++ b/tests/kms_atomic_transition.c @@ -24,6 +24,10 @@ /** * TEST: kms atomic transition * Category: Display + * Driver requirement: i915, xe + * Functionality: plane, watermark + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include "igt_rand.h" @@ -37,6 +41,61 @@ #include <time.h> #include <poll.h> +/** + * SUBTEST: plane-primary-toggle-with-vblank-wait + * Description: Check toggling of primary plane with vblank + * Functionality: plane, vblank, watermark + */ + +/** + * SUBTEST: plane-all-modeset-%s + * Description: Modeset test for all plane combinations %arg[1] + * + * arg[1]: + * + * @transition: default + * @transition-fencing: with fencing commit + */ + +/** + * SUBTEST: plane-all-modeset-%s + * Description: Modeset test for all plane combinations %arg[1] + * Mega feature: eDP + * + * arg[1]: + * + * @transition-fencing-internal-panels: on internal panels with fencing commit + * @transition-internal-panels: on internal panels + */ + +/** + * SUBTEST: plane-all-%s + * Description: Transition test for all plane combinations %arg[1] + * + * SUBTEST: modeset-%s + * Description: Modeset transition tests for combinations of crtc enabled %arg[1] + * + * arg[1]: + * + * @transition: default + * @transition-fencing: with fencing commit + * @transition-nonblocking: with non-blocking commit + * @transition-nonblocking-fencing: with non-blocking & fencing commit + */ + +/** + * SUBTEST: plane-toggle-modeset-transition + * Description: Check toggling and modeset transition on plane + * + * SUBTEST: plane-use-after-nonblocking-%s + * Description: Transition test with non %arg[1] and make sure commit of disabled + * plane has to complete before atomic commit on that plane + * + * arg[1]: + * + * @unbind: blocking commit + * @unbind-fencing: blocking commit with fencing + */ #ifndef DRM_CAP_CURSOR_WIDTH #define DRM_CAP_CURSOR_WIDTH 0x8 #endif @@ -62,14 +121,6 @@ int *timeline; pthread_t *thread; int *seqno; -/** - * SUBTEST: plane-primary-toggle-with-vblank-wait - * Description: Check toggling of primary plane with vblank - * Driver requirement: i915, xe - * Functionality: plane, vblank, watermark - * Mega feature: General Display Features - * Test category: functionality test - */ static void run_primary_test(data_t *data, enum pipe pipe, igt_output_t *output) { @@ -482,72 +533,6 @@ static void wait_for_transition(data_t *data, enum pipe pipe, bool nonblocking, } } -/** - * SUBTEST: plane-all-modeset-%s - * Description: Modeset test for all plane combinations %arg[1] - * Driver requirement: i915, xe - * Functionality: plane, watermark - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @transition: default - * @transition-fencing: with fencing commit - */ - -/** - * SUBTEST: plane-all-modeset-%s - * Description: Modeset test for all plane combinations %arg[1] - * Driver requirement: i915, xe - * Functionality: plane, watermark - * Mega feature: eDP - * Test category: functionality test - * - * arg[1]: - * - * @transition-fencing-internal-panels: on internal panels with fencing commit - * @transition-internal-panels: on internal panels - */ - -/** - * SUBTEST: plane-all-%s - * Description: Transition test for all plane combinations %arg[1] - * Driver requirement: i915, xe - * Functionality: plane, watermark - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @transition: default - * @transition-fencing: with fencing commit - * @transition-nonblocking: with non-blocking commit - * @transition-nonblocking-fencing: with non-blocking & fencing commit - */ - -/** - * SUBTEST: plane-toggle-modeset-transition - * Description: Check toggling and modeset transition on plane - * Driver requirement: i915, xe - * Functionality: plane, watermark - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: plane-use-after-nonblocking-%s - * Description: Transition test with non %arg[1] and make sure commit of disabled - * plane has to complete before atomic commit on that plane - * Driver requirement: i915, xe - * Functionality: plane, watermark - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @unbind: blocking commit - * @unbind-fencing: blocking commit with fencing - */ - /* * 1. Set primary plane to a known fb. * 2. Make sure getcrtc returns the correct fb id. @@ -1037,21 +1022,6 @@ retry: } } -/** - * SUBTEST: modeset-%s - * Description: Modeset transition tests for combinations of %arg[1] - * Driver requirement: i915, xe - * Functionality: plane, watermark - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @transition: crtc enabled - * @transition-fencing: crtc enabled with fencing commit - * @transition-nonblocking: crtc enabled with nonblocking commit - * @transition-nonblocking-fencing: crtc enabled with nonblocking & fencing commit - */ static void run_modeset_transition(data_t *data, int requested_outputs, bool nonblocking, bool fencing) { igt_output_t *outputs[IGT_MAX_PIPES] = {}; diff --git a/tests/kms_bw.c b/tests/kms_bw.c index 5f9a020da..b8422058e 100644 --- a/tests/kms_bw.c +++ b/tests/kms_bw.c @@ -20,22 +20,24 @@ * OTHER DEALINGS IN THE SOFTWARE. */ -#include "drm_mode.h" -#include "igt.h" -#include "drm.h" -#include <stdio.h> -#include <xf86drmMode.h> /** * TEST: kms bw * Category: Display * Description: BW test with different resolutions - * - * SUBTEST: linear-tiling-%d-displays-%s - * Description: bw test with %arg[2] * Driver requirement: i915, xe * Functionality: kms_core * Mega feature: General Display Features * Test category: functionality test + */ +#include "drm_mode.h" +#include "igt.h" +#include "drm.h" +#include <stdio.h> +#include <xf86drmMode.h> + +/** + * SUBTEST: linear-tiling-%d-displays-%s + * Description: bw test with %arg[2] * * arg[1].values: 1, 2, 3, 4, 5, 6, 7, 8 * diff --git a/tests/kms_color.c b/tests/kms_color.c index 4809481bc..cf3eb4ac8 100644 --- a/tests/kms_color.c +++ b/tests/kms_color.c @@ -26,19 +26,61 @@ * TEST: kms color * Category: Display * Description: Test Color Features at Pipe level + * Driver requirement: i915, xe + * Functionality: colorspace + * Mega feature: Color Management + * Test category: functionality test */ #include "kms_color_helper.h" -IGT_TEST_DESCRIPTION("Test Color Features at Pipe level"); - /** * SUBTEST: degamma * Description: Verify that degamma LUT transformation works correctly - * Driver requirement: i915, xe - * Functionality: colorspace - * Mega feature: Color Management - * Test category: functionality test + * + * SUBTEST: gamma + * Description: Verify that gamma LUT transformation works correctly + * + * SUBTEST: legacy-gamma + * Description: Verify that legacy gamma LUT transformation works correctly + * + * SUBTEST: legacy-gamma-reset + * Description: Verify that setting the legacy gamma LUT resets the gamma LUT + * set through GAMMA_LUT property + * + * SUBTEST: deep-color + * Description: Verify that deep color works correctly */ + +/** + * SUBTEST: ctm-%s + * Description: Check the color transformation %arg[1] + * + * arg[1]: + * + * @0-25: for 0.25 transparency + * @0-50: for 0.50 transparency + * @0-75: for 0.75 transparency + * @blue-to-red: from blue to red + * @green-to-red: from green to red + * @max: for maximum transparency + * @negative: for negative transparency + * @red-to-blue: from red to blue + * @signed: for correct signed handling + */ + +/** + * SUBTEST: invalid-%s-sizes + * Description: Negative check for %arg[1] sizes + * + * arg[1]: + * + * @ctm-matrix: Color transformation matrix + * @degamma-lut: Degamma LUT + * @gamma-lut: Gamma LUT + */ + +IGT_TEST_DESCRIPTION("Test Color Features at Pipe level"); + static bool test_pipe_degamma(data_t *data, igt_plane_t *primary) { @@ -127,15 +169,6 @@ static bool test_pipe_degamma(data_t *data, return ret; } -/** - * SUBTEST: gamma - * Description: Verify that gamma LUT transformation works correctly - * Driver requirement: i915, xe - * Functionality: colorspace - * Mega feature: Color Management - * Test category: functionality test - */ - /* * Draw 3 gradient rectangles in red, green and blue, with a maxed out gamma * LUT and verify we have the same CRC as drawing solid color rectangles. @@ -224,15 +257,6 @@ static bool test_pipe_gamma(data_t *data, return ret; } -/** - * SUBTEST: legacy-gamma - * Description: Verify that legacy gamma LUT transformation works correctly - * Driver requirement: i915, xe - * Functionality: colorspace - * Mega feature: Color Management - * Test category: functionality test - */ - /* * Draw 3 gradient rectangles in red, green and blue, with a maxed out legacy * gamma LUT and verify we have the same CRC as drawing solid color rectangles @@ -345,16 +369,6 @@ static bool test_pipe_legacy_gamma(data_t *data, return ret; } -/** - * SUBTEST: legacy-gamma-reset - * Description: Verify that setting the legacy gamma LUT resets the gamma LUT - * set through GAMMA_LUT property - * Driver requirement: i915, xe - * Functionality: colorspace - * Mega feature: Color Management - * Test category: functionality test - */ - /* * Verify that setting the legacy gamma LUT resets the gamma LUT set * through the GAMMA_LUT property. @@ -489,27 +503,6 @@ end: return ret; } -/** - * SUBTEST: ctm-%s - * Description: Check the color transformation %arg[1] - * Driver requirement: i915, xe - * Functionality: colorspace - * Mega feature: Color Management - * Test category: functionality test - * - * arg[1]: - * - * @0-25: for 0.25 transparency - * @0-50: for 0.50 transparency - * @0-75: for 0.75 transparency - * @blue-to-red: from blue to red - * @green-to-red: from green to red - * @max: for maximum transparency - * @negative: for negative transparency - * @red-to-blue: from red to blue - * @signed: for correct signed handling - */ - /* * Draw 3 rectangles using before colors with the ctm matrix apply and verify * the CRC is equal to using after colors with an identify ctm matrix. @@ -869,14 +862,6 @@ out: test_cleanup(data); } -/** - * SUBTEST: deep-color - * Description: Verify that deep color works correctly - * Driver requirement: i915, xe - * Functionality: colorspace - * Mega feature: Color Management - * Test category: functionality test - */ static void run_deep_color_tests_for_pipe(data_t *data, enum pipe p) { @@ -978,20 +963,6 @@ run_deep_color_tests_for_pipe(data_t *data, enum pipe p) test_cleanup(data); } -/** - * SUBTEST: invalid-%s-sizes - * Description: Negative check for %arg[1] sizes - * Driver requirement: i915, xe - * Functionality: colorspace - * Mega feature: Color Management - * Test category: functionality test - * - * arg[1]: - * - * @ctm-matrix: Color transformation matrix - * @degamma-lut: Degamma LUT - * @gamma-lut: Gamma LUT - */ static void run_invalid_tests_for_pipe(data_t *data) { diff --git a/tests/kms_concurrent.c b/tests/kms_concurrent.c index d9cb197de..dcba7b12e 100644 --- a/tests/kms_concurrent.c +++ b/tests/kms_concurrent.c @@ -22,21 +22,23 @@ * */ -#include "igt.h" -#include "drmtest.h" /** * TEST: kms concurrent * Category: Display * Description: Test atomic mode setting concurrently with multiple planes and * screen resolution - * - * SUBTEST: pipe-%s - * Description: Test atomic mode setting concurrently with multiple planes and - * screen resolution on %arg[1]. * Driver requirement: i915, xe * Functionality: kms_core * Mega feature: General Display Features * Test category: functionality test + */ +#include "igt.h" +#include "drmtest.h" + +/** + * SUBTEST: pipe-%s + * Description: Test atomic mode setting concurrently with multiple planes and + * screen resolution on %arg[1]. * * arg[1]: * diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c index 9378a76c1..1ae443c6c 100644 --- a/tests/kms_content_protection.c +++ b/tests/kms_content_protection.c @@ -26,6 +26,10 @@ * TEST: kms content protection * Category: Display * Description: Test content protection (HDCP) + * Driver requirement: i915, xe + * Functionality: hdcp1.4 + * Mega feature: HDCP + * Test category: functionality test */ #include <poll.h> #include <fcntl.h> @@ -37,6 +41,53 @@ #include "igt_kms.h" #include "igt_kmod.h" +/** + * SUBTEST: LIC + * Description: Test for the integrity of link. + * + * SUBTEST: content_type_change + * Description: Test the content type change when the content protection already + * enabled + * Functionality: hdcp1.4, hdcp2.2 + * + * SUBTEST: mei_interface + * Description: Test the teardown and rebuild of the interface between Intel + * and mei hdcp. + * Functionality: hdcp1.4, hdcp2.2 + * + * SUBTEST: srm + * Description: This test writes the facsimile SRM into the /lib/firmware/ and + * check the kernel parsing of it by invoking the hdcp authentication. + * + * SUBTEST: uevent + * Description: Test to detect the HDCP status change when we are reading the + * uevent sent with the corresponding connector id and property id. + * + * SUBTEST: %s + * Description: Test content protection with %arg[1] + * + * arg[1]: + * + * @atomic: atomic modesetting + * @atomic-dpms: DPMS ON/OFF during atomic modesetting. + * @legacy: legacy style commit + * @type1: content type 1 that can be handled only through HDCP2.2. + */ + +/** + * SUBTEST: dp-mst-%s + * Description: Test Content protection %arg[1] over DP MST. + * Functionality: hdcp1.4, mst + * Mega feature: DP, HDCP + * + * arg[1]: + * + * @lic-type-0: Type 0 with LIC + * @lic-type-1: Type 1 with LIC. + * @type-0: Type 0 + * @type-1: Type 1 + */ + IGT_TEST_DESCRIPTION("Test content protection (HDCP)"); struct data { @@ -490,60 +541,6 @@ test_fini(igt_output_t *output, enum igt_commit_style s) igt_display_commit2(&data.display, s); } -/** - * SUBTEST: LIC - * Description: Test for the integrity of link. - * Driver requirement: i915, xe - * Functionality: hdcp1.4 - * Mega feature: HDCP - * Test category: functionality test - * - * SUBTEST: content_type_change - * Description: Test the content type change when the content protection already - * enabled - * Driver requirement: i915, xe - * Functionality: hdcp1.4, hdcp2.2 - * Mega feature: HDCP - * Test category: functionality test - * - * SUBTEST: mei_interface - * Description: Test the teardown and rebuild of the interface between Intel - * and mei hdcp. - * Driver requirement: i915, xe - * Functionality: hdcp1.4, hdcp2.2 - * Mega feature: HDCP - * Test category: functionality test - * - * SUBTEST: srm - * Description: This test writes the facsimile SRM into the /lib/firmware/ and - * check the kernel parsing of it by invoking the hdcp authentication. - * Driver requirement: i915, xe - * Functionality: hdcp1.4 - * Mega feature: HDCP - * Test category: functionality test - * - * SUBTEST: uevent - * Description: Test to detect the HDCP status change when we are reading the - * uevent sent with the corresponding connector id and property id. - * Driver requirement: i915, xe - * Functionality: hdcp1.4 - * Mega feature: HDCP - * Test category: functionality test - * - * SUBTEST: %s - * Description: Test content protection with %arg[1] - * Driver requirement: i915, xe - * Functionality: hdcp1.4 - * Mega feature: HDCP - * Test category: functionality test - * - * arg[1]: - * - * @atomic: atomic modesetting - * @atomic-dpms: DPMS ON/OFF during atomic modesetting. - * @legacy: legacy style commit - * @type1: content type 1 that can be handled only through HDCP2.2. - */ static void test_content_protection(enum igt_commit_style s, int content_type) { @@ -631,21 +628,6 @@ static void test_cp_lic_on_mst(igt_output_t *mst_outputs[], int valid_outputs, b } } -/** - * SUBTEST: dp-mst-%s - * Description: Test Content protection %arg[1] over DP MST. - * Driver requirement: i915, xe - * Functionality: hdcp1.4, mst - * Mega feature: HDCP - * Test category: functionality test - * - * arg[1]: - * - * @lic-type-0: Type 0 with LIC - * @lic-type-1: Type 1 with LIC. - * @type-0: Type 0 - * @type-1: Type 1 - */ static void test_content_protection_mst(int content_type) { diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c index 76c01f557..674db3ed7 100644 --- a/tests/kms_cursor_crc.c +++ b/tests/kms_cursor_crc.c @@ -22,13 +22,6 @@ * */ -#include "igt.h" -#include <errno.h> -#include <limits.h> -#include <stdbool.h> -#include <stdio.h> -#include <string.h> - /** * TEST: kms cursor crc * Category: Display @@ -40,8 +33,67 @@ * compares it with the CRC value obtained when the cursor plane * was disabled and its drawing is directly inserted on the PF by * software. + * Driver requirement: i915, xe + * Functionality: cursor + * Mega feature: General Display Features + * Test category: functionality test */ +#include "igt.h" +#include <errno.h> +#include <limits.h> +#include <stdbool.h> +#include <stdio.h> +#include <string.h> +/** + * SUBTEST: cursor-dpms + * Description: Check random placement of a cursor with DPMS. + * Functionality: cursor, dpms + * + * SUBTEST: cursor-suspend + * Description: Check random placement of a cursor with suspend. + * Functionality: cursor, suspend + * + * SUBTEST: cursor-%s + * Description: %arg[1] + * + * arg[1]: + * + * @alpha-opaque: Validates the composition of a fully opaque cursor plane, + * i.e., alpha channel equal to 1.0. + * @alpha-transparent: Validates the composition of a fully transparent cursor + * plane, i.e., alpha channel equal to 0.0. + * @size-change: Create a maximum size cursor, then change the size in + * flight to smaller ones to see that the size is applied + * correctly. + */ + +/** + * SUBTEST: cursor-%s-%s + * Description: Check if a %arg[2] cursor is %arg[1]. + * + * arg[1]: + * + * @offscreen: well-positioned outside the screen + * @onscreen: well-positioned inside the screen + * @random: randomly placed + * @rapid-movement: rapidly udates for movements + * @sliding: smooth for horizontal, vertical & diagonal movements + * + * arg[2]: + * + * @128x128: 128x128 size + * @128x42: 128x42 size + * @256x256: 256x256 size + * @256x85: 256x85 size + * @32x10: 32x10 size + * @32x32: 32x32 size + * @512x170: 512x170 size + * @512x512: 512x512 size + * @64x21: 64x21 size + * @64x64: 64x64 size + * @max-size: Max supported size + */ IGT_TEST_DESCRIPTION( "Use the display CRC support to validate cursor plane functionality. " "The test will position the cursor plane either fully onscreen, " @@ -654,38 +706,6 @@ static bool require_cursor_size(data_t *data, int w, int h) return !!ret; } -/** - * SUBTEST: cursor-dpms - * Description: Check random placement of a cursor with DPMS. - * Driver requirement: i915, xe - * Functionality: cursor, dpms - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: cursor-suspend - * Description: Check random placement of a cursor with suspend. - * Driver requirement: i915, xe - * Functionality: cursor, suspend - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: cursor-%s - * Description: %arg[1] - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @alpha-opaque: Validates the composition of a fully opaque cursor plane, - * i.e., alpha channel equal to 1.0. - * @alpha-transparent: Validates the composition of a fully transparent cursor - * plane, i.e., alpha channel equal to 0.0. - * @size-change: Create a maximum size cursor, then change the size in - * flight to smaller ones to see that the size is applied - * correctly. - */ static void run_test(data_t *data, void (*testfunc)(data_t *), int cursor_w, int cursor_h) { prepare_crtc(data, cursor_w, cursor_h); @@ -782,37 +802,6 @@ static bool execution_constraint(enum pipe pipe) return false; } - -/** - * SUBTEST: cursor-%s-%s - * Description: Check if a %arg[2] cursor is %arg[1]. - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @offscreen: well-positioned outside the screen - * @onscreen: well-positioned inside the screen - * @random: randomly placed - * @rapid-movement: rapidly udates for movements - * @sliding: smooth for horizontal, vertical & diagonal movements - * - * arg[2]: - * - * @128x128: 128x128 size - * @128x42: 128x42 size - * @256x256: 256x256 size - * @256x85: 256x85 size - * @32x10: 32x10 size - * @32x32: 32x32 size - * @512x170: 512x170 size - * @512x512: 512x512 size - * @64x21: 64x21 size - * @64x64: 64x64 size - * @max-size: Max supported size - */ static void run_size_tests(data_t *data, int w, int h) { enum pipe pipe; diff --git a/tests/kms_cursor_edge_walk.c b/tests/kms_cursor_edge_walk.c index 1e233306d..ae09b5d91 100644 --- a/tests/kms_cursor_edge_walk.c +++ b/tests/kms_cursor_edge_walk.c @@ -22,24 +22,25 @@ * */ +/** + * TEST: kms cursor edge walk + * Category: Display + * Description: Test to check different cursor sizes by walking different edges of screen + * Driver requirement: i915, xe + * Functionality: cursor + * Mega feature: General Display Features + * Test category: functionality test + */ #include "igt.h" #include <errno.h> #include <limits.h> #include <stdbool.h> #include <stdio.h> #include <string.h> + /** - * TEST: kms cursor edge walk - * Category: Display - * Description: Exercise CHV pipe C cursor fail - * Description: Test to check different cursor sizes by walking different edges of screen - * * SUBTEST: %s-%s * Description: Checking cursor size %arg[1] by walking %arg[2] of screen - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c index 861581c93..fbef7d248 100644 --- a/tests/kms_cursor_legacy.c +++ b/tests/kms_cursor_legacy.c @@ -26,8 +26,11 @@ * TEST: kms cursor legacy * Category: Display * Description: Stress legacy cursor ioctl + * Driver requirement: i915, xe + * Functionality: cursor + * Mega feature: General Display Features + * Test category: functionality test */ - #include <sched.h> #include <sys/poll.h> @@ -37,6 +40,189 @@ #include "igt_rand.h" #include "igt_stats.h" +/** + * SUBTEST: %s-%s + * Description: Test checks how many cursor updates we can fit between vblanks + * on single/all pipes with different modes, priority and number + * of processes + * + * arg[1]: + * + * @single: Single + * @torture: Torture + * @forked: Forked + * + * arg[2]: + * + * @bo: BO + * @move: Move + */ + +/** + * SUBTEST: basic-busy-flip-before-cursor-%s + * Description: Cursor test with %arg[1] mode + * Functionality: cursor, hang + * + * SUBTEST: basic-busy-flip-before-cursor-varying-size + * Description: Change the size of cursor b/w 64*64 to maxw x maxh. + * Functionality: cursor, hang + * + * arg[1]: + * + * @atomic: atomic + * @legacy: legacy + */ + +/** + * SUBTEST: basic-flip-after-cursor-%s + * Description: Cursor test with %arg[1] + * + * SUBTEST: basic-flip-before-cursor-%s + * Description: Cursor test with %arg[1] + * + * arg[1]: + * + * @atomic: atomic mode + * @legacy: legacy mode + * @varying-size: varying size + */ + +/** + * SUBTEST: %s-flip-before-cursor-%s + * Description: Adds variety of tests: + * - varying-size: change the size of cursor b/w 64*64 to maxw x maxh.\n + * - atomic-transition: alternates between a full screen sprite plane + * and full screen primary plane.\n" + * - toggle: which toggles cursor visibility and make sure cursor moves + * between updates. + * + * arg[1]: + * + * @short: + * @short-busy: + * + * arg[2]: + * + * @atomic-transitions: + * @atomic-transitions-varying-size: + * @toggle: + */ + +/** + * SUBTEST: short-flip-after-cursor-%s + * Description: Adds variety of tests: + * - varying-size: change the size of cursor b/w 64*64 to maxw x maxh.\n + * - atomic-transition: alternates between a full screen sprite plane + * and full screen primary plane.\n" + * - toggle: which toggles cursor visibility and make sure cursor moves + * between updates. + * + * arg[1]: + * + * @atomic-transitions: + * @atomic-transitions-varying-size: + * @toggle: + */ + +/** + * SUBTEST: long-nonblocking-modeset-vs-cursor-atomic + * Description: Test checks how many cursor updates we can fit between vblanks + * on all pipes with different modes, priority and number of processes + * + * SUBTEST: nonblocking-modeset-vs-cursor-atomic + * Description: Test checks how many cursor updates we can fit between vblanks + * on all pipes with different modes, priority and number of processes + */ + +/** + * SUBTEST: 2x-%s-%s + * Description: This test executes flips on both CRTCs while running cursor + * updates in parallel + * + * arg[1]: + * + * @flip-vs-cursor: + * @flip-vs-cursor: + * @long-flip-vs-cursor: + * @long-flip-vs-cursor: + * + * arg[2]: + * + * @atomic: + * @legacy: + */ + +/** + * SUBTEST: 2x-%s-atomic + * Description: This test executes flips on both CRTCs while running cursor + * updates in parallel + * + * arg[1]: + * + * @long-nonblocking-modeset-vs-cursor: + * @nonblocking-modeset-vs-cursor: + */ + +/** + * SUBTEST: %s-%s + * Description: The essence of the basic test is that neither the cursor nor the + * nonblocking flip stall the application of the next + * + * arg[1]: + * + * @cursor-vs-flip: + * @cursorA-vs-flipA: + * @cursorA-vs-flipB: + * @cursorB-vs-flipA: + * @cursorB-vs-flipB: + * @flip-vs-cursor: + * + * arg[2]: + * + * @atomic: + * @atomic-transitions: + * @atomic-transitions-varying-size: + * @legacy: + * @toggle: + * @varying-size: + */ + +/** + * SUBTEST: 2x-%s-%s + * Description: This test executes flips on both CRTCs while running cursor updates in parallel + * + * arg[1]: + * + * @cursor-vs-flip: + * @cursor-vs-flip: + * @long-cursor-vs-flip: + * @long-cursor-vs-flip: + * + * arg[2]: + * + * @atomic: + * @legacy: + */ + +/** + * SUBTEST: flip-vs-cursor-crc-%s + * Description: this test perform a page flip followed by a cursor update + * + * SUBTEST: flip-vs-cursor-busy-crc-%s + * Description: this test perform a busy bo update followed by a cursor update + * Functionality: cursor, hang + * + * arg[1]: + * + * @atomic: + * @legacy: + */ + +/** + * SUBTEST: modeset-atomic-cursor-hotspot + * Description: Test changes the cursor hotspot and checks that the property is + * updated accordignly + */ #if defined(__x86_64__) || defined(__i386__) #define cpu_relax() __builtin_ia32_pause() #else @@ -78,27 +264,6 @@ static void override_output_modes(igt_display_t *display, igt_output_set_pipe(output2, PIPE_NONE); } -/** - * SUBTEST: %s-%s - * Description: Test checks how many cursor updates we can fit between vblanks - * on single/all pipes with different modes, priority and number - * of processes - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @single: Single - * @torture: Torture - * @forked: Forked - * - * arg[2]: - * - * @bo: BO - * @move: Move - */ static void stress(igt_display_t *display, enum pipe pipe, int num_children, unsigned mode, int timeout) @@ -569,93 +734,6 @@ enum basic_flip_cursor { #define BASIC_BUSY 0x1 -/** - * SUBTEST: basic-busy-flip-before-cursor-%s - * Description: Cursor test with %arg[1] mode - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: cursor - * Mega feature: General Display Features - * - * SUBTEST: basic-busy-flip-before-cursor-varying-size - * Description: Change the size of cursor b/w 64*64 to maxw x maxh. - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @atomic: atomic - * @legacy: legacy - */ - -/** - * SUBTEST: basic-flip-after-cursor-%s - * Description: Cursor test with %arg[1] - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: cursor - * Mega feature: General Display Features - * - * SUBTEST: basic-flip-before-cursor-%s - * Description: Cursor test with %arg[1] - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: cursor - * Mega feature: General Display Features - * - * arg[1]: - * - * @atomic: atomic mode - * @legacy: legacy mode - * @varying-size: varying size - */ - -/** - * SUBTEST: %s-flip-before-cursor-%s - * Description: Adds variety of tests: - * - varying-size: change the size of cursor b/w 64*64 to maxw x maxh.\n - * - atomic-transition: alternates between a full screen sprite plane - * and full screen primary plane.\n" - * - toggle: which toggles cursor visibility and make sure cursor moves - * between updates. - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @short: - * @short-busy: - * - * arg[2]: - * - * @atomic-transitions: - * @atomic-transitions-varying-size: - * @toggle: - */ - -/** - * SUBTEST: short-flip-after-cursor-%s - * Description: Adds variety of tests: - * - varying-size: change the size of cursor b/w 64*64 to maxw x maxh.\n - * - atomic-transition: alternates between a full screen sprite plane - * and full screen primary plane.\n" - * - toggle: which toggles cursor visibility and make sure cursor moves - * between updates. - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @atomic-transitions: - * @atomic-transitions-varying-size: - * @toggle: - */ static void basic_flip_cursor(igt_display_t *display, enum flip_test mode, enum basic_flip_cursor order, @@ -977,23 +1055,6 @@ static void flip_vs_cursor(igt_display_t *display, enum flip_test mode, int nloo igt_remove_fb(display->drm_fd, &cursor_fb2); } -/** - * SUBTEST: long-nonblocking-modeset-vs-cursor-atomic - * Description: Test checks how many cursor updates we can fit between vblanks - * on all pipes with different modes, priority and number of processes - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: nonblocking-modeset-vs-cursor-atomic - * Description: Test checks how many cursor updates we can fit between vblanks - * on all pipes with different modes, priority and number of processes - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - */ static void nonblocking_modeset_vs_cursor(igt_display_t *display, int loops) { struct igt_fb fb_info, cursor_fb; @@ -1093,42 +1154,6 @@ static void wait_for_modeset(igt_display_t *display, unsigned flags, int timeout igt_reset_timeout(); } -/** - * SUBTEST: 2x-%s-%s - * Description: This test executes flips on both CRTCs while running cursor - * updates in parallel - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @flip-vs-cursor: - * @flip-vs-cursor: - * @long-flip-vs-cursor: - * @long-flip-vs-cursor: - * - * arg[2]: - * - * @atomic: - * @legacy: - */ - -/** - * SUBTEST: 2x-%s-atomic - * Description: This test executes flips on both CRTCs while running cursor - * updates in parallel - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @long-nonblocking-modeset-vs-cursor: - * @nonblocking-modeset-vs-cursor: - */ static void two_screens_flip_vs_cursor(igt_display_t *display, int nloops, bool modeset, bool atomic) { struct drm_mode_cursor arg1[2], arg2[2]; @@ -1316,33 +1341,6 @@ done: munmap((void *)shared, PAGE_SIZE); } -/** - * SUBTEST: %s-%s - * Description: The essence of the basic test is that neither the cursor nor the - * nonblocking flip stall the application of the next - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @cursor-vs-flip: - * @cursorA-vs-flipA: - * @cursorA-vs-flipB: - * @cursorB-vs-flipA: - * @cursorB-vs-flipB: - * @flip-vs-cursor: - * - * arg[2]: - * - * @atomic: - * @atomic-transitions: - * @atomic-transitions-varying-size: - * @legacy: - * @toggle: - * @varying-size: - */ static void cursor_vs_flip(igt_display_t *display, enum flip_test mode, int nloops) { struct drm_mode_cursor arg[2]; @@ -1455,26 +1453,6 @@ static void cursor_vs_flip(igt_display_t *display, enum flip_test mode, int nloo igt_remove_fb(display->drm_fd, &cursor_fb2); } -/** - * SUBTEST: 2x-%s-%s - * Description: This test executes flips on both CRTCs while running cursor updates in parallel - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @cursor-vs-flip: - * @cursor-vs-flip: - * @long-cursor-vs-flip: - * @long-cursor-vs-flip: - * - * arg[2]: - * - * @atomic: - * @legacy: - */ static void two_screens_cursor_vs_flip(igt_display_t *display, int nloops, bool atomic) { struct drm_mode_cursor arg[2][2]; @@ -1603,19 +1581,6 @@ static void two_screens_cursor_vs_flip(igt_display_t *display, int nloops, bool munmap((void *)shared, PAGE_SIZE); } -/** - * SUBTEST: flip-vs-cursor-crc-%s - * Description: this test perform a page flip followed by a cursor update - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @atomic: - * @legacy: - */ static void flip_vs_cursor_crc(igt_display_t *display, bool atomic) { struct drm_mode_cursor arg[2]; @@ -1688,19 +1653,6 @@ static void flip_vs_cursor_crc(igt_display_t *display, bool atomic) igt_remove_fb(display->drm_fd, &cursor_fb); } -/** - * SUBTEST: flip-vs-cursor-busy-crc-%s - * Description: this test perform a busy bo update followed by a cursor update - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @atomic: - * @legacy: - */ static void flip_vs_cursor_busy_crc(igt_display_t *display, bool atomic) { struct drm_mode_cursor arg[2]; @@ -1813,15 +1765,6 @@ static void flip_vs_cursor_busy_crc(igt_display_t *display, bool atomic) put_ahnd(ahnd); } -/** - * SUBTEST: modeset-atomic-cursor-hotspot - * Description: Test changes the cursor hotspot and checks that the property is - * updated accordignly - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - */ static void modeset_atomic_cursor_hotspot(igt_display_t *display) { struct igt_fb cursor_fb; diff --git a/tests/kms_display_modes.c b/tests/kms_display_modes.c index f44d452b7..d1b58df82 100644 --- a/tests/kms_display_modes.c +++ b/tests/kms_display_modes.c @@ -28,9 +28,25 @@ * TEST: kms display modes * Category: Display * Description: Test Display Modes + * Driver requirement: i915, xe + * Test category: functionality test */ #include "igt.h" +/** + * SUBTEST: extended-mode-basic + * Description: Test for validating display extended mode with a pair of connected + * displays + * Functionality: kms_core + * Mega feature: General Display Features + * + * SUBTEST: mst-extended-mode-negative + * Description: Negative test for validating display extended mode with a pair + * of connected 2k-4k or 4k-4k displays. + * Functionality: kms_core, mst + * Mega feature: DP + */ + #define HDISPLAY_4K 3840 #define VDISPLAY_4K 2160 @@ -205,15 +221,6 @@ static void run_extendedmode_basic(data_t *data, for_each_connected_output_local((display), (output)) \ for_each_if (igt_pipe_connector_valid((pipe), (output))) -/** - * SUBTEST: extended-mode-basic - * Description: Test for validating display extended mode with a pair of connected - * displays - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - */ static void run_extendedmode_test(data_t *data) { enum pipe pipe1, pipe2; igt_output_t *output1, *output2; @@ -259,15 +266,6 @@ static void run_extendedmode_test(data_t *data) { } } -/** - * SUBTEST: mst-extended-mode-negative - * Description: Negative test for validating display extended mode with a pair - * of connected 2k-4k or 4k-4k displays. - * Driver requirement: i915, xe - * Functionality: kms_core, mst - * Mega feature: General Display Features - * Test category: functionality test - */ static void run_extendedmode_negative(data_t *data, int pipe1, int pipe2) { struct igt_fb fbs[2]; diff --git a/tests/kms_dither.c b/tests/kms_dither.c index c41961937..57b45b083 100644 --- a/tests/kms_dither.c +++ b/tests/kms_dither.c @@ -29,12 +29,24 @@ * TEST: kms dither * Category: Display * Description: Test Dithering block status + * Driver requirement: i915, xe + * Functionality: colorspace, kms_gem_interop + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include <fcntl.h> #include <termios.h> #include <unistd.h> +/** + * SUBTEST: FB-8BPC-Vs-Panel-6BPC + * Description: Framebuffer BPC:8, Panel BPC:6, Expected Dither:Enable + * + * SUBTEST: FB-8BPC-Vs-Panel-8BPC + * Description: Framebuffer BPC:8, Panel BPC:8, Expected Dither:Disable + */ + IGT_TEST_DESCRIPTION("Test Dithering block status"); /* Connector BPC */ @@ -186,21 +198,6 @@ static bool is_supported(igt_output_t *output) igt_output_get_prop(output, IGT_CONNECTOR_MAX_BPC); } -/** - * SUBTEST: FB-8BPC-Vs-Panel-6BPC - * Description: Framebuffer BPC:8, Panel BPC:6, Expected Dither:Enable - * Driver requirement: i915, xe - * Functionality: colorspace, kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: FB-8BPC-Vs-Panel-8BPC - * Description: Framebuffer BPC:8, Panel BPC:8, Expected Dither:Disable - * Driver requirement: i915, xe - * Functionality: colorspace, kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test - */ static void run_dither_test(data_t *data, int fb_bpc, int fb_format, int output_bpc) { diff --git a/tests/kms_dp_aux_dev.c b/tests/kms_dp_aux_dev.c index e6a67e22e..1d63a5daa 100644 --- a/tests/kms_dp_aux_dev.c +++ b/tests/kms_dp_aux_dev.c @@ -22,6 +22,15 @@ * */ +/** + * TEST: kms dp aux dev + * Category: Display + * Description: Test that /dev/drm_dp_aux reads work + * Driver requirement: i915, xe + * Functionality: dp_aux + * Mega feature: DP + * Test category: functionality test + */ #include "config.h" #include <sys/types.h> @@ -31,17 +40,10 @@ #include "igt.h" #include "igt_kms.h" + /** - * TEST: kms dp aux dev - * Category: Display - * Description: Test that /dev/drm_dp_aux reads work - * * SUBTEST: * Description: Test that /dev/drm_dp_aux reads work - * Driver requirement: i915, xe - * Functionality: dp_aux - * Mega feature: DP - * Test category: functionality test */ IGT_TEST_DESCRIPTION("Test that /dev/drm_dp_aux reads work"); diff --git a/tests/kms_feature_discovery.c b/tests/kms_feature_discovery.c index 3a1f6d21d..5603e5fb6 100644 --- a/tests/kms_feature_discovery.c +++ b/tests/kms_feature_discovery.c @@ -28,63 +28,52 @@ * Description: A metatest that checks for \"features\" presence. * The subtests here should only skip or pass, * anything else means we have a serious problem. - * + * Driver requirement: i915, xe + * Functionality: feature_discovery + * Test category: functionality test + */ +#include "igt.h" +#ifdef HAVE_CHAMELIUM +#include "igt_chamelium.h" +#endif +#include "igt_kms.h" +#include "igt_psr.h" +#include "igt_sysfs.h" +#include "igt_types.h" + +/** * SUBTEST: display * Description: Make sure that we have display support with * some outputs connected. - * Driver requirement: i915, xe - * Functionality: feature_discovery * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: display-%dx * Description: Make sure that we have display support with %arg[1] * outputs connected. - * Driver requirement: i915, xe - * Functionality: feature_discovery * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: chamelium * Description: Make sure that Chamelium is configured and reachable. - * Driver requirement: i915, xe * Functionality: feature_discovery, chamelium - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: psr1 * Description: Make sure that we have eDP panel with PSR1 support. - * Driver requirement: i915, xe * Functionality: feature_discovery, psr1, eDP * Mega feature: PSR - * Test category: functionality test * * SUBTEST: psr2 * Description: Make sure that we have eDP panel with PSR2 support. - * Driver requirement: i915, xe * Functionality: feature_discovery, psr2, eDP * Mega feature: PSR - * Test category: functionality test * * SUBTEST: dp-mst * Description: Make sure that we have DP-MST configuration. - * Driver requirement: i915, xe * Functionality: feature_discovery, mst - * Mega feature: General Display Features - * Test category: functionality test + * Mega feature: DP * * arg[1].values: 2, 3, 4 */ -#include "igt.h" -#ifdef HAVE_CHAMELIUM -#include "igt_chamelium.h" -#endif -#include "igt_kms.h" -#include "igt_psr.h" -#include "igt_sysfs.h" -#include "igt_types.h" - static igt_display_t display; IGT_TEST_DESCRIPTION("A metatest that checks for \"features\" presence. " diff --git a/tests/kms_flip.c b/tests/kms_flip.c index 2c60cdf6d..1a19fe85e 100755 --- a/tests/kms_flip.c +++ b/tests/kms_flip.c @@ -25,8 +25,10 @@ * TEST: kms flip * Category: Display * Description: Tests for validating modeset, dpms and pageflips + * Driver requirement: i915, xe + * Mega feature: General Display Features + * Test category: functionality test */ - #include "config.h" #include "igt.h" @@ -41,80 +43,66 @@ #include <sys/time.h> #include <sys/ioctl.h> +#ifdef HAVE_LINUX_KD_H +#include <linux/kd.h> +#elif HAVE_SYS_KD_H +#include <sys/kd.h> +#endif +#include <time.h> +#include <pthread.h> + +#include "i915/gem_create.h" +#include "igt_stats.h" +#include "xe/xe_query.h" + /** * SUBTEST: 2x-flip-vs-fences * Description: Test to validate pageflips along with avialable fences on a pair * of connected displays * Driver requirement: i915 * Functionality: gtt, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: 2x-flip-vs-fences-interruptible * Description: Interrupt test to validate pageflips along with available fences * on a pair of connected displays - * Driver requirement: i915, xe + * Driver requirement: i915 * Functionality: gtt, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-vs-fences * Description: Basic test to validate pageflips with avialable fences * Driver requirement: i915 * Functionality: gtt, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-vs-fences-interruptible * Description: Interrupt test to validate pageflips with available fences * Driver requirement: i915 * Functionality: gtt, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: dpms-off-confusion * Description: Basic test to validate pageflips by disabling other connectors usng dpms - * Driver requirement: i915, xe * Functionality: dpms, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: dpms-off-confusion-interruptible * Description: Interrupt test to validate pageflips by disabling other connectors using dpms - * Driver requirement: i915, xe * Functionality: dpms, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: bo-too-big * Description: Basic test to validate pageflips with large BO in size - * Driver requirement: i915, xe * Functionality: kms_gem_interop, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: bo-too-big-interruptible * Description: Interrupt test to validate pageflips with large BO in size - * Driver requirement: i915, xe * Functionality: kms_gem_interop, vblank - * Mega feature: General Display Features - * Test category: functionality test */ /** * SUBTEST: %s * Description: Basic test to validate %arg[1] - * Driver requirement: i915, xe * Functionality: hang, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: 2x-%s * Description: Test to validate %arg[1] on a pair of connected displays - * Driver requirement: i915, xe * Functionality: hang, vblank - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * @@ -125,17 +113,11 @@ /** * SUBTEST: %s * Description: Basic test to validate %arg[1] - * Driver requirement: i915, xe * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: 2x-%s * Description: Test to validate %arg[1] on a pair of connected displays - * Driver requirement: i915, xe * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * @@ -158,61 +140,37 @@ /** * SUBTEST: flip-vs-suspend * Description: Basic test to validate pageflips with suspend cycle - * Driver requirement: i915, xe * Functionality: suspend, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: 2x-flip-vs-suspend * Description: Basic test to validate pageflips with suspend cycle on a pair of * connected displays - * Driver requirement: i915, xe * Functionality: suspend, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-vs-suspend-interruptible * Description: Interrupt test to validate pageflips with suspend cycle - * Driver requirement: i915, xe * Functionality: suspend, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: 2x-flip-vs-suspend-interruptible * Description: Interrupt test to validate pageflips with suspend cycle on a pair * of connected displays - * Driver requirement: i915, xe * Functionality: suspend, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: %s * Description: Basic test to validate %arg[1] - * Driver requirement: i915, xe * Functionality: dpms, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: 2x-%s * Description: Basic test to validate %arg[1] on a pair of connected displays - * Driver requirement: i915, xe * Functionality: dpms, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: %s-interruptible * Description: Basic test to validate %arg[1] - * Driver requirement: i915, xe * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: 2x-%s-interruptible * Description: Basic test to validate %arg[1] on a pair of connected displays - * Driver requirement: i915, xe * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * @@ -227,17 +185,11 @@ * SUBTEST: 2x-flip-vs-dpms * Description: Basic test to validate pageflip along with dpms on a pair of * connected displays - * Driver requirement: i915, xe * Functionality: dpms, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: 2x-%s * Description: Basic test to validate %arg[1] on a pair of connected displays - * Driver requirement: i915, xe * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * @@ -249,18 +201,12 @@ /** * SUBTEST: %s-interruptible * Description: Basic test for validating modeset, dpms and pageflips - * Driver requirement: i915, xe * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: 2x-%s-interruptible * Description: Test for validating modeset, dpms and pageflips with a pair of * connected displays - * Driver requirement: i915, xe * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * @@ -279,17 +225,28 @@ * @modeset-vs-vblank-race: modeset and check for vblank */ -#ifdef HAVE_LINUX_KD_H -#include <linux/kd.h> -#elif HAVE_SYS_KD_H -#include <sys/kd.h> -#endif -#include <time.h> -#include <pthread.h> - -#include "i915/gem_create.h" -#include "igt_stats.h" -#include "xe/xe_query.h" +/** + * SUBTEST: basic-plain-flip + * Description: Basic test for validating page flip + * Functionality: vblank + * + * SUBTEST: nonblocking-read + * Description: Tests that nonblocking reading fails correctly + * Functionality: vblank + * + * SUBTEST: basic-flip-vs-dpms + * Description: Basic test to valide pageflip with dpms + * Functionality: dpms, vblank + * + * SUBTEST: basic-flip-vs-%s + * Description: Basic test to valide pageflip with %arg[1] + * Functionality: vblank + * + * arg[1]: + * + * @modeset: modeset + * @wf_vblank: wait for vblank + */ #define TEST_DPMS (1 << 0) @@ -1804,34 +1761,6 @@ static void run_test_on_crtc_set(struct test_output *o, int *crtc_idxs, __run_test_on_crtc_set(o, crtc_idxs, crtc_count, duration_ms); } -/** - * SUBTEST: basic-flip-vs-dpms - * Description: Basic test to valide pageflip with dpms - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: dpms, vblank - * Mega feature: General Display Features - * - * SUBTEST: basic-flip-vs-%s - * Description: Basic test to valide pageflip with %arg[1] - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: vblank - * Mega feature: General Display Features - * - * arg[1]: - * - * @modeset: modeset - * @wf_vblank: wait for vblank - * - * SUBTEST: basic-plain-flip - * Description: Basic test for validating page flip - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: vblank - * Mega feature: General Display Features - */ - static void run_test(int duration, int flags) { struct test_output o; @@ -2016,14 +1945,6 @@ static void kms_flip_exit_handler(int sig) kmstest_set_connector_dpms(drm_fd, last_connector, DRM_MODE_DPMS_ON); } -/** - * SUBTEST: nonblocking-read - * Description: Tests that nonblocking reading fails correctly - * Driver requirement: i915, xe - * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_nonblocking_read(int in) { char buffer[1024]; diff --git a/tests/kms_flip_event_leak.c b/tests/kms_flip_event_leak.c index 57f6f64f7..bee2913a8 100644 --- a/tests/kms_flip_event_leak.c +++ b/tests/kms_flip_event_leak.c @@ -22,6 +22,15 @@ * */ +/** + * TEST: kms flip event leak + * Category: Display + * Description: Test to validate flip event leak + * Driver requirement: i915, xe + * Functionality: kms_core + * Mega feature: General Display Features + * Test category: functionality test + */ #include "igt.h" #include <errno.h> #include <stdbool.h> @@ -32,19 +41,11 @@ #include "xe/xe_query.h" /** - * TEST: kms flip event leak - * Category: Display - * Description: Test to validate flip event leak - * * SUBTEST: basic * Description: 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. - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test */ typedef struct { diff --git a/tests/kms_force_connector_basic.c b/tests/kms_force_connector_basic.c index e3b9034db..b24491d89 100644 --- a/tests/kms_force_connector_basic.c +++ b/tests/kms_force_connector_basic.c @@ -26,10 +26,29 @@ * TEST: kms force connector basic * Category: Display * Description: Check the debugfs force connector/edid features work correctly. + * Driver requirement: i915, xe + * Functionality: force_connector + * Mega feature: General Display Features + * Test category: functionality test */ - #include "igt.h" +/** + * SUBTEST: force-load-detect + * Description: Test to detect forced load. + * Driver requirement: i915 + * Functionality: force_connector, vga + * + * SUBTEST: force-connector-state + * Description: Test to check the forced connector state + * + * SUBTEST: force-edid + * Description: Test to check the values after forcing edid + * + * SUBTEST: prune-stale-modes + * Description: Tests pruning of stale modes + */ + IGT_TEST_DESCRIPTION("Check the debugfs force connector/edid features work" " correctly."); @@ -69,14 +88,6 @@ static void reset_connectors(void) drm_close_driver(drm_fd); } -/** - * SUBTEST: force-load-detect - * Description: Test to detect forced load. - * Driver requirement: i915 - * Functionality: force_connector, vga - * Mega feature: General Display Features - * Test category: functionality test - */ static void force_load_detect(int drm_fd, drmModeConnectorPtr connector, drmModeRes *res) { int i, j, w = 64, h = 64; @@ -165,14 +176,6 @@ static void force_load_detect(int drm_fd, drmModeConnectorPtr connector, drmMode } } -/** - * SUBTEST: force-connector-state - * Description: Test to check the forced connector state - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: force_connector - * Mega feature: General Display Features - */ static void force_connector_state(int drm_fd, drmModeConnectorPtr connector) { igt_display_t display; @@ -212,14 +215,6 @@ static void force_connector_state(int drm_fd, drmModeConnectorPtr connector) igt_display_fini(&display); } -/** - * SUBTEST: force-edid - * Description: Test to check the values after forcing edid - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: force_connector - * Mega feature: General Display Features - */ static void force_edid(int drm_fd, drmModeConnectorPtr connector) { drmModeConnector *temp; @@ -261,14 +256,6 @@ static void force_edid(int drm_fd, drmModeConnectorPtr connector) } -/** - * SUBTEST: prune-stale-modes - * Description: Tests pruning of stale modes - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: force_connector - * Mega feature: General Display Features - */ static void prune_stale_modes(int drm_fd, drmModeConnectorPtr connector) { int i; diff --git a/tests/kms_getfb.c b/tests/kms_getfb.c index 059f66d99..171b97429 100644 --- a/tests/kms_getfb.c +++ b/tests/kms_getfb.c @@ -31,6 +31,9 @@ * TEST: kms getfb * Category: Display * Description: Tests GETFB and GETFB2 ioctls. + * Driver requirement: i915, xe + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include <unistd.h> @@ -50,6 +53,67 @@ #include "xe/xe_query.h" #include "xe/xe_ioctl.h" +/** + * SUBTEST: getfb-handle-%s + * Description: Tests error handling %arg[1] + * Functionality: kms_gem_interop + * + * arg[1]: + * + * @closed: when passing a handle that has been closed. + * @not-fb: when passing an invalid handle. + * @valid: when passing an valid handle. + * @zero: for a zero'd input. + */ + +/** + * SUBTEST: getfb-reject-ccs + * Description: Tests error handling while requesting CCS buffers it should + * refuse because getfb supports returning a single buffer handle. + * Functionality: ccs, kms_gem_interop, tiling + * + * SUBTEST: getfb-%s-different-handles + * Description: Tests error handling while requesting for two different handles + * from %arg[1]. + * Functionality: kms_gem_interop + * + * arg[1]: + * + * @addfb: same fd + * @repeated: different fd + */ + +/** + * SUBTEST: getfb2-accept-ccs + * Description: Tests outputs are correct when retrieving a CCS framebuffer. + * Functionality: ccs, kms_gem_interop, tiling + * + * SUBTEST: getfb2-into-addfb2 + * Description: Output check by passing the output of GETFB2 into ADDFB2. + * Functionality: kms_gem_interop + * + * SUBTEST: getfb2-handle-%s + * Description: Tests error handling %arg[1]. + * Functionality: kms_gem_interop + * + * arg[1]: + * + * @closed: when passing a handle that has been closed + * @not-fb: when passing an invalid handle + * @zero: for a zero'd input + */ + +/** + * SUBTEST: %s-handle-protection + * Description: Make sure %arg[1] return handles if caller is non-root or non-master. + * Functionality: kms_gem_interop + * + * arg[1]: + * + * @getfb: GETFB ioctl + * @getfb2: GETFB2 ioctl + */ + IGT_TEST_DESCRIPTION("Tests GETFB and GETFB2 ioctls."); static bool has_getfb_iface(int fd) @@ -178,21 +242,6 @@ static uint32_t get_any_prop_id(int fd) return 0; } -/** - * SUBTEST: getfb-handle-%s - * Description: Tests error handling %arg[1] - * Driver requirement: i915, xe - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @closed: when passing a handle that has been closed. - * @not-fb: when passing an invalid handle. - * @valid: when passing an valid handle. - * @zero: for a zero'd input. - */ static void test_handle_input(int fd) { struct drm_mode_fb_cmd2 add = {}; @@ -248,28 +297,6 @@ static void test_handle_input(int fd) gem_close(fd, add.handles[0]); } -/** - * SUBTEST: getfb-reject-ccs - * Description: Tests error handling while requesting CCS buffers it should - * refuse because getfb supports returning a single buffer handle. - * Driver requirement: i915, xe - * Functionality: ccs, kms_gem_interop, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: getfb-%s-different-handles - * Description: Tests error handling while requesting for two different handles - * from %arg[1]. - * Driver requirement: i915, xe - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @addfb: same fd - * @repeated: different fd - */ static void test_duplicate_handles(int fd) { struct drm_mode_fb_cmd2 add = {}; @@ -335,34 +362,6 @@ static void test_duplicate_handles(int fd) } } -/** - * SUBTEST: getfb2-accept-ccs - * Description: Tests outputs are correct when retrieving a CCS framebuffer. - * Driver requirement: i915, xe - * Functionality: ccs, kms_gem_interop, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: getfb2-into-addfb2 - * Description: Output check by passing the output of GETFB2 into ADDFB2. - * Driver requirement: i915, xe - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: getfb2-handle-%s - * Description: Tests error handling %arg[1]. - * Driver requirement: i915, xe - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @closed: when passing a handle that has been closed - * @not-fb: when passing an invalid handle - * @zero: for a zero'd input - */ static void test_getfb2(int fd) { struct drm_mode_fb_cmd2 add_basic = {}; @@ -471,19 +470,6 @@ static void test_getfb2(int fd) } } -/** - * SUBTEST: %s-handle-protection - * Description: Make sure %arg[1] return handles if caller is non-root or non-master. - * Driver requirement: i915, xe - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @getfb: GETFB ioctl - * @getfb2: GETFB2 ioctl - */ static void test_handle_protection(void) { int non_master_fd; struct drm_mode_fb_cmd2 non_master_add = {}; diff --git a/tests/kms_hdmi_inject.c b/tests/kms_hdmi_inject.c index 61f62fa7c..2ca995577 100644 --- a/tests/kms_hdmi_inject.c +++ b/tests/kms_hdmi_inject.c @@ -22,6 +22,16 @@ * */ +/** + * TEST: kms hdmi inject + * Category: Display + * Description: Test that in-kernel EDID parsing is producing expected results + * by forcing a HDMI connector with a known EDID and checking that + * the metadata exposed to user space matches. + * Driver requirement: i915, xe + * Mega feature: HDMI + * Test category: functionality test + */ #include "config.h" #include <dirent.h> @@ -32,27 +42,15 @@ #include "xe/xe_query.h" /** - * TEST: kms hdmi inject - * Category: Display - * Description: Test that in-kernel EDID parsing is producing expected results - * by forcing a HDMI connector with a known EDID and checking that - * the metadata exposed to user space matches. - * * SUBTEST: inject-4k * Description: Make sure that 4K modes exposed by DRM match the forced EDID and * modesetting using it succeed. - * Driver requirement: i915, xe * Functionality: force_connector, hdmi_edid - * Mega feature: HDMI - * Test category: functionality test * * SUBTEST: inject-audio * Description: Make sure that audio information exposed by ALSA match the forced * EDID. - * Driver requirement: i915, xe * Functionality: audio, force_connector - * Mega feature: HDMI - * Test category: functionality test */ #define HDISPLAY_4K 3840 diff --git a/tests/kms_hdr.c b/tests/kms_hdr.c index ed98a0c26..552a12e62 100644 --- a/tests/kms_hdr.c +++ b/tests/kms_hdr.c @@ -24,6 +24,9 @@ * TEST: kms hdr * Category: Display * Description: Test HDR metadata interfaces and bpc switch + * Driver requirement: i915, xe + * Mega feature: HDR + * Test category: functionality test */ #include "igt.h" #include <fcntl.h> @@ -31,6 +34,45 @@ #include <unistd.h> #include "igt_edid.h" +/** + * SUBTEST: bpc-switch + * Description: Tests switching between different display output bpc modes + * Functionality: colorspace, hdr + * + * SUBTEST: bpc-switch-dpms + * Description: Tests switching between different display output bpc modes with dpms + * Functionality: colorspace, dpms, hdr + * + * SUBTEST: bpc-switch-suspend + * Description: Tests switching between different display output bpc modes with suspend + * Functionality: colorspace, hdr, suspend + * + * SUBTEST: invalid-hdr + * Description: Test to ensure HDR is not enabled on non-HDR panel + * Functionality: colorspace, hdr + * + * SUBTEST: invalid-metadata-sizes + * Description: Tests invalid HDR metadata sizes + * Functionality: colorspace, hdr + * + * SUBTEST: static-toggle-dpms + * Description: Tests static toggle with dpms + * Functionality: colorspace, dpms, hdr + * + * SUBTEST: static-toggle-suspend + * Description: Tests static toggle with suspend + * Functionality: colorspace, hdr, suspend + * + * SUBTEST: static-%s + * Description: Tests %arg[1]. + * Functionality: colorspace, hdr + * + * arg[1]: + * + * @swap: swapping static HDR metadata + * @toggle: entering and exiting HDR mode + */ + IGT_TEST_DESCRIPTION("Test HDR metadata interfaces and bpc switch"); /* HDR EDID parsing. */ @@ -213,28 +255,6 @@ static bool has_max_bpc(igt_output_t *output) igt_output_get_prop(output, IGT_CONNECTOR_MAX_BPC); } -/** - * SUBTEST: bpc-switch - * Description: Tests switching between different display output bpc modes - * Driver requirement: i915, xe - * Functionality: colorspace, hdr - * Mega feature: HDR - * Test category: functionality test - * - * SUBTEST: bpc-switch-dpms - * Description: Tests switching between different display output bpc modes with dpms - * Driver requirement: i915, xe - * Functionality: colorspace, dpms, hdr - * Mega feature: HDR - * Test category: functionality test - * - * SUBTEST: bpc-switch-suspend - * Description: Tests switching between different display output bpc modes with suspend - * Driver requirement: i915, xe - * Functionality: colorspace, hdr, suspend - * Mega feature: HDR - * Test category: functionality test - */ static void test_bpc_switch(data_t *data, uint32_t flags) { igt_display_t *display = &data->display; @@ -588,47 +608,6 @@ static bool has_hdr(igt_output_t *output) return igt_output_has_prop(output, IGT_CONNECTOR_HDR_OUTPUT_METADATA); } -/** - * SUBTEST: invalid-hdr - * Description: Test to ensure HDR is not enabled on non-HDR panel - * Driver requirement: i915, xe - * Functionality: colorspace, hdr - * Mega feature: HDR - * Test category: functionality test - * - * SUBTEST: invalid-metadata-sizes - * Description: Tests invalid HDR metadata sizes - * Driver requirement: i915, xe - * Functionality: colorspace, hdr - * Mega feature: HDR - * Test category: functionality test - * - * SUBTEST: static-toggle-dpms - * Description: Tests static toggle with dpms - * Driver requirement: i915, xe - * Functionality: colorspace, dpms, hdr - * Mega feature: HDR - * Test category: functionality test - * - * SUBTEST: static-toggle-suspend - * Description: Tests static toggle with suspend - * Driver requirement: i915, xe - * Functionality: colorspace, hdr, suspend - * Mega feature: HDR - * Test category: functionality test - * - * SUBTEST: static-%s - * Description: Tests %arg[1]. - * Driver requirement: i915, xe - * Functionality: colorspace, hdr - * Mega feature: HDR - * Test category: functionality test - * - * arg[1]: - * - * @swap: swapping static HDR metadata - * @toggle: entering and exiting HDR mode - */ static void test_hdr(data_t *data, uint32_t flags) { igt_display_t *display = &data->display; diff --git a/tests/kms_invalid_mode.c b/tests/kms_invalid_mode.c index 017c2c195..0fe1d6ef9 100644 --- a/tests/kms_invalid_mode.c +++ b/tests/kms_invalid_mode.c @@ -27,6 +27,10 @@ * Category: Display * Description: Make sure all modesets are rejected when the requested mode is * invalid + * Driver requirement: i915, xe + * Functionality: kms_core + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include <limits.h> @@ -36,10 +40,6 @@ * SUBTEST: %s * Description: Make sure all modesets are rejected when the requested mode * (%arg[1]) is invalid - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * diff --git a/tests/kms_lease.c b/tests/kms_lease.c index 9ada6d5ea..8f10eee5d 100644 --- a/tests/kms_lease.c +++ b/tests/kms_lease.c @@ -30,8 +30,11 @@ * TEST: kms lease * Category: Display * Description: Test of CreateLease. + * Driver requirement: i915, xe + * Functionality: lease + * Mega feature: General Display Features + * Test category: functionality test */ - #include "igt.h" #include <stdlib.h> #include <stdio.h> @@ -53,155 +56,71 @@ /** * SUBTEST: atomic_implicit_crtc * Description: Negative test by using a different crtc with atomic ioctl - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: cursor_implicit_plane * Description: Negative test by using a non-primary plane with setcursor ioctl - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: empty_lease * Description: Check that creating an empty lease works - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: implicit-plane-lease * Description: Tests the implicitly added planes. - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: invalid-create-leases * Description: Tests error handling while creating invalid corner-cases for * create-lease ioctl - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: lease-uevent * Description: Tests all the uevent cases - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: lease_again * Description: Tests leasing objects more than once - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: lease_get * Description: Tests getting the required contents of a lease - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: lease_invalid_connector * Description: Tests leasing an invalid connector - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: lease_invalid_crtc * Description: Tests leasing an invalid crtc - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: lease_invalid_plane * Description: Tests leasing an invalid plane - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: lease_revoke * Description: Tests revocation of lease - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: lease_unleased_connector * Description: Negative test by trying to use an unleased connector - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: lease_unleased_crtc * Description: Negative test by trying to use an unleased crtc - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: lessee_list * Description: Check if listed lease is same as created one - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: master-vs-lease * Description: Tests the drop/set_master interactions. - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: multimaster-lease * Description: Tests that the 2nd master can only create leases while being * active master, and that leases on the first master don't prevent * lease creation for the 2nd master. - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: page_flip_implicit_plane * Description: Negative test by using a non-primary plane with the page flip ioctl - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: possible-crtcs-filtering * Description: Tests that possible_crtcs logically match between master and * lease, and that the values are correctly renumbered on the lease * side. - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: setcrtc_implicit_plane * Description: Negative test by using a non-primary plane with the setcrtc ioctl - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: simple_lease * Description: Check if create lease ioctl call works - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test */ IGT_TEST_DESCRIPTION("Test of CreateLease."); diff --git a/tests/kms_multipipe_modeset.c b/tests/kms_multipipe_modeset.c index a968a3513..9da689538 100644 --- a/tests/kms_multipipe_modeset.c +++ b/tests/kms_multipipe_modeset.c @@ -24,20 +24,22 @@ * Karthik B S <karthik.b.s@intel.com> */ -#include "igt.h" /** * TEST: kms multipipe modeset * Category: Display * Description: Test simultaneous modeset on all the supported pipes - * - * SUBTEST: basic-max-pipe-crc-check - * Description: Verify if simultaneous modesets on all the supported pipes is - * successful. Validate using CRC verification * Driver requirement: i915, xe * Functionality: kms_core * Mega feature: General Display Features * Test category: functionality test */ +#include "igt.h" + +/** + * SUBTEST: basic-max-pipe-crc-check + * Description: Verify if simultaneous modesets on all the supported pipes is + * successful. Validate using CRC verification + */ IGT_TEST_DESCRIPTION("Test simultaneous modeset on all the supported pipes"); diff --git a/tests/kms_panel_fitting.c b/tests/kms_panel_fitting.c index a583e1435..347b146e8 100644 --- a/tests/kms_panel_fitting.c +++ b/tests/kms_panel_fitting.c @@ -22,28 +22,26 @@ * */ -#include "igt.h" -#include <limits.h> -#include <math.h> -#include <sys/stat.h> /** * TEST: kms panel fitting * Category: Display * Description: Test display panel fitting - * - * SUBTEST: atomic-fastset - * Description: Tests panel fitting usages with atomic fastset. * Driver requirement: i915, xe * Functionality: eDP, panel_fitting, scaling * Mega feature: General Display Features * Test category: functionality test + */ +#include "igt.h" +#include <limits.h> +#include <math.h> +#include <sys/stat.h> + +/** + * SUBTEST: atomic-fastset + * Description: Tests panel fitting usages with atomic fastset. * * SUBTEST: legacy * Description: Tests panel fitting usages with legacy style commit. - * Driver requirement: i915, xe - * Functionality: eDP, panel_fitting, scaling - * Mega feature: General Display Features - * Test category: functionality test */ IGT_TEST_DESCRIPTION("Test display panel fitting"); diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c index d980c3786..30181b677 100644 --- a/tests/kms_pipe_crc_basic.c +++ b/tests/kms_pipe_crc_basic.c @@ -26,8 +26,11 @@ * TEST: kms pipe crc basic * Category: Display * Description: Tests behaviour of CRC + * Driver requirement: i915, xe + * Functionality: crc + * Mega feature: General Display Features + * Test category: functionality test */ - #include "igt.h" #include "igt_sysfs.h" #include <errno.h> @@ -36,6 +39,44 @@ #include <string.h> #include <fcntl.h> +/** + * SUBTEST: disable-crc-after-crtc + * Description: Check that disabling CRCs on a CRTC after having disabled the + * CRTC does not cause issues. + * + * SUBTEST: bad-source + * Description: Tests error handling when the bad source is set. + * + * SUBTEST: read-crc + * Description: Test for pipe CRC reads + * + * SUBTEST: read-crc-frame-sequence + * Description: Tests the pipe CRC read and ensure frame sequence + * + * SUBTEST: nonblocking-crc + * Description: Test for O_NONBLOCK CRC reads + * + * SUBTEST: nonblocking-crc-frame-sequence + * Description: Test for O_NONBLOCK CRC reads and ensure frame sequence + * + * SUBTEST: suspend-read-crc + * Description: Suspend test for pipe CRC reads + * Functionality: crc, suspend + * + * SUBTEST: hang-read-crc + * Description: Hang test for pipe CRC read + * Functionality: crc, hang + * + * SUBTEST: compare-crc-sanitycheck-%s + * Description: Basic sanity check for CRC mismatches with %arg[1] + * Functionality: crc, pixel_format + * + * arg[1]: + * + * @xr24: XR24 format + * @nv12: NV12 format + */ + static bool extended; static enum pipe active_pipes[IGT_MAX_PIPES]; static uint32_t last_pipe; @@ -65,14 +106,6 @@ static bool simulation_constraint(enum pipe pipe) return false; } -/** - * SUBTEST: bad-source - * Description: Tests error handling when the bad source is set. - * Driver requirement: i915, xe - * Functionality: crc - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_bad_source(data_t *data) { errno = 0; @@ -94,49 +127,6 @@ enum { TEST_HANG = 1 << 3, }; -/** - * SUBTEST: read-crc - * Description: Test for pipe CRC reads - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: crc - * Mega feature: General Display Features - * - * SUBTEST: read-crc-frame-sequence - * Description: Tests the pipe CRC read and ensure frame sequence - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: crc - * Mega feature: General Display Features - * - * SUBTEST: nonblocking-crc - * Description: Test for O_NONBLOCK CRC reads - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: crc - * Mega feature: General Display Features - * - * SUBTEST: nonblocking-crc-frame-sequence - * Description: Test for O_NONBLOCK CRC reads and ensure frame sequence - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: crc - * Mega feature: General Display Features - * - * SUBTEST: suspend-read-crc - * Description: Suspend test for pipe CRC reads - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: crc, suspend - * Mega feature: General Display Features - * - * SUBTEST: hang-read-crc - * Description: Hang test for pipe CRC read - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: crc, hang - * Mega feature: General Display Features - */ static void test_read_crc(data_t *data, enum pipe pipe, igt_output_t *output, unsigned flags) { @@ -234,20 +224,6 @@ static void test_read_crc(data_t *data, enum pipe pipe, igt_display_commit(display); } -/** - * SUBTEST: compare-crc-sanitycheck-%s - * Description: Basic sanity check for CRC mismatches with %arg[1] - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: crc, pixel_format - * Mega feature: General Display Features - * - * arg[1]: - * - * @xr24: XR24 format - * @nv12: NV12 format - */ - /* * CRC-sanity test, to make sure there would be no CRC mismatches * @@ -313,15 +289,6 @@ static void test_compare_crc(data_t *data, enum pipe pipe, igt_output_t *output, igt_remove_fb(data->drm_fd, &fb1); } -/** - * SUBTEST: disable-crc-after-crtc - * Description: Check that disabling CRCs on a CRTC after having disabled the - * CRTC does not cause issues. - * Driver requirement: i915, xe - * Functionality: crc - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_disable_crc_after_crtc(data_t *data, enum pipe pipe, igt_output_t *output) { diff --git a/tests/kms_plane.c b/tests/kms_plane.c index 9a515559c..6511e55ec 100644 --- a/tests/kms_plane.c +++ b/tests/kms_plane.c @@ -28,6 +28,9 @@ * TEST: kms plane * Category: Display * Description: Testes for KMS Plane + * Driver requirement: i915, xe + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include "igt_vec.h" @@ -37,6 +40,55 @@ #include <string.h> #include "xe/xe_query.h" +/** + * SUBTEST: plane-position-%s + * Description: Verify plane position using two planes to create a %arg[1] + * Functionality: plane + * + * SUBTEST: plane-position-hole-dpms + * Description: Verify plane position using two planes to create a partially + * covered screen and check for DPMS + * Functionality: dpms, plane + * + * arg[1]: + * + * @covered: fully covered screen + * @hole: partially covered screen + */ + +/** + * SUBTEST: plane-panning-%s + * Description: Verify plane panning at %arg[1] using primary plane + * Functionality: plane + * + * SUBTEST: plane-panning-bottom-right-suspend + * Description: Verify plane panning at bottom-right position with suspend using + * primary plane + * Functionality: plane, suspend + * + * arg[1]: + * + * @bottom-right: bottom-right position + * @top-left: top-left position + */ + +/** + * SUBTEST: pixel-%s + * Description: verify the pixel formats for given plane and pipe + * Functionality: pixel_format, plane + * + * arg[1]: + * + * @format: + * @format-source-clamping: with source clamping + */ + +/** + * SUBTEST: invalid-pixel-format-settings + * Description: verify invalid settings for pixel format are not accepted + * Functionality: pixel_format, plane + */ + /* * Throw away enough lsbs in pixel formats tests * to get a match despite some differences between @@ -284,27 +336,6 @@ test_plane_position_with_output(data_t *data, igt_remove_fb(data->drm_fd, &sprite_fb); } -/** - * SUBTEST: plane-position-%s - * Description: Verify plane position using two planes to create a %arg[1] - * Driver requirement: i915, xe - * Functionality: plane - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: plane-position-hole-dpms - * Description: Verify plane position using two planes to create a partially - * covered screen and check for DPMS - * Driver requirement: i915, xe - * Functionality: dpms, plane - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @covered: fully covered screen - * @hole: partially covered screen - */ static void test_plane_position(data_t *data, enum pipe pipe) { @@ -413,27 +444,6 @@ test_plane_panning_with_output(data_t *data, igt_remove_fb(data->drm_fd, &primary_fb); } -/** - * SUBTEST: plane-panning-%s - * Description: Verify plane panning at %arg[1] using primary plane - * Driver requirement: i915, xe - * Functionality: plane - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: plane-panning-bottom-right-suspend - * Description: Verify plane panning at bottom-right position with suspend using - * primary plane - * Driver requirement: i915, xe - * Functionality: plane, suspend - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @bottom-right: bottom-right position - * @top-left: top-left position - */ static void test_plane_panning(data_t *data, enum pipe pipe) { @@ -1159,19 +1169,6 @@ static bool skip_plane(data_t *data, igt_plane_t *plane) return index != 0 && index != 3 && index != 5; } -/** - * SUBTEST: pixel-%s - * Description: verify the pixel formats for given plane and pipe - * Driver requirement: i915, xe - * Functionality: pixel_format, plane - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @format: - * @format-source-clamping: with source clamping - */ static void test_pixel_formats(data_t *data, enum pipe pipe) { @@ -1228,14 +1225,6 @@ test_pixel_formats(data_t *data, enum pipe pipe) igt_assert_f(result, "At least one CRC mismatch happened\n"); } -/** - * SUBTEST: invalid-pixel-format-settings - * Description: verify invalid settings for pixel format are not accepted - * Driver requirement: i915, xe - * Functionality: pixel_format, plane - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_invalid_settings(data_t *data) { enum pipe pipe = PIPE_A; diff --git a/tests/kms_plane_alpha_blend.c b/tests/kms_plane_alpha_blend.c index bff624ebe..81a3f7122 100644 --- a/tests/kms_plane_alpha_blend.c +++ b/tests/kms_plane_alpha_blend.c @@ -28,9 +28,44 @@ * TEST: kms plane alpha blend * Category: Display * Description: Test plane alpha and blending mode properties + * Driver requirement: i915, xe + * Functionality: plane + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" +/** + * SUBTEST: alpha-%s + * Description: Test to %arg[1] + * + * arg[1]: + * + * @7efc: validate alpha values 0x7e and 0xfc are swappable on + * pre-multiplied blend mode. + * @basic: basic plane alpha properties. + * @opaque-fb: alpha properties with opaque fb. + * @transparent-fb: alpha property with transparent fb. + */ + +/** + * SUBTEST: coverage-vs-premult-vs-constant + * Description: Tests pipe coverage blending properties. + * + * SUBTEST: coverage-7efc + * Description: Uses alpha values 0x7e and 0xfc to validate fg.alpha and + * plane_alpha are swappable on coverage blend mode. + * + * SUBTEST: constant-alpha-%s + * Description: Tests plane alpha and blending properties with %arg[1]. + * + * arg[1]: + * + * @max: maximum alpha value + * @mid: medium alpha value + * @min: minimum alpha value + */ + IGT_TEST_DESCRIPTION("Test plane alpha and blending mode properties"); static bool extended; @@ -482,52 +517,6 @@ static void coverage_premult_constant(data_t *data, enum pipe pipe, igt_plane_t igt_pipe_crc_stop(data->pipe_crc); } -/** - * SUBTEST: alpha-%s - * Description: Test to %arg[1] - * Driver requirement: i915, xe - * Functionality: plane - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @7efc: validate alpha values 0x7e and 0xfc are swappable on - * pre-multiplied blend mode. - * @basic: basic plane alpha properties. - * @opaque-fb: alpha properties with opaque fb. - * @transparent-fb: alpha property with transparent fb. - */ - -/** - * SUBTEST: coverage-vs-premult-vs-constant - * Description: Tests pipe coverage blending properties. - * Driver requirement: i915, xe - * Functionality: plane - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: coverage-7efc - * Description: Uses alpha values 0x7e and 0xfc to validate fg.alpha and - * plane_alpha are swappable on coverage blend mode. - * Driver requirement: i915, xe - * Functionality: plane - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: constant-alpha-%s - * Description: Tests plane alpha and blending properties with %arg[1]. - * Driver requirement: i915, xe - * Functionality: plane - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @max: maximum alpha value - * @mid: medium alpha value - * @min: minimum alpha value - */ static void run_test_on_pipe_planes(data_t *data, enum pipe pipe, igt_output_t *output, bool blend, bool must_multiply, void(*test)(data_t *, enum pipe, igt_plane_t *)) diff --git a/tests/kms_plane_cursor.c b/tests/kms_plane_cursor.c index 22c5a709d..6c9d7cfdf 100644 --- a/tests/kms_plane_cursor.c +++ b/tests/kms_plane_cursor.c @@ -20,34 +20,27 @@ * OTHER DEALINGS IN THE SOFTWARE. */ -#include "igt.h" - /** * TEST: kms plane cursor * Category: Display * Description: Tests cursor interactions with primary and overlay planes. - * - * SUBTEST: overlay - * Description: Tests atomic cursor positioning on primary plane and overlay plane * Driver requirement: i915, xe * Functionality: cursor, plane * Mega feature: General Display Features * Test category: functionality test + */ +#include "igt.h" + +/** + * SUBTEST: overlay + * Description: Tests atomic cursor positioning on primary plane and overlay plane * * SUBTEST: primary * Description: Tests atomic cursor positioning on primary plane - * Driver requirement: i915, xe - * Functionality: cursor, plane - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: viewport * Description: Tests atomic cursor positioning on primary plane and overlay plane * with buffer larger than viewport used for display - * Driver requirement: i915, xe - * Functionality: cursor, plane - * Mega feature: General Display Features - * Test category: functionality test */ /* diff --git a/tests/kms_plane_lowres.c b/tests/kms_plane_lowres.c index d9a175c9b..06b1c93bf 100644 --- a/tests/kms_plane_lowres.c +++ b/tests/kms_plane_lowres.c @@ -27,6 +27,9 @@ * Category: Display * Description: Test atomic mode setting with a plane by switching between high * and low resolutions + * Driver requirement: i915, xe + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include "drmtest.h" @@ -36,6 +39,25 @@ #include <string.h> #include <time.h> +/** + * SUBTEST: tiling-none + * Description: Tests the visibility of the planes when switching between high + * and low resolution with Linear buffer (no tiling) + * Functionality: plane + * + * SUBTEST: tiling-%s + * Description: Tests the visibility of the planes when switching between high + * and low resolution with %arg[1] + * Functionality: plane, tiling + * + * arg[1]: + * + * @4: 4-tiling + * @x: x-tiling + * @y: y-tiling + * @yf: yf-tiling + */ + IGT_TEST_DESCRIPTION("Test atomic mode setting with a plane by switching between high and low resolutions"); #define SDR_PLANE_BASE 3 @@ -267,30 +289,6 @@ static void test_cleanup(data_t *data) igt_display_commit2(&data->display, COMMIT_ATOMIC); } -/** - * SUBTEST: tiling-none - * Description: Tests the visibility of the planes when switching between high - * and low resolution with Linear buffer (no tiling) - * Driver requirement: i915, xe - * Functionality: plane - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: tiling-%s - * Description: Tests the visibility of the planes when switching between high - * and low resolution with %arg[1] - * Driver requirement: i915, xe - * Functionality: plane, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @4: 4-tiling - * @x: x-tiling - * @y: y-tiling - * @yf: yf-tiling - */ static void run_test(data_t *data, uint64_t modifier) { enum pipe pipe; diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c index b1ae35161..f0910ac61 100644 --- a/tests/kms_plane_multiple.c +++ b/tests/kms_plane_multiple.c @@ -26,6 +26,9 @@ * TEST: kms plane multiple * Category: Display * Description: Test atomic mode setting with multiple planes. + * Driver requirement: i915, xe + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include "drmtest.h" @@ -35,6 +38,27 @@ #include <string.h> #include <time.h> +/** + * SUBTEST: tiling-none + * Description: 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. + * Functionality: plane + * + * SUBTEST: tiling-%s + * Description: 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. + * Functionality: plane, tiling + * + * arg[1]: + * + * @4: 4-tiling + * @x: x-tiling + * @y: y-tiling + * @yf: yf-tiling + */ + IGT_TEST_DESCRIPTION("Test atomic mode setting with multiple planes."); #define SIZE_PLANE 256 @@ -378,32 +402,6 @@ test_plane_position(data_t *data, enum pipe pipe, igt_output_t *output, uint64_t n_planes, modifier); } -/** - * SUBTEST: tiling-none - * Description: 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. - * Driver requirement: i915, xe - * Functionality: plane - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: tiling-%s - * Description: 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. - * Driver requirement: i915, xe - * Functionality: plane, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @4: 4-tiling - * @x: x-tiling - * @y: y-tiling - * @yf: yf-tiling - */ static void run_test(data_t *data, uint64_t modifier) { enum pipe pipe; diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c index 299f55960..1cfc70da6 100644 --- a/tests/kms_plane_scaling.c +++ b/tests/kms_plane_scaling.c @@ -26,11 +26,129 @@ * TEST: kms plane scaling * Category: Display * Description: Test display plane scaling + * Driver requirement: i915, xe + * Functionality: plane, scaling + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include "igt_vec.h" #include <math.h> +/** + * SUBTEST: plane-scaler-with-modifiers-unity-scaling + * Description: Tests scaling with modifiers, unity scaling. + * + * SUBTEST: plane-scaler-with-clipping-clamping-modifiers + * Description: Tests scaling with clipping and clamping, modifiers. + * + * SUBTEST: plane-upscale-with-modifiers-%s + * Description: Tests upscaling with modifiers %arg[1]. + * + * SUBTEST: plane-upscale-with-rotation-%s + * Description: Tests upscaling with rotation %arg[1]. + * + * SUBTEST: plane-upscale-with-pixel-format-%s + * Description: Tests upscaling with pixel formats %arg[1]. + * Functionality: pixel_formats, plane, scaling + * + * SUBTEST: planes-upscale-%s + * Description: Tests upscaling of 2 planes %arg[1]. + * + * arg[1]: + * + * @20x20: from 20x20 fb + * @factor-0-25: for 0.25 scaling factor + */ + +/** + * SUBTEST: plane-downscale-with-modifiers-factor-%s + * Description: Tests downscaling with modifiers for %arg[1] scaling factor. + * + * SUBTEST: plane-downscale-with-rotation-factor-%s + * Description: Tests downscaling with rotation for %arg[1] scaling factor. + * + * SUBTEST: plane-downscale-with-pixel-format-factor-%s + * Description: Tests downscaling with pixel formats for %arg[1] scaling factor. + * Functionality: pixel_formats, plane, scaling + * + * SUBTEST: planes-downscale-factor-%s + * Description: Tests downscaling of 2 planes for %arg[1] scaling factor. + * + * arg[1]: + * + * @0-25: 0.25 + * @0-5: 0.5 + * @0-75: 0.75 + */ + +/** + * SUBTEST: plane-scaler-with-rotation-unity-scaling + * Description: Tests scaling with rotation, unity scaling. + * + * SUBTEST: plane-scaler-with-clipping-clamping-rotation + * Description: Tests scaling with clipping and clamping, rotation. + * + * SUBTEST: plane-scaler-with-pixel-format-unity-scaling + * Description: Tests scaling with pixel formats, unity scaling. + * Functionality: pixel_formats, plane, scaling + * + * SUBTEST: plane-scaler-with-clipping-clamping-pixel-formats + * Description: Tests scaling with clipping and clamping, pixel formats. + * Functionality: pixel_formats, plane, scaling + * + * SUBTEST: planes-scaler-unity-scaling + * Description: Tests scaling of 2 planes, unity scaling. + * + * SUBTEST: invalid-num-scalers + * Description: Negative test for number of scalers per pipe. + * + * SUBTEST: 2x-scaler-multi-pipe + * Description: Tests scaling with multi-pipe. + * + * SUBTEST: invalid-parameters + * Description: Test parameters which should not be accepted + * + * SUBTEST: intel-max-src-size + * Description: Test for validating max source size. + */ + +/** + * SUBTEST: planes-downscale-factor-%s-%s + * Description: Tests downscaling (scaling factor %arg[1]) and upscaling (%arg[2]) + * of 2 planes. + * + * arg[1]: + * + * @0-25: 0.25 + * @0-5: 0.5 + * @0-75: 0.75 + * + * arg[2]: + * + * @upscale-20x20: upscale 20x20 + * @upscale-factor-0-25: scaling factor 0.25 + * @unity-scaling: Unity + */ + +/** + * SUBTEST: planes-%s-downscale-factor-%s + * Description: Tests scaling (%arg[1]) and downscaling (scaling factor %arg[2]) + * of 2 planes. + * + * arg[1]: + * + * @unity-scaling: Unity + * @upscale-factor-0-25: scaling factor 0.25 + * @upscale-20x20: upscale 20x20 + * + * arg[2]: + * + * @0-25: 0.25 + * @0-5: 0.5 + * @0-75: 0.75 + */ + IGT_TEST_DESCRIPTION("Test display plane scaling"); enum scaler_combo_test_type { @@ -529,48 +647,6 @@ static const uint64_t modifiers[] = { I915_FORMAT_MOD_4_TILED }; -/** - * SUBTEST: plane-scaler-with-modifiers-unity-scaling - * Description: Tests scaling with modifiers, unity scaling. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: plane-scaler-with-clipping-clamping-modifiers - * Description: Tests scaling with clipping and clamping, modifiers. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: plane-upscale-with-modifiers-%s - * Description: Tests upscaling with modifiers %arg[1]. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @20x20: from 20x20 fb - * @factor-0-25: for 0.25 scaling factor - */ - -/** - * SUBTEST: plane-downscale-with-modifiers-factor-%s - * Description: Tests downscaling with modifiers for %arg[1] scaling factor. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @0-25: 0.25 - * @0-5: 0.5 - * @0-75: 0.75 - */ static void test_scaler_with_modifier_pipe(data_t *d, int width, int height, bool is_upscale, @@ -603,48 +679,6 @@ static void test_scaler_with_modifier_pipe(data_t *d, } } -/** - * SUBTEST: plane-scaler-with-rotation-unity-scaling - * Description: Tests scaling with rotation, unity scaling. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: plane-scaler-with-clipping-clamping-rotation - * Description: Tests scaling with clipping and clamping, rotation. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: plane-upscale-with-rotation-%s - * Description: Tests upscaling with rotation %arg[1]. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @20x20: from 20x20 fb - * @factor-0-25: for 0.25 scaling factor - */ - -/** - * SUBTEST: plane-downscale-with-rotation-factor-%s - * Description: Tests downscaling with rotation for %arg[1] scaling factor. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @0-25: 0.25 - * @0-5: 0.5 - * @0-75: 0.75 - */ static void test_scaler_with_rotation_pipe(data_t *d, int width, int height, bool is_upscale, @@ -678,48 +712,6 @@ static void test_scaler_with_rotation_pipe(data_t *d, } } -/** - * SUBTEST: plane-scaler-with-pixel-format-unity-scaling - * Description: Tests scaling with pixel formats, unity scaling. - * Driver requirement: i915, xe - * Functionality: pixel_formats, plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: plane-scaler-with-clipping-clamping-pixel-formats - * Description: Tests scaling with clipping and clamping, pixel formats. - * Driver requirement: i915, xe - * Functionality: pixel_formats, plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: plane-upscale-with-pixel-format-%s - * Description: Tests upscaling with pixel formats %arg[1]. - * Driver requirement: i915, xe - * Functionality: pixel_formats, plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @20x20: from 20x20 fb - * @factor-0-25: for 0.25 scaling factor - */ - -/** - * SUBTEST: plane-downscale-with-pixel-format-factor-%s - * Description: Tests downscaling with pixel formats for %arg[1] scaling factor. - * Driver requirement: i915, xe - * Functionality: pixel_formats, plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @0-25: 0.25 - * @0-5: 0.5 - * @0-75: 0.75 - */ static void test_scaler_with_pixel_format_pipe(data_t *d, int width, int height, bool is_upscale, enum pipe pipe, igt_output_t *output) { @@ -855,83 +847,6 @@ static void setup_fb(int fd, int width, int height, struct igt_fb *fb) fb); } -/** - * SUBTEST: planes-downscale-factor-%s - * Description: Tests downscaling of 2 planes for %arg[1] scaling factor. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @0-25: 0.25 - * @0-5: 0.5 - * @0-75: 0.75 - */ -/** - * SUBTEST: planes-downscale-factor-%s-%s - * Description: Tests downscaling (scaling factor %arg[1]) and upscaling (%arg[2]) - * of 2 planes. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @0-25: 0.25 - * @0-5: 0.5 - * @0-75: 0.75 - * - * arg[2]: - * - * @upscale-20x20: upscale 20x20 - * @upscale-factor-0-25: scaling factor 0.25 - * @unity-scaling: Unity - */ -/** - * SUBTEST: planes-scaler-unity-scaling - * Description: Tests scaling of 2 planes, unity scaling. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: planes-upscale-%s - * Description: Tests upscaling of 2 planes %arg[1]. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @20x20: from 20x20 fb - * @factor-0-25: for 0.25 scaling factor - */ -/** - * SUBTEST: planes-%s-downscale-factor-%s - * Description: Tests scaling (%arg[1]) and downscaling (scaling factor %arg[2]) - * of 2 planes. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @unity-scaling: Unity - * @upscale-factor-0-25: scaling factor 0.25 - * @upscale-20x20: upscale 20x20 - * - * arg[2]: - * - * @0-25: 0.25 - * @0-5: 0.5 - * @0-75: 0.75 - */ - static void test_planes_scaling_combo(data_t *d, int w1, int h1, int w2, int h2, enum pipe pipe, igt_output_t *output, @@ -990,14 +905,6 @@ test_planes_scaling_combo(data_t *d, int w1, int h1, int w2, int h2, cleanup_fbs(d); } -/** - * SUBTEST: invalid-num-scalers - * Description: Negative test for number of scalers per pipe. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_invalid_num_scalers(data_t *d, enum pipe pipe, igt_output_t *output) { @@ -1063,14 +970,6 @@ test_invalid_num_scalers(data_t *d, enum pipe pipe, igt_output_t *output) cleanup_fbs(d); } -/** - * SUBTEST: 2x-scaler-multi-pipe - * Description: Tests scaling with multi-pipe. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_scaler_with_multi_pipe_plane(data_t *d) { igt_display_t *display = &d->display; @@ -1155,14 +1054,6 @@ static void test_scaler_with_multi_pipe_plane(data_t *d) igt_assert_eq(ret1 && ret2, 0); } -/** - * SUBTEST: invalid-parameters - * Description: Test parameters which should not be accepted - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - */ static void invalid_parameter_tests(data_t *d) { enum pipe pipe = PIPE_A; @@ -1243,15 +1134,6 @@ static drmModeModeInfo *find_mode(data_t *data, igt_output_t *output, const uint return mode; } -/** - * SUBTEST: intel-max-src-size - * Description: Test for validating max source size. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - */ - /* * Max source/destination width/height for intel driver. * These numbers are coming from diff --git a/tests/kms_prime.c b/tests/kms_prime.c index 14e44869d..36cb7f601 100644 --- a/tests/kms_prime.c +++ b/tests/kms_prime.c @@ -21,6 +21,14 @@ * IN THE SOFTWARE. */ +/** + * TEST: kms prime + * Category: Display + * Description: Prime tests, focusing on KMS side + * Driver requirement: i915, xe + * Mega feature: General Display Features + * Test category: functionality test + */ #include "igt.h" #include "igt_device.h" #include "igt_debugfs.h" @@ -30,32 +38,20 @@ #include <sys/ioctl.h> #include <sys/poll.h> #include <time.h> + /** - * TEST: kms prime - * Category: Display - * Description: Prime tests, focusing on KMS side - * * SUBTEST: D3hot * Description: Validate pci state of dGPU when dGPU is idle and scanout is on iGPU - * Driver requirement: i915, xe * Functionality: hybrid, kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: basic-modeset-hybrid * Description: Basic modeset on the one device when the other device is active - * Driver requirement: i915, xe * Functionality: hybrid, kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: basic-crc-%s * Description: Make a dumb color buffer, export to another device and compare * the CRCs with a buffer native to that device - * Driver requirement: i915, xe * Functionality: crc, hybrid, kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * diff --git a/tests/kms_prop_blob.c b/tests/kms_prop_blob.c index c92525227..8ec9a2e6a 100644 --- a/tests/kms_prop_blob.c +++ b/tests/kms_prop_blob.c @@ -29,6 +29,10 @@ * TEST: kms prop blob * Category: Display * Description: Tests behaviour of mass-data 'blob' properties. + * Driver requirement: i915, xe + * Functionality: kms_core + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include <errno.h> @@ -36,6 +40,37 @@ #include <stdio.h> #include <string.h> +/** + * SUBTEST: basic + * Description: Test to ensure property support exists + * + * SUBTEST: blob-multiple + * Description: Test validates destroying multiple properties explicitly works as needed. + * + * SUBTEST: invalid-%s-%s + * Description: Tests error handling when invalid properties are %ar[1] with %arg[2]. + * + * arg[1]: + * + * @get: fetched + * @set: set + * + * arg[2]: + * + * @prop: blob object type + * @prop-any: object of any type + */ + +/** + * SUBTEST: blob-prop-%s + * Description: Tests validates the %arg[1] of the properties created. + * + * arg[1]: + * + * @core: validity + * @lifetime: lifetime + * @validate: blob size + */ IGT_TEST_DESCRIPTION("Tests behaviour of mass-data 'blob' properties."); static const struct drm_mode_modeinfo test_mode_valid = { @@ -123,27 +158,6 @@ destroy_prop(int fd, uint32_t prop_id) return 0; } -/** - * SUBTEST: blob-multiple - * Description: Test validates destroying multiple properties explicitly works as needed. - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: blob-prop-%s - * Description: Tests validates the %arg[1] of the properties created. - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @core: validity - * @lifetime: lifetime - * @validate: blob size - */ static void test_validate(int fd) { @@ -264,14 +278,6 @@ test_core(int fd) igt_assert_eq(validate_prop(fd, 0), ENOENT); } -/** - * SUBTEST: basic - * Description: Test to ensure property support exists - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_core - * Mega feature: General Display Features - */ static void test_basic(int fd) { @@ -282,24 +288,6 @@ test_basic(int fd) igt_assert_eq(destroy_prop(fd, prop_id), 0); } -/** - * SUBTEST: invalid-%s-%s - * Description: Tests error handling when invalid properties are %ar[1] with %arg[2]. - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @get: fetched - * @set: set - * - * arg[2]: - * - * @prop: blob object type - * @prop-any: object of any type - */ static void prop_tests(int fd) { struct drm_mode_obj_get_properties get_props = {}; diff --git a/tests/kms_properties.c b/tests/kms_properties.c index 328436622..3b5b3c95e 100644 --- a/tests/kms_properties.c +++ b/tests/kms_properties.c @@ -21,6 +21,15 @@ * IN THE SOFTWARE. */ +/** + * TEST: kms properties + * Category: Display + * Description: Test to validate the properties of all planes, crtc and connectors + * Driver requirement: i915, xe + * Functionality: kms_core + * Mega feature: General Display Features + * Test category: functionality test + */ #include "igt.h" #include "drmtest.h" #include <errno.h> @@ -28,17 +37,10 @@ #include <stdio.h> #include <string.h> #include <time.h> + /** - * TEST: kms properties - * Category: Display - * Description: Test to validate the properties of all planes, crtc and connectors - * * SUBTEST: %s-properties-%s * Description: Tests %arg[1] properties with %arg[2] commit - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * @@ -53,6 +55,16 @@ * @legacy: legacy */ +/** + * SUBTEST: get_properties-sanity-%s + * Description: Test validates the properties of all planes, crtc and connectors + * with %arg[1] commit + * + * arg[1]: + * + * @atomic: atomic + * @non-atomic: legacy + */ struct additional_test { const char *name; @@ -712,20 +724,6 @@ static void expect_no_props(int fd, uint32_t obj_type, uint32_t obj_id) igt_assert_neq(drmIoctl(fd, DRM_IOCTL_MODE_OBJ_GETPROPERTIES, &properties), 0); } -/** - * SUBTEST: get_properties-sanity-%s - * Description: Test validates the properties of all planes, crtc and connectors - * with %arg[1] commit - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @atomic: atomic - * @non-atomic: legacy - */ static void get_prop_sanity(igt_display_t *display, bool atomic) { int fd = display->drm_fd; diff --git a/tests/kms_rmfb.c b/tests/kms_rmfb.c index 6c6cdffba..9b135c008 100644 --- a/tests/kms_rmfb.c +++ b/tests/kms_rmfb.c @@ -21,6 +21,16 @@ * IN THE SOFTWARE. */ +/** + * TEST: kms rmfb + * Category: Display + * Description: This tests rmfb and close-fd behavior. In these casesthe + * framebuffers should be removed from the crtc. + * Driver requirement: i915, xe + * Functionality: kms_gem_interop + * Mega feature: General Display Features + * Test category: functionality test + */ #include "igt.h" #include "drmtest.h" #include <errno.h> @@ -28,27 +38,15 @@ #include <stdio.h> #include <string.h> #include <time.h> + /** - * TEST: kms rmfb - * Category: Display - * Description: This tests rmfb and close-fd behavior. In these casesthe - * framebuffers should be removed from the crtc. - * * SUBTEST: close-fd * Description: RMFB is supposed to free the framebuffers from any and all planes * so test this and make sure it works with fd close and reopen. - * Driver requirement: i915, xe - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: rmfb-ioctl * Description: RMFB is supposed to free the framebuffers from any and all planes * so test this and make sure it works. - * Driver requirement: i915, xe - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test */ #ifndef DRM_CAP_CURSOR_WIDTH diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c index f171fcd22..dec1c5619 100644 --- a/tests/kms_rotation_crc.c +++ b/tests/kms_rotation_crc.c @@ -26,11 +26,98 @@ * TEST: kms rotation crc * Category: Display * Description: Tests different rotations with different planes & formats + * Driver requirement: i915, xe + * Functionality: plane, rotation + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include "igt_vec.h" #include <math.h> +/** + * SUBTEST: %s-rotation-180 + * Description: Rotation test with 180 degree for %arg[1] planes + * + * arg[1]: + * + * @primary: primary + * @sprite: sprite + * @cursor: cursor + */ + +/** + * SUBTEST: %s-rotation-%d + * Description: Rotation test with %arg[2] degree for %arg[1] planes of gen9+ + * + * arg[1]: + * + * @primary: primary + * @sprite: sprite + * + * arg[2].values: 90, 270 + */ + +/** + * SUBTEST: bad-pixel-format + * Description: Checking unsupported pixel format for gen9+ with 90 degree of rotation + * + * SUBTEST: bad-tiling + * Description: Checking unsupported tiling for gen9+ with 90 degree of rotation + * Functionality: plane, rotation, tiling + */ + +/** + * SUBTEST: primary-%s-tiled-reflect-x-%d + * Description: Test for %arg[1] & %arg[2] degree rotation on primary plane + * Functionality: plane, rotation, tiling + * + * arg[1]: + * + * @4: 4 tiling + * @x: x tiling + * @y: y tiling + * @yf: yf tiling + * + * arg[2].values: 0, 180 + */ + +/** + * SUBTEST: sprite-rotation-90-pos-100-0 + * Description: Rotation test with 90 degree for a plane of gen9+ with given position + * + * SUBTEST: primary-%s-tiled-reflect-x-%d + * Description: Test for %arg[1] & %arg[2] degree rotation on primary plane + * Functionality: plane, rotation, tiling + * + * arg[1]: + * + * @y: y tiling + * @yf: yf tiling + * + * arg[2].values: 90, 270 + */ + +/** + * SUBTEST: multiplane-rotation + * Description: Rotation test on both planes by making them fully visible + * + * SUBTEST: multiplane-rotation-cropping-%s + * Description: Rotation test on both planes by cropping left/%arg[1] corner of + * primary plane and right/%arg[1] corner of sprite plane + * + * arg[1]: + * + * @bottom: bottom + * @top: top + */ + +/** + * SUBTEST: exhaust-fences + * Description: This test intends to check for fence leaks exhaustively + * Driver requirement: i915 + */ + #define MAX_FENCES 32 #define MAXMULTIPLANESAMOUNT 2 #define TEST_MAX_WIDTH 640 @@ -479,93 +566,6 @@ static bool test_format(data_t *data, return true; } -/** - * SUBTEST: %s-rotation-180 - * Description: Rotation test with 180 degree for %arg[1] planes - * Driver requirement: i915, xe - * Functionality: plane, rotation - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @primary: primary - * @sprite: sprite - * @cursor: cursor - */ - -/** - * SUBTEST: %s-rotation-%d - * Description: Rotation test with %arg[2] degree for %arg[1] planes of gen9+ - * Driver requirement: i915, xe - * Functionality: plane, rotation - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @primary: primary - * @sprite: sprite - * - * arg[2].values: 90, 270 - */ - -/** - * SUBTEST: bad-pixel-format - * Description: Checking unsupported pixel format for gen9+ with 90 degree of rotation - * Driver requirement: i915, xe - * Functionality: plane, rotation - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: bad-tiling - * Description: Checking unsupported tiling for gen9+ with 90 degree of rotation - * Driver requirement: i915, xe - * Functionality: plane, rotation, tiling - * Mega feature: General Display Features - * Test category: functionality test - */ - -/** - * SUBTEST: primary-%s-tiled-reflect-x-%d - * Description: Test for %arg[1] & %arg[2] degree rotation on primary plane - * Driver requirement: i915, xe - * Functionality: plane, rotation, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @4: 4 tiling - * @x: x tiling - * @y: y tiling - * @yf: yf tiling - * - * arg[2].values: 0, 180 - */ - -/** - * SUBTEST: primary-%s-tiled-reflect-x-%d - * Description: Test for %arg[1] & %arg[2] degree rotation on primary plane - * Driver requirement: i915, xe - * Functionality: plane, rotation, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @y: y tiling - * @yf: yf tiling - * - * arg[2].values: 90, 270 - * - * SUBTEST: sprite-rotation-90-pos-100-0 - * Description: Rotation test with 90 degree for a plane of gen9+ with given position - * Driver requirement: i915, xe - * Functionality: plane, rotation - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_plane_rotation(data_t *data, int plane_type, bool test_bad_format) { igt_display_t *display = &data->display; @@ -885,28 +885,6 @@ static bool reusecrcfromlastround(planeinfos p[2], int lastroundp1format, return true; } -/** - * SUBTEST: multiplane-rotation - * Description: Rotation test on both planes by making them fully visible - * Driver requirement: i915, xe - * Functionality: plane, rotation - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: multiplane-rotation-cropping-%s - * Description: Rotation test on both planes by cropping left/%arg[1] corner of - * primary plane and right/%arg[1] corner of sprite plane - * Driver requirement: i915, xe - * Functionality: plane, rotation - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @bottom: bottom - * @top: top - */ - /* * Here is pipe parameter which is now used only for first pipe. * It is left here if this test ever was wanted to be run on @@ -1104,14 +1082,6 @@ static void test_multi_plane_rotation(data_t *data, enum pipe pipe) igt_require_f(found, "No valid pipe/output combo found.\n"); } -/** - * SUBTEST: exhaust-fences - * Description: This test intends to check for fence leaks exhaustively - * Driver requirement: i915 - * Functionality: plane, rotation - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_plane_rotation_exhaust_fences(data_t *data, enum pipe pipe, igt_output_t *output, diff --git a/tests/kms_scaling_modes.c b/tests/kms_scaling_modes.c index bd7ed7e56..cfb79e7c6 100644 --- a/tests/kms_scaling_modes.c +++ b/tests/kms_scaling_modes.c @@ -24,18 +24,20 @@ * Swati Sharma <swati2.sharma@intel.com> */ -#include "igt.h" /** * TEST: kms scaling modes * Category: Display * Description: Test display scaling modes - * - * SUBTEST: scaling-mode-%s - * Description: Tests %arg[1] display scaling mode * Driver requirement: i915, xe * Functionality: eDP, plane, scaling * Mega feature: General Display Features * Test category: functionality test + */ +#include "igt.h" + +/** + * SUBTEST: scaling-mode-%s + * Description: Tests %arg[1] display scaling mode * * arg[1]: * diff --git a/tests/kms_selftest.c b/tests/kms_selftest.c index 080ffdf2c..a65c76cb4 100644 --- a/tests/kms_selftest.c +++ b/tests/kms_selftest.c @@ -21,19 +21,21 @@ * IN THE SOFTWARE. */ -#include "igt.h" -#include "igt_kmod.h" /** * TEST: kms selftest * Category: Display * Description: Basic sanity check of KMS selftests. - * - * SUBTEST: %s - * Description: Basic sanity check of KMS selftest %arg[1]. * Driver requirement: i915, xe * Functionality: kms_core * Mega feature: General Display Features * Test category: functionality test + */ +#include "igt.h" +#include "igt_kmod.h" + +/** + * SUBTEST: %s + * Description: Basic sanity check of KMS selftest %arg[1]. * * arg[1]: * diff --git a/tests/kms_sequence.c b/tests/kms_sequence.c index 9476203e9..f1dcb13be 100644 --- a/tests/kms_sequence.c +++ b/tests/kms_sequence.c @@ -31,6 +31,10 @@ * TEST: kms sequence * Category: Display * Description: Test CrtcGetSequence and CrtcQueueSequence. + * Driver requirement: i915, xe + * Functionality: vblank + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include <stdlib.h> @@ -47,6 +51,28 @@ #include <drm.h> +/** + * SUBTEST: get-%s + * Description: This is a test of drmCrtcGetSequence with %arg[1] + * + * arg[1]: + * + * @busy: busy + * @forked: forked bo + * @forked-busy: forked bo & busy + * @idle: idle + */ + +/** + * SUBTEST: queue-%s + * Description: This is a test of drmCrtcQueueSequence with %arg[1] + * + * arg[1]: + * + * @busy: busy + * @idle: idle + */ + IGT_TEST_DESCRIPTION("Test CrtcGetSequence and CrtcQueueSequence."); typedef struct { @@ -141,35 +167,6 @@ static int crtc_queue_sequence(int fd, struct drm_crtc_queue_sequence *cqs) return err; } -/** - * SUBTEST: get-%s - * Description: This is a test of drmCrtcGetSequence with %arg[1] - * Driver requirement: i915, xe - * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @busy: busy - * @forked: forked bo - * @forked-busy: forked bo & busy - * @idle: idle - */ - -/** - * SUBTEST: queue-%s - * Description: This is a test of drmCrtcQueueSequence with %arg[1] - * Driver requirement: i915, xe - * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @busy: busy - * @idle: idle - */ static void run_test(data_t *data, int fd, void (*testfunc)(data_t *, int, int)) { int nchildren = diff --git a/tests/kms_setmode.c b/tests/kms_setmode.c index 32a6fb690..e613fb464 100644 --- a/tests/kms_setmode.c +++ b/tests/kms_setmode.c @@ -20,6 +20,17 @@ * Authors: * Imre Deak <imre.deak@intel.com> */ + +/** + * TEST: kms setmode + * Category: Display + * Description: Tests the mode by iterating through all valid/invalid crtc/connector + * combinations + * Driver requirement: i915, xe + * Functionality: kms_core + * Mega feature: General Display Features + * Test category: functionality test + */ #include "config.h" #include "igt.h" @@ -31,59 +42,31 @@ #include <sys/time.h> #include <math.h> #include "xe/xe_query.h" + /** - * TEST: kms setmode - * Category: Display - * Description: Tests the mode by iterating through all valid/invalid crtc/connector - * combinations - * * SUBTEST: basic * Description: Tests the vblank timing by iterating through all valid crtc/connector * combinations - * Driver requirement: i915, xe - * Functionality: kms_core, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: basic-clone-single-crtc * Description: Tests the mode by cloning the single crtc by iterating through all * valid crtc/connector combinations - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: clone-exclusive-crtc * Description: Tests the mode by cloning the exclusive crtc by iterating through * all valid crtc/connector combinations - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: invalid-clone-exclusive-crtc * Description: Tests the mode by cloning the exclusive crtc by iterating through * all invalid crtc/connector combinations - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: invalid-clone-single-crtc * Description: Tests the mode by cloning the single crtc by iterating through all * invalid crtc/connector combinations - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: invalid-clone-single-crtc-stealing * Description: Tests the stealing mode by cloning the single crtc by iterating * through all invalid crtc/connector combinations - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test */ #define MAX_CONNECTORS 10 diff --git a/tests/kms_sysfs_edid_timing.c b/tests/kms_sysfs_edid_timing.c index ee47a024e..a070bbf01 100644 --- a/tests/kms_sysfs_edid_timing.c +++ b/tests/kms_sysfs_edid_timing.c @@ -20,26 +20,29 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ + +/** + * TEST: kms sysfs edid timing + * Category: Display + * Description: Test to check the time it takes to reprobe each connector. + * Driver requirement: i915, xe + * Functionality: kms_core + * Mega feature: General Display Features + * Test category: functionality test + */ #include "igt.h" #include <dirent.h> #include <fcntl.h> #include <sys/stat.h> + /** - * TEST: kms sysfs edid timing - * Category: Display - * Description: Test to check the time it takes to reprobe each connector. - * * SUBTEST: * Description: This test checks the time it takes to reprobe each connector and * fails if either the time it takes for 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. - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test */ #define THRESHOLD_PER_CONNECTOR 150 diff --git a/tests/kms_tiled_display.c b/tests/kms_tiled_display.c index 519c3754c..1a32574c7 100644 --- a/tests/kms_tiled_display.c +++ b/tests/kms_tiled_display.c @@ -40,6 +40,9 @@ * TEST: kms tiled display * Category: Display * Description: Test for Transcoder Port Sync for Display Port Tiled Displays + * Driver requirement: i915, xe + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include "poll.h" @@ -51,18 +54,12 @@ * SUBTEST: basic-test-pattern * Description: Make sure the Tiled CRTCs are synchronized and we get page flips * for all tiled CRTCs in one vblank (executes on real panel). - * Driver requirement: i915, xe * Functionality: tiled_display - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: basic-test-pattern-with-chamelium * Description: Make sure the Tiled CRTCs are synchronized and we get page flips * for all tiled CRTCs in one vblank (executes on chamelium). - * Driver requirement: i915, xe * Functionality: chamelium, tiled_display - * Mega feature: General Display Features - * Test category: functionality test */ IGT_TEST_DESCRIPTION("Test for genlocked CRTCs with tiled displays"); diff --git a/tests/kms_tv_load_detect.c b/tests/kms_tv_load_detect.c index 67dbb242e..ae3a5661e 100644 --- a/tests/kms_tv_load_detect.c +++ b/tests/kms_tv_load_detect.c @@ -22,19 +22,21 @@ * */ -#include "igt.h" /** * TEST: kms tv load detect * Category: Display * Description: Test to check tv load detection. - * - * SUBTEST: load-detect - * Description: Check tv load detection works correctly. * Driver requirement: i915, xe * Functionality: obsolete * Mega feature: General Display Features * Test category: functionality test */ +#include "igt.h" + +/** + * SUBTEST: load-detect + * Description: Check tv load detection works correctly. + */ IGT_TEST_DESCRIPTION("Check tv load detection works correctly."); diff --git a/tests/kms_universal_plane.c b/tests/kms_universal_plane.c index 8aa43a929..8d424d6fd 100644 --- a/tests/kms_universal_plane.c +++ b/tests/kms_universal_plane.c @@ -21,6 +21,15 @@ * IN THE SOFTWARE. */ +/** + * TEST: kms universal plane + * Category: Display + * Description: Check pageflip & modeset on universal plane + * Driver requirement: i915, xe + * Functionality: plane + * Mega feature: General Display Features + * Test category: functionality test + */ #include "igt.h" #include <errno.h> #include <stdbool.h> @@ -29,31 +38,16 @@ #include <fcntl.h> /** - * TEST: kms universal plane - * Category: Display - * Description: Check pageflip & modeset on universal plane - * * SUBTEST: cursor-fb-leak-pipe-%s * Description: Check for cursor leaks after performing cursor operations on %arg[1] - * Driver requirement: i915, xe * Functionality: cursor, plane - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: disable-primary-vs-flip-pipe-%s * Description: Check pageflips while primary plane is disabled before IOCTL or * between IOCTL and pageflip execution on %arg[1] - * Driver requirement: i915, xe - * Functionality: plane - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: universal-plane-pageflip-windowed-pipe-%s * Description: Check if pageflip succeeds in windowed setting on %arg[1] - * Driver requirement: i915, xe - * Functionality: plane - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * @@ -70,10 +64,6 @@ /** * SUBTEST: universal-plane-pipe-%s-%s * Description: Check %arg[2] on %arg[1] - * Driver requirement: i915, xe - * Functionality: plane - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * diff --git a/tests/kms_vblank.c b/tests/kms_vblank.c index 33e933c22..79cf024ed 100644 --- a/tests/kms_vblank.c +++ b/tests/kms_vblank.c @@ -26,6 +26,15 @@ * This is a test of performance of drmWaitVblank. */ +/** + * TEST: kms vblank + * Category: Display + * Description: Test speed of WaitVblank. + * Driver requirement: i915, xe + * Functionality: vblank + * Mega feature: General Display Features + * Test category: functionality test + */ #include "igt.h" #include <stdlib.h> #include <stdio.h> @@ -40,97 +49,38 @@ #include <sys/wait.h> #include <drm.h> + /** - * TEST: kms vblank - * Category: Display - * Description: Test speed of WaitVblank. - * * SUBTEST: crtc-id * Description: check the Vblank and flip events works with given crtc id - * Driver requirement: i915, xe - * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: invalid * Description: Negative test for vblank request - * Driver requirement: i915, xe - * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test - */ - -/** + * * SUBTEST: pipe-%s-ts-continuation-dpms-rpm * Description: Test TS continuty with DPMS & RPM while hanging by introducing * NOHANG flag on %arg[1] - * Driver requirement: i915, xe * Functionality: dpms, hang, rpm, vblank - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: * - * @A: pipe A - * @B: pipe B - * @C: pipe C - * @D: pipe D - * @E: pipe E - * @F: pipe F - * @G: pipe G - * @H: pipe H - */ - -/** * SUBTEST: pipe-%s-ts-continuation-dpms-suspend * Description: Test TS continuty with DPMS & Suspend while hanging by introducing * NOHANG flag on %arg[1] - * Driver requirement: i915, xe * Functionality: dpms, hang, suspend, vblank - * Mega feature: General Display Features - * Test category: functionality test * - * arg[1]: - * - * @A: pipe A - * @B: pipe B - * @C: pipe C - * @D: pipe D - * @E: pipe E - * @F: pipe F - * @G: pipe G - * @H: pipe H - */ - -/** * SUBTEST: pipe-%s-ts-continuation-suspend * Description: Test TS continuty with Suspend while hanging by introducing NOHANG * flag on %arg[1] - * Driver requirement: i915, xe * Functionality: hang, suspend, vblank - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: * - * @A: pipe A - * @B: pipe B - * @C: pipe C - * @D: pipe D - * @E: pipe E - * @F: pipe F - * @G: pipe G - * @H: pipe H - */ - -/** * SUBTEST: pipe-%s-ts-continuation-modeset-rpm * Description: Test TS continuty during Modeset with Suspend while hanging by * introducing NOHANG flag on %arg[1] - * Driver requirement: i915, xe * Functionality: hang, rpm, vblank - * Mega feature: General Display Features - * Test category: functionality test + * + * SUBTEST: pipe-%s-accuracy-idle + * Description: Test Accuracy of vblank events while hanging by introducing NOHANG + * flag on %arg[1] + * Functionality: hang, vblank * * arg[1]: * @@ -145,27 +95,13 @@ */ /** - * SUBTEST: pipe-%s-accuracy-idle - * Description: Test Accuracy of vblank events while hanging by introducing NOHANG - * flag on %arg[1] - * Driver requirement: i915, xe - * Functionality: hang, vblank - * Mega feature: General Display Features - * Test category: functionality test - * * SUBTEST: pipe-%s-%s * Description: Test %arg[2] while hanging by introducing NOHANG flag on %arg[1] - * Driver requirement: i915, xe * Functionality: hang, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: pipe-%s-%s-hang * Description: Test %arg[2] with injected hang is working properly on %arg[1] - * Driver requirement: i915, xe * Functionality: hang, vblank - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * diff --git a/tests/kms_vrr.c b/tests/kms_vrr.c index e203fd4d5..0850e5c43 100644 --- a/tests/kms_vrr.c +++ b/tests/kms_vrr.c @@ -20,52 +20,40 @@ * OTHER DEALINGS IN THE SOFTWARE. */ -#include "igt.h" -#include "sw_sync.h" -#include <fcntl.h> -#include <signal.h> /** * TEST: kms vrr * Category: Display * Description: Test to validate diffent features of VRR - * - * SUBTEST: flip-basic - * Description: Tests that VRR is enabled and that the difference between flip - * timestamps converges to the requested rate * Driver requirement: i915, xe * Functionality: adaptive_sync * Mega feature: VRR * Test category: functionality test + */ +#include "igt.h" +#include "sw_sync.h" +#include <fcntl.h> +#include <signal.h> + +/** + * SUBTEST: flip-basic + * Description: Tests that VRR is enabled and that the difference between flip + * timestamps converges to the requested rate * * SUBTEST: flip-dpms * Description: Tests with DPMS that VRR is enabled and that the difference * between flip timestamps converges to the requested rate. - * Driver requirement: i915, xe * Functionality: adaptive_sync, dpms - * Mega feature: VRR - * Test category: functionality test * * SUBTEST: flip-suspend * Description: Tests that VRR is enabled and that the difference between flip * timestamps converges to the requested rate in a suspend test - * Driver requirement: i915, xe * Functionality: adaptive_sync, suspend - * Mega feature: VRR - * Test category: functionality test * * SUBTEST: flipline * Description: Make sure that flips happen at flipline decision boundary. - * Driver requirement: i915, xe - * Functionality: adaptive_sync - * Mega feature: VRR - * Test category: functionality test * * SUBTEST: negative-basic * Description: Make sure that VRR should not be enabled on the Non-VRR panel. - * Driver requirement: i915, xe - * Functionality: adaptive_sync - * Mega feature: VRR - * Test category: functionality test */ #define NSECS_PER_SEC (1000000000ull) diff --git a/tests/kms_writeback.c b/tests/kms_writeback.c index a69cf6609..469c17e2d 100644 --- a/tests/kms_writeback.c +++ b/tests/kms_writeback.c @@ -22,6 +22,18 @@ * */ +/** + * TEST: kms writeback + * Category: Display + * Description: This test validates the expected behavior of the writeback + * connectors feature by checking if the target device support + * writeback; it validates bad and good combination, check color + * format, and check the output result by using CRC. + * Driver requirement: i915, xe + * Functionality: kms_core + * Mega feature: General Display Features + * Test category: functionality test + */ #include <errno.h> #include <stdbool.h> #include <stdio.h> @@ -32,43 +44,21 @@ #include "igt_core.h" #include "igt_fb.h" #include "sw_sync.h" + /** - * TEST: kms writeback - * Category: Display - * Description: This test validates the expected behavior of the writeback - * connectors feature by checking if the target device support - * writeback; it validates bad and good combination, check color - * format, and check the output result by using CRC. - * * SUBTEST: writeback-check-output * Description: Check writeback output with CRC validation - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: writeback-fb-id * Description: Validate WRITEBACK_FB_ID with valid and invalid options - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: writeback-invalid-parameters * Description: Writeback has a couple of parameters linked together(output * framebuffer and fence); this test goes throughthe combination * of possible bad options - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: writeback-pixel-formats * Description: Check the writeback format - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test */ IGT_TEST_DESCRIPTION( -- 2.40.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [igt-dev] [i-g-t V2 2/2] tests/kms: Optimize KMS testplan documentation 2023-09-14 13:19 ` [igt-dev] [i-g-t 2/2] tests/kms: Optimize KMS " Bhanuprakash Modem @ 2023-09-21 6:48 ` Bhanuprakash Modem 2023-09-21 8:15 ` Kamil Konieczny 0 siblings, 1 reply; 12+ messages in thread From: Bhanuprakash Modem @ 2023-09-21 6:48 UTC (permalink / raw) To: igt-dev, swati2.sharma Moving all common key:values to TEST level from SUBTEST will minimize the maintenance effort. Also, to maintain the uniformness, move testplan documentation to beginning of the file. V2: - Rebase Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> --- tests/intel/kms_big_fb.c | 301 +- tests/intel/kms_big_joiner.c | 41 +- tests/intel/kms_busy.c | 88 +- tests/intel/kms_ccs.c | 15 +- tests/intel/kms_cdclk.c | 41 +- tests/intel/kms_dirtyfb.c | 23 +- tests/intel/kms_draw_crc.c | 71 +- tests/intel/kms_dsc.c | 8 +- tests/intel/kms_fb_coherency.c | 21 +- tests/intel/kms_fbcon_fbt.c | 21 +- tests/intel/kms_fence_pin_leak.c | 18 +- tests/intel/kms_flip_scaled_crc.c | 60 +- tests/intel/kms_flip_tiling.c | 18 +- tests/intel/kms_frontbuffer_tracking.c | 3892 ++++++++++-------------- tests/intel/kms_legacy_colorkey.c | 17 +- tests/intel/kms_mmap_write_crc.c | 20 +- tests/intel/kms_pipe_b_c_ivb.c | 28 +- tests/intel/kms_pm_backlight.c | 32 +- tests/intel/kms_pm_dc.c | 38 +- tests/intel/kms_pm_lpsp.c | 22 +- tests/intel/kms_psr.c | 94 +- tests/intel/kms_psr2_sf.c | 74 +- tests/intel/kms_psr2_su.c | 19 +- tests/intel/kms_psr_stress_test.c | 21 +- tests/intel/kms_pwrite_crc.c | 17 +- tests/kms_3d.c | 12 +- tests/kms_addfb_basic.c | 353 +-- tests/kms_async_flips.c | 81 +- tests/kms_atomic.c | 145 +- tests/kms_atomic_interruptible.c | 88 +- tests/kms_atomic_transition.c | 148 +- tests/kms_bw.c | 18 +- tests/kms_color.c | 125 +- tests/kms_concurrent.c | 14 +- tests/kms_content_protection.c | 120 +- tests/kms_cursor_crc.c | 129 +- tests/kms_cursor_edge_walk.c | 19 +- tests/kms_cursor_legacy.c | 431 ++- tests/kms_display_modes.c | 34 +- tests/kms_dither.c | 27 +- tests/kms_dp_aux_dev.c | 18 +- tests/kms_feature_discovery.c | 41 +- tests/kms_flip.c | 155 +- tests/kms_flip_event_leak.c | 17 +- tests/kms_force_connector_basic.c | 53 +- tests/kms_getfb.c | 142 +- tests/kms_hdmi_inject.c | 22 +- tests/kms_hdr.c | 105 +- tests/kms_invalid_mode.c | 8 +- tests/kms_lease.c | 89 +- tests/kms_multipipe_modeset.c | 12 +- tests/kms_panel_fitting.c | 20 +- tests/kms_pipe_crc_basic.c | 117 +- tests/kms_plane.c | 115 +- tests/kms_plane_alpha_blend.c | 81 +- tests/kms_plane_cursor.c | 19 +- tests/kms_plane_lowres.c | 46 +- tests/kms_plane_multiple.c | 50 +- tests/kms_plane_scaling.c | 354 +-- tests/kms_prime.c | 22 +- tests/kms_prop_blob.c | 82 +- tests/kms_properties.c | 42 +- tests/kms_rmfb.c | 24 +- tests/kms_rotation_crc.c | 204 +- tests/kms_scaling_modes.c | 10 +- tests/kms_selftest.c | 12 +- tests/kms_sequence.c | 55 +- tests/kms_setmode.c | 41 +- tests/kms_sysfs_edid_timing.c | 19 +- tests/kms_tiled_display.c | 9 +- tests/kms_tv_load_detect.c | 10 +- tests/kms_universal_plane.c | 28 +- tests/kms_vblank.c | 96 +- tests/kms_vrr.c | 32 +- tests/kms_writeback.c | 36 +- 75 files changed, 3611 insertions(+), 5319 deletions(-) diff --git a/tests/intel/kms_big_fb.c b/tests/intel/kms_big_fb.c index 611e60896..f3184d565 100644 --- a/tests/intel/kms_big_fb.c +++ b/tests/intel/kms_big_fb.c @@ -25,6 +25,9 @@ * TEST: kms big fb * Category: Display * Description: Test big framebuffers + * Driver requirement: i915, xe + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" @@ -37,6 +40,130 @@ #include "xe/xe_ioctl.h" #include "xe/xe_query.h" +/** + * SUBTEST: linear-%dbpp-rotate-%d + * Description: Sanity check if addfb ioctl works correctly for given combination + * of Linear modifier with %arg[1]-bpp & %arg[2]-rotation + * Functionality: big_fbs, kms_gem_interop, rotation + * + * arg[1].values: 8, 16, 32, 64 + * arg[2].values: 0, 90, 180, 270 + */ + +/** + * SUBTEST: %s-%dbpp-rotate-%d + * Description: Sanity check if addfb ioctl works correctly for given combination + * of %arg[1] with %arg[2]-bpp & %arg[3]-rotation + * Functionality: big_fbs, kms_gem_interop, rotation, tiling + * + * arg[1]: + * + * @4-tiled: TILE-4 modifier + * @x-tiled: TILE-X modifier + * @y-tiled: TILE-Y modifier + * @yf-tiled: TILE-YF modifier + * + * arg[2].values: 8, 16, 32, 64 + * arg[3].values: 0, 90, 180, 270 + */ + +/** + * SUBTEST: linear-max-hw-stride-%dbpp-rotate-%d + * Description: Test maximum hardware supported stride length for given combination + * of linear modifier with max hardware stride length, %arg[1]-bpp, + * and %arg[2]-rotation + * Functionality: big_fbs, kms_gem_interop, rotation + * + * arg[1].values: 32, 64 + * arg[2].values: 0, 180 + */ + +/** + * SUBTEST: %s-max-hw-stride-%dbpp-rotate-%d + * Description: Test maximum hardware supported stride length for given combination + * of %arg[1] modifier with max hardware stride length, %arg[2]-bpp, + * and %arg[3]-rotation + * Functionality: big_fbs, kms_gem_interop, rotation, tiling + * + * arg[1]: + * + * @4-tiled: TILE-4 modifier + * @x-tiled: TILE-X modifier + * @y-tiled: TILE-Y modifier + * @yf-tiled: TILE-YF modifier + * + * arg[2].values: 32, 64 + * arg[3].values: 0, 180 + */ + +/** + * SUBTEST: %s-max-hw-stride-%dbpp-rotate-%d-hflip + * Description: Test maximum hardware supported stride length for given combination + * of %arg[1] modifier with max hardware stride length, %arg[2]-bpp, + * and %arg[3]-rotation with H-flip mode + * Functionality: big_fbs, kms_gem_interop, rotation, tiling + * + * SUBTEST: %s-max-hw-stride-%dbpp-rotate-%d-%s + * Description: Test maximum hardware supported stride length for given combination + * of %arg[1] modifier with max hardware stride length, %arg[2]-bpp, + * and %arg[3]-rotation with %arg[4] mode + * Functionality: async_flips, big_fbs, kms_gem_interop, rotation, tiling + * + * arg[1]: + * + * @4-tiled: TILE-4 modifier + * @x-tiled: TILE-X modifier + * @y-tiled: TILE-Y modifier + * @yf-tiled: TILE-YF modifier + * + * arg[2].values: 32, 64 + * arg[3].values: 0, 180 + * + * arg[4]: + * + * @async-flip: Async flip + * @hflip-async-flip: Async & H-flip + */ + +/** + * SUBTEST: linear-addfb-size-overflow + * Description: Sanity check if addfb ioctl fails correctly for (Linear) modifier + * with small bo. + * Functionality: big_fbs, kms_gem_interop + * + * SUBTEST: %s-addfb-size-overflow + * Description: Sanity check if addfb ioctl fails correctly for (%arg[1]) modifier + * with small bo. + * Functionality: big_fbs, kms_gem_interop, tiling + * + * SUBTEST: linear-addfb-size-offset-overflow + * Description: Sanity check if addfb ioctl fails correctly for (Linear) modifier + * and offsets with small bo + * Functionality: big_fbs, kms_gem_interop + * + * SUBTEST: %s-addfb-size-offset-overflow + * Description: Sanity check if addfb ioctl fails correctly for (%arg[1]) modifier + * and offsets with small bo + * Functionality: big_fbs, kms_gem_interop, tiling + * + * SUBTEST: linear-addfb + * Description: Sanity check if addfb ioctl works correctly with Linear modifier + * for given size and strides of fb + * Functionality: big_fbs, kms_gem_interop + * + * SUBTEST: %s-addfb + * Description: Sanity check if addfb ioctl works correctly with %arg[1] modifier + * for given size and strides of fb + * Functionality: big_fbs, kms_gem_interop, tiling + * + * arg[1]: + * + * @4-tiled: TILE-4 + * @x-tiled: TILE-X + * @y-tiled: TILE-Y + * @yf-tiled: TILE-YF + */ + IGT_TEST_DESCRIPTION("Test big framebuffers"); typedef struct { @@ -588,108 +715,6 @@ max_hw_stride_async_flip_test(data_t *data) return true; } -/** - * SUBTEST: linear-%dbpp-rotate-%d - * Description: Sanity check if addfb ioctl works correctly for given combination - * of Linear modifier with %arg[1]-bpp & %arg[2]-rotation - * Driver requirement: i915, xe - * Functionality: big_fbs, kms_gem_interop, rotation - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 8, 16, 32, 64 - * arg[2].values: 0, 90, 180, 270 - */ - -/** - * SUBTEST: %s-%dbpp-rotate-%d - * Description: Sanity check if addfb ioctl works correctly for given combination - * of %arg[1] with %arg[2]-bpp & %arg[3]-rotation - * Driver requirement: i915, xe - * Functionality: big_fbs, kms_gem_interop, rotation, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @4-tiled: TILE-4 modifier - * @x-tiled: TILE-X modifier - * @y-tiled: TILE-Y modifier - * @yf-tiled: TILE-YF modifier - * - * arg[2].values: 8, 16, 32, 64 - * arg[3].values: 0, 90, 180, 270 - */ - -/** - * SUBTEST: linear-max-hw-stride-%dbpp-rotate-%d - * Description: Test maximum hardware supported stride length for given combination - * of linear modifier with max hardware stride length, %arg[1]-bpp, - * and %arg[2]-rotation - * Driver requirement: i915, xe - * Functionality: big_fbs, kms_gem_interop, rotation - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 32, 64 - * arg[2].values: 0, 180 - */ - -/** - * SUBTEST: %s-max-hw-stride-%dbpp-rotate-%d - * Description: Test maximum hardware supported stride length for given combination - * of %arg[1] modifier with max hardware stride length, %arg[2]-bpp, - * and %arg[3]-rotation - * Driver requirement: i915, xe - * Functionality: big_fbs, kms_gem_interop, rotation, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @4-tiled: TILE-4 modifier - * @x-tiled: TILE-X modifier - * @y-tiled: TILE-Y modifier - * @yf-tiled: TILE-YF modifier - * - * arg[2].values: 32, 64 - * arg[3].values: 0, 180 - */ - -/** - * SUBTEST: %s-max-hw-stride-%dbpp-rotate-%d-hflip - * Description: Test maximum hardware supported stride length for given combination - * of %arg[1] modifier with max hardware stride length, %arg[2]-bpp, - * and %arg[3]-rotation with H-flip mode - * Driver requirement: i915, xe - * Functionality: big_fbs, kms_gem_interop, rotation, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: %s-max-hw-stride-%dbpp-rotate-%d-%s - * Description: Test maximum hardware supported stride length for given combination - * of %arg[1] modifier with max hardware stride length, %arg[2]-bpp, - * and %arg[3]-rotation with %arg[4] mode - * Driver requirement: i915, xe - * Functionality: async_flips, big_fbs, kms_gem_interop, rotation, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @4-tiled: TILE-4 modifier - * @x-tiled: TILE-X modifier - * @y-tiled: TILE-Y modifier - * @yf-tiled: TILE-YF modifier - * - * arg[2].values: 32, 64 - * arg[3].values: 0, 180 - * - * arg[4]: - * - * @async-flip: Async flip - * @hflip-async-flip: Async & H-flip - */ static void test_scanout(data_t *data) { igt_output_t *output; @@ -735,30 +760,6 @@ static void test_scanout(data_t *data) igt_skip("unsupported configuration\n"); } -/** - * SUBTEST: linear-addfb-size-overflow - * Description: Sanity check if addfb ioctl fails correctly for (Linear) modifier - * with small bo. - * Driver requirement: i915, xe - * Functionality: big_fbs, kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: %s-addfb-size-overflow - * Description: Sanity check if addfb ioctl fails correctly for (%arg[1]) modifier - * with small bo. - * Driver requirement: i915, xe - * Functionality: big_fbs, kms_gem_interop, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @4-tiled: TILE-4 - * @x-tiled: TILE-X - * @y-tiled: TILE-Y - * @yf-tiled: TILE-YF - */ static void test_size_overflow(data_t *data) { @@ -803,30 +804,6 @@ test_size_overflow(data_t *data) gem_close(data->drm_fd, bo); } -/** - * SUBTEST: linear-addfb-size-offset-overflow - * Description: Sanity check if addfb ioctl fails correctly for (Linear) modifier - * and offsets with small bo - * Driver requirement: i915, xe - * Functionality: big_fbs, kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: %s-addfb-size-offset-overflow - * Description: Sanity check if addfb ioctl fails correctly for (%arg[1]) modifier - * and offsets with small bo - * Driver requirement: i915, xe - * Functionality: big_fbs, kms_gem_interop, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @4-tiled: TILE-4 - * @x-tiled: TILE-X - * @y-tiled: TILE-Y - * @yf-tiled: TILE-YF - */ static void test_size_offset_overflow(data_t *data) { @@ -885,30 +862,6 @@ static int rmfb(int fd, uint32_t id) return err; } -/** - * SUBTEST: linear-addfb - * Description: Sanity check if addfb ioctl works correctly with Linear modifier - * for given size and strides of fb - * Driver requirement: i915, xe - * Functionality: big_fbs, kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: %s-addfb - * Description: Sanity check if addfb ioctl works correctly with %arg[1] modifier - * for given size and strides of fb - * Driver requirement: i915, xe - * Functionality: big_fbs, kms_gem_interop, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @4-tiled: TILE-4 - * @x-tiled: TILE-X - * @y-tiled: TILE-Y - * @yf-tiled: TILE-YF - */ static void test_addfb(data_t *data) { diff --git a/tests/intel/kms_big_joiner.c b/tests/intel/kms_big_joiner.c index 5c9646133..2ae17362f 100644 --- a/tests/intel/kms_big_joiner.c +++ b/tests/intel/kms_big_joiner.c @@ -28,9 +28,25 @@ * TEST: kms big joiner * Category: Display * Description: Test big joiner + * Driver requirement: i915, xe + * Functionality: 2p1p + * Mega feature: Pipe Joiner + * Test category: functionality test */ #include "igt.h" +/** + * SUBTEST: basic + * Description: Verify the basic modeset on big joiner mode on all pipes + * + * SUBTEST: invalid-modeset + * Description: Verify if the modeset on the adjoining pipe is rejected when + * the pipe is active with a big joiner modeset + * + * SUBTEST: 2x-modeset + * Description: Verify simultaneous modeset on 2 big joiner outputs + */ + #define MAX_HDISPLAY_PER_PIPE 5120 IGT_TEST_DESCRIPTION("Test big joiner"); @@ -45,15 +61,6 @@ typedef struct { uint32_t big_joiner_output[2]; } data_t; -/** - * SUBTEST: invalid-modeset - * Description: Verify if the modeset on the adjoining pipe is rejected when - * the pipe is active with a big joiner modeset - * Driver requirement: i915, xe - * Functionality: 2p1p - * Mega feature: Pipe Joiner - * Test category: functionality test - */ static void test_invalid_modeset(data_t *data) { igt_output_t *output; @@ -94,14 +101,6 @@ static void test_invalid_modeset(data_t *data) igt_assert_lt(ret, 0); } -/** - * SUBTEST: basic - * Description: Verify the basic modeset on big joiner mode on all pipes - * Driver requirement: i915, xe - * Functionality: 2p1p - * Mega feature: Pipe Joiner - * Test category: functionality test - */ static void test_basic_modeset(data_t *data) { drmModeModeInfo *mode; @@ -140,14 +139,6 @@ static void test_basic_modeset(data_t *data) igt_display_commit2(display, COMMIT_ATOMIC); } -/** - * SUBTEST: 2x-modeset - * Description: Verify simultaneous modeset on 2 big joiner outputs - * Driver requirement: i915, xe - * Functionality: 2p1p - * Mega feature: Pipe Joiner - * Test category: functionality test - */ static void test_dual_display(data_t *data) { drmModeModeInfo *mode; diff --git a/tests/intel/kms_busy.c b/tests/intel/kms_busy.c index 5b620658f..bd79cb88a 100644 --- a/tests/intel/kms_busy.c +++ b/tests/intel/kms_busy.c @@ -25,6 +25,10 @@ * TEST: kms busy * Category: Display * Description: Basic check of KMS ABI with busy framebuffers. + * Driver requirement: i915 + * Functionality: kms_core, hang + * Mega feature: General Display Features + * Test category: functionality test */ #include <sys/poll.h> #include <signal.h> @@ -33,6 +37,38 @@ #include "i915/gem.h" #include "igt.h" +/** + * SUBTEST: basic + * Description: Test for basic check of KMS ABI with busy framebuffers. + * Functionality: kms_core + * + * SUBTEST: basic-hang + * Description: Test for basic check of KMS ABI with busy framebuffers. + * + * SUBTEST: extended-modeset-hang-%s + * Description: Test for basic check of KMS ABI with busy framebuffers. + * + * arg[1]: + * + * @newfb: New framebuffer + * @oldfb: Old framebuffer + * @newfb-with-reset: New framebuffer with reset + * @oldfb-with-reset: Old framebuffer with reset + */ + +/** + * SUBTEST: extended-pageflip-modeset-hang-oldfb + * Description: Test for basic check of KMS ABI with busy framebuffers. + * + * SUBTEST: extended-pageflip-hang-%s + * Description: Test for basic check of KMS ABI with busy framebuffers. + * + * arg[1]: + * + * @newfb: New framebuffer + * @oldfb: Old framebuffer + */ + IGT_TEST_DESCRIPTION("Basic check of KMS ABI with busy framebuffers."); static bool all_pipes = false; @@ -136,21 +172,6 @@ static void flip_to_fb(igt_display_t *dpy, int pipe, put_ahnd(ahnd); } -/** - * SUBTEST: basic - * Description: Test for basic check of KMS ABI with busy framebuffers. - * Driver requirement: i915 - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: basic-hang - * Description: Test for basic check of KMS ABI with busy framebuffers. - * Driver requirement: i915 - * Functionality: kms_core, hang - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_flip(igt_display_t *dpy, int pipe, igt_output_t *output, bool modeset) { @@ -243,35 +264,6 @@ static void test_atomic_commit_hang(igt_display_t *dpy, igt_plane_t *primary, put_ahnd(ahnd); } -/** - * SUBTEST: extended-modeset-hang-%s - * Description: Test for basic check of KMS ABI with busy framebuffers. - * Driver requirement: i915 - * Functionality: kms_core, hang - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @newfb: New framebuffer - * @oldfb: Old framebuffer - * @newfb-with-reset: New framebuffer with reset - * @oldfb-with-reset: Old framebuffer with reset - */ - -/** - * SUBTEST: extended-pageflip-hang-%s - * Description: Test for basic check of KMS ABI with busy framebuffers. - * Driver requirement: i915 - * Functionality: kms_core, hang - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @newfb: New framebuffer - * @oldfb: Old framebuffer - */ static void test_hang(igt_display_t *dpy, enum pipe pipe, igt_output_t *output, bool modeset, bool hang_newfb) @@ -319,14 +311,6 @@ static void test_hang(igt_display_t *dpy, igt_remove_fb(dpy->drm_fd, &fb[0]); } -/** - * SUBTEST: extended-pageflip-modeset-hang-oldfb - * Description: Test for basic check of KMS ABI with busy framebuffers. - * Driver requirement: i915 - * Functionality: kms_core, hang - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_pageflip_modeset_hang(igt_display_t *dpy, igt_output_t *output, enum pipe pipe) diff --git a/tests/intel/kms_ccs.c b/tests/intel/kms_ccs.c index 102b193da..9ca5e9a19 100644 --- a/tests/intel/kms_ccs.c +++ b/tests/intel/kms_ccs.c @@ -28,6 +28,10 @@ * Description: 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. + * Driver requirement: i915, xe + * Functionality: ccs, tiling + * Mega feature: E2E Compression + * Test category: functionality test */ #include "igt.h" @@ -36,10 +40,6 @@ /** * SUBTEST: %s-%s-%s * Description: Test %arg[2] with given %arg[3] modifier - * Driver requirement: i915, xe - * Functionality: ccs, tiling - * Mega feature: E2E Compression - * Test category: functionality test * * arg[1]: * @@ -73,10 +73,6 @@ /** * SUBTEST: %s-%s-%s * Description: Test %arg[2] with %arg[3] modifier - * Driver requirement: i915, xe - * Functionality: ccs, tiling - * Mega feature: E2E Compression - * Test category: functionality test * * arg[1]: * @@ -114,10 +110,7 @@ /** * SUBTEST: %s-%s-%s * Description: Test %arg[2] with %arg[3] modifier - * Driver requirement: i915, xe * Functionality: ccs, rotation, tiling - * Mega feature: E2E Compression - * Test category: functionality test * * arg[1]: * diff --git a/tests/intel/kms_cdclk.c b/tests/intel/kms_cdclk.c index 71d827dac..5057894ca 100644 --- a/tests/intel/kms_cdclk.c +++ b/tests/intel/kms_cdclk.c @@ -28,9 +28,26 @@ * TEST: kms cdclk * Category: Display * Description: Test cdclk features : crawling and squashing + * Driver requirement: i915, xe + * Functionality: kms_core + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" +/** + * SUBTEST: mode-transition-all-outputs + * Description: Mode transition (low to high) test to validate cdclk frequency + * change by simultaneous modesets on all pipes with valid outputs. + * + * SUBTEST: mode-transition + * Description: Mode transition (low to high) test to validate cdclk frequency change. + * + * SUBTEST: plane-scaling + * Description: Plane scaling test to validate cdclk frequency change. + * Functionality: kms_core, plane, scaling + */ + IGT_TEST_DESCRIPTION("Test cdclk features : crawling and squashing"); #define HDISPLAY_4K 3840 @@ -253,15 +270,6 @@ static void test_mode_transition(data_t *data, enum pipe pipe, igt_output_t *out igt_remove_fb(display->drm_fd, &fb); } -/** - * SUBTEST: mode-transition-all-outputs - * Description: Mode transition (low to high) test to validate cdclk frequency - * change by simultaneous modesets on all pipes with valid outputs. - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_mode_transition_on_all_outputs(data_t *data) { igt_display_t *display = &data->display; @@ -358,21 +366,6 @@ static void test_mode_transition_on_all_outputs(data_t *data) igt_remove_fb(data->drm_fd, &fb); } -/** - * SUBTEST: mode-transition - * Description: Mode transition (low to high) test to validate cdclk frequency change. - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: plane-scaling - * Description: Plane scaling test to validate cdclk frequency change. - * Driver requirement: i915, xe - * Functionality: kms_core, plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - */ static void run_cdclk_test(data_t *data, uint32_t flags) { igt_display_t *display = &data->display; diff --git a/tests/intel/kms_dirtyfb.c b/tests/intel/kms_dirtyfb.c index cc9529178..bbf71ca1b 100644 --- a/tests/intel/kms_dirtyfb.c +++ b/tests/intel/kms_dirtyfb.c @@ -3,6 +3,15 @@ * Copyright © 2023 Intel Corporation */ +/** + * TEST: kms dirtyfb + * Category: Display + * Description: Test DIRTYFB ioctl functionality. + * Driver requirement: i915, xe + * Functionality: dirtyfb, fbc, psr, drrs + * Mega feature: General Display Features + * Test category: functionality test + */ #include <sys/types.h> #include "igt.h" @@ -13,24 +22,16 @@ #include "xe/xe_query.h" -IGT_TEST_DESCRIPTION("Test the DIRTYFB ioctl is working properly with " - "its related features: FBC, PSR and DRRS"); - /** - * TEST: kms dirtyfb - * Category: Display - * Description: Test DIRTYFB ioctl functionality. - * * SUBTEST: dirtyfb-ioctl * Description: Test DIRTYFB ioctl is working properly using GPU * frontbuffer rendering with features like FBC, PSR * and DRRS. - * Driver requirement: i915, xe - * Functionality: dirtyfb, fbc, psr, drrs - * Mega feature: General Display Features - * Test category: functionality test */ +IGT_TEST_DESCRIPTION("Test the DIRTYFB ioctl is working properly with " + "its related features: FBC, PSR and DRRS"); + #ifndef PAGE_ALIGN #ifndef PAGE_SIZE #define PAGE_SIZE 4096 diff --git a/tests/intel/kms_draw_crc.c b/tests/intel/kms_draw_crc.c index 086f64dc8..7f1a1c5ae 100644 --- a/tests/intel/kms_draw_crc.c +++ b/tests/intel/kms_draw_crc.c @@ -26,10 +26,42 @@ * TEST: kms draw crc * Category: Display * Description: Tests whether the igt_draw library actually works. + * Driver requirement: i915, xe + * Functionality: kms_core, tiling + * Mega feature: General Display Features + * Test category: functionality test */ #include "i915/gem.h" #include "igt.h" +/** + * SUBTEST: fill-fb + * Description: This subtest verifies CRC after filling fb with x-tiling or none. + * + * SUBTEST: draw-method-%s + * Description: Verify that igt draw library works for the %arg[1] method with + * different modifiers & DRM formats. + * + * arg[1]: + * + * @blt: Blitter + * @mmap-wc: MMAP-WC + * @render: Render + */ + +/** + * SUBTEST: draw-method-%s + * Description: Verify that igt draw library works for the %arg[1] method with + * different modifiers & DRM formats. + * Driver requirement: i915 + * + * arg[1]: + * + * @mmap-cpu: MMAP-CPU + * @mmap-gtt: MMAP-GTT + * @pwrite: PWRITE + */ + #define MAX_CONNECTORS 32 int drm_fd; @@ -143,37 +175,6 @@ static void get_method_crc(enum igt_draw_method method, uint32_t drm_format, igt_remove_fb(drm_fd, &fb); } -/** - * SUBTEST: draw-method-%s - * Description: Verify that igt draw library works for the %arg[1] method with - * different modifiers & DRM formats. - * Driver requirement: i915, xe - * Functionality: kms_core, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @blt: Blitter - * @mmap-wc: MMAP-WC - * @render: Render - */ - -/** - * SUBTEST: draw-method-%s - * Description: Verify that igt draw library works for the %arg[1] method with - * different modifiers & DRM formats. - * Driver requirement: i915 - * Functionality: kms_core, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @mmap-cpu: MMAP-CPU - * @mmap-gtt: MMAP-GTT - * @pwrite: PWRITE - */ static void draw_method_subtest(enum igt_draw_method method, uint32_t format_index, uint64_t modifier) { @@ -213,14 +214,6 @@ static void get_fill_crc(uint64_t modifier, igt_crc_t *crc) igt_remove_fb(drm_fd, &fb); } -/** - * SUBTEST: fill-fb - * Description: This subtest verifies CRC after filling fb with x-tiling or none. - * Driver requirement: i915, xe - * Functionality: kms_core, tiling - * Mega feature: General Display Features - * Test category: functionality test - */ static void fill_fb_subtest(void) { int rc; diff --git a/tests/intel/kms_dsc.c b/tests/intel/kms_dsc.c index c7dfb509a..3a0b7c0ef 100644 --- a/tests/intel/kms_dsc.c +++ b/tests/intel/kms_dsc.c @@ -34,6 +34,10 @@ * TEST: kms dsc * Category: Display * Description: Test to validate display stream compression + * Driver requirement: i915, xe + * Functionality: dsc + * Mega feature: VDSC + * Test category: functionality test */ #include "kms_dsc_helper.h" @@ -41,10 +45,6 @@ * SUBTEST: dsc-%s * Description: Tests Display Stream Compression functionality if supported by a * connector by forcing %arg[1] on all connectors that support it - * Driver requirement: i915, xe - * Functionality: dsc - * Mega feature: VDSC - * Test category: functionality test * * arg[1]: * diff --git a/tests/intel/kms_fb_coherency.c b/tests/intel/kms_fb_coherency.c index d0c0df9ee..d854959b4 100644 --- a/tests/intel/kms_fb_coherency.c +++ b/tests/intel/kms_fb_coherency.c @@ -7,6 +7,10 @@ * TEST: kms_fb_coherency * Category: Display * Description: Exercise coherency of future scanout buffer objects + * Driver requirement: i915, xe + * Functionality: kms_core + * Mega feature: General Display Features + * Test category: functionality test */ #include <errno.h> @@ -17,6 +21,13 @@ #include "igt.h" +/** + * SUBTEST: memset-crc + * Description: Use display controller CRC hardware to validate (non)coherency + * of memset operations on future scanout buffer objects + * mmapped with different mmap methods and different caching modes. + */ + typedef struct { int drm_fd; igt_display_t display; @@ -239,16 +250,6 @@ igt_main select_valid_pipe_output_combo(&data); } - /** - * SUBTEST: memset-crc - * Description: Use display controller CRC hardware to validate (non)coherency - * of memset operations on future scanout buffer objects - * mmapped with different mmap methods and different caching modes. - * Mega feature: General Display Features - * Functionality: kms_core - * Driver requirement: i915, xe - * Test category: functionality test - */ igt_subtest_with_dynamic("memset-crc") { if (gem_has_mappable_ggtt(data.drm_fd)) { igt_dynamic("mmap-gtt") diff --git a/tests/intel/kms_fbcon_fbt.c b/tests/intel/kms_fbcon_fbt.c index e017d5887..d7195b30a 100644 --- a/tests/intel/kms_fbcon_fbt.c +++ b/tests/intel/kms_fbcon_fbt.c @@ -24,6 +24,14 @@ * */ +/** + * TEST: kms fbcon fbt + * Category: Display + * Description: Test the relationship between fbcon and the frontbuffer tracking + * infrastructure. + * Driver requirement: i915, xe + * Test category: functionality test + */ #include "igt.h" #include "igt_device.h" #include "igt_psr.h" @@ -33,42 +41,29 @@ #include <fcntl.h> /** - * TEST: kms fbcon fbt - * Category: Display - * Description: Test the relationship between fbcon and the frontbuffer tracking - * infrastructure. - * * SUBTEST: fbc * Description: Test the relationship between fbcon and the frontbuffer tracking * infrastructure with fbc enabled. - * Driver requirement: i915, xe * Functionality: fbc, fbcon, fbt * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: fbc-suspend * Description: Suspend test to validate the relationship between fbcon and the * frontbuffer tracking infrastructure with fbc enabled. - * Driver requirement: i915, xe * Functionality: fbc, fbcon, fbt, suspend * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: psr * Description: Test the relationship between fbcon and the frontbuffer tracking * infrastructure with psr enabled. - * Driver requirement: i915, xe * Functionality: fbcon, fbt, psr * Mega feature: PSR - * Test category: functionality test * * SUBTEST: psr-suspend * Description: Suspend test to validate the relationship between fbcon and the * frontbuffer tracking infrastructure with psr enabled. - * Driver requirement: i915, xe * Functionality: fbcon, fbt, psr, suspend * Mega feature: PSR - * Test category: functionality test */ IGT_TEST_DESCRIPTION("Test the relationship between fbcon and the frontbuffer " diff --git a/tests/intel/kms_fence_pin_leak.c b/tests/intel/kms_fence_pin_leak.c index 03f3990c4..75e3a72de 100644 --- a/tests/intel/kms_fence_pin_leak.c +++ b/tests/intel/kms_fence_pin_leak.c @@ -22,6 +22,15 @@ * */ +/** + * TEST: kms fence pin leak + * Category: Display + * Description: Exercises full ppgtt fence pin_count leak in the kernel. + * Driver requirement: i915 + * Functionality: kms_core, synchronization + * Mega feature: General Display Features + * Test category: functionality test + */ #include <errno.h> #include <limits.h> #include <stdbool.h> @@ -30,17 +39,10 @@ #include "i915/gem.h" #include "igt.h" + /** - * TEST: kms fence pin leak - * Category: Display - * Description: Exercises full ppgtt fence pin_count leak in the kernel. - * * SUBTEST: * Description: Along with the modeset, validate fence pin_count leakage. - * Driver requirement: i915 - * Functionality: kms_core, synchronization - * Mega feature: General Display Features - * Test category: functionality test */ IGT_TEST_DESCRIPTION("Exercises full ppgtt fence pin_count leak in the " diff --git a/tests/intel/kms_flip_scaled_crc.c b/tests/intel/kms_flip_scaled_crc.c index 2997b63fa..6015e412b 100644 --- a/tests/intel/kms_flip_scaled_crc.c +++ b/tests/intel/kms_flip_scaled_crc.c @@ -26,6 +26,9 @@ * TEST: kms flip scaled crc * Category: Display * Description: Test flipping between scaled/nonscaled framebuffers + * Driver requirement: i915, xe + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" @@ -33,114 +36,72 @@ * SUBTEST: flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling * Description: Flip from 64bpp non scaled fb to 32bpp upscaled fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: ccs, scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling * Description: Flip from 64bpp non scaled fb to 32bpp downscaled fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: ccs, scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-32bpp-linear-to-64bpp-linear-%s * Description: Flip from 32bpp non scaled fb to 64bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: scaling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-%s * Description: Flip from 32bpp non scaled fb to 32bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: ccs, scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-32bpp-4tile-to-64bpp-4tile-%s * Description: Flip from 32bpp non scaled fb to 64bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-32bpp-xtile-to-64bpp-xtile-%s * Description: Flip from 32bpp non scaled fb to 64bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-32bpp-yftile-to-32bpp-yftileccs-%s * Description: Flip from 32bpp non scaled fb to 32bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: ccs, scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-32bpp-yftile-to-64bpp-yftile-%s * Description: Flip from 32bpp non scaled fb to 64bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-32bpp-yftileccs-to-64bpp-yftile-%s * Description: Flip from 32bpp non scaled fb to 64bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: ccs, scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-32bpp-ytile-to-32bpp-ytileccs-%s * Description: Flip from 32bpp non scaled fb to 32bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: ccs, scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-%s * Description: Flip from 32bpp non scaled fb to 32bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: ccs, scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-32bpp-ytile-to-64bpp-ytile-%s * Description: Flip from 32bpp non scaled fb to 64bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-32bpp-ytileccs-to-64bpp-ytile-%s * Description: Flip from 32bpp non scaled fb to 64bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: ccs, scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-%s * Description: Flip from 64bpp non scaled fb to 32bpp %arg[1] fb to stress CD * clock programming - * Driver requirement: i915, xe * Functionality: ccs, scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * @@ -152,42 +113,27 @@ * SUBTEST: flip-64bpp-4tile-to-%dbpp-4tile-%s * Description: Flip from 64bpp non scaled fb to %arg[1]bpp %arg[2] fb to stress * CD clock programming - * Driver requirement: i915, xe * Functionality: scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-64bpp-xtile-to-%dbpp-xtile-%s * Description: Flip from 64bpp non scaled fb to %arg[1]bpp %arg[2] fb to stress * CD clock programming - * Driver requirement: i915, xe * Functionality: scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-64bpp-yftile-to-%dbpp-yftile-%s * Description: Flip from 64bpp non scaled fb to %arg[1]bpp %arg[2] fb to stress * CD clock programming - * Driver requirement: i915, xe * Functionality: scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-64bpp-ytile-to-%dbpp-ytile-%s * Description: Flip from 64bpp non scaled fb to %arg[1]bpp %arg[2] fb to stress * CD clock programming - * Driver requirement: i915, xe * Functionality: scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-64bpp-linear-to-%dbpp-linear-%s * Description: Flip from 64bpp non scaled fb to %arg[1]bpp %arg[2] fb to stress * CD clock programming - * Driver requirement: i915, xe * Functionality: scaling, tiling, vblank - * Mega feature: General Display Features - * Test category: functionality test * * arg[1].values: 16, 32 * arg[2]: diff --git a/tests/intel/kms_flip_tiling.c b/tests/intel/kms_flip_tiling.c index 44121d7cf..3cc0762eb 100644 --- a/tests/intel/kms_flip_tiling.c +++ b/tests/intel/kms_flip_tiling.c @@ -24,23 +24,25 @@ * Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> */ +/** + * TEST: kms flip tiling + * Category: Display + * Description: Test page flips and tiling scenarios + * Driver requirement: i915, xe + * Functionality: kms_gem_interop, tiling + * Mega feature: General Display Features + * Test category: functionality test + */ #include <errno.h> #include <stdbool.h> #include <stdio.h> #include <string.h> #include "igt.h" + /** - * TEST: kms flip tiling - * Category: Display - * Description: Test page flips and tiling scenarios - * * SUBTEST: flip-change-tiling * Description: Check pageflip between modifiers - * Driver requirement: i915, xe - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * Test category: functionality test */ IGT_TEST_DESCRIPTION("Test page flips and tiling scenarios"); diff --git a/tests/intel/kms_frontbuffer_tracking.c b/tests/intel/kms_frontbuffer_tracking.c index 215ecdeef..5bf21308c 100644 --- a/tests/intel/kms_frontbuffer_tracking.c +++ b/tests/intel/kms_frontbuffer_tracking.c @@ -28,6 +28,9 @@ * TEST: kms frontbuffer tracking * Category: Display * Description: Test the Kernel's frontbuffer tracking mechanism and its related features: FBC, PSR and DRRS + * Driver requirement: i915, xe + * Mega feature: General Display Features + * Test category: functionality test */ #include <sys/types.h> #include <sys/stat.h> @@ -43,268 +46,1392 @@ #include "igt_sysfs.h" #include "igt_psr.h" -#define TIME SLOW_QUICK(1000, 10000) - -IGT_TEST_DESCRIPTION("Test the Kernel's frontbuffer tracking mechanism and " - "its related features: FBC, PSR and DRRS"); - -/* - * One of the aspects of this test is that, for every subtest, we try different - * combinations of the parameters defined by the struct below. Because of this, - * a single addition of a new parameter or subtest function can lead to hundreds - * of new subtests. +/** + * SUBTEST: basic + * Description: Do some basic operations regardless of which features are enabled + * Functionality: fbt * - * In order to reduce the number combinations we cut the cases that don't make - * sense, such as writing on the secondary screen when there is only a single - * pipe, or flipping when the target is the offscreen buffer. We also hide some - * combinations that are somewhat redundant and don't add much value to the - * test. For example, since we already do the offscreen testing with a single - * pipe enabled, there's no much value in doing it again with dual pipes. If you - * still want to try these redundant tests, you need to use the --show-hidden - * option. + * SUBTEST: drrs-%dp-rte + * Description: Sanity test to enable DRRS with %arg[1] panels. + * Functionality: fbt, drrs * - * The most important hidden thing is the FEATURE_NONE set of tests. Whenever - * you get a failure on any test, it is important to check whether the same test - * fails with FEATURE_NONE - replace the feature name for "nop". If the nop test - * also fails, then it's likely the problem will be on the IGT side instead of - * the Kernel side. We don't expose this set of tests by default because (i) - * they take a long time to test; and (ii) if the feature tests work, then it's - * very likely that the nop tests will also work. + * SUBTEST: fbc-%dp-rte + * Description: Sanity test to enable FBC with %arg[1] panels. + * Functionality: fbc, fbt + * + * SUBTEST: psr-%dp-rte + * Description: Sanity test to enable PSR with %arg[1] panels. + * Functionality: fbt, psr + * + * SUBTEST: fbcdrrs-%dp-rte + * Description: Sanity test to enable FBC & DRRS with %arg[1] panels. + * Functionality: drrs, fbc, fbt + * + * SUBTEST: fbcpsr-%dp-rte + * Description: Sanity test to enable FBC & PSR with %arg[1] panels. + * Functionality: fbc, fbt, psr + * + * SUBTEST: psrdrrs-%dp-rte + * Description: Sanity test to enable PSR & DRRS with %arg[1] panels. + * Functionality: fbt, drrs, psr + * + * SUBTEST: fbcpsrdrrs-%dp-rte + * Description: Sanity test to enable FBC, PSR & DRRS with %arg[1] panels. + * Functionality: fbc, fbt, drrs, psr + * + * arg[1].values: 1, 2 */ -struct test_mode { - /* Are we going to enable just one monitor, or are we going to setup a - * dual screen environment for the test? */ - enum { - PIPE_SINGLE = 0, - PIPE_DUAL, - PIPE_COUNT, - } pipes; - - /* The primary screen is the one that's supposed to have the "feature" - * enabled on, but we have the option to draw on the secondary screen or - * on some offscreen buffer. We also only theck the CRC of the primary - * screen. */ - enum { - SCREEN_PRIM = 0, - SCREEN_SCND, - SCREEN_OFFSCREEN, - SCREEN_COUNT, - } screen; - - /* When we draw, we can draw directly on the primary plane, on the - * cursor or on the sprite plane. */ - enum { - PLANE_PRI = 0, - PLANE_CUR, - PLANE_SPR, - PLANE_COUNT, - } plane; - /* We can organize the screens in a way that each screen has its own - * framebuffer, or in a way that all screens point to the same - * framebuffer, but on different places. This includes the offscreen - * screen. */ - enum { - FBS_INDIVIDUAL = 0, - FBS_SHARED, - FBS_COUNT, - } fbs; +/** + * SUBTEST: drrs-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1]: + * + * @indfb: Individual fb + * @shrfb: Shared fb + * + * arg[2]: + * + * @blt: Blitter + * @mmap-wc: MMAP-WC + * @render: Render + */ - /* Which features are we going to test now? This is a mask! - * FEATURE_DEFAULT is a special value which instruct the test to just - * keep what's already enabled by default in the Kernel. */ - enum { - FEATURE_NONE = 0, - FEATURE_FBC = 1, - FEATURE_PSR = 2, - FEATURE_DRRS = 4, - FEATURE_COUNT = 8, - FEATURE_DEFAULT = 8, - } feature; +/** + * SUBTEST: drrs-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-1p-offscren-pri-%s-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1]: + * + * @indfb: Individual fb + * @shrfb: Shared fb + * + * arg[2]: + * + * @mmap-cpu: MMAP-CPU + * @mmap-gtt: MMAP-GTT + * @pwrite: PWRITE + */ - /* Possible pixel formats. We just use FORMAT_DEFAULT for most tests and - * only test a few things on the other formats. */ - enum pixel_format { - FORMAT_RGB888 = 0, - FORMAT_RGB565, - FORMAT_RGB101010, - FORMAT_COUNT, - FORMAT_DEFAULT = FORMAT_RGB888, - } format; +/** + * SUBTEST: drrs-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1].values: 1, 2 + * + * arg[2]: + * + * @cur: Cursor plane + * @pri: Primary plane + * @spr: Sprite plane + * + * arg[3]: + * + * @mmap-cpu: MMAP-CPU + * @mmap-gtt: MMAP-GTT + * @pwrite: PWRITE + */ - /* There are multiple APIs where we can do the equivalent of a page flip - * and they exercise slightly different codepaths inside the Kernel. */ - enum flip_type { - FLIP_PAGEFLIP, - FLIP_MODESET, - FLIP_PLANES, - FLIP_COUNT, - } flip; - - enum tiling_type { - TILING_LINEAR = 0, - TILING_X, - TILING_Y, - TILING_4, - TILING_COUNT, - TILING_DEFAULT = TILING_X, - } tiling; - - enum igt_draw_method method; -}; +/** + * SUBTEST: drrs-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1].values: 1, 2 + * + * arg[2]: + * + * @cur: Cursor plane + * @pri: Primary plane + * @spr: Sprite plane + * + * arg[3]: + * + * @blt: Blitter + * @mmap-wc: MMAP-WC + * @render: Render + */ -enum color { - COLOR_RED, - COLOR_GREEN, - COLOR_BLUE, - COLOR_MAGENTA, - COLOR_CYAN, - COLOR_SCND_BG, - COLOR_PRIM_BG = COLOR_BLUE, - COLOR_OFFSCREEN_BG = COLOR_SCND_BG, -}; +/** + * SUBTEST: drrs-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1].values: 1, 2 + * + * arg[2]: + * + * @blt: Blitter + * @mmap-wc: MMAP-WC + * @render: Render + */ -struct rect { - int x; - int y; - int w; - int h; - uint32_t color; -}; +/** + * SUBTEST: drrs-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-%dp-primscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1].values: 1, 2 + * + * arg[2]: + * + * @mmap-cpu: MMAP-CPU + * @mmap-gtt: MMAP-GTT + * @pwrite: PWRITE + */ -struct { - int fd; - int debugfs; - igt_display_t display; +/** + * SUBTEST: drrs-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1]: + * + * @cur: Cursor plane + * @pri: Primary plane + * @spr: Sprite plane + * + * arg[2]: + * + * @blt: Blitter + * @mmap-wc: MMAP-WC + * @render: Render + */ - struct buf_ops *bops; -} drm; +/** + * SUBTEST: drrs-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1]: + * + * @cur: Cursor plane + * @pri: Primary plane + * @spr: Sprite plane + * + * arg[2]: + * + * @mmap-cpu: MMAP-CPU + * @mmap-gtt: MMAP-GTT + * @pwrite: PWRITE + */ -struct { - bool can_test; - - bool supports_last_action; +/** + * SUBTEST: drrs-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1]: + * + * @blt: Blitter + * @mmap-wc: MMAP-WC + * @render: Render + */ - struct timespec last_action; -} fbc = { - .can_test = false, - .supports_last_action = false, -}; +/** + * SUBTEST: drrs-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-2p-scndscrn-pri-shrfb-draw-%s + * Description: Draw a set of rectangles on the screen using the provided method + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1]: + * + * @mmap-cpu: MMAP-CPU + * @mmap-gtt: MMAP-GTT + * @pwrite: PWRITE + */ -struct { - bool can_test; -} psr = { - .can_test = false, -}; +/** + * SUBTEST: drrs-%dp-pri-indfb-multidraw + * Description: Draw a set of rectangles on the screen using alternated drawing methods + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-%dp-pri-indfb-multidraw + * Description: Draw a set of rectangles on the screen using alternated drawing methods + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-%dp-pri-indfb-multidraw + * Description: Draw a set of rectangles on the screen using alternated drawing methods + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-%dp-pri-indfb-multidraw + * Description: Draw a set of rectangles on the screen using alternated drawing methods + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-%dp-pri-indfb-multidraw + * Description: Draw a set of rectangles on the screen using alternated drawing methods + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-%dp-pri-indfb-multidraw + * Description: Draw a set of rectangles on the screen using alternated drawing methods + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-%dp-pri-indfb-multidraw + * Description: Draw a set of rectangles on the screen using alternated drawing methods + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1].values: 1, 2 + */ -#define MAX_DRRS_STATUS_BUF_LEN 256 +/** + * SUBTEST: drrs-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1]: + * + * @rgb101010: FORMAT_RGB101010 + * @rgb565: FORMAT_RGB565 + * + * arg[2]: + * + * @blt: Blitter + * @mmap-wc: MMAP-WC + * @render: Render + */ -struct { - bool can_test; -} drrs = { - .can_test = false, -}; +/** + * SUBTEST: drrs-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Driver requirement: i915 + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-%s-draw-%s + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1]: + * + * @rgb101010: FORMAT_RGB101010 + * @rgb565: FORMAT_RGB565 + * + * arg[2]: + * + * @mmap-cpu: MMAP-CPU + * @mmap-gtt: MMAP-GTT + * @pwrite: PWRITE + */ -igt_pipe_crc_t *pipe_crc; -igt_crc_t *wanted_crc; -struct { - bool initialized; - igt_crc_t crc; -} blue_crcs[FORMAT_COUNT]; +/** + * SUBTEST: drrs-slowdraw + * Description: Sleep a little bit between drawing operations with DRRS + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-slowdraw + * Description: Sleep a little bit between drawing operations with FBC + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-slowdraw + * Description: Sleep a little bit between drawing operations with PSR + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-slowdraw + * Description: Sleep a little bit between drawing operations with FBC & DRRS + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-slowdraw + * Description: Sleep a little bit between drawing operations with FBC & PSR + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-slowdraw + * Description: Sleep a little bit between drawing operations with PSR & DRRS + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-slowdraw + * Description: Sleep a little bit between drawing operations with FBC, PSR & DRRS + * Functionality: drrs, fbc, fbt, kms_core, psr + */ -/* The goal of this structure is to easily allow us to deal with cases where we - * have a big framebuffer and the CRTC is just displaying a subregion of this - * big FB. */ -struct fb_region { - igt_plane_t *plane; - struct igt_fb *fb; - int x; - int y; - int w; - int h; -}; - -struct draw_pattern_info { - bool frames_stack; - int n_rects; - struct rect (*get_rect)(struct fb_region *fb, int r); - - bool initialized[FORMAT_COUNT]; - igt_crc_t *crcs[FORMAT_COUNT]; -}; - -/* Draw big rectangles on the screen. */ -struct draw_pattern_info pattern1; -/* 64x64 rectangles at x:0,y:0, just so we can draw on the cursor and sprite. */ -struct draw_pattern_info pattern2; -/* 64x64 rectangles at different positions, same color, for the move test. */ -struct draw_pattern_info pattern3; -/* Just a fullscreen green square. */ -struct draw_pattern_info pattern4; - -/* Command line parameters. */ -struct { - bool check_status; - bool check_crc; - bool fbc_check_compression; - bool fbc_check_last_action; - bool no_edp; - bool small_modes; - bool show_hidden; - int step; - int only_pipes; - int shared_fb_x_offset; - int shared_fb_y_offset; - enum tiling_type tiling; -} opt = { - .check_status = true, - .check_crc = true, - .fbc_check_compression = true, - .fbc_check_last_action = true, - .no_edp = false, - .small_modes = false, - .show_hidden= false, - .step = 0, - .only_pipes = PIPE_COUNT, - .shared_fb_x_offset = 248, - .shared_fb_y_offset = 500, - .tiling = TILING_DEFAULT, -}; - -struct modeset_params { - enum pipe pipe; - igt_output_t *output; - drmModeModeInfo mode; - - struct fb_region primary; - struct fb_region cursor; - struct fb_region sprite; -}; - -struct modeset_params prim_mode_params; -struct modeset_params scnd_mode_params; - -struct fb_region offscreen_fb; -struct screen_fbs { - bool initialized; +/** + * SUBTEST: drrs-%dp-primscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-%dp-primscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-%dp-primscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-%dp-primscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-%dp-primscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-%dp-primscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1].values: 1, 2 + * + * arg[2]: + * + * @indfb: Individual fb + * @shrfb: Shared fb + * + * arg[3]: + * + * @ms: Modeset + * @pg: Page flip + * @pl: Plane change + */ - struct igt_fb prim_pri; - struct igt_fb prim_cur; - struct igt_fb prim_spr; +/** + * SUBTEST: drrs-2p-scndscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-2p-scndscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-2p-scndscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-2p-scndscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-2p-scndscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-2p-scndscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-%sflip-blt + * Description: Just exercise page flips with the patterns we have + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1]: + * + * @indfb: Individual fb + * @shrfb: Shared fb + * + * arg[2]: + * + * @ms: Modeset + * @pg: Page flip + * @pl: Plane change + */ - struct igt_fb scnd_pri; - struct igt_fb scnd_cur; - struct igt_fb scnd_spr; +/** + * SUBTEST: fbc-%dp-%s-fliptrack-mmap-gtt + * Description: Check if the hardware tracking works after page flips + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: fbcdrrs-%dp-%s-fliptrack-mmap-gtt + * Description: Check if the hardware tracking works after page flips + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-%dp-%s-fliptrack-mmap-gtt + * Description: Check if the hardware tracking works after page flips + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-%dp-%s-fliptrack-mmap-gtt + * Description: Check if the hardware tracking works after page flips + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * arg[1].values: 1, 2 + * + * arg[2]: + * + * @indfb: Individual fb + * @shrfb: Shared fb + */ - struct igt_fb offscreen; - struct igt_fb big; -} fbs[FORMAT_COUNT]; +/** + * SUBTEST: drrs-%dp-primscrn-%s-indfb-move + * Description: Just move the %arg[2] around + * Functionality: drrs, fbt + * + * SUBTEST: fbc-%dp-primscrn-%s-indfb-move + * Description: Just move the %arg[2] around + * Functionality: fbc, fbt + * + * SUBTEST: psr-%dp-primscrn-%s-indfb-move + * Description: Just move the %arg[2] around + * Functionality: fbt, psr + * + * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-move + * Description: Just move the %arg[2] around + * Functionality: drrs, fbc, fbt + * + * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-move + * Description: Just move the %arg[2] around + * Functionality: fbc, fbt, psr + * + * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-move + * Description: Just move the %arg[2] around + * Functionality: drrs, fbt, psr + * + * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-move + * Description: Just move the %arg[2] around + * Functionality: drrs, fbc, fbt, psr + * + * arg[1].values: 1, 2 + * + * arg[2]: + * + * @spr: Sprite plane + * @cur: Cursor plane + */ -struct { - pthread_t thread; - bool stop; +/** + * SUBTEST: drrs-2p-scndscrn-%s-indfb-move + * Description: Just move the %arg[1] around + * Functionality: drrs, fbt + * + * SUBTEST: fbc-2p-scndscrn-%s-indfb-move + * Description: Just move the %arg[1] around + * Functionality: fbc, fbt + * + * SUBTEST: psr-2p-scndscrn-%s-indfb-move + * Description: Just move the %arg[1] around + * Functionality: fbt, psr + * + * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-move + * Description: Just move the %arg[1] around + * Functionality: drrs, fbc, fbt + * + * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-move + * Description: Just move the %arg[1] around + * Functionality: fbc, fbt, psr + * + * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-move + * Description: Just move the %arg[1] around + * Functionality: drrs, fbt, psr + * + * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-move + * Description: Just move the %arg[1] around + * Functionality: drrs, fbc, fbt, psr + * + * arg[1]: + * + * @spr: Sprite plane + * @cur: Cursor plane + */ - uint32_t handle; +/** + * SUBTEST: drrs-%dp-primscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[2] a few times + * Functionality: drrs, fbt + * + * SUBTEST: fbc-%dp-primscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[2] a few times + * Functionality: fbc, fbt + * + * SUBTEST: psr-%dp-primscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[2] a few times + * Functionality: fbt, psr + * + * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[2] a few times + * Functionality: drrs, fbc, fbt + * + * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[2] a few times + * Functionality: fbc, fbt, psr + * + * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[2] a few times + * Functionality: drrs, fbt, psr + * + * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[2] a few times + * Functionality: drrs, fbc, fbt, psr + * + * arg[1].values: 1, 2 + * + * arg[2]: + * + * @spr: Sprite plane + * @cur: Cursor plane + */ + +/** + * SUBTEST: drrs-2p-scndscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[1] a few times + * Functionality: drrs, fbt + * + * SUBTEST: fbc-2p-scndscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[1] a few times + * Functionality: fbc, fbt + * + * SUBTEST: psr-2p-scndscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[1] a few times + * Functionality: fbt, psr + * + * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[1] a few times + * Functionality: drrs, fbc, fbt + * + * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[1] a few times + * Functionality: fbc, fbt, psr + * + * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[1] a few times + * Functionality: drrs, fbt, psr + * + * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-onoff + * Description: Just enable and disable the %arg[1] a few times + * Functionality: drrs, fbc, fbt, psr + * + * arg[1]: + * + * @spr: Sprite plane + * @cur: Cursor plane + */ + +/** + * SUBTEST: drrs-%dp-primscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: drrs, fbt + * + * SUBTEST: fbc-%dp-primscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: fbc, fbt + * + * SUBTEST: psr-%dp-primscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: fbt, psr + * + * SUBTEST: fbcdrrs-%dp-primscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: drrs, fbc, fbt + * + * SUBTEST: fbcpsr-%dp-primscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: fbc, fbt, psr + * + * SUBTEST: psrdrrs-%dp-primscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: drrs, fbt, psr + * + * SUBTEST: fbcpsrdrrs-%dp-primscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: drrs, fbc, fbt, psr + * + * SUBTEST: drrs-2p-scndscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: drrs, fbt + * + * SUBTEST: fbc-2p-scndscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: fbc, fbt + * + * SUBTEST: psr-2p-scndscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: fbt, psr + * + * SUBTEST: fbcdrrs-2p-scndscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: drrs, fbc, fbt + * + * SUBTEST: fbcpsr-2p-scndscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: fbc, fbt, psr + * + * SUBTEST: psrdrrs-2p-scndscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: drrs, fbt, psr + * + * SUBTEST: fbcpsrdrrs-2p-scndscrn-spr-indfb-fullscreen + * Description: Put a fullscreen plane covering the whole screen + * Functionality: drrs, fbc, fbt, psr + * + * arg[1].values: 1, 2 + */ + +/** + * SUBTEST: drrs-%s-scaledprimary + * Description: Try different primary plane scaling strategies + * Functionality: drrs, fbt, scaling + * + * SUBTEST: fbc-%s-scaledprimary + * Description: Try different primary plane scaling strategies + * Functionality: fbc, fbt, scaling + * + * SUBTEST: psr-%s-scaledprimary + * Description: Try different primary plane scaling strategies + * Functionality: fbt, psr, scaling + * + * SUBTEST: fbcdrrs-%s-scaledprimary + * Description: Try different primary plane scaling strategies + * Functionality: drrs, fbc, fbt, scaling + * + * SUBTEST: fbcpsr-%s-scaledprimary + * Description: Try different primary plane scaling strategies + * Functionality: fbc, fbt, psr, scaling + * + * SUBTEST: psrdrrs-%s-scaledprimary + * Description: Try different primary plane scaling strategies + * Functionality: drrs, fbt, psr, scaling + * + * SUBTEST: fbcpsrdrrs-%s-scaledprimary + * Description: Try different primary plane scaling strategies + * Functionality: drrs, fbc, fbt, psr, scaling + * + * arg[1]: + * + * @indfb: Individual fb + * @shrfb: Shared fb + */ + +/** + * SUBTEST: drrs-modesetfrombusy + * Description: Modeset from a busy buffer to a non-busy buffer with DRRS + * Functionality: drrs, fbt, scaling + * + * SUBTEST: fbc-modesetfrombusy + * Description: Modeset from a busy buffer to a non-busy buffer with FBC + * Functionality: fbc, fbt, scaling + * + * SUBTEST: psr-modesetfrombusy + * Description: Modeset from a busy buffer to a non-busy buffer with PSR + * Functionality: fbt, psr, scaling + * + * SUBTEST: fbcdrrs-modesetfrombusy + * Description: Modeset from a busy buffer to a non-busy buffer with FBC & DRRS + * Functionality: drrs, fbc, fbt, scaling + * + * SUBTEST: fbcpsr-modesetfrombusy + * Description: Modeset from a busy buffer to a non-busy buffer with FBC & PSR + * Functionality: fbc, fbt, psr, scaling + * + * SUBTEST: psrdrrs-modesetfrombusy + * Description: Modeset from a busy buffer to a non-busy buffer with PSR & DRRS + * Functionality: drrs, fbt, psr, scaling + * + * SUBTEST: fbcpsrdrrs-modesetfrombusy + * Description: Modeset from a busy buffer to a non-busy buffer with FBC, PSR & DRRS + * Functionality: drrs, fbc, fbt, psr, scaling + * + * SUBTEST: drrs-suspend + * Description: Make sure suspend/resume keeps us on the same state of DRRS + * Functionality: drrs, fbt, suspend + * + * SUBTEST: fbc-suspend + * Description: Make sure suspend/resume keeps us on the same state of FBC + * Functionality: fbc, fbt, suspend + * + * SUBTEST: psr-suspend + * Description: Make sure suspend/resume keeps us on the same state of PSR + * Functionality: fbt, psr, suspend + * + * SUBTEST: fbcdrrs-suspend + * Description: Make sure suspend/resume keeps us on the same state of FBC & DRRS + * Functionality: drrs, fbc, fbt, suspend + * + * SUBTEST: fbcpsr-suspend + * Description: Make sure suspend/resume keeps us on the same state of FBC & PSR + * Functionality: fbc, fbt, psr, suspend + * + * SUBTEST: psrdrrs-suspend + * Description: Make sure suspend/resume keeps us on the same state of PSR & DRRS + * Functionality: drrs, fbt, psr, suspend + * + * SUBTEST: fbcpsrdrrs-suspend + * Description: Make sure suspend/resume keeps us on the same state of FBC, PSR & DRRS + * Functionality: drrs, fbc, fbt, psr, suspend + * + * SUBTEST: drrs-farfromfence-mmap-gtt + * Description: Test drawing as far from the fence start as possible + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core + * + * SUBTEST: fbc-farfromfence-mmap-gtt + * Description: Test drawing as far from the fence start as possible + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core + * + * SUBTEST: psr-farfromfence-mmap-gtt + * Description: Test drawing as far from the fence start as possible + * Driver requirement: i915 + * Functionality: fbt, kms_core, psr + * + * SUBTEST: fbcdrrs-farfromfence-mmap-gtt + * Description: Test drawing as far from the fence start as possible + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core + * + * SUBTEST: fbcpsr-farfromfence-mmap-gtt + * Description: Test drawing as far from the fence start as possible + * Driver requirement: i915 + * Functionality: fbc, fbt, kms_core, psr + * + * SUBTEST: psrdrrs-farfromfence-mmap-gtt + * Description: Test drawing as far from the fence start as possible + * Driver requirement: i915 + * Functionality: drrs, fbt, kms_core, psr + * + * SUBTEST: fbcpsrdrrs-farfromfence-mmap-gtt + * Description: Test drawing as far from the fence start as possible + * Driver requirement: i915 + * Functionality: drrs, fbc, fbt, kms_core, psr + * + * SUBTEST: fbc-badstride + * Description: Try to use buffers with strides that are not supported + * Functionality: fbc, fbt + * + * SUBTEST: fbcdrrs-badstride + * Description: Try to use buffers with strides that are not supported + * Functionality: drrs, fbc, fbt + * + * SUBTEST: fbcpsr-badstride + * Description: Try to use buffers with strides that are not supported + * Functionality: fbc, fbt, psr + * + * SUBTEST: fbcpsrdrrs-badstride + * Description: Try to use buffers with strides that are not supported + * Functionality: drrs, fbc, fbt, psr + * + * SUBTEST: fbc-stridechange + * Description: Change the frontbuffer stride by doing a modeset + * Functionality: fbc, fbt + * + * SUBTEST: fbcdrrs-stridechange + * Description: Change the frontbuffer stride by doing a modeset + * Functionality: drrs, fbc, fbt + * + * SUBTEST: fbcpsr-stridechange + * Description: Change the frontbuffer stride by doing a modeset + * Functionality: fbc, fbt, psr + * + * SUBTEST: fbcpsrdrrs-stridechange + * Description: Change the frontbuffer stride by doing a modeset + * Functionality: drrs, fbc, fbt, psr + */ + +/** + * SUBTEST: fbc-tiling-%s + * Description: Test %arg[1] formats, if the tiling format supports FBC do the + * basic drawing test, else set the mode & test if FBC is disabled + * Functionality: fbc, fbt, tiling + * + * SUBTEST: fbcdrrs-tiling-%s + * Description: Test %arg[1] formats, if the tiling format supports FBC do the + * basic drawing test, else set the mode & test if FBC is disabled + * Functionality: drrs, fbc, fbt, tiling + * + * SUBTEST: fbcpsr-tiling-%s + * Description: Test %arg[1] formats, if the tiling format supports FBC do the + * basic drawing test, else set the mode & test if FBC is disabled + * Functionality: fbc, fbt, psr, tiling + * + * SUBTEST: fbcpsrdrrs-tiling-%s + * Description: Test %arg[1] formats, if the tiling format supports FBC do the + * basic drawing test, else set the mode & test if FBC is disabled + * Functionality: drrs, fbc, fbt, psr, tiling + * + * arg[1]: + * + * @4: 4 tiling + * @linear: Linear tiling + * @y: Y tiling + */ +#define TIME SLOW_QUICK(1000, 10000) + +IGT_TEST_DESCRIPTION("Test the Kernel's frontbuffer tracking mechanism and " + "its related features: FBC, PSR and DRRS"); + +/* + * One of the aspects of this test is that, for every subtest, we try different + * combinations of the parameters defined by the struct below. Because of this, + * a single addition of a new parameter or subtest function can lead to hundreds + * of new subtests. + * + * In order to reduce the number combinations we cut the cases that don't make + * sense, such as writing on the secondary screen when there is only a single + * pipe, or flipping when the target is the offscreen buffer. We also hide some + * combinations that are somewhat redundant and don't add much value to the + * test. For example, since we already do the offscreen testing with a single + * pipe enabled, there's no much value in doing it again with dual pipes. If you + * still want to try these redundant tests, you need to use the --show-hidden + * option. + * + * The most important hidden thing is the FEATURE_NONE set of tests. Whenever + * you get a failure on any test, it is important to check whether the same test + * fails with FEATURE_NONE - replace the feature name for "nop". If the nop test + * also fails, then it's likely the problem will be on the IGT side instead of + * the Kernel side. We don't expose this set of tests by default because (i) + * they take a long time to test; and (ii) if the feature tests work, then it's + * very likely that the nop tests will also work. + */ +struct test_mode { + /* Are we going to enable just one monitor, or are we going to setup a + * dual screen environment for the test? */ + enum { + PIPE_SINGLE = 0, + PIPE_DUAL, + PIPE_COUNT, + } pipes; + + /* The primary screen is the one that's supposed to have the "feature" + * enabled on, but we have the option to draw on the secondary screen or + * on some offscreen buffer. We also only theck the CRC of the primary + * screen. */ + enum { + SCREEN_PRIM = 0, + SCREEN_SCND, + SCREEN_OFFSCREEN, + SCREEN_COUNT, + } screen; + + /* When we draw, we can draw directly on the primary plane, on the + * cursor or on the sprite plane. */ + enum { + PLANE_PRI = 0, + PLANE_CUR, + PLANE_SPR, + PLANE_COUNT, + } plane; + + /* We can organize the screens in a way that each screen has its own + * framebuffer, or in a way that all screens point to the same + * framebuffer, but on different places. This includes the offscreen + * screen. */ + enum { + FBS_INDIVIDUAL = 0, + FBS_SHARED, + FBS_COUNT, + } fbs; + + /* Which features are we going to test now? This is a mask! + * FEATURE_DEFAULT is a special value which instruct the test to just + * keep what's already enabled by default in the Kernel. */ + enum { + FEATURE_NONE = 0, + FEATURE_FBC = 1, + FEATURE_PSR = 2, + FEATURE_DRRS = 4, + FEATURE_COUNT = 8, + FEATURE_DEFAULT = 8, + } feature; + + /* Possible pixel formats. We just use FORMAT_DEFAULT for most tests and + * only test a few things on the other formats. */ + enum pixel_format { + FORMAT_RGB888 = 0, + FORMAT_RGB565, + FORMAT_RGB101010, + FORMAT_COUNT, + FORMAT_DEFAULT = FORMAT_RGB888, + } format; + + /* There are multiple APIs where we can do the equivalent of a page flip + * and they exercise slightly different codepaths inside the Kernel. */ + enum flip_type { + FLIP_PAGEFLIP, + FLIP_MODESET, + FLIP_PLANES, + FLIP_COUNT, + } flip; + + enum tiling_type { + TILING_LINEAR = 0, + TILING_X, + TILING_Y, + TILING_4, + TILING_COUNT, + TILING_DEFAULT = TILING_X, + } tiling; + + enum igt_draw_method method; +}; + +enum color { + COLOR_RED, + COLOR_GREEN, + COLOR_BLUE, + COLOR_MAGENTA, + COLOR_CYAN, + COLOR_SCND_BG, + COLOR_PRIM_BG = COLOR_BLUE, + COLOR_OFFSCREEN_BG = COLOR_SCND_BG, +}; + +struct rect { + int x; + int y; + int w; + int h; + uint32_t color; +}; + +struct { + int fd; + int debugfs; + igt_display_t display; + + struct buf_ops *bops; +} drm; + +struct { + bool can_test; + + bool supports_last_action; + + struct timespec last_action; +} fbc = { + .can_test = false, + .supports_last_action = false, +}; + +struct { + bool can_test; +} psr = { + .can_test = false, +}; + +#define MAX_DRRS_STATUS_BUF_LEN 256 + +struct { + bool can_test; +} drrs = { + .can_test = false, +}; + +igt_pipe_crc_t *pipe_crc; +igt_crc_t *wanted_crc; +struct { + bool initialized; + igt_crc_t crc; +} blue_crcs[FORMAT_COUNT]; + +/* The goal of this structure is to easily allow us to deal with cases where we + * have a big framebuffer and the CRTC is just displaying a subregion of this + * big FB. */ +struct fb_region { + igt_plane_t *plane; + struct igt_fb *fb; + int x; + int y; + int w; + int h; +}; + +struct draw_pattern_info { + bool frames_stack; + int n_rects; + struct rect (*get_rect)(struct fb_region *fb, int r); + + bool initialized[FORMAT_COUNT]; + igt_crc_t *crcs[FORMAT_COUNT]; +}; + +/* Draw big rectangles on the screen. */ +struct draw_pattern_info pattern1; +/* 64x64 rectangles at x:0,y:0, just so we can draw on the cursor and sprite. */ +struct draw_pattern_info pattern2; +/* 64x64 rectangles at different positions, same color, for the move test. */ +struct draw_pattern_info pattern3; +/* Just a fullscreen green square. */ +struct draw_pattern_info pattern4; + +/* Command line parameters. */ +struct { + bool check_status; + bool check_crc; + bool fbc_check_compression; + bool fbc_check_last_action; + bool no_edp; + bool small_modes; + bool show_hidden; + int step; + int only_pipes; + int shared_fb_x_offset; + int shared_fb_y_offset; + enum tiling_type tiling; +} opt = { + .check_status = true, + .check_crc = true, + .fbc_check_compression = true, + .fbc_check_last_action = true, + .no_edp = false, + .small_modes = false, + .show_hidden= false, + .step = 0, + .only_pipes = PIPE_COUNT, + .shared_fb_x_offset = 248, + .shared_fb_y_offset = 500, + .tiling = TILING_DEFAULT, +}; + +struct modeset_params { + enum pipe pipe; + igt_output_t *output; + drmModeModeInfo mode; + + struct fb_region primary; + struct fb_region cursor; + struct fb_region sprite; +}; + +struct modeset_params prim_mode_params; +struct modeset_params scnd_mode_params; + +struct fb_region offscreen_fb; +struct screen_fbs { + bool initialized; + + struct igt_fb prim_pri; + struct igt_fb prim_cur; + struct igt_fb prim_spr; + + struct igt_fb scnd_pri; + struct igt_fb scnd_cur; + struct igt_fb scnd_spr; + + struct igt_fb offscreen; + struct igt_fb big; +} fbs[FORMAT_COUNT]; + +struct { + pthread_t thread; + bool stop; + + uint32_t handle; uint32_t size; uint32_t stride; int width; @@ -1683,898 +2810,233 @@ static void set_region_for_test(const struct test_mode *t, fill_fb_region(reg, COLOR_PRIM_BG); igt_plane_set_fb(reg->plane, reg->fb); - igt_plane_set_position(reg->plane, 0, 0); - igt_plane_set_size(reg->plane, reg->w, reg->h); - igt_fb_set_size(reg->fb, reg->plane, reg->w, reg->h); - - igt_display_commit(&drm.display); - do_assertions(ASSERT_NO_ACTION_CHANGE); -} - -static bool enable_features_for_test(const struct test_mode *t) -{ - bool ret = false; - - if (t->feature == FEATURE_DEFAULT) - return false; - - if (t->feature & FEATURE_FBC) - intel_fbc_enable(drm.fd); - if (t->feature & FEATURE_PSR) - ret = psr_enable(drm.fd, drm.debugfs, PSR_MODE_1); - if (t->feature & FEATURE_DRRS) - intel_drrs_enable(drm.fd, prim_mode_params.pipe); - - return ret; -} - -static void check_test_requirements(const struct test_mode *t) -{ - int ver; - - if (t->pipes == PIPE_DUAL) - igt_require_f(scnd_mode_params.output, - "Can't test dual pipes with the current outputs\n"); - - if (t->feature & FEATURE_FBC) - igt_require_f(fbc.can_test, - "Can't test FBC with this chipset\n"); - - if (t->feature & FEATURE_PSR) { - igt_require_f(psr.can_test, - "Can't test PSR with the current outputs\n"); - } - - if (t->feature & FEATURE_DRRS) - igt_require_f(drrs.can_test, - "Can't test DRRS with the current outputs\n"); - - /* - * In kernel, When PSR is enabled, DRRS will be disabled. So If a test - * case needs DRRS + PSR enabled, that will be skipped. - */ - igt_require_f(!((t->feature & FEATURE_PSR) && - (t->feature & FEATURE_DRRS)), - "Can't test PSR and DRRS together\n"); - - if (opt.only_pipes != PIPE_COUNT) - igt_require(t->pipes == opt.only_pipes); - - /* Kernel disables fbc for display versions 12 and 13 if psr is enabled. */ - ver = intel_display_ver(intel_get_drm_devid(drm.fd)); - if (ver >= 12 && ver <= 13) - igt_require_f(!((t->feature & FEATURE_PSR) && - (t->feature & FEATURE_FBC)), - "Can't test PSR and FBC together\n"); - -} - -static void set_crtc_fbs(const struct test_mode *t) -{ - struct screen_fbs *s = &fbs[t->format]; - - create_fbs(t->format, t->tiling); - - switch (t->fbs) { - case FBS_INDIVIDUAL: - prim_mode_params.primary.fb = &s->prim_pri; - scnd_mode_params.primary.fb = &s->scnd_pri; - offscreen_fb.fb = &s->offscreen; - - prim_mode_params.primary.x = 0; - scnd_mode_params.primary.x = 0; - offscreen_fb.x = 0; - - prim_mode_params.primary.y = 0; - scnd_mode_params.primary.y = 0; - offscreen_fb.y = 0; - break; - case FBS_SHARED: - /* Please see the comment at the top of create_shared_fb(). */ - prim_mode_params.primary.fb = &s->big; - scnd_mode_params.primary.fb = &s->big; - offscreen_fb.fb = &s->big; - - prim_mode_params.primary.x = opt.shared_fb_x_offset; - scnd_mode_params.primary.x = opt.shared_fb_x_offset; - offscreen_fb.x = opt.shared_fb_x_offset; - - prim_mode_params.primary.y = opt.shared_fb_y_offset; - scnd_mode_params.primary.y = prim_mode_params.primary.y + - prim_mode_params.primary.h; - offscreen_fb.y = scnd_mode_params.primary.y + scnd_mode_params.primary.h; - break; - default: - igt_assert(false); - } - - prim_mode_params.cursor.fb = &s->prim_cur; - prim_mode_params.sprite.fb = &s->prim_spr; - scnd_mode_params.cursor.fb = &s->scnd_cur; - scnd_mode_params.sprite.fb = &s->scnd_spr; -} - -static void prepare_subtest_data(const struct test_mode *t, - struct draw_pattern_info *pattern) -{ - bool need_modeset; - - check_test_requirements(t); - - stop_busy_thread(); - - need_modeset = disable_features(t); - set_crtc_fbs(t); - - if (t->screen == SCREEN_OFFSCREEN) - fill_fb_region(&offscreen_fb, COLOR_OFFSCREEN_BG); - - igt_display_reset(&drm.display); - if (need_modeset) - igt_display_commit(&drm.display); - - init_blue_crc(t->format, t->tiling); - if (pattern) - init_crcs(t->format, t->tiling, pattern); - - need_modeset = enable_features_for_test(t); - if (need_modeset) - igt_display_commit(&drm.display); -} - -static void prepare_subtest_screens(const struct test_mode *t) -{ - if (t->pipes == PIPE_DUAL) - enable_both_screens_and_wait(t); - else - enable_prim_screen_and_wait(t); - - if (t->screen == SCREEN_PRIM) { - if (t->plane == PLANE_CUR) - set_region_for_test(t, &prim_mode_params.cursor); - if (t->plane == PLANE_SPR) - set_region_for_test(t, &prim_mode_params.sprite); - } - - if (t->pipes == PIPE_DUAL && t->screen == SCREEN_SCND) { - if (t->plane == PLANE_CUR) - set_region_for_test(t, &scnd_mode_params.cursor); - if (t->plane == PLANE_SPR) - set_region_for_test(t, &scnd_mode_params.sprite); - } -} - -static void prepare_subtest(const struct test_mode *t, - struct draw_pattern_info *pattern) -{ - prepare_subtest_data(t, pattern); - prepare_subtest_screens(t); -} - -/** - * SUBTEST: drrs-%dp-rte - * Description: Sanity test to enable DRRS with %arg[1] panels. - * Driver requirement: i915, xe - * Functionality: fbt, drrs - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%dp-rte - * Description: Sanity test to enable FBC with %arg[1] panels. - * Driver requirement: i915, xe - * Functionality: fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%dp-rte - * Description: Sanity test to enable PSR with %arg[1] panels. - * Driver requirement: i915, xe - * Functionality: fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%dp-rte - * Description: Sanity test to enable FBC & DRRS with %arg[1] panels. - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%dp-rte - * Description: Sanity test to enable FBC & PSR with %arg[1] panels. - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%dp-rte - * Description: Sanity test to enable PSR & DRRS with %arg[1] panels. - * Driver requirement: i915, xe - * Functionality: fbt, drrs, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%dp-rte - * Description: Sanity test to enable FBC, PSR & DRRS with %arg[1] panels. - * Driver requirement: i915, xe - * Functionality: fbc, fbt, drrs, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 1, 2 - */ - -/* - * rte - the basic sanity test - * - * METHOD - * Just disable all screens, assert everything is disabled, then enable all - * screens - including primary, cursor and sprite planes - and assert that - * the tested feature is enabled. - * - * EXPECTED RESULTS - * Blue screens and t->feature enabled. - * - * FAILURES - * A failure here means that every other subtest will probably fail too. It - * probably means that the Kernel is just not enabling the feature we want. - */ -static void rte_subtest(const struct test_mode *t) -{ - prepare_subtest_data(t, NULL); + igt_plane_set_position(reg->plane, 0, 0); + igt_plane_set_size(reg->plane, reg->w, reg->h); + igt_fb_set_size(reg->fb, reg->plane, reg->w, reg->h); - unset_all_crtcs(); - do_assertions(ASSERT_FBC_DISABLED | ASSERT_PSR_DISABLED | - DONT_ASSERT_CRC | ASSERT_DRRS_INACTIVE); + igt_display_commit(&drm.display); + do_assertions(ASSERT_NO_ACTION_CHANGE); +} - if (t->pipes == PIPE_SINGLE) - enable_prim_screen_and_wait(t); - else - enable_both_screens_and_wait(t); +static bool enable_features_for_test(const struct test_mode *t) +{ + bool ret = false; - set_region_for_test(t, &prim_mode_params.cursor); - set_region_for_test(t, &prim_mode_params.sprite); + if (t->feature == FEATURE_DEFAULT) + return false; - if (t->pipes == PIPE_DUAL) { - set_region_for_test(t, &scnd_mode_params.cursor); - set_region_for_test(t, &scnd_mode_params.sprite); - } + if (t->feature & FEATURE_FBC) + intel_fbc_enable(drm.fd); + if (t->feature & FEATURE_PSR) + ret = psr_enable(drm.fd, drm.debugfs, PSR_MODE_1); + if (t->feature & FEATURE_DRRS) + intel_drrs_enable(drm.fd, prim_mode_params.pipe); + + return ret; } -static void update_wanted_crc(const struct test_mode *t, igt_crc_t *crc) +static void check_test_requirements(const struct test_mode *t) { - if (t->screen == SCREEN_PRIM) - wanted_crc = crc; + int ver; + + if (t->pipes == PIPE_DUAL) + igt_require_f(scnd_mode_params.output, + "Can't test dual pipes with the current outputs\n"); + + if (t->feature & FEATURE_FBC) + igt_require_f(fbc.can_test, + "Can't test FBC with this chipset\n"); + + if (t->feature & FEATURE_PSR) { + igt_require_f(psr.can_test, + "Can't test PSR with the current outputs\n"); + } + + if (t->feature & FEATURE_DRRS) + igt_require_f(drrs.can_test, + "Can't test DRRS with the current outputs\n"); + + /* + * In kernel, When PSR is enabled, DRRS will be disabled. So If a test + * case needs DRRS + PSR enabled, that will be skipped. + */ + igt_require_f(!((t->feature & FEATURE_PSR) && + (t->feature & FEATURE_DRRS)), + "Can't test PSR and DRRS together\n"); + + if (opt.only_pipes != PIPE_COUNT) + igt_require(t->pipes == opt.only_pipes); + + /* Kernel disables fbc for display versions 12 and 13 if psr is enabled. */ + ver = intel_display_ver(intel_get_drm_devid(drm.fd)); + if (ver >= 12 && ver <= 13) + igt_require_f(!((t->feature & FEATURE_PSR) && + (t->feature & FEATURE_FBC)), + "Can't test PSR and FBC together\n"); + } -static bool op_disables_psr(const struct test_mode *t, - enum igt_draw_method method) +static void set_crtc_fbs(const struct test_mode *t) { - if (method != IGT_DRAW_MMAP_GTT) - return false; - if (t->screen == SCREEN_PRIM) - return true; - /* On FBS_SHARED, even if the target is not the PSR screen - * (SCREEN_PRIM), all primary planes share the same frontbuffer, so a - * write to the second screen primary plane - or offscreen plane - will - * touch the framebuffer that's also used by the primary screen. */ - if (t->fbs == FBS_SHARED && t->plane == PLANE_PRI) - return true; + struct screen_fbs *s = &fbs[t->format]; - return false; + create_fbs(t->format, t->tiling); + + switch (t->fbs) { + case FBS_INDIVIDUAL: + prim_mode_params.primary.fb = &s->prim_pri; + scnd_mode_params.primary.fb = &s->scnd_pri; + offscreen_fb.fb = &s->offscreen; + + prim_mode_params.primary.x = 0; + scnd_mode_params.primary.x = 0; + offscreen_fb.x = 0; + + prim_mode_params.primary.y = 0; + scnd_mode_params.primary.y = 0; + offscreen_fb.y = 0; + break; + case FBS_SHARED: + /* Please see the comment at the top of create_shared_fb(). */ + prim_mode_params.primary.fb = &s->big; + scnd_mode_params.primary.fb = &s->big; + offscreen_fb.fb = &s->big; + + prim_mode_params.primary.x = opt.shared_fb_x_offset; + scnd_mode_params.primary.x = opt.shared_fb_x_offset; + offscreen_fb.x = opt.shared_fb_x_offset; + + prim_mode_params.primary.y = opt.shared_fb_y_offset; + scnd_mode_params.primary.y = prim_mode_params.primary.y + + prim_mode_params.primary.h; + offscreen_fb.y = scnd_mode_params.primary.y + scnd_mode_params.primary.h; + break; + default: + igt_assert(false); + } + + prim_mode_params.cursor.fb = &s->prim_cur; + prim_mode_params.sprite.fb = &s->prim_spr; + scnd_mode_params.cursor.fb = &s->scnd_cur; + scnd_mode_params.sprite.fb = &s->scnd_spr; } -/** - * SUBTEST: drrs-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @indfb: Individual fb - * @shrfb: Shared fb - * - * arg[2]: - * - * @blt: Blitter - * @mmap-wc: MMAP-WC - * @render: Render - */ +static void prepare_subtest_data(const struct test_mode *t, + struct draw_pattern_info *pattern) +{ + bool need_modeset; -/** - * SUBTEST: drrs-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-1p-offscren-pri-%s-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @indfb: Individual fb - * @shrfb: Shared fb - * - * arg[2]: - * - * @mmap-cpu: MMAP-CPU - * @mmap-gtt: MMAP-GTT - * @pwrite: PWRITE - */ + check_test_requirements(t); + + stop_busy_thread(); -/** - * SUBTEST: drrs-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 1, 2 - * - * arg[2]: - * - * @cur: Cursor plane - * @pri: Primary plane - * @spr: Sprite plane - * - * arg[3]: - * - * @mmap-cpu: MMAP-CPU - * @mmap-gtt: MMAP-GTT - * @pwrite: PWRITE - */ + need_modeset = disable_features(t); + set_crtc_fbs(t); -/** - * SUBTEST: drrs-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 1, 2 - * - * arg[2]: - * - * @cur: Cursor plane - * @pri: Primary plane - * @spr: Sprite plane - * - * arg[3]: - * - * @blt: Blitter - * @mmap-wc: MMAP-WC - * @render: Render - */ + if (t->screen == SCREEN_OFFSCREEN) + fill_fb_region(&offscreen_fb, COLOR_OFFSCREEN_BG); -/** - * SUBTEST: drrs-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 1, 2 - * - * arg[2]: - * - * @blt: Blitter - * @mmap-wc: MMAP-WC - * @render: Render - */ + igt_display_reset(&drm.display); + if (need_modeset) + igt_display_commit(&drm.display); -/** - * SUBTEST: drrs-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%dp-primscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 1, 2 - * - * arg[2]: - * - * @mmap-cpu: MMAP-CPU - * @mmap-gtt: MMAP-GTT - * @pwrite: PWRITE - */ + init_blue_crc(t->format, t->tiling); + if (pattern) + init_crcs(t->format, t->tiling, pattern); + + need_modeset = enable_features_for_test(t); + if (need_modeset) + igt_display_commit(&drm.display); +} -/** - * SUBTEST: drrs-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @cur: Cursor plane - * @pri: Primary plane - * @spr: Sprite plane - * - * arg[2]: - * - * @blt: Blitter - * @mmap-wc: MMAP-WC - * @render: Render - */ +static void prepare_subtest_screens(const struct test_mode *t) +{ + if (t->pipes == PIPE_DUAL) + enable_both_screens_and_wait(t); + else + enable_prim_screen_and_wait(t); -/** - * SUBTEST: drrs-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @cur: Cursor plane - * @pri: Primary plane - * @spr: Sprite plane - * - * arg[2]: - * - * @mmap-cpu: MMAP-CPU - * @mmap-gtt: MMAP-GTT - * @pwrite: PWRITE - */ + if (t->screen == SCREEN_PRIM) { + if (t->plane == PLANE_CUR) + set_region_for_test(t, &prim_mode_params.cursor); + if (t->plane == PLANE_SPR) + set_region_for_test(t, &prim_mode_params.sprite); + } -/** - * SUBTEST: drrs-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @blt: Blitter - * @mmap-wc: MMAP-WC - * @render: Render - */ + if (t->pipes == PIPE_DUAL && t->screen == SCREEN_SCND) { + if (t->plane == PLANE_CUR) + set_region_for_test(t, &scnd_mode_params.cursor); + if (t->plane == PLANE_SPR) + set_region_for_test(t, &scnd_mode_params.sprite); + } +} -/** - * SUBTEST: drrs-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-2p-scndscrn-pri-shrfb-draw-%s - * Description: Draw a set of rectangles on the screen using the provided method - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test +static void prepare_subtest(const struct test_mode *t, + struct draw_pattern_info *pattern) +{ + prepare_subtest_data(t, pattern); + prepare_subtest_screens(t); +} + +/* + * rte - the basic sanity test * - * arg[1]: + * METHOD + * Just disable all screens, assert everything is disabled, then enable all + * screens - including primary, cursor and sprite planes - and assert that + * the tested feature is enabled. * - * @mmap-cpu: MMAP-CPU - * @mmap-gtt: MMAP-GTT - * @pwrite: PWRITE + * EXPECTED RESULTS + * Blue screens and t->feature enabled. + * + * FAILURES + * A failure here means that every other subtest will probably fail too. It + * probably means that the Kernel is just not enabling the feature we want. */ +static void rte_subtest(const struct test_mode *t) +{ + prepare_subtest_data(t, NULL); + + unset_all_crtcs(); + do_assertions(ASSERT_FBC_DISABLED | ASSERT_PSR_DISABLED | + DONT_ASSERT_CRC | ASSERT_DRRS_INACTIVE); + + if (t->pipes == PIPE_SINGLE) + enable_prim_screen_and_wait(t); + else + enable_both_screens_and_wait(t); + + set_region_for_test(t, &prim_mode_params.cursor); + set_region_for_test(t, &prim_mode_params.sprite); + + if (t->pipes == PIPE_DUAL) { + set_region_for_test(t, &scnd_mode_params.cursor); + set_region_for_test(t, &scnd_mode_params.sprite); + } +} + +static void update_wanted_crc(const struct test_mode *t, igt_crc_t *crc) +{ + if (t->screen == SCREEN_PRIM) + wanted_crc = crc; +} + +static bool op_disables_psr(const struct test_mode *t, + enum igt_draw_method method) +{ + if (method != IGT_DRAW_MMAP_GTT) + return false; + if (t->screen == SCREEN_PRIM) + return true; + /* On FBS_SHARED, even if the target is not the PSR screen + * (SCREEN_PRIM), all primary planes share the same frontbuffer, so a + * write to the second screen primary plane - or offscreen plane - will + * touch the framebuffer that's also used by the primary screen. */ + if (t->fbs == FBS_SHARED && t->plane == PLANE_PRI) + return true; + + return false; +} /* * draw - draw a set of rectangles on the screen using the provided method @@ -2649,59 +3111,6 @@ static void draw_subtest(const struct test_mode *t) } } -/** - * SUBTEST: drrs-%dp-pri-indfb-multidraw - * Description: Draw a set of rectangles on the screen using alternated drawing methods - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%dp-pri-indfb-multidraw - * Description: Draw a set of rectangles on the screen using alternated drawing methods - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%dp-pri-indfb-multidraw - * Description: Draw a set of rectangles on the screen using alternated drawing methods - * Driver requirement: i915, xe - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%dp-pri-indfb-multidraw - * Description: Draw a set of rectangles on the screen using alternated drawing methods - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%dp-pri-indfb-multidraw - * Description: Draw a set of rectangles on the screen using alternated drawing methods - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%dp-pri-indfb-multidraw - * Description: Draw a set of rectangles on the screen using alternated drawing methods - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%dp-pri-indfb-multidraw - * Description: Draw a set of rectangles on the screen using alternated drawing methods - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 1, 2 - */ - /* * multidraw - draw a set of rectangles on the screen using alternated drawing * methods @@ -2832,147 +3241,23 @@ static bool format_is_valid(int feature_flags, */ static void badformat_subtest(const struct test_mode *t) { - bool fbc_valid = format_is_valid(FEATURE_FBC, t->format); - bool psr_valid = format_is_valid(FEATURE_PSR, t->format); - int assertions = ASSERT_NO_ACTION_CHANGE; - - prepare_subtest_data(t, NULL); - - fill_fb_region(&prim_mode_params.primary, COLOR_PRIM_BG); - set_mode_for_params(&prim_mode_params); - - wanted_crc = &blue_crcs[t->format].crc; - - if (!fbc_valid) - assertions |= ASSERT_FBC_DISABLED; - if (!psr_valid) - assertions |= ASSERT_PSR_DISABLED; - do_assertions(assertions); -} - -/** - * SUBTEST: drrs-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915, xe - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @rgb101010: FORMAT_RGB101010 - * @rgb565: FORMAT_RGB565 - * - * arg[2]: - * - * @blt: Blitter - * @mmap-wc: MMAP-WC - * @render: Render - */ - -/** - * SUBTEST: drrs-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915 - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%s-draw-%s - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @rgb101010: FORMAT_RGB101010 - * @rgb565: FORMAT_RGB565 - * - * arg[2]: - * - * @mmap-cpu: MMAP-CPU - * @mmap-gtt: MMAP-GTT - * @pwrite: PWRITE - */ + bool fbc_valid = format_is_valid(FEATURE_FBC, t->format); + bool psr_valid = format_is_valid(FEATURE_PSR, t->format); + int assertions = ASSERT_NO_ACTION_CHANGE; + + prepare_subtest_data(t, NULL); + + fill_fb_region(&prim_mode_params.primary, COLOR_PRIM_BG); + set_mode_for_params(&prim_mode_params); + + wanted_crc = &blue_crcs[t->format].crc; + + if (!fbc_valid) + assertions |= ASSERT_FBC_DISABLED; + if (!psr_valid) + assertions |= ASSERT_PSR_DISABLED; + do_assertions(assertions); +} /* * format_draw - test pixel formats that are not FORMAT_DEFAULT @@ -3017,57 +3302,6 @@ static bool tiling_is_valid(int feature_flags, enum tiling_type tiling) } } -/** - * SUBTEST: drrs-slowdraw - * Description: Sleep a little bit between drawing operations with DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-slowdraw - * Description: Sleep a little bit between drawing operations with FBC - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-slowdraw - * Description: Sleep a little bit between drawing operations with PSR - * Driver requirement: i915, xe - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-slowdraw - * Description: Sleep a little bit between drawing operations with FBC & DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-slowdraw - * Description: Sleep a little bit between drawing operations with FBC & PSR - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-slowdraw - * Description: Sleep a little bit between drawing operations with PSR & DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-slowdraw - * Description: Sleep a little bit between drawing operations with FBC, PSR & DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - */ - /* * slow_draw - sleep a little bit between drawing operations * @@ -3174,132 +3408,6 @@ static void page_flip_for_params(struct modeset_params *params, } } -/** - * SUBTEST: drrs-%dp-primscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%dp-primscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%dp-primscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%dp-primscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%dp-primscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%dp-primscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 1, 2 - * - * arg[2]: - * - * @indfb: Individual fb - * @shrfb: Shared fb - * - * arg[3]: - * - * @ms: Modeset - * @pg: Page flip - * @pl: Plane change - */ - -/** - * SUBTEST: drrs-2p-scndscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-2p-scndscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-2p-scndscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-2p-scndscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-2p-scndscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-2p-scndscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-%sflip-blt - * Description: Just exercise page flips with the patterns we have - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @indfb: Individual fb - * @shrfb: Shared fb - * - * arg[2]: - * - * @ms: Modeset - * @pg: Page flip - * @pl: Plane change - */ - /* * flip - just exercise page flips with the patterns we have * @@ -3334,68 +3442,31 @@ static void flip_subtest(const struct test_mode *t) bg_color = COLOR_SCND_BG; break; default: - igt_assert(false); - } - - prepare_subtest(t, pattern); - - create_fb(t->format, params->primary.fb->width, params->primary.fb->height, - t->tiling, t->plane, &fb2); - fill_fb(&fb2, bg_color); - orig_fb = params->primary.fb; - - for (r = 0; r < pattern->n_rects; r++) { - params->primary.fb = (r % 2 == 0) ? &fb2 : orig_fb; - - if (r != 0) - draw_rect(pattern, ¶ms->primary, t->method, r - 1); - draw_rect(pattern, ¶ms->primary, t->method, r); - update_wanted_crc(t, &pattern->crcs[t->format][r]); - - page_flip_for_params(params, t->flip); - - do_assertions(assertions); - } - - igt_remove_fb(drm.fd, &fb2); -} - -/** - * SUBTEST: fbc-%dp-%s-fliptrack-mmap-gtt - * Description: Check if the hardware tracking works after page flips - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%dp-%s-fliptrack-mmap-gtt - * Description: Check if the hardware tracking works after page flips - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%dp-%s-fliptrack-mmap-gtt - * Description: Check if the hardware tracking works after page flips - * Driver requirement: i915, xe - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%dp-%s-fliptrack-mmap-gtt - * Description: Check if the hardware tracking works after page flips - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 1, 2 - * - * arg[2]: - * - * @indfb: Individual fb - * @shrfb: Shared fb - */ + igt_assert(false); + } + + prepare_subtest(t, pattern); + + create_fb(t->format, params->primary.fb->width, params->primary.fb->height, + t->tiling, t->plane, &fb2); + fill_fb(&fb2, bg_color); + orig_fb = params->primary.fb; + + for (r = 0; r < pattern->n_rects; r++) { + params->primary.fb = (r % 2 == 0) ? &fb2 : orig_fb; + + if (r != 0) + draw_rect(pattern, ¶ms->primary, t->method, r - 1); + draw_rect(pattern, ¶ms->primary, t->method, r); + update_wanted_crc(t, &pattern->crcs[t->format][r]); + + page_flip_for_params(params, t->flip); + + do_assertions(assertions); + } + + igt_remove_fb(drm.fd, &fb2); +} /* * fliptrack - check if the hardware tracking works after page flips @@ -3445,120 +3516,6 @@ static void fliptrack_subtest(const struct test_mode *t, enum flip_type type) igt_remove_fb(drm.fd, &fb2); } -/** - * SUBTEST: drrs-%dp-primscrn-%s-indfb-move - * Description: Just move the %arg[2] around - * Driver requirement: i915, xe - * Functionality: drrs, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%dp-primscrn-%s-indfb-move - * Description: Just move the %arg[2] around - * Driver requirement: i915, xe - * Functionality: fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%dp-primscrn-%s-indfb-move - * Description: Just move the %arg[2] around - * Driver requirement: i915, xe - * Functionality: fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-move - * Description: Just move the %arg[2] around - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-move - * Description: Just move the %arg[2] around - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-move - * Description: Just move the %arg[2] around - * Driver requirement: i915, xe - * Functionality: drrs, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-move - * Description: Just move the %arg[2] around - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 1, 2 - * - * arg[2]: - * - * @spr: Sprite plane - * @cur: Cursor plane - */ - -/** - * SUBTEST: drrs-2p-scndscrn-%s-indfb-move - * Description: Just move the %arg[1] around - * Driver requirement: i915, xe - * Functionality: drrs, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-2p-scndscrn-%s-indfb-move - * Description: Just move the %arg[1] around - * Driver requirement: i915, xe - * Functionality: fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-2p-scndscrn-%s-indfb-move - * Description: Just move the %arg[1] around - * Driver requirement: i915, xe - * Functionality: fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-move - * Description: Just move the %arg[1] around - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-move - * Description: Just move the %arg[1] around - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-move - * Description: Just move the %arg[1] around - * Driver requirement: i915, xe - * Functionality: drrs, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-move - * Description: Just move the %arg[1] around - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @spr: Sprite plane - * @cur: Cursor plane - */ - /* * move - just move the sprite or cursor around * @@ -3608,123 +3565,9 @@ static void move_subtest(const struct test_mode *t) if (r+1 == pattern->n_rects && !repeat) { repeat = true; r--; - } - } -} - -/** - * SUBTEST: drrs-%dp-primscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[2] a few times - * Driver requirement: i915, xe - * Functionality: drrs, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%dp-primscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[2] a few times - * Driver requirement: i915, xe - * Functionality: fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%dp-primscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[2] a few times - * Driver requirement: i915, xe - * Functionality: fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[2] a few times - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[2] a few times - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[2] a few times - * Driver requirement: i915, xe - * Functionality: drrs, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[2] a few times - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 1, 2 - * - * arg[2]: - * - * @spr: Sprite plane - * @cur: Cursor plane - */ - -/** - * SUBTEST: drrs-2p-scndscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[1] a few times - * Driver requirement: i915, xe - * Functionality: drrs, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-2p-scndscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[1] a few times - * Driver requirement: i915, xe - * Functionality: fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-2p-scndscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[1] a few times - * Driver requirement: i915, xe - * Functionality: fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[1] a few times - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[1] a few times - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[1] a few times - * Driver requirement: i915, xe - * Functionality: drrs, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-onoff - * Description: Just enable and disable the %arg[1] a few times - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @spr: Sprite plane - * @cur: Cursor plane - */ + } + } +} /* * onoff - just enable and disable the sprite or cursor plane a few times @@ -3785,108 +3628,6 @@ static bool prim_plane_disabled(void) return !prim_mode_params.primary.plane->values[IGT_PLANE_FB_ID]; } -/** - * SUBTEST: drrs-%dp-primscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: drrs, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%dp-primscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%dp-primscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%dp-primscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%dp-primscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%dp-primscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: drrs, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%dp-primscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: drrs-2p-scndscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: drrs, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-2p-scndscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-2p-scndscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-2p-scndscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-2p-scndscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-2p-scndscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: drrs, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-2p-scndscrn-spr-indfb-fullscreen - * Description: Put a fullscreen plane covering the whole screen - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1].values: 1, 2 - */ - /* * fullscreen_plane - put a fullscreen plane covering the whole screen * @@ -3948,62 +3689,6 @@ static void fullscreen_plane_subtest(const struct test_mode *t) igt_remove_fb(drm.fd, &fullscreen_fb); } -/** - * SUBTEST: drrs-%s-scaledprimary - * Description: Try different primary plane scaling strategies - * Driver requirement: i915, xe - * Functionality: drrs, fbt, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-%s-scaledprimary - * Description: Try different primary plane scaling strategies - * Driver requirement: i915, xe - * Functionality: fbc, fbt, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-%s-scaledprimary - * Description: Try different primary plane scaling strategies - * Driver requirement: i915, xe - * Functionality: fbt, psr, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-%s-scaledprimary - * Description: Try different primary plane scaling strategies - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-%s-scaledprimary - * Description: Try different primary plane scaling strategies - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-%s-scaledprimary - * Description: Try different primary plane scaling strategies - * Driver requirement: i915, xe - * Functionality: drrs, fbt, psr, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-%s-scaledprimary - * Description: Try different primary plane scaling strategies - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @indfb: Individual fb - * @shrfb: Shared fb - */ - /* * scaledprimary - try different primary plane scaling strategies * @@ -4064,101 +3749,51 @@ static void scaledprimary_subtest(const struct test_mode *t) do_assertions(DONT_ASSERT_CRC); /* Source upscaling. */ - igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); - igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); - do_assertions(DONT_ASSERT_CRC); - - /* Destination doesn't fill the entire CRTC, no scaling. */ - igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); - igt_plane_set_position(reg->plane, - params->mode.hdisplay / 4, - params->mode.vdisplay / 4); - igt_plane_set_size(reg->plane, - params->mode.hdisplay / 2, - params->mode.vdisplay / 2); - igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); - do_assertions(DONT_ASSERT_CRC); - - /* Destination doesn't fill the entire CRTC, upscaling. */ - igt_fb_set_position(&new_fb, reg->plane, - reg->x + reg->w / 4, reg->y + src_y_upscale); - igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); - igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); - do_assertions(DONT_ASSERT_CRC); - - /* - * On gen >= 9 HW, FBC is not enabled on a plane with a Y offset - * that isn't divisible by 4, because it causes FIFO underruns. - * - * Check that FBC is disabled. - */ - igt_fb_set_position(&new_fb, reg->plane, - reg->x + reg->w / 4, (reg->y + src_y_upscale) | 3); - igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); - igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); - do_assertions(DONT_ASSERT_CRC | (gen >= 9 ? ASSERT_FBC_DISABLED : 0)); - - /* Back to the good and old blue fb. */ - igt_plane_set_fb(reg->plane, old_fb); - igt_plane_set_position(params->primary.plane, 0, 0); - igt_plane_set_size(reg->plane, params->mode.hdisplay, params->mode.vdisplay); - igt_fb_set_position(reg->fb, reg->plane, reg->x, reg->y); - igt_fb_set_size(reg->fb, reg->plane, reg->w, reg->h); - igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); - do_assertions(0); - - igt_remove_fb(drm.fd, &new_fb); -} - -/** - * SUBTEST: drrs-modesetfrombusy - * Description: Modeset from a busy buffer to a non-busy buffer with DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbt, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-modesetfrombusy - * Description: Modeset from a busy buffer to a non-busy buffer with FBC - * Driver requirement: i915, xe - * Functionality: fbc, fbt, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-modesetfrombusy - * Description: Modeset from a busy buffer to a non-busy buffer with PSR - * Driver requirement: i915, xe - * Functionality: fbt, psr, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-modesetfrombusy - * Description: Modeset from a busy buffer to a non-busy buffer with FBC & DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-modesetfrombusy - * Description: Modeset from a busy buffer to a non-busy buffer with FBC & PSR - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-modesetfrombusy - * Description: Modeset from a busy buffer to a non-busy buffer with PSR & DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbt, psr, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-modesetfrombusy - * Description: Modeset from a busy buffer to a non-busy buffer with FBC, PSR & DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr, scaling - * Mega feature: General Display Features - */ + igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); + igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); + do_assertions(DONT_ASSERT_CRC); + + /* Destination doesn't fill the entire CRTC, no scaling. */ + igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); + igt_plane_set_position(reg->plane, + params->mode.hdisplay / 4, + params->mode.vdisplay / 4); + igt_plane_set_size(reg->plane, + params->mode.hdisplay / 2, + params->mode.vdisplay / 2); + igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); + do_assertions(DONT_ASSERT_CRC); + + /* Destination doesn't fill the entire CRTC, upscaling. */ + igt_fb_set_position(&new_fb, reg->plane, + reg->x + reg->w / 4, reg->y + src_y_upscale); + igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); + igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); + do_assertions(DONT_ASSERT_CRC); + + /* + * On gen >= 9 HW, FBC is not enabled on a plane with a Y offset + * that isn't divisible by 4, because it causes FIFO underruns. + * + * Check that FBC is disabled. + */ + igt_fb_set_position(&new_fb, reg->plane, + reg->x + reg->w / 4, (reg->y + src_y_upscale) | 3); + igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); + igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); + do_assertions(DONT_ASSERT_CRC | (gen >= 9 ? ASSERT_FBC_DISABLED : 0)); + + /* Back to the good and old blue fb. */ + igt_plane_set_fb(reg->plane, old_fb); + igt_plane_set_position(params->primary.plane, 0, 0); + igt_plane_set_size(reg->plane, params->mode.hdisplay, params->mode.vdisplay); + igt_fb_set_position(reg->fb, reg->plane, reg->x, reg->y); + igt_fb_set_size(reg->fb, reg->plane, reg->w, reg->h); + igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); + do_assertions(0); + + igt_remove_fb(drm.fd, &new_fb); +} /** * modesetfrombusy - modeset from a busy buffer to a non-busy buffer @@ -4203,57 +3838,6 @@ static void modesetfrombusy_subtest(const struct test_mode *t) igt_remove_fb(drm.fd, &fb2); } -/** - * SUBTEST: drrs-suspend - * Description: Make sure suspend/resume keeps us on the same state of DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbt, suspend - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-suspend - * Description: Make sure suspend/resume keeps us on the same state of FBC - * Driver requirement: i915, xe - * Functionality: fbc, fbt, suspend - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-suspend - * Description: Make sure suspend/resume keeps us on the same state of PSR - * Driver requirement: i915, xe - * Functionality: fbt, psr, suspend - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-suspend - * Description: Make sure suspend/resume keeps us on the same state of FBC & DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, suspend - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-suspend - * Description: Make sure suspend/resume keeps us on the same state of FBC & PSR - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr, suspend - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-suspend - * Description: Make sure suspend/resume keeps us on the same state of PSR & DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbt, psr, suspend - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-suspend - * Description: Make sure suspend/resume keeps us on the same state of FBC, PSR & DRRS - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr, suspend - * Mega feature: General Display Features - * Test category: functionality test - */ - /** * suspend - make sure suspend/resume keeps us on the same state * @@ -4286,57 +3870,6 @@ static void suspend_subtest(const struct test_mode *t) do_assertions(0); } -/** - * SUBTEST: drrs-farfromfence-mmap-gtt - * Description: Test drawing as far from the fence start as possible - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbc-farfromfence-mmap-gtt - * Description: Test drawing as far from the fence start as possible - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psr-farfromfence-mmap-gtt - * Description: Test drawing as far from the fence start as possible - * Driver requirement: i915 - * Functionality: fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-farfromfence-mmap-gtt - * Description: Test drawing as far from the fence start as possible - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-farfromfence-mmap-gtt - * Description: Test drawing as far from the fence start as possible - * Driver requirement: i915 - * Functionality: fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: psrdrrs-farfromfence-mmap-gtt - * Description: Test drawing as far from the fence start as possible - * Driver requirement: i915 - * Functionality: drrs, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-farfromfence-mmap-gtt - * Description: Test drawing as far from the fence start as possible - * Driver requirement: i915 - * Functionality: drrs, fbc, fbt, kms_core, psr - * Mega feature: General Display Features - * Test category: functionality test - */ - /** * farfromfence - test drawing as far from the fence start as possible * @@ -4433,36 +3966,6 @@ static void try_invalid_strides(void) gem_close(drm.fd, gem_handle); } -/** - * SUBTEST: fbc-badstride - * Description: Try to use buffers with strides that are not supported - * Driver requirement: i915, xe - * Functionality: fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-badstride - * Description: Try to use buffers with strides that are not supported - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-badstride - * Description: Try to use buffers with strides that are not supported - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-badstride - * Description: Try to use buffers with strides that are not supported - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - */ - /** * badstride - try to use buffers with strides that are not supported * @@ -4531,36 +4034,6 @@ static void badstride_subtest(const struct test_mode *t) igt_remove_fb(drm.fd, &wide_fb); } -/** - * SUBTEST: fbc-stridechange - * Description: Change the frontbuffer stride by doing a modeset - * Driver requirement: i915, xe - * Functionality: fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-stridechange - * Description: Change the frontbuffer stride by doing a modeset - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-stridechange - * Description: Change the frontbuffer stride by doing a modeset - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-stridechange - * Description: Change the frontbuffer stride by doing a modeset - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr - * Mega feature: General Display Features - * Test category: functionality test - */ - /** * stridechange - change the frontbuffer stride by doing a modeset * @@ -4625,46 +4098,6 @@ static void stridechange_subtest(const struct test_mode *t) do_assertions(rc ? 0 : DONT_ASSERT_FBC_STATUS); } -/** - * SUBTEST: fbc-tiling-%s - * Description: Test %arg[1] formats, if the tiling format supports FBC do the - * basic drawing test, else set the mode & test if FBC is disabled - * Driver requirement: i915, xe - * Functionality: fbc, fbt, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcdrrs-tiling-%s - * Description: Test %arg[1] formats, if the tiling format supports FBC do the - * basic drawing test, else set the mode & test if FBC is disabled - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsr-tiling-%s - * Description: Test %arg[1] formats, if the tiling format supports FBC do the - * basic drawing test, else set the mode & test if FBC is disabled - * Driver requirement: i915, xe - * Functionality: fbc, fbt, psr, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: fbcpsrdrrs-tiling-%s - * Description: Test %arg[1] formats, if the tiling format supports FBC do the - * basic drawing test, else set the mode & test if FBC is disabled - * Driver requirement: i915, xe - * Functionality: drrs, fbc, fbt, psr, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @4: 4 tiling - * @linear: Linear tiling - * @y: Y tiling - */ - /** * tiling_disable_fbc_subtest - Check if tiling is unsupported by FBC * @@ -4714,15 +4147,6 @@ static void tiling_disable_fbc_subtest(const struct test_mode *t) igt_remove_fb(drm.fd, &new_fb); } -/** - * SUBTEST: basic - * Description: Do some basic operations regardless of which features are enabled - * Driver requirement: i915, xe - * Functionality: fbt - * Mega feature: General Display Features - * Test category: functionality test - */ - /* * basic - do some basic operations regardless of which features are enabled * diff --git a/tests/intel/kms_legacy_colorkey.c b/tests/intel/kms_legacy_colorkey.c index 877a6799a..6d11ecd79 100644 --- a/tests/intel/kms_legacy_colorkey.c +++ b/tests/intel/kms_legacy_colorkey.c @@ -21,27 +21,24 @@ * IN THE SOFTWARE. */ -#include "igt.h" -#include <errno.h> - /** * TEST: kms legacy colorkey * Category: Display * Description: Test to check the legacy set colorkey ioctl on sprite planes. - * - * SUBTEST: basic - * Description: Check that the legacy set colorkey ioctl only works on sprite planes. * Driver requirement: i915 * Functionality: plane, xorg_xv * Mega feature: General Display Features * Test category: functionality test + */ +#include "igt.h" +#include <errno.h> + +/** + * SUBTEST: basic + * Description: Check that the legacy set colorkey ioctl only works on sprite planes. * * SUBTEST: invalid-plane * Description: Check invalid plane id's, zero and outrange - * Driver requirement: i915 - * Functionality: plane, xorg_xv - * Mega feature: General Display Features - * Test category: functionality test */ IGT_TEST_DESCRIPTION("Check that the legacy set colorkey ioctl only works on sprite planes."); diff --git a/tests/intel/kms_mmap_write_crc.c b/tests/intel/kms_mmap_write_crc.c index 17d72ee32..34c9fafd5 100644 --- a/tests/intel/kms_mmap_write_crc.c +++ b/tests/intel/kms_mmap_write_crc.c @@ -24,6 +24,16 @@ * Tiago Vignatti <tiago.vignatti at intel.com> */ +/** + * TEST: kms mmap write crc + * Category: Display + * Description: Use the display CRC support to validate mmap write to an already + * uncached future scanout buffer. + * Driver requirement: i915, xe + * Functionality: kms_core, kms_gem_interop + * Mega feature: General Display Features + * Test category: functionality test + */ #include <errno.h> #include <limits.h> #include <stdbool.h> @@ -37,18 +47,10 @@ #include "intel_chipset.h" #include "ioctl_wrappers.h" #include "igt_aux.h" + /** - * TEST: kms mmap write crc - * Category: Display - * Description: Use the display CRC support to validate mmap write to an already - * uncached future scanout buffer. - * * SUBTEST: main * Description: Tests that caching mode has become UC/WT and flushed using mmap write - * Driver requirement: i915, xe - * Functionality: kms_core, kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test */ IGT_TEST_DESCRIPTION( diff --git a/tests/intel/kms_pipe_b_c_ivb.c b/tests/intel/kms_pipe_b_c_ivb.c index 386f3003a..3d7e5a5af 100644 --- a/tests/intel/kms_pipe_b_c_ivb.c +++ b/tests/intel/kms_pipe_b_c_ivb.c @@ -24,53 +24,39 @@ * Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> */ -#include "igt.h" /** * TEST: kms pipe b c ivb * Category: Display * Description: Exercise the FDI lane bifurcation code for IVB in the kernel by * setting different combinations of modes for pipes B and C. - * - * SUBTEST: disable-pipe-B-enable-pipe-C - * Description: Tests pipe-B and pipe-C interactions in IVB by disabling pipe-B - * and then setting mode on pipe-C. * Driver requirement: i915 * Functionality: kms_core, obsolete * Mega feature: General Display Features * Test category: functionality test + */ +#include "igt.h" + +/** + * SUBTEST: disable-pipe-B-enable-pipe-C + * Description: Tests pipe-B and pipe-C interactions in IVB by disabling pipe-B + * and then setting mode on pipe-C. * * SUBTEST: enable-pipe-C-while-B-has-3-lanes * Description: Tests pipe-B and pipe-C interactions in IVB by enabling pipe-C * while pipe-B has 3-lanes - * Driver requirement: i915 - * Functionality: kms_core, obsolete - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: from-pipe-C-to-B-with-3-lanes * Description: Tests pipe-B and pipe-C interactions in IVB by enabling pipe-B * with 3 lanes from pipe-C. - * Driver requirement: i915 - * Functionality: kms_core, obsolete - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: pipe-B-double-modeset-then-modeset-pipe-C * Description: Tests pipe-B and pipe-C interactions in IVB by enabling two * different modes on pipe-B and then a single mode on pipe-C. - * Driver requirement: i915 - * Functionality: kms_core, obsolete - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: pipe-B-dpms-off-modeset-pipe-C * Description: 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. - * Driver requirement: i915 - * Functionality: kms_core, obsolete - * Mega feature: General Display Features - * Test category: functionality test */ IGT_TEST_DESCRIPTION( diff --git a/tests/intel/kms_pm_backlight.c b/tests/intel/kms_pm_backlight.c index 9bfbf365a..1eddab7fd 100644 --- a/tests/intel/kms_pm_backlight.c +++ b/tests/intel/kms_pm_backlight.c @@ -25,6 +25,15 @@ * */ +/** + * TEST: kms pm backlight + * Category: Display + * Description: Basic backlight sysfs test + * Driver requirement: i915, xe + * Functionality: backlight + * Mega feature: Display Power Management + * Test category: functionality test + */ #include "igt.h" #include <limits.h> #include <sys/types.h> @@ -36,45 +45,24 @@ #include <time.h> #include "igt_device.h" #include "igt_device_scan.h" + /** - * TEST: kms pm backlight - * Category: Display - * Description: Basic backlight sysfs test - * * SUBTEST: bad-brightness * Description: Test the bad brightness. - * Driver requirement: i915, xe - * Functionality: backlight - * Mega feature: Display Power Management - * Test category: functionality test * * SUBTEST: basic-brightness * Description: Test the basic brightness. - * Driver requirement: i915, xe - * Functionality: backlight - * Mega feature: Display Power Management - * Test category: functionality test * * SUBTEST: fade * Description: Test basic fade. - * Driver requirement: i915, xe - * Functionality: backlight - * Mega feature: Display Power Management - * Test category: functionality test * * SUBTEST: fade-with-dpms * Description: Test the fade with DPMS. - * Driver requirement: i915, xe * Functionality: dpms, backlight - * Mega feature: Display Power Management - * Test category: functionality test * * SUBTEST: fade-with-suspend * Description: Test the fade with suspend. - * Driver requirement: i915, xe * Functionality: backlight, suspend - * Mega feature: Display Power Management - * Test category: functionality test */ struct context { diff --git a/tests/intel/kms_pm_dc.c b/tests/intel/kms_pm_dc.c index 0a9ed40a3..e78acaf91 100644 --- a/tests/intel/kms_pm_dc.c +++ b/tests/intel/kms_pm_dc.c @@ -22,6 +22,15 @@ * */ +/** + * TEST: kms pm dc + * Category: Display + * Description: Tests to validate display power DC states. + * Driver requirement: i915, xe + * Functionality: dpms, pm_dc + * Mega feature: Display Power Management + * Test category: functionality test + */ #include <errno.h> #include <fcntl.h> #include <stdbool.h> @@ -39,62 +48,33 @@ #include "xe/xe_query.h" /** - * TEST: kms pm dc - * Category: Display - * Description: Tests to validate display power DC states. - * * SUBTEST: dc3co-vpb-simulation * Description: Make sure that system enters DC3CO when PSR2 is active and system * is in SLEEP state - * Driver requirement: i915, xe * Functionality: dc3co, pm_dc, psr2 - * Mega feature: Display Power Management - * Test category: functionality test * * SUBTEST: dc5-dpms * Description: Validate display engine entry to DC5 state while all connectors's * DPMS property set to OFF - * Driver requirement: i915, xe - * Functionality: dpms, pm_dc - * Mega feature: Display Power Management - * Test category: functionality test * * SUBTEST: dc5-dpms-negative * Description: Validate negative scenario of DC5 display engine entry to DC5 state * while all connectors's DPMS property set to ON - * Driver requirement: i915, xe - * Functionality: dpms, pm_dc - * Mega feature: Display Power Management - * Test category: functionality test * * SUBTEST: dc5-psr * Description: This test validates display engine entry to DC5 state while PSR is active - * Driver requirement: i915, xe * Functionality: pm_dc, psr - * Mega feature: Display Power Management - * Test category: functionality test * * SUBTEST: dc6-dpms * Description: Validate display engine entry to DC6 state while all connectors's * DPMS property set to OFF - * Driver requirement: i915, xe - * Functionality: dpms, pm_dc - * Mega feature: Display Power Management - * Test category: functionality test * * SUBTEST: dc6-psr * Description: This test validates display engine entry to DC6 state while PSR is active - * Driver requirement: i915, xe * Functionality: pm_dc, psr - * Mega feature: Display Power Management - * Test category: functionality test * * SUBTEST: dc9-dpms * Description: This test validates display engine entry to DC9 state - * Driver requirement: i915, xe - * Functionality: dpms, pm_dc - * Mega feature: Display Power Management - * Test category: functionality test */ /* DC State Flags */ diff --git a/tests/intel/kms_pm_lpsp.c b/tests/intel/kms_pm_lpsp.c index 65516438a..62fbee43a 100644 --- a/tests/intel/kms_pm_lpsp.c +++ b/tests/intel/kms_pm_lpsp.c @@ -24,6 +24,15 @@ * */ +/** + * TEST: kms pm lpsp + * Category: Display + * Description: These tests validates display Low Power Single Pipe configurations + * Driver requirement: i915, xe + * Functionality: pm_lpsp + * Mega feature: Display Power Management + * Test category: functionality test + */ #include "igt.h" #include "igt_kmod.h" #include "igt_pm.h" @@ -32,24 +41,13 @@ #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> + /** - * TEST: kms pm lpsp - * Description: These tests validates display Low Power Single Pipe configurations - * Category: Display - * * SUBTEST: kms-lpsp * Description: This test validates lpsp on all connected outputs on low power PIPE_A - * Driver requirement: i915, xe - * Functionality: pm_lpsp - * Mega feature: Display Power Management - * Test category: functionality test * * SUBTEST: screens-disabled * Description: This test validates lpsp while all crtc are disabled - * Driver requirement: i915 - * Functionality: pm_lpsp - * Mega feature: Display Power Management - * Test category: functionality test */ #define MAX_SINK_LPSP_INFO_BUF_LEN 4096 diff --git a/tests/intel/kms_psr.c b/tests/intel/kms_psr.c index ffecc5222..8ab14dabb 100644 --- a/tests/intel/kms_psr.c +++ b/tests/intel/kms_psr.c @@ -26,6 +26,9 @@ * TEST: kms psr * Category: Display * Description: Tests behaviour of PSR & PSR2 + * Driver requirement: i915, xe + * Mega feature: PSR + * Test category: functionality test */ #include "igt.h" @@ -41,18 +44,12 @@ /** * SUBTEST: basic * Description: Basic check for psr if it is detecting changes made in planes - * Driver requirement: i915, xe * Functionality: psr - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: %s_%s * Description: Check if psr is detecting memory mapping, rendering and plane * operations performed on %arg[1] - * Driver requirement: i915 * Functionality: kms_core, plane, psr - * Mega feature: PSR - * Test category: functionality test * * arg[1]: * @@ -70,18 +67,12 @@ * SUBTEST: sprite_plane_move * Description: Check if psr is detecting memory mapping, rendering and plane * operations performed on sprite planes - * Driver requirement: i915, xe * Functionality: plane, psr - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: %s_%s * Description: Check if psr is detecting memory mapping, rendering and plane * operations performed on %arg[1] planes - * Driver requirement: i915, xe * Functionality: kms_core, plane, psr - * Mega feature: PSR - * Test category: functionality test * * arg[1]: * @@ -99,10 +90,7 @@ * SUBTEST: primary_%s * Description: Check if psr is detecting memory mapping, rendering and plane * operations performed on %arg[1] planes - * Driver requirement: i915, xe * Functionality: kms_core, psr - * Mega feature: PSR - * Test category: functionality test * * arg[1]: * @@ -114,63 +102,39 @@ * SUBTEST: dpms * Description: Check if psr is detecting changes when rendering operation is * performed with dpms enabled or disabled - * Driver requirement: i915, xe * Functionality: dpms, psr - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: no_drrs * Description: Check if psr is detecting changes when drrs is disabled - * Driver requirement: i915, xe * Functionality: drrs, psr - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: suspend * Description: Check if psr is detecting changes when plane operation * is performed with suspend resume cycles - * Driver requirement: i915, xe * Functionality: psr, suspend - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: psr2_dpms * Description: Check if psr is detecting changes when rendering operation * is performed with dpms enabled or disabled - * Driver requirement: i915, xe * Functionality: dpms, psr, psr2 - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: psr2_no_drrs * Description: Check if psr is detecting changes when drrs is disabled - * Driver requirement: i915, xe * Functionality: drrs, psr, psr2 - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: psr2_suspend * Description: Check if psr is detecting changes when plane operation is * performed with suspend resume cycles - * Driver requirement: i915, xe * Functionality: psr, psr2, suspend - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: psr2_basic * Description: Basic check for psr if it is detecting changes made in planes - * Driver requirement: i915, xe * Functionality: psr, psr2 - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: psr2_%s_%s * Description: Check if psr2 is detecting memory mapping, rendering and plane * operations performed on %arg[1] planes - * Driver requirement: i915 * Functionality: kms_core, plane, psr, psr2 - * Mega feature: PSR - * Test category: functionality test * * arg[1]: * @@ -188,18 +152,12 @@ * SUBTEST: psr2_primary_page_flip * Description: Check if psr is detecting memory mapping, rendering and plane * operations performed on primary planes - * Driver requirement: i915, xe * Functionality: plane, psr, psr2 - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: psr2_primary_%s * Description: Check if psr is detecting memory mapping, rendering and plane * operations performed on primary planes - * Driver requirement: i915, xe * Functionality: kms_core, plane, psr, psr2 - * Mega feature: PSR - * Test category: functionality test * * arg[1]: * @@ -211,10 +169,7 @@ * SUBTEST: psr2_%s_%s * Description: Check if psr is detecting memory mapping, rendering and plane * operations performed on %arg[1] planes - * Driver requirement: i915, xe * Functionality: kms_core, plane, psr, psr2 - * Mega feature: PSR - * Test category: functionality test * * arg[1]: * @@ -229,6 +184,23 @@ * @plane_move: Move plane position */ +/** + * SUBTEST: cursor_plane_move + * Description: Check if psr is detecting the plane operations performed on + * cursor planes + * Functionality: psr + * + * SUBTEST: primary_page_flip + * Description: Check if psr is detecting page-flipping operations performed + * on primary planes + * Functionality: psr + * + * SUBTEST: sprite_plane_onoff + * Description: Check if psr is detecting the plane operations performed on + * sprite planes + * Functionality: psr + */ + enum operations { PAGE_FLIP, MMAP_GTT, @@ -501,32 +473,6 @@ static void fb_dirty_fb_ioctl(data_t *data, struct igt_fb *fb) igt_assert(ret == 0 || ret == -ENOSYS); } -/** - * SUBTEST: cursor_plane_move - * Description: Check if psr is detecting the plane operations performed on - * cursor planes - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: psr - * Mega feature: PSR - * - * SUBTEST: primary_page_flip - * Description: Check if psr is detecting page-flipping operations performed - * on primary planes - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: psr - * Mega feature: PSR - * - * SUBTEST: sprite_plane_onoff - * Description: Check if psr is detecting the plane operations performed on - * sprite planes - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: psr - * Mega feature: PSR - */ - static void run_test(data_t *data) { uint32_t handle = data->fb_white.gem_handle; diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c index d7a746211..01bf6e4bd 100644 --- a/tests/intel/kms_psr2_sf.c +++ b/tests/intel/kms_psr2_sf.c @@ -22,90 +22,62 @@ * */ -#include "igt.h" -#include "igt_sysfs.h" -#include "igt_psr.h" -#include "kms_dsc_helper.h" -#include <errno.h> -#include <stdbool.h> -#include <stdio.h> -#include <string.h> /** * TEST: kms psr2 sf * Category: Display * Description: Tests to varify PSR2 selective fetch by sending multiple damaged * areas - * - * SUBTEST: %s-plane-move-continuous-%s - * Description: Test that selective fetch works on moving %arg[1] plane %arg[2] - * visible area (no update) * Driver requirement: i915, xe * Functionality: plane, psr2, selective_fetch * Mega feature: PSR * Test category: functionality test - * - * arg[1]: - * - * @cursor: Cursor - * @overlay: Overlay - * - * arg[2]: - * - * @exceed-fully-sf: exceeding fully - * @exceed-sf: exceeding paritally - * @sf: default */ +#include "igt.h" +#include "igt_sysfs.h" +#include "igt_psr.h" +#include "kms_dsc_helper.h" +#include <errno.h> +#include <stdbool.h> +#include <stdio.h> +#include <string.h> /** * SUBTEST: cursor-plane-update-sf * Description: Test that selective fetch works on cursor plane - * Driver requirement: i915, xe - * Functionality: cursor, psr2, selective_fetch - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: overlay-plane-update-continuous-sf * Description: Test that selective fetch works on overlay plane - * Driver requirement: i915, xe - * Functionality: plane, psr2, selective_fetch - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: overlay-plane-update-sf-dmg-area * Description: Test that selective fetch works on overlay plane - * Driver requirement: i915, xe - * Functionality: plane, psr2, selective_fetch - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: overlay-primary-update-sf-dmg-area * Description: Test that selective fetch works on primary plane with blended * overlay plane - * Driver requirement: i915, xe - * Functionality: plane, psr2, selective_fetch - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: plane-move-sf-dmg-area * Description: Test that selective fetch works on moving overlay plane - * Driver requirement: i915, xe - * Functionality: plane, psr2, selective_fetch - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: primary-plane-update-sf-dmg-area * Description: Test that selective fetch works on primary plane - * Driver requirement: i915, xe - * Functionality: plane, psr2, selective_fetch - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: primary-plane-update-sf-dmg-area-big-fb * Description: Test that selective fetch works on primary plane with big fb - * Driver requirement: i915, xe - * Functionality: plane, psr2, selective_fetch - * Mega feature: PSR - * Test category: functionality test + * + * SUBTEST: %s-plane-move-continuous-%s + * Description: Test that selective fetch works on moving %arg[1] plane %arg[2] + * visible area (no update) + * + * arg[1]: + * + * @cursor: Cursor + * @overlay: Overlay + * + * arg[2]: + * + * @exceed-fully-sf: exceeding fully + * @exceed-sf: exceeding paritally + * @sf: default */ IGT_TEST_DESCRIPTION("Tests to varify PSR2 selective fetch by sending multiple" diff --git a/tests/intel/kms_psr2_su.c b/tests/intel/kms_psr2_su.c index 321144d6b..89d3127dc 100644 --- a/tests/intel/kms_psr2_su.c +++ b/tests/intel/kms_psr2_su.c @@ -22,6 +22,14 @@ * */ +/** + * TEST: kms psr2 su + * Category: Display + * Description: Test PSR2 selective update + * Driver requirement: i915, xe + * Mega feature: PSR + * Test category: functionality test + */ #include "igt.h" #include "igt_sysfs.h" #include "igt_psr.h" @@ -30,24 +38,15 @@ #include <stdio.h> #include <string.h> #include <sys/timerfd.h> + /** - * TEST: kms psr2 su - * Category: Display - * Description: Test PSR2 selective update - * * SUBTEST: frontbuffer-XRGB8888 * Description: Test that selective update works when screen changes - * Driver requirement: i915, xe * Functionality: fbt, psr2, selective_update - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: page_flip-%s * Description: Test the selective update with %arg[1] when screen changes - * Driver requirement: i915, xe * Functionality: pixel-format, psr2, selective_update - * Mega feature: PSR - * Test category: functionality test * * arg[1]: * diff --git a/tests/intel/kms_psr_stress_test.c b/tests/intel/kms_psr_stress_test.c index b6759eece..ac1cccfab 100644 --- a/tests/intel/kms_psr_stress_test.c +++ b/tests/intel/kms_psr_stress_test.c @@ -1,3 +1,12 @@ + +/** + * TEST: kms psr stress test + * Category: Display + * Driver requirement: i915, xe + * Functionality: plane, psr + * Mega feature: PSR + * Test category: functionality test + */ #include "igt.h" #include "igt_sysfs.h" #include "igt_psr.h" @@ -7,25 +16,15 @@ #include <stdio.h> #include <string.h> #include <sys/timerfd.h> + /** - * TEST: kms psr stress test - * Category: Display - * * SUBTEST: flip-primary-invalidate-overlay * Description: Mix page flips in primary plane and frontbuffer writes to overlay * plane and check for warnings, underruns or PSR state changes - * Driver requirement: i915, xe - * Functionality: plane, psr - * Mega feature: PSR - * Test category: functionality test * * SUBTEST: invalidate-primary-flip-overlay * Description: Mix frontbuffer writes to the primary plane and page flips in the * overlay plane and check for warnings, underruns or PSR state changes - * Driver requirement: i915, xe - * Functionality: plane, psr - * Mega feature: PSR - * Test category: functionality test */ #define INVALIDATES_PER_SEC 15 diff --git a/tests/intel/kms_pwrite_crc.c b/tests/intel/kms_pwrite_crc.c index 50df18aa3..72ea2df39 100644 --- a/tests/intel/kms_pwrite_crc.c +++ b/tests/intel/kms_pwrite_crc.c @@ -22,6 +22,15 @@ * */ +/** + * TEST: kms pwrite crc + * Category: Display + * Description: Test to validate pwrite buffer using the display CRC + * Driver requirement: i915 + * Functionality: crc, kms_core, kms_gem_interop + * Mega feature: General Display Features + * Test category: functionality test + */ #include "igt.h" #include <errno.h> #include <limits.h> @@ -30,17 +39,9 @@ #include <string.h> /** - * TEST: kms pwrite crc - * Category: Display - * Description: Test to validate pwrite buffer using the display CRC - * * SUBTEST: * Description: Use the display CRC support to validate pwrite to an already * uncached future scanout buffer. - * Driver requirement: i915 - * Functionality: crc, kms_core, kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test */ IGT_TEST_DESCRIPTION( diff --git a/tests/kms_3d.c b/tests/kms_3d.c index fa73d0cc6..567115065 100644 --- a/tests/kms_3d.c +++ b/tests/kms_3d.c @@ -22,20 +22,22 @@ * */ -#include "igt.h" -#include "xe/xe_query.h" /** * TEST: kms 3d * Category: Display * Description: Tests 3D mode setting. - * - * SUBTEST: - * Description: Tests 3D mode setting. * Driver requirement: i915, xe * Functionality: stereoscopic * Mega feature: General Display Features * Test category: functionality test */ +#include "igt.h" +#include "xe/xe_query.h" + +/** + * SUBTEST: + * Description: Tests 3D mode setting. + */ IGT_TEST_DESCRIPTION("Tests 3D mode setting."); diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c index fc16b8814..1befdc2e3 100644 --- a/tests/kms_addfb_basic.c +++ b/tests/kms_addfb_basic.c @@ -29,6 +29,10 @@ * TEST: kms addfb basic * Category: Display * Description: Sanity test for ioctls DRM_IOCTL_MODE_ADDFB2 & DRM_IOCTL_MODE_RMFB. + * Driver requirement: i915, xe + * Functionality: kms_gem_interop + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" @@ -50,58 +54,27 @@ #include "xe/xe_ioctl.h" #include "xe/xe_query.h" -static uint32_t gem_bo; -static uint32_t gem_bo_small; -static igt_display_t display; - -static int legacy_addfb(int fd, struct drm_mode_fb_cmd *arg) -{ - int err; - - err = 0; - if (igt_ioctl(fd, DRM_IOCTL_MODE_ADDFB, arg)) - err = -errno; - - errno = 0; - return err; -} - /** + * SUBTEST: master-rmfb + * Description: Check that only master can rmfb + * * SUBTEST: unused-%s * Description: Test that addfb2 call fails correctly for unused %arg[1] - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop - * Mega feature: General Display Features * * SUBTEST: unused-modifier * Description: Test that addfb2 call fails correctly for unused modifier - * Driver requirement: i915, xe - * Test category: functionality test * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features * * SUBTEST: clobberred-modifier * Description: Check if addfb2 call works for clobbered modifier - * Driver requirement: i915 * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: invalid-smem-bo-on-discrete * Description: Check if addfb2 with a system memory gem object fails correctly * if device requires local memory framebuffers - * Driver requirement: i915, xe - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: legacy-format * Description: Check if addfb2 call works for legacy formats - * Driver requirement: i915, xe - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * @@ -109,6 +82,133 @@ static int legacy_addfb(int fd, struct drm_mode_fb_cmd *arg) * @pitches: Pitches * @offsets: Offsets */ + +/** + * SUBTEST: no-handle + * Description: Test that addfb2 call fails correctly without handle + * + * SUBTEST: basic + * Description: Check if addfb2 call works with given handle + * + * SUBTEST: bad-pitch-%i + * Description: bad-pitch-%arg[1]: Test that addfb2 call fails correctly for bad-pitches + * + * arg[1].values: 0, 32, 63, 128, 256, 999, 1024, 65536 + */ + +/** + * SUBTEST: basic-%s-tiled-legacy + * Description: Check if addfb2 and rmfb call works for basic %arg[1] test + * Functionality: kms_gem_interop, tiling + * + * SUBTEST: framebuffer-vs-set-tiling + * Description: Check if addfb2 call works for x and y tiling + * Driver requirement: i915 + * Functionality: kms_gem_interop, tiling + * + * SUBTEST: tile-pitch-mismatch + * Description: Test that addfb2 call fails correctly for pitches mismatch + * Functionality: kms_gem_interop, tiling + * + * arg[1]: + * + * @x: x-tiling + * @y: y-tiling + */ + +/** + * SUBTEST: size-max + * Description: Check if addfb2 call works with max size of buffer object + * + * SUBTEST: too-wide + * Description: Test that addfb2 call fails correctly with increased width of fb + * + * SUBTEST: too-high + * Description: Test that addfb2 call fails correctly with increased height of fb + * + * SUBTEST: bo-too-small + * Description: Test that addfb2 call fails correctly with small size of buffer object + * + * SUBTEST: small-bo + * Description: Check if addfb2 call works for given height + * + * SUBTEST: bo-too-small-due-to-tiling + * Description: Test that addfb2 call fails correctly with small buffer object + * after changing tile + * Functionality: kms_gem_interop, tiling + * + * SUBTEST: addfb25-modifier-no-flag + * Description: Test that addfb2 call fails correctly for x-tiling with given modifier + * Functionality: kms_gem_interop, tiling + * + * SUBTEST: addfb25-bad-modifier + * Description: Test that addfb2 call fails correctly for irrelevant modifier + * Functionality: kms_gem_interop, tiling + * + * SUBTEST: addfb25-x-tiled-mismatch-legacy + * Description: Test that addfb2 call fails correctly for irrelevant x-tiling + * Functionality: kms_gem_interop, tiling + * + * SUBTEST: addfb25-x-tiled-legacy + * Description: Check if addfb2 call works for x-tiling + * Functionality: kms_gem_interop, tiling + * + * SUBTEST: addfb25-framebuffer-vs-set-tiling + * Description: Check if addfb2 call works for relevant combination of tiling and fbs + * Driver requirement: i915 + * Functionality: kms_gem_interop, tiling + * + * SUBTEST: addfb25-4-tiled + * Description: Check if addfb2 call works for tiling-4 + * Functionality: kms_gem_interop, tiling + */ + +/** + * SUBTEST: addfb25-y-tiled-%s + * Description: Check if addfb2 call works for y-tiling %arg[1] + * Functionality: kms_gem_interop, tiling + * + * SUBTEST: addfb25-yf-tiled-legacy + * Description: Check if addfb2 call works for yf-tiling + * Functionality: kms_gem_interop, tiling + * + * arg[1]: + * + * @legacy: with default size + * @small-legacy: with given size & modifier + */ + +/** + * SUBTEST: invalid-%s-%s + * Description: Test that %arg[1] ioctl call fails correctly for %arg[2] object + * + * arg[1]: + * + * @get: get-properties + * @set: set-properties + * + * arg[2]: + * + * @prop: fb mode + * @prop-any: invalid + */ + +static uint32_t gem_bo; +static uint32_t gem_bo_small; +static igt_display_t display; + +static int legacy_addfb(int fd, struct drm_mode_fb_cmd *arg) +{ + int err; + + err = 0; + if (igt_ioctl(fd, DRM_IOCTL_MODE_ADDFB, arg)) + err = -errno; + + errno = 0; + return err; +} + static void invalid_tests(int fd) { struct drm_mode_fb_cmd2 f = {}; @@ -322,30 +422,6 @@ static void invalid_tests(int fd) } } -/** - * SUBTEST: no-handle - * Description: Test that addfb2 call fails correctly without handle - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * - * SUBTEST: basic - * Description: Check if addfb2 call works with given handle - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * - * SUBTEST: bad-pitch-%i - * Description: bad-pitch-%arg[1]: Test that addfb2 call fails correctly for bad-pitches - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * - * arg[1].values: 0, 32, 63, 128, 256, 999, 1024, 65536 - */ static void pitch_tests(int fd) { struct drm_mode_fb_cmd2 f = {}; @@ -393,33 +469,6 @@ static void pitch_tests(int fd) gem_close(fd, gem_bo); } -/** - * SUBTEST: basic-%s-tiled-legacy - * Description: Check if addfb2 and rmfb call works for basic %arg[1] test - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * - * SUBTEST: framebuffer-vs-set-tiling - * Description: Check if addfb2 call works for x and y tiling - * Driver requirement: i915 - * Test category: functionality test - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * - * SUBTEST: tile-pitch-mismatch - * Description: Test that addfb2 call fails correctly for pitches mismatch - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * - * arg[1]: - * - * @x: x-tiling - * @y: y-tiling - */ static void tiling_tests(int fd) { struct drm_mode_fb_cmd2 f = {}; @@ -506,50 +555,6 @@ static void tiling_tests(int fd) } } -/** - * SUBTEST: size-max - * Description: Check if addfb2 call works with max size of buffer object - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * - * SUBTEST: too-wide - * Description: Test that addfb2 call fails correctly with increased width of fb - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * - * SUBTEST: too-high - * Description: Test that addfb2 call fails correctly with increased height of fb - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * - * SUBTEST: bo-too-small - * Description: Test that addfb2 call fails correctly with small size of buffer object - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * - * SUBTEST: small-bo - * Description: Check if addfb2 call works for given height - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * - * SUBTEST: bo-too-small-due-to-tiling - * Description: Test that addfb2 call fails correctly with small buffer object - * after changing tile - * Driver requirement: i915 - * Test category: functionality test - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - */ static void size_tests(int fd) { struct drm_mode_fb_cmd2 f = {}; @@ -665,42 +670,6 @@ static void size_tests(int fd) } } -/** - * SUBTEST: addfb25-modifier-no-flag - * Description: Test that addfb2 call fails correctly for x-tiling with given modifier - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * - * SUBTEST: addfb25-bad-modifier - * Description: Test that addfb2 call fails correctly for irrelevant modifier - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * - * SUBTEST: addfb25-x-tiled-mismatch-legacy - * Description: Test that addfb2 call fails correctly for irrelevant x-tiling - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * - * SUBTEST: addfb25-x-tiled-legacy - * Description: Check if addfb2 call works for x-tiling - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * - * SUBTEST: addfb25-framebuffer-vs-set-tiling - * Description: Check if addfb2 call works for relevant combination of tiling and fbs - * Driver requirement: i915 - * Test category: functionality test - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - */ static void addfb25_tests(int fd) { struct drm_mode_fb_cmd2 f = {}; @@ -786,26 +755,6 @@ static int addfb_expected_ret(igt_display_t *disp, struct drm_mode_fb_cmd2 *f) f->modifier[0]) ? 0 : -1; } -/** - * SUBTEST: addfb25-y-tiled-%s - * Description: Check if addfb2 call works for y-tiling %arg[1] - * Driver requirement: i915, xe - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: addfb25-yf-tiled-legacy - * Description: Check if addfb2 call works for yf-tiling - * Driver requirement: i915, xe - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @legacy: with default size - * @small-legacy: with given size & modifier - */ static void addfb25_ytile(int fd) { struct drm_mode_fb_cmd2 f = {}; @@ -872,14 +821,6 @@ static void addfb25_ytile(int fd) } } -/** - * SUBTEST: addfb25-4-tiled - * Description: Check if addfb2 call works for tiling-4 - * Driver requirement: i915, xe - * Functionality: kms_gem_interop, tiling - * Mega feature: General Display Features - * Test category: functionality test - */ static void addfb25_4tile(int fd) { struct drm_mode_fb_cmd2 f = {}; @@ -918,24 +859,6 @@ static void addfb25_4tile(int fd) gem_close(fd, gem_bo); } -/** - * SUBTEST: invalid-%s-%s - * Description: Test that %arg[1] ioctl call fails correctly for %arg[2] object - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * - * arg[1]: - * - * @get: get-properties - * @set: set-properties - * - * arg[2]: - * - * @prop: fb mode - * @prop-any: invalid - */ static void prop_tests(int fd) { struct drm_mode_fb_cmd2 f = {}; @@ -1001,14 +924,6 @@ static void prop_tests(int fd) } } -/** - * SUBTEST: master-rmfb - * Description: Check that only master can rmfb - * Driver requirement: i915, xe - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test - */ static void master_tests(int fd) { struct drm_mode_fb_cmd2 f = {}; diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c index 6c97558be..fa9cef937 100644 --- a/tests/kms_async_flips.c +++ b/tests/kms_async_flips.c @@ -29,6 +29,10 @@ * TEST: kms async flips * Category: Display * Description: Test asynchronous page flips. + * Driver requirement: i915, xe + * Functionality: async_flips, vblank + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include "igt_aux.h" @@ -37,6 +41,32 @@ #include <sys/time.h> #include <poll.h> +/** + * SUBTEST: alternate-sync-async-flip + * Description: Verify the async flip functionality and the fps during async flips + * Alternate between sync and async flips + * + * SUBTEST: async-flip-with-page-flip-events + * Description: Verify the async flip functionality and the fps during async flips + * Wait for page flip events in between successive asynchronous flips + * + * SUBTEST: crc + * Description: Use CRC to verify async flip scans out the correct framebuffer + * Functionality: async_flips, crc, vblank + * + * SUBTEST: invalid-async-flip + * Description: Negative case to verify if changes in fb are rejected from kernel as expected + * + * SUBTEST: test-time-stamp + * Description: Verify the async flip functionality and the fps during async flips + * Verify that the async flip timestamp does not coincide with either + * previous or next vblank + * + * SUBTEST: test-cursor + * Description: Verify that the DRM_IOCTL_MODE_CURSOR passes after async flip + * Functionality: async_flips, cursor, vblank + */ + #define CURSOR_POS 128 /* @@ -203,23 +233,6 @@ static void test_init_fbs(data_t *data) igt_display_commit2(&data->display, data->display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY); } -/** - * SUBTEST: alternate-sync-async-flip - * Description: Verify the async flip functionality and the fps during async flips - * Alternate between sync and async flips - * Driver requirement: i915, xe - * Functionality: async_flips, vblank - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: async-flip-with-page-flip-events - * Description: Verify the async flip functionality and the fps during async flips - * Wait for page flip events in between successive asynchronous flips - * Driver requirement: i915, xe - * Functionality: async_flips, vblank - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_async_flip(data_t *data) { int ret, frame; @@ -315,16 +328,6 @@ static void wait_for_vblank(data_t *data, unsigned long *vbl_time, unsigned int *seq = wait_vbl.reply.sequence; } -/** - * SUBTEST: test-time-stamp - * Description: Verify the async flip functionality and the fps during async flips - * Verify that the async flip timestamp does not coincide with either - * previous or next vblank - * Driver requirement: i915, xe - * Functionality: async_flips, vblank - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_timestamp(data_t *data) { int flags = DRM_MODE_PAGE_FLIP_ASYNC | DRM_MODE_PAGE_FLIP_EVENT; @@ -369,14 +372,6 @@ static void test_timestamp(data_t *data) "Async flip time stamp is expected to be in between 2 vblank time stamps\n"); } -/** - * SUBTEST: test-cursor - * Description: Verify that the DRM_IOCTL_MODE_CURSOR passes after async flip - * Driver requirement: i915, xe - * Functionality: async_flips, cursor, vblank - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_cursor(data_t *data) { int flags = DRM_MODE_PAGE_FLIP_ASYNC | DRM_MODE_PAGE_FLIP_EVENT; @@ -529,14 +524,6 @@ static unsigned int clock_ms(void) return ts.tv_sec * 1000 + ts.tv_nsec / 1000000; } -/** - * SUBTEST: crc - * Description: Use CRC to verify async flip scans out the correct framebuffer - * Driver requirement: i915, xe - * Functionality: async_flips, crc, vblank - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_crc(data_t *data) { unsigned int frame = 0; @@ -599,14 +586,6 @@ static void test_crc(data_t *data) igt_assert_lt(data->frame_count * 2, data->flip_count); } -/** - * SUBTEST: invalid-async-flip - * Description: Negative case to verify if changes in fb are rejected from kernel as expected - * Driver requirement: i915, xe - * Functionality: async_flips, vblank - * Mega feature: General Display Features - * Test category: functionality test - */ static void run_test(data_t *data, void (*test)(data_t *)) { igt_display_t *display = &data->display; diff --git a/tests/kms_atomic.c b/tests/kms_atomic.c index d1511716a..44e6c4902 100644 --- a/tests/kms_atomic.c +++ b/tests/kms_atomic.c @@ -31,6 +31,10 @@ * TEST: kms atomic * Category: Display * Description: Test atomic modesetting API + * Driver requirement: i915, xe + * Functionality: kms_core + * Mega feature: General Display Features + * Test category: functionality test */ #include <unistd.h> @@ -48,6 +52,59 @@ #include "igt_aux.h" #include "sw_sync.h" +/** + * SUBTEST: atomic-invalid-params + * Description: Test abuse the atomic ioctl directly in order to test various + * invalid conditions which the libdrm wrapper won't allow us to + * create. + * + * SUBTEST: atomic_plane_damage + * Description: Simple test cases to use FB_DAMAGE_CLIPS plane property + * + * SUBTEST: plane-primary-overlay-mutable-zpos + * Description: Verify that the overlay plane can cover the primary one (and + * vice versa) by changing their zpos property. + * Functionality: kms_core, plane + * + * SUBTEST: plane-immutable-zpos + * Description: Verify the reported zpos property of planes by making sure only + * higher zpos planes cover the lower zpos ones. + * Functionality: kms_core, plane + * + * SUBTEST: test-only + * Description: Test to ensure that DRM_MODE_ATOMIC_TEST_ONLY really only touches + * the free-standing state objects and nothing else. + */ + +/** + * SUBTEST: plane-%s-legacy + * Description: Test for KMS atomic modesetting on %arg[1] and ensure coherency + * between legacy and atomic interfaces. + * Functionality: kms_core, plane + * + * arg[1]: + * + * @cursor: Cursor plane + * @overlay: Overlay plane + * @primary: Primary plane + */ + +/** + * SUBTEST: %s-invalid-%s + * Description: Test error handling when invalid %arg[1] %arg[2] are passed + * Functionality: kms_core, plane + * + * arg[1]: + * + * @crtc: crtc + * @plane: plane + * + * arg[2]: + * + * @params: parameters + * @params-fence: fence parameters + */ + #ifndef DRM_CAP_CURSOR_WIDTH #define DRM_CAP_CURSOR_WIDTH 0x8 #endif @@ -289,15 +346,6 @@ static uint32_t plane_get_igt_format(igt_plane_t *plane) return 0; } -/** - * SUBTEST: plane-primary-overlay-mutable-zpos - * Description: Verify that the overlay plane can cover the primary one (and - * vice versa) by changing their zpos property. - * Driver requirement: i915, xe - * Functionality: kms_core, plane - * Mega feature: General Display Features - * Test category: functionality test - */ static void plane_primary_overlay_mutable_zpos(igt_pipe_t *pipe, igt_output_t *output, igt_plane_t *primary, igt_plane_t *overlay, @@ -380,15 +428,6 @@ plane_primary_overlay_mutable_zpos(igt_pipe_t *pipe, igt_output_t *output, igt_assert_eq_u64(igt_plane_get_prop(overlay, IGT_PLANE_ZPOS), 1); } -/** - * SUBTEST: plane-immutable-zpos - * Description: Verify the reported zpos property of planes by making sure only - * higher zpos planes cover the lower zpos ones. - * Driver requirement: i915, xe - * Functionality: kms_core, plane - * Mega feature: General Display Features - * Test category: functionality test - */ static void plane_immutable_zpos(igt_display_t *display, igt_pipe_t *pipe, igt_output_t *output) @@ -524,21 +563,6 @@ plane_immutable_zpos(igt_display_t *display, igt_pipe_t *pipe, igt_remove_fb(display->drm_fd, &fb_upper); } -/** - * SUBTEST: plane-%s-legacy - * Description: Test for KMS atomic modesetting on %arg[1] and ensure coherency - * between legacy and atomic interfaces. - * Driver requirement: i915, xe - * Functionality: kms_core, plane - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @cursor: Cursor plane - * @overlay: Overlay plane - * @primary: Primary plane - */ static void plane_overlay(igt_pipe_t *pipe, igt_output_t *output, igt_plane_t *plane) { drmModeModeInfo *mode = igt_output_get_mode(output); @@ -613,16 +637,6 @@ static void plane_primary(igt_pipe_t *pipe, igt_plane_t *plane, struct igt_fb *f plane_commit(plane, COMMIT_UNIVERSAL, ATOMIC_RELAX_NONE); } -/** - * SUBTEST: test-only - * Description: Test to ensure that DRM_MODE_ATOMIC_TEST_ONLY really only touches - * the free-standing state objects and nothing else. - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - */ - /* test to ensure that DRM_MODE_ATOMIC_TEST_ONLY really only touches the * free-standing state objects and nothing else. */ @@ -731,19 +745,6 @@ static void plane_cursor(igt_pipe_t *pipe_obj, plane_commit(cursor, COMMIT_LEGACY, ATOMIC_RELAX_NONE); } -/** - * SUBTEST: plane-invalid-%s - * Description: Test error handling when invalid %arg[1] are passed - * Driver requirement: i915, xe - * Functionality: kms_core, plane - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @params: plane parameters - * @params-fence: plane fence parameters - */ static void plane_invalid_params(igt_pipe_t *pipe, igt_output_t *output, igt_plane_t *plane, @@ -833,19 +834,6 @@ static void plane_invalid_params_fence(igt_pipe_t *pipe, close(timeline); } -/** - * SUBTEST: crtc-invalid-%s - * Description: Test error handling when invalid %arg[1] are passed - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @params: crtc parameters - * @params-fence: crtc fence parameters - */ static void crtc_invalid_params(igt_pipe_t *pipe, igt_output_t *output, igt_plane_t *plane, @@ -993,17 +981,6 @@ static void crtc_invalid_params_fence(igt_pipe_t *pipe, igt_assert(pipe->out_fence_fd != -1); } -/** - * SUBTEST: atomic-invalid-params - * Description: Test abuse the atomic ioctl directly in order to test various - * invalid conditions which the libdrm wrapper won't allow us to - * create. - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - */ - /* Abuse the atomic ioctl directly in order to test various invalid conditions, * which the libdrm wrapper won't allow us to create. */ static void atomic_invalid_params(igt_pipe_t *pipe, @@ -1145,14 +1122,6 @@ static void atomic_invalid_params(igt_pipe_t *pipe, do_ioctl_err(display->drm_fd, DRM_IOCTL_MODE_ATOMIC, &ioc, EFAULT); } -/** - * SUBTEST: atomic_plane_damage - * Description: Simple test cases to use FB_DAMAGE_CLIPS plane property - * Driver requirement: i915, xe - * Functionality: kms_core, plane - * Mega feature: General Display Features - * Test category: functionality test - */ static void atomic_plane_damage(igt_pipe_t *pipe, igt_plane_t *plane, struct igt_fb *fb) { struct drm_mode_rect damage[2]; diff --git a/tests/kms_atomic_interruptible.c b/tests/kms_atomic_interruptible.c index 0ae2435f9..582b80c42 100644 --- a/tests/kms_atomic_interruptible.c +++ b/tests/kms_atomic_interruptible.c @@ -25,6 +25,10 @@ * TEST: kms atomic interruptible * Category: Display * Description: Tests that interrupt various atomic ioctls. + * Driver requirement: i915, xe + * Functionality: kms_core + * Mega feature: General Display Features + * Test category: functionality test */ #include <signal.h> @@ -32,6 +36,40 @@ #include "drmtest.h" #include "sw_sync.h" +/** + * SUBTEST: legacy-cursor + * Description: Tests the interrupt properties for Cursor + * Functionality: cursor, kms_core + * + * SUBTEST: legacy-dpms + * Description: Tests the interrupt properties for DPMS + * Functionality: dpms, kms_core + * + * SUBTEST: legacy-pageflip + * Description: Tests the interrupt properties for page flip + */ + +/** + * SUBTEST: %s-setmode + * Description: Tests the interrupt properties of %arg[1] modeset + * + * arg[1]: + * + * @atomic: atomic + * @legacy: legacy + */ + +/** + * SUBTEST: universal-setplane-%s + * Description: Tests the interrupt properties for %arg[1] + * Functionality: kms_core, plane + * + * arg[1]: + * + * @cursor: Cursor plane + * @primary: Primary plane + */ + IGT_TEST_DESCRIPTION("Tests that interrupt various atomic ioctls."); enum plane_test_type @@ -79,56 +117,6 @@ static drmEventContext drm_events = { .page_flip_handler = ev_page_flip }; -/** - * SUBTEST: %s-setmode - * Description: Tests the interrupt properties of %arg[1] modeset - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @atomic: atomic - * @legacy: legacy - */ - -/** - * SUBTEST: legacy-cursor - * Description: Tests the interrupt properties for Cursor - * Driver requirement: i915, xe - * Functionality: cursor, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: legacy-dpms - * Description: Tests the interrupt properties for DPMS - * Driver requirement: i915, xe - * Functionality: dpms, kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: legacy-pageflip - * Description: Tests the interrupt properties for page flip - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - */ - -/** - * SUBTEST: universal-setplane-%s - * Description: Tests the interrupt properties for %arg[1] - * Driver requirement: i915, xe - * Functionality: kms_core, plane - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @cursor: Cursor plane - * @primary: Primary plane - */ static void run_plane_test(igt_display_t *display, enum pipe pipe, igt_output_t *output, enum plane_test_type test_type, unsigned plane_type) { diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c index f5f21f925..bf1c244ef 100644 --- a/tests/kms_atomic_transition.c +++ b/tests/kms_atomic_transition.c @@ -24,6 +24,10 @@ /** * TEST: kms atomic transition * Category: Display + * Driver requirement: i915, xe + * Functionality: plane, watermark + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include "igt_rand.h" @@ -37,6 +41,61 @@ #include <time.h> #include <poll.h> +/** + * SUBTEST: plane-primary-toggle-with-vblank-wait + * Description: Check toggling of primary plane with vblank + * Functionality: plane, vblank, watermark + */ + +/** + * SUBTEST: plane-all-modeset-%s + * Description: Modeset test for all plane combinations %arg[1] + * + * arg[1]: + * + * @transition: default + * @transition-fencing: with fencing commit + */ + +/** + * SUBTEST: plane-all-modeset-%s + * Description: Modeset test for all plane combinations %arg[1] + * Mega feature: eDP + * + * arg[1]: + * + * @transition-fencing-internal-panels: on internal panels with fencing commit + * @transition-internal-panels: on internal panels + */ + +/** + * SUBTEST: plane-all-%s + * Description: Transition test for all plane combinations %arg[1] + * + * SUBTEST: modeset-%s + * Description: Modeset transition tests for combinations of crtc enabled %arg[1] + * + * arg[1]: + * + * @transition: default + * @transition-fencing: with fencing commit + * @transition-nonblocking: with non-blocking commit + * @transition-nonblocking-fencing: with non-blocking & fencing commit + */ + +/** + * SUBTEST: plane-toggle-modeset-transition + * Description: Check toggling and modeset transition on plane + * + * SUBTEST: plane-use-after-nonblocking-%s + * Description: Transition test with non %arg[1] and make sure commit of disabled + * plane has to complete before atomic commit on that plane + * + * arg[1]: + * + * @unbind: blocking commit + * @unbind-fencing: blocking commit with fencing + */ #ifndef DRM_CAP_CURSOR_WIDTH #define DRM_CAP_CURSOR_WIDTH 0x8 #endif @@ -62,14 +121,6 @@ int *timeline; pthread_t *thread; int *seqno; -/** - * SUBTEST: plane-primary-toggle-with-vblank-wait - * Description: Check toggling of primary plane with vblank - * Driver requirement: i915, xe - * Functionality: plane, vblank, watermark - * Mega feature: General Display Features - * Test category: functionality test - */ static void run_primary_test(data_t *data, enum pipe pipe, igt_output_t *output) { @@ -482,72 +533,6 @@ static void wait_for_transition(data_t *data, enum pipe pipe, bool nonblocking, } } -/** - * SUBTEST: plane-all-modeset-%s - * Description: Modeset test for all plane combinations %arg[1] - * Driver requirement: i915, xe - * Functionality: plane, watermark - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @transition: default - * @transition-fencing: with fencing commit - */ - -/** - * SUBTEST: plane-all-modeset-%s - * Description: Modeset test for all plane combinations %arg[1] - * Driver requirement: i915, xe - * Functionality: plane, watermark - * Mega feature: eDP - * Test category: functionality test - * - * arg[1]: - * - * @transition-fencing-internal-panels: on internal panels with fencing commit - * @transition-internal-panels: on internal panels - */ - -/** - * SUBTEST: plane-all-%s - * Description: Transition test for all plane combinations %arg[1] - * Driver requirement: i915, xe - * Functionality: plane, watermark - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @transition: default - * @transition-fencing: with fencing commit - * @transition-nonblocking: with non-blocking commit - * @transition-nonblocking-fencing: with non-blocking & fencing commit - */ - -/** - * SUBTEST: plane-toggle-modeset-transition - * Description: Check toggling and modeset transition on plane - * Driver requirement: i915, xe - * Functionality: plane, watermark - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: plane-use-after-nonblocking-%s - * Description: Transition test with non %arg[1] and make sure commit of disabled - * plane has to complete before atomic commit on that plane - * Driver requirement: i915, xe - * Functionality: plane, watermark - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @unbind: blocking commit - * @unbind-fencing: blocking commit with fencing - */ - /* * 1. Set primary plane to a known fb. * 2. Make sure getcrtc returns the correct fb id. @@ -1041,21 +1026,6 @@ retry: } } -/** - * SUBTEST: modeset-%s - * Description: Modeset transition tests for combinations of %arg[1] - * Driver requirement: i915, xe - * Functionality: plane, watermark - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @transition: crtc enabled - * @transition-fencing: crtc enabled with fencing commit - * @transition-nonblocking: crtc enabled with nonblocking commit - * @transition-nonblocking-fencing: crtc enabled with nonblocking & fencing commit - */ static void run_modeset_transition(data_t *data, int requested_outputs, bool nonblocking, bool fencing) { igt_output_t *outputs[IGT_MAX_PIPES] = {}; diff --git a/tests/kms_bw.c b/tests/kms_bw.c index 5f9a020da..b8422058e 100644 --- a/tests/kms_bw.c +++ b/tests/kms_bw.c @@ -20,22 +20,24 @@ * OTHER DEALINGS IN THE SOFTWARE. */ -#include "drm_mode.h" -#include "igt.h" -#include "drm.h" -#include <stdio.h> -#include <xf86drmMode.h> /** * TEST: kms bw * Category: Display * Description: BW test with different resolutions - * - * SUBTEST: linear-tiling-%d-displays-%s - * Description: bw test with %arg[2] * Driver requirement: i915, xe * Functionality: kms_core * Mega feature: General Display Features * Test category: functionality test + */ +#include "drm_mode.h" +#include "igt.h" +#include "drm.h" +#include <stdio.h> +#include <xf86drmMode.h> + +/** + * SUBTEST: linear-tiling-%d-displays-%s + * Description: bw test with %arg[2] * * arg[1].values: 1, 2, 3, 4, 5, 6, 7, 8 * diff --git a/tests/kms_color.c b/tests/kms_color.c index 4809481bc..cf3eb4ac8 100644 --- a/tests/kms_color.c +++ b/tests/kms_color.c @@ -26,19 +26,61 @@ * TEST: kms color * Category: Display * Description: Test Color Features at Pipe level + * Driver requirement: i915, xe + * Functionality: colorspace + * Mega feature: Color Management + * Test category: functionality test */ #include "kms_color_helper.h" -IGT_TEST_DESCRIPTION("Test Color Features at Pipe level"); - /** * SUBTEST: degamma * Description: Verify that degamma LUT transformation works correctly - * Driver requirement: i915, xe - * Functionality: colorspace - * Mega feature: Color Management - * Test category: functionality test + * + * SUBTEST: gamma + * Description: Verify that gamma LUT transformation works correctly + * + * SUBTEST: legacy-gamma + * Description: Verify that legacy gamma LUT transformation works correctly + * + * SUBTEST: legacy-gamma-reset + * Description: Verify that setting the legacy gamma LUT resets the gamma LUT + * set through GAMMA_LUT property + * + * SUBTEST: deep-color + * Description: Verify that deep color works correctly */ + +/** + * SUBTEST: ctm-%s + * Description: Check the color transformation %arg[1] + * + * arg[1]: + * + * @0-25: for 0.25 transparency + * @0-50: for 0.50 transparency + * @0-75: for 0.75 transparency + * @blue-to-red: from blue to red + * @green-to-red: from green to red + * @max: for maximum transparency + * @negative: for negative transparency + * @red-to-blue: from red to blue + * @signed: for correct signed handling + */ + +/** + * SUBTEST: invalid-%s-sizes + * Description: Negative check for %arg[1] sizes + * + * arg[1]: + * + * @ctm-matrix: Color transformation matrix + * @degamma-lut: Degamma LUT + * @gamma-lut: Gamma LUT + */ + +IGT_TEST_DESCRIPTION("Test Color Features at Pipe level"); + static bool test_pipe_degamma(data_t *data, igt_plane_t *primary) { @@ -127,15 +169,6 @@ static bool test_pipe_degamma(data_t *data, return ret; } -/** - * SUBTEST: gamma - * Description: Verify that gamma LUT transformation works correctly - * Driver requirement: i915, xe - * Functionality: colorspace - * Mega feature: Color Management - * Test category: functionality test - */ - /* * Draw 3 gradient rectangles in red, green and blue, with a maxed out gamma * LUT and verify we have the same CRC as drawing solid color rectangles. @@ -224,15 +257,6 @@ static bool test_pipe_gamma(data_t *data, return ret; } -/** - * SUBTEST: legacy-gamma - * Description: Verify that legacy gamma LUT transformation works correctly - * Driver requirement: i915, xe - * Functionality: colorspace - * Mega feature: Color Management - * Test category: functionality test - */ - /* * Draw 3 gradient rectangles in red, green and blue, with a maxed out legacy * gamma LUT and verify we have the same CRC as drawing solid color rectangles @@ -345,16 +369,6 @@ static bool test_pipe_legacy_gamma(data_t *data, return ret; } -/** - * SUBTEST: legacy-gamma-reset - * Description: Verify that setting the legacy gamma LUT resets the gamma LUT - * set through GAMMA_LUT property - * Driver requirement: i915, xe - * Functionality: colorspace - * Mega feature: Color Management - * Test category: functionality test - */ - /* * Verify that setting the legacy gamma LUT resets the gamma LUT set * through the GAMMA_LUT property. @@ -489,27 +503,6 @@ end: return ret; } -/** - * SUBTEST: ctm-%s - * Description: Check the color transformation %arg[1] - * Driver requirement: i915, xe - * Functionality: colorspace - * Mega feature: Color Management - * Test category: functionality test - * - * arg[1]: - * - * @0-25: for 0.25 transparency - * @0-50: for 0.50 transparency - * @0-75: for 0.75 transparency - * @blue-to-red: from blue to red - * @green-to-red: from green to red - * @max: for maximum transparency - * @negative: for negative transparency - * @red-to-blue: from red to blue - * @signed: for correct signed handling - */ - /* * Draw 3 rectangles using before colors with the ctm matrix apply and verify * the CRC is equal to using after colors with an identify ctm matrix. @@ -869,14 +862,6 @@ out: test_cleanup(data); } -/** - * SUBTEST: deep-color - * Description: Verify that deep color works correctly - * Driver requirement: i915, xe - * Functionality: colorspace - * Mega feature: Color Management - * Test category: functionality test - */ static void run_deep_color_tests_for_pipe(data_t *data, enum pipe p) { @@ -978,20 +963,6 @@ run_deep_color_tests_for_pipe(data_t *data, enum pipe p) test_cleanup(data); } -/** - * SUBTEST: invalid-%s-sizes - * Description: Negative check for %arg[1] sizes - * Driver requirement: i915, xe - * Functionality: colorspace - * Mega feature: Color Management - * Test category: functionality test - * - * arg[1]: - * - * @ctm-matrix: Color transformation matrix - * @degamma-lut: Degamma LUT - * @gamma-lut: Gamma LUT - */ static void run_invalid_tests_for_pipe(data_t *data) { diff --git a/tests/kms_concurrent.c b/tests/kms_concurrent.c index d9cb197de..dcba7b12e 100644 --- a/tests/kms_concurrent.c +++ b/tests/kms_concurrent.c @@ -22,21 +22,23 @@ * */ -#include "igt.h" -#include "drmtest.h" /** * TEST: kms concurrent * Category: Display * Description: Test atomic mode setting concurrently with multiple planes and * screen resolution - * - * SUBTEST: pipe-%s - * Description: Test atomic mode setting concurrently with multiple planes and - * screen resolution on %arg[1]. * Driver requirement: i915, xe * Functionality: kms_core * Mega feature: General Display Features * Test category: functionality test + */ +#include "igt.h" +#include "drmtest.h" + +/** + * SUBTEST: pipe-%s + * Description: Test atomic mode setting concurrently with multiple planes and + * screen resolution on %arg[1]. * * arg[1]: * diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c index 9378a76c1..1ae443c6c 100644 --- a/tests/kms_content_protection.c +++ b/tests/kms_content_protection.c @@ -26,6 +26,10 @@ * TEST: kms content protection * Category: Display * Description: Test content protection (HDCP) + * Driver requirement: i915, xe + * Functionality: hdcp1.4 + * Mega feature: HDCP + * Test category: functionality test */ #include <poll.h> #include <fcntl.h> @@ -37,6 +41,53 @@ #include "igt_kms.h" #include "igt_kmod.h" +/** + * SUBTEST: LIC + * Description: Test for the integrity of link. + * + * SUBTEST: content_type_change + * Description: Test the content type change when the content protection already + * enabled + * Functionality: hdcp1.4, hdcp2.2 + * + * SUBTEST: mei_interface + * Description: Test the teardown and rebuild of the interface between Intel + * and mei hdcp. + * Functionality: hdcp1.4, hdcp2.2 + * + * SUBTEST: srm + * Description: This test writes the facsimile SRM into the /lib/firmware/ and + * check the kernel parsing of it by invoking the hdcp authentication. + * + * SUBTEST: uevent + * Description: Test to detect the HDCP status change when we are reading the + * uevent sent with the corresponding connector id and property id. + * + * SUBTEST: %s + * Description: Test content protection with %arg[1] + * + * arg[1]: + * + * @atomic: atomic modesetting + * @atomic-dpms: DPMS ON/OFF during atomic modesetting. + * @legacy: legacy style commit + * @type1: content type 1 that can be handled only through HDCP2.2. + */ + +/** + * SUBTEST: dp-mst-%s + * Description: Test Content protection %arg[1] over DP MST. + * Functionality: hdcp1.4, mst + * Mega feature: DP, HDCP + * + * arg[1]: + * + * @lic-type-0: Type 0 with LIC + * @lic-type-1: Type 1 with LIC. + * @type-0: Type 0 + * @type-1: Type 1 + */ + IGT_TEST_DESCRIPTION("Test content protection (HDCP)"); struct data { @@ -490,60 +541,6 @@ test_fini(igt_output_t *output, enum igt_commit_style s) igt_display_commit2(&data.display, s); } -/** - * SUBTEST: LIC - * Description: Test for the integrity of link. - * Driver requirement: i915, xe - * Functionality: hdcp1.4 - * Mega feature: HDCP - * Test category: functionality test - * - * SUBTEST: content_type_change - * Description: Test the content type change when the content protection already - * enabled - * Driver requirement: i915, xe - * Functionality: hdcp1.4, hdcp2.2 - * Mega feature: HDCP - * Test category: functionality test - * - * SUBTEST: mei_interface - * Description: Test the teardown and rebuild of the interface between Intel - * and mei hdcp. - * Driver requirement: i915, xe - * Functionality: hdcp1.4, hdcp2.2 - * Mega feature: HDCP - * Test category: functionality test - * - * SUBTEST: srm - * Description: This test writes the facsimile SRM into the /lib/firmware/ and - * check the kernel parsing of it by invoking the hdcp authentication. - * Driver requirement: i915, xe - * Functionality: hdcp1.4 - * Mega feature: HDCP - * Test category: functionality test - * - * SUBTEST: uevent - * Description: Test to detect the HDCP status change when we are reading the - * uevent sent with the corresponding connector id and property id. - * Driver requirement: i915, xe - * Functionality: hdcp1.4 - * Mega feature: HDCP - * Test category: functionality test - * - * SUBTEST: %s - * Description: Test content protection with %arg[1] - * Driver requirement: i915, xe - * Functionality: hdcp1.4 - * Mega feature: HDCP - * Test category: functionality test - * - * arg[1]: - * - * @atomic: atomic modesetting - * @atomic-dpms: DPMS ON/OFF during atomic modesetting. - * @legacy: legacy style commit - * @type1: content type 1 that can be handled only through HDCP2.2. - */ static void test_content_protection(enum igt_commit_style s, int content_type) { @@ -631,21 +628,6 @@ static void test_cp_lic_on_mst(igt_output_t *mst_outputs[], int valid_outputs, b } } -/** - * SUBTEST: dp-mst-%s - * Description: Test Content protection %arg[1] over DP MST. - * Driver requirement: i915, xe - * Functionality: hdcp1.4, mst - * Mega feature: HDCP - * Test category: functionality test - * - * arg[1]: - * - * @lic-type-0: Type 0 with LIC - * @lic-type-1: Type 1 with LIC. - * @type-0: Type 0 - * @type-1: Type 1 - */ static void test_content_protection_mst(int content_type) { diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c index 76c01f557..674db3ed7 100644 --- a/tests/kms_cursor_crc.c +++ b/tests/kms_cursor_crc.c @@ -22,13 +22,6 @@ * */ -#include "igt.h" -#include <errno.h> -#include <limits.h> -#include <stdbool.h> -#include <stdio.h> -#include <string.h> - /** * TEST: kms cursor crc * Category: Display @@ -40,8 +33,67 @@ * compares it with the CRC value obtained when the cursor plane * was disabled and its drawing is directly inserted on the PF by * software. + * Driver requirement: i915, xe + * Functionality: cursor + * Mega feature: General Display Features + * Test category: functionality test */ +#include "igt.h" +#include <errno.h> +#include <limits.h> +#include <stdbool.h> +#include <stdio.h> +#include <string.h> +/** + * SUBTEST: cursor-dpms + * Description: Check random placement of a cursor with DPMS. + * Functionality: cursor, dpms + * + * SUBTEST: cursor-suspend + * Description: Check random placement of a cursor with suspend. + * Functionality: cursor, suspend + * + * SUBTEST: cursor-%s + * Description: %arg[1] + * + * arg[1]: + * + * @alpha-opaque: Validates the composition of a fully opaque cursor plane, + * i.e., alpha channel equal to 1.0. + * @alpha-transparent: Validates the composition of a fully transparent cursor + * plane, i.e., alpha channel equal to 0.0. + * @size-change: Create a maximum size cursor, then change the size in + * flight to smaller ones to see that the size is applied + * correctly. + */ + +/** + * SUBTEST: cursor-%s-%s + * Description: Check if a %arg[2] cursor is %arg[1]. + * + * arg[1]: + * + * @offscreen: well-positioned outside the screen + * @onscreen: well-positioned inside the screen + * @random: randomly placed + * @rapid-movement: rapidly udates for movements + * @sliding: smooth for horizontal, vertical & diagonal movements + * + * arg[2]: + * + * @128x128: 128x128 size + * @128x42: 128x42 size + * @256x256: 256x256 size + * @256x85: 256x85 size + * @32x10: 32x10 size + * @32x32: 32x32 size + * @512x170: 512x170 size + * @512x512: 512x512 size + * @64x21: 64x21 size + * @64x64: 64x64 size + * @max-size: Max supported size + */ IGT_TEST_DESCRIPTION( "Use the display CRC support to validate cursor plane functionality. " "The test will position the cursor plane either fully onscreen, " @@ -654,38 +706,6 @@ static bool require_cursor_size(data_t *data, int w, int h) return !!ret; } -/** - * SUBTEST: cursor-dpms - * Description: Check random placement of a cursor with DPMS. - * Driver requirement: i915, xe - * Functionality: cursor, dpms - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: cursor-suspend - * Description: Check random placement of a cursor with suspend. - * Driver requirement: i915, xe - * Functionality: cursor, suspend - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: cursor-%s - * Description: %arg[1] - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @alpha-opaque: Validates the composition of a fully opaque cursor plane, - * i.e., alpha channel equal to 1.0. - * @alpha-transparent: Validates the composition of a fully transparent cursor - * plane, i.e., alpha channel equal to 0.0. - * @size-change: Create a maximum size cursor, then change the size in - * flight to smaller ones to see that the size is applied - * correctly. - */ static void run_test(data_t *data, void (*testfunc)(data_t *), int cursor_w, int cursor_h) { prepare_crtc(data, cursor_w, cursor_h); @@ -782,37 +802,6 @@ static bool execution_constraint(enum pipe pipe) return false; } - -/** - * SUBTEST: cursor-%s-%s - * Description: Check if a %arg[2] cursor is %arg[1]. - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @offscreen: well-positioned outside the screen - * @onscreen: well-positioned inside the screen - * @random: randomly placed - * @rapid-movement: rapidly udates for movements - * @sliding: smooth for horizontal, vertical & diagonal movements - * - * arg[2]: - * - * @128x128: 128x128 size - * @128x42: 128x42 size - * @256x256: 256x256 size - * @256x85: 256x85 size - * @32x10: 32x10 size - * @32x32: 32x32 size - * @512x170: 512x170 size - * @512x512: 512x512 size - * @64x21: 64x21 size - * @64x64: 64x64 size - * @max-size: Max supported size - */ static void run_size_tests(data_t *data, int w, int h) { enum pipe pipe; diff --git a/tests/kms_cursor_edge_walk.c b/tests/kms_cursor_edge_walk.c index 1e233306d..ae09b5d91 100644 --- a/tests/kms_cursor_edge_walk.c +++ b/tests/kms_cursor_edge_walk.c @@ -22,24 +22,25 @@ * */ +/** + * TEST: kms cursor edge walk + * Category: Display + * Description: Test to check different cursor sizes by walking different edges of screen + * Driver requirement: i915, xe + * Functionality: cursor + * Mega feature: General Display Features + * Test category: functionality test + */ #include "igt.h" #include <errno.h> #include <limits.h> #include <stdbool.h> #include <stdio.h> #include <string.h> + /** - * TEST: kms cursor edge walk - * Category: Display - * Description: Exercise CHV pipe C cursor fail - * Description: Test to check different cursor sizes by walking different edges of screen - * * SUBTEST: %s-%s * Description: Checking cursor size %arg[1] by walking %arg[2] of screen - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c index 861581c93..fbef7d248 100644 --- a/tests/kms_cursor_legacy.c +++ b/tests/kms_cursor_legacy.c @@ -26,8 +26,11 @@ * TEST: kms cursor legacy * Category: Display * Description: Stress legacy cursor ioctl + * Driver requirement: i915, xe + * Functionality: cursor + * Mega feature: General Display Features + * Test category: functionality test */ - #include <sched.h> #include <sys/poll.h> @@ -37,6 +40,189 @@ #include "igt_rand.h" #include "igt_stats.h" +/** + * SUBTEST: %s-%s + * Description: Test checks how many cursor updates we can fit between vblanks + * on single/all pipes with different modes, priority and number + * of processes + * + * arg[1]: + * + * @single: Single + * @torture: Torture + * @forked: Forked + * + * arg[2]: + * + * @bo: BO + * @move: Move + */ + +/** + * SUBTEST: basic-busy-flip-before-cursor-%s + * Description: Cursor test with %arg[1] mode + * Functionality: cursor, hang + * + * SUBTEST: basic-busy-flip-before-cursor-varying-size + * Description: Change the size of cursor b/w 64*64 to maxw x maxh. + * Functionality: cursor, hang + * + * arg[1]: + * + * @atomic: atomic + * @legacy: legacy + */ + +/** + * SUBTEST: basic-flip-after-cursor-%s + * Description: Cursor test with %arg[1] + * + * SUBTEST: basic-flip-before-cursor-%s + * Description: Cursor test with %arg[1] + * + * arg[1]: + * + * @atomic: atomic mode + * @legacy: legacy mode + * @varying-size: varying size + */ + +/** + * SUBTEST: %s-flip-before-cursor-%s + * Description: Adds variety of tests: + * - varying-size: change the size of cursor b/w 64*64 to maxw x maxh.\n + * - atomic-transition: alternates between a full screen sprite plane + * and full screen primary plane.\n" + * - toggle: which toggles cursor visibility and make sure cursor moves + * between updates. + * + * arg[1]: + * + * @short: + * @short-busy: + * + * arg[2]: + * + * @atomic-transitions: + * @atomic-transitions-varying-size: + * @toggle: + */ + +/** + * SUBTEST: short-flip-after-cursor-%s + * Description: Adds variety of tests: + * - varying-size: change the size of cursor b/w 64*64 to maxw x maxh.\n + * - atomic-transition: alternates between a full screen sprite plane + * and full screen primary plane.\n" + * - toggle: which toggles cursor visibility and make sure cursor moves + * between updates. + * + * arg[1]: + * + * @atomic-transitions: + * @atomic-transitions-varying-size: + * @toggle: + */ + +/** + * SUBTEST: long-nonblocking-modeset-vs-cursor-atomic + * Description: Test checks how many cursor updates we can fit between vblanks + * on all pipes with different modes, priority and number of processes + * + * SUBTEST: nonblocking-modeset-vs-cursor-atomic + * Description: Test checks how many cursor updates we can fit between vblanks + * on all pipes with different modes, priority and number of processes + */ + +/** + * SUBTEST: 2x-%s-%s + * Description: This test executes flips on both CRTCs while running cursor + * updates in parallel + * + * arg[1]: + * + * @flip-vs-cursor: + * @flip-vs-cursor: + * @long-flip-vs-cursor: + * @long-flip-vs-cursor: + * + * arg[2]: + * + * @atomic: + * @legacy: + */ + +/** + * SUBTEST: 2x-%s-atomic + * Description: This test executes flips on both CRTCs while running cursor + * updates in parallel + * + * arg[1]: + * + * @long-nonblocking-modeset-vs-cursor: + * @nonblocking-modeset-vs-cursor: + */ + +/** + * SUBTEST: %s-%s + * Description: The essence of the basic test is that neither the cursor nor the + * nonblocking flip stall the application of the next + * + * arg[1]: + * + * @cursor-vs-flip: + * @cursorA-vs-flipA: + * @cursorA-vs-flipB: + * @cursorB-vs-flipA: + * @cursorB-vs-flipB: + * @flip-vs-cursor: + * + * arg[2]: + * + * @atomic: + * @atomic-transitions: + * @atomic-transitions-varying-size: + * @legacy: + * @toggle: + * @varying-size: + */ + +/** + * SUBTEST: 2x-%s-%s + * Description: This test executes flips on both CRTCs while running cursor updates in parallel + * + * arg[1]: + * + * @cursor-vs-flip: + * @cursor-vs-flip: + * @long-cursor-vs-flip: + * @long-cursor-vs-flip: + * + * arg[2]: + * + * @atomic: + * @legacy: + */ + +/** + * SUBTEST: flip-vs-cursor-crc-%s + * Description: this test perform a page flip followed by a cursor update + * + * SUBTEST: flip-vs-cursor-busy-crc-%s + * Description: this test perform a busy bo update followed by a cursor update + * Functionality: cursor, hang + * + * arg[1]: + * + * @atomic: + * @legacy: + */ + +/** + * SUBTEST: modeset-atomic-cursor-hotspot + * Description: Test changes the cursor hotspot and checks that the property is + * updated accordignly + */ #if defined(__x86_64__) || defined(__i386__) #define cpu_relax() __builtin_ia32_pause() #else @@ -78,27 +264,6 @@ static void override_output_modes(igt_display_t *display, igt_output_set_pipe(output2, PIPE_NONE); } -/** - * SUBTEST: %s-%s - * Description: Test checks how many cursor updates we can fit between vblanks - * on single/all pipes with different modes, priority and number - * of processes - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @single: Single - * @torture: Torture - * @forked: Forked - * - * arg[2]: - * - * @bo: BO - * @move: Move - */ static void stress(igt_display_t *display, enum pipe pipe, int num_children, unsigned mode, int timeout) @@ -569,93 +734,6 @@ enum basic_flip_cursor { #define BASIC_BUSY 0x1 -/** - * SUBTEST: basic-busy-flip-before-cursor-%s - * Description: Cursor test with %arg[1] mode - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: cursor - * Mega feature: General Display Features - * - * SUBTEST: basic-busy-flip-before-cursor-varying-size - * Description: Change the size of cursor b/w 64*64 to maxw x maxh. - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @atomic: atomic - * @legacy: legacy - */ - -/** - * SUBTEST: basic-flip-after-cursor-%s - * Description: Cursor test with %arg[1] - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: cursor - * Mega feature: General Display Features - * - * SUBTEST: basic-flip-before-cursor-%s - * Description: Cursor test with %arg[1] - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: cursor - * Mega feature: General Display Features - * - * arg[1]: - * - * @atomic: atomic mode - * @legacy: legacy mode - * @varying-size: varying size - */ - -/** - * SUBTEST: %s-flip-before-cursor-%s - * Description: Adds variety of tests: - * - varying-size: change the size of cursor b/w 64*64 to maxw x maxh.\n - * - atomic-transition: alternates between a full screen sprite plane - * and full screen primary plane.\n" - * - toggle: which toggles cursor visibility and make sure cursor moves - * between updates. - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @short: - * @short-busy: - * - * arg[2]: - * - * @atomic-transitions: - * @atomic-transitions-varying-size: - * @toggle: - */ - -/** - * SUBTEST: short-flip-after-cursor-%s - * Description: Adds variety of tests: - * - varying-size: change the size of cursor b/w 64*64 to maxw x maxh.\n - * - atomic-transition: alternates between a full screen sprite plane - * and full screen primary plane.\n" - * - toggle: which toggles cursor visibility and make sure cursor moves - * between updates. - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @atomic-transitions: - * @atomic-transitions-varying-size: - * @toggle: - */ static void basic_flip_cursor(igt_display_t *display, enum flip_test mode, enum basic_flip_cursor order, @@ -977,23 +1055,6 @@ static void flip_vs_cursor(igt_display_t *display, enum flip_test mode, int nloo igt_remove_fb(display->drm_fd, &cursor_fb2); } -/** - * SUBTEST: long-nonblocking-modeset-vs-cursor-atomic - * Description: Test checks how many cursor updates we can fit between vblanks - * on all pipes with different modes, priority and number of processes - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: nonblocking-modeset-vs-cursor-atomic - * Description: Test checks how many cursor updates we can fit between vblanks - * on all pipes with different modes, priority and number of processes - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - */ static void nonblocking_modeset_vs_cursor(igt_display_t *display, int loops) { struct igt_fb fb_info, cursor_fb; @@ -1093,42 +1154,6 @@ static void wait_for_modeset(igt_display_t *display, unsigned flags, int timeout igt_reset_timeout(); } -/** - * SUBTEST: 2x-%s-%s - * Description: This test executes flips on both CRTCs while running cursor - * updates in parallel - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @flip-vs-cursor: - * @flip-vs-cursor: - * @long-flip-vs-cursor: - * @long-flip-vs-cursor: - * - * arg[2]: - * - * @atomic: - * @legacy: - */ - -/** - * SUBTEST: 2x-%s-atomic - * Description: This test executes flips on both CRTCs while running cursor - * updates in parallel - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @long-nonblocking-modeset-vs-cursor: - * @nonblocking-modeset-vs-cursor: - */ static void two_screens_flip_vs_cursor(igt_display_t *display, int nloops, bool modeset, bool atomic) { struct drm_mode_cursor arg1[2], arg2[2]; @@ -1316,33 +1341,6 @@ done: munmap((void *)shared, PAGE_SIZE); } -/** - * SUBTEST: %s-%s - * Description: The essence of the basic test is that neither the cursor nor the - * nonblocking flip stall the application of the next - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @cursor-vs-flip: - * @cursorA-vs-flipA: - * @cursorA-vs-flipB: - * @cursorB-vs-flipA: - * @cursorB-vs-flipB: - * @flip-vs-cursor: - * - * arg[2]: - * - * @atomic: - * @atomic-transitions: - * @atomic-transitions-varying-size: - * @legacy: - * @toggle: - * @varying-size: - */ static void cursor_vs_flip(igt_display_t *display, enum flip_test mode, int nloops) { struct drm_mode_cursor arg[2]; @@ -1455,26 +1453,6 @@ static void cursor_vs_flip(igt_display_t *display, enum flip_test mode, int nloo igt_remove_fb(display->drm_fd, &cursor_fb2); } -/** - * SUBTEST: 2x-%s-%s - * Description: This test executes flips on both CRTCs while running cursor updates in parallel - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @cursor-vs-flip: - * @cursor-vs-flip: - * @long-cursor-vs-flip: - * @long-cursor-vs-flip: - * - * arg[2]: - * - * @atomic: - * @legacy: - */ static void two_screens_cursor_vs_flip(igt_display_t *display, int nloops, bool atomic) { struct drm_mode_cursor arg[2][2]; @@ -1603,19 +1581,6 @@ static void two_screens_cursor_vs_flip(igt_display_t *display, int nloops, bool munmap((void *)shared, PAGE_SIZE); } -/** - * SUBTEST: flip-vs-cursor-crc-%s - * Description: this test perform a page flip followed by a cursor update - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @atomic: - * @legacy: - */ static void flip_vs_cursor_crc(igt_display_t *display, bool atomic) { struct drm_mode_cursor arg[2]; @@ -1688,19 +1653,6 @@ static void flip_vs_cursor_crc(igt_display_t *display, bool atomic) igt_remove_fb(display->drm_fd, &cursor_fb); } -/** - * SUBTEST: flip-vs-cursor-busy-crc-%s - * Description: this test perform a busy bo update followed by a cursor update - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @atomic: - * @legacy: - */ static void flip_vs_cursor_busy_crc(igt_display_t *display, bool atomic) { struct drm_mode_cursor arg[2]; @@ -1813,15 +1765,6 @@ static void flip_vs_cursor_busy_crc(igt_display_t *display, bool atomic) put_ahnd(ahnd); } -/** - * SUBTEST: modeset-atomic-cursor-hotspot - * Description: Test changes the cursor hotspot and checks that the property is - * updated accordignly - * Driver requirement: i915, xe - * Functionality: cursor - * Mega feature: General Display Features - * Test category: functionality test - */ static void modeset_atomic_cursor_hotspot(igt_display_t *display) { struct igt_fb cursor_fb; diff --git a/tests/kms_display_modes.c b/tests/kms_display_modes.c index f44d452b7..d1b58df82 100644 --- a/tests/kms_display_modes.c +++ b/tests/kms_display_modes.c @@ -28,9 +28,25 @@ * TEST: kms display modes * Category: Display * Description: Test Display Modes + * Driver requirement: i915, xe + * Test category: functionality test */ #include "igt.h" +/** + * SUBTEST: extended-mode-basic + * Description: Test for validating display extended mode with a pair of connected + * displays + * Functionality: kms_core + * Mega feature: General Display Features + * + * SUBTEST: mst-extended-mode-negative + * Description: Negative test for validating display extended mode with a pair + * of connected 2k-4k or 4k-4k displays. + * Functionality: kms_core, mst + * Mega feature: DP + */ + #define HDISPLAY_4K 3840 #define VDISPLAY_4K 2160 @@ -205,15 +221,6 @@ static void run_extendedmode_basic(data_t *data, for_each_connected_output_local((display), (output)) \ for_each_if (igt_pipe_connector_valid((pipe), (output))) -/** - * SUBTEST: extended-mode-basic - * Description: Test for validating display extended mode with a pair of connected - * displays - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - */ static void run_extendedmode_test(data_t *data) { enum pipe pipe1, pipe2; igt_output_t *output1, *output2; @@ -259,15 +266,6 @@ static void run_extendedmode_test(data_t *data) { } } -/** - * SUBTEST: mst-extended-mode-negative - * Description: Negative test for validating display extended mode with a pair - * of connected 2k-4k or 4k-4k displays. - * Driver requirement: i915, xe - * Functionality: kms_core, mst - * Mega feature: General Display Features - * Test category: functionality test - */ static void run_extendedmode_negative(data_t *data, int pipe1, int pipe2) { struct igt_fb fbs[2]; diff --git a/tests/kms_dither.c b/tests/kms_dither.c index c41961937..57b45b083 100644 --- a/tests/kms_dither.c +++ b/tests/kms_dither.c @@ -29,12 +29,24 @@ * TEST: kms dither * Category: Display * Description: Test Dithering block status + * Driver requirement: i915, xe + * Functionality: colorspace, kms_gem_interop + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include <fcntl.h> #include <termios.h> #include <unistd.h> +/** + * SUBTEST: FB-8BPC-Vs-Panel-6BPC + * Description: Framebuffer BPC:8, Panel BPC:6, Expected Dither:Enable + * + * SUBTEST: FB-8BPC-Vs-Panel-8BPC + * Description: Framebuffer BPC:8, Panel BPC:8, Expected Dither:Disable + */ + IGT_TEST_DESCRIPTION("Test Dithering block status"); /* Connector BPC */ @@ -186,21 +198,6 @@ static bool is_supported(igt_output_t *output) igt_output_get_prop(output, IGT_CONNECTOR_MAX_BPC); } -/** - * SUBTEST: FB-8BPC-Vs-Panel-6BPC - * Description: Framebuffer BPC:8, Panel BPC:6, Expected Dither:Enable - * Driver requirement: i915, xe - * Functionality: colorspace, kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: FB-8BPC-Vs-Panel-8BPC - * Description: Framebuffer BPC:8, Panel BPC:8, Expected Dither:Disable - * Driver requirement: i915, xe - * Functionality: colorspace, kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test - */ static void run_dither_test(data_t *data, int fb_bpc, int fb_format, int output_bpc) { diff --git a/tests/kms_dp_aux_dev.c b/tests/kms_dp_aux_dev.c index e6a67e22e..1d63a5daa 100644 --- a/tests/kms_dp_aux_dev.c +++ b/tests/kms_dp_aux_dev.c @@ -22,6 +22,15 @@ * */ +/** + * TEST: kms dp aux dev + * Category: Display + * Description: Test that /dev/drm_dp_aux reads work + * Driver requirement: i915, xe + * Functionality: dp_aux + * Mega feature: DP + * Test category: functionality test + */ #include "config.h" #include <sys/types.h> @@ -31,17 +40,10 @@ #include "igt.h" #include "igt_kms.h" + /** - * TEST: kms dp aux dev - * Category: Display - * Description: Test that /dev/drm_dp_aux reads work - * * SUBTEST: * Description: Test that /dev/drm_dp_aux reads work - * Driver requirement: i915, xe - * Functionality: dp_aux - * Mega feature: DP - * Test category: functionality test */ IGT_TEST_DESCRIPTION("Test that /dev/drm_dp_aux reads work"); diff --git a/tests/kms_feature_discovery.c b/tests/kms_feature_discovery.c index 3a1f6d21d..5603e5fb6 100644 --- a/tests/kms_feature_discovery.c +++ b/tests/kms_feature_discovery.c @@ -28,63 +28,52 @@ * Description: A metatest that checks for \"features\" presence. * The subtests here should only skip or pass, * anything else means we have a serious problem. - * + * Driver requirement: i915, xe + * Functionality: feature_discovery + * Test category: functionality test + */ +#include "igt.h" +#ifdef HAVE_CHAMELIUM +#include "igt_chamelium.h" +#endif +#include "igt_kms.h" +#include "igt_psr.h" +#include "igt_sysfs.h" +#include "igt_types.h" + +/** * SUBTEST: display * Description: Make sure that we have display support with * some outputs connected. - * Driver requirement: i915, xe - * Functionality: feature_discovery * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: display-%dx * Description: Make sure that we have display support with %arg[1] * outputs connected. - * Driver requirement: i915, xe - * Functionality: feature_discovery * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: chamelium * Description: Make sure that Chamelium is configured and reachable. - * Driver requirement: i915, xe * Functionality: feature_discovery, chamelium - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: psr1 * Description: Make sure that we have eDP panel with PSR1 support. - * Driver requirement: i915, xe * Functionality: feature_discovery, psr1, eDP * Mega feature: PSR - * Test category: functionality test * * SUBTEST: psr2 * Description: Make sure that we have eDP panel with PSR2 support. - * Driver requirement: i915, xe * Functionality: feature_discovery, psr2, eDP * Mega feature: PSR - * Test category: functionality test * * SUBTEST: dp-mst * Description: Make sure that we have DP-MST configuration. - * Driver requirement: i915, xe * Functionality: feature_discovery, mst - * Mega feature: General Display Features - * Test category: functionality test + * Mega feature: DP * * arg[1].values: 2, 3, 4 */ -#include "igt.h" -#ifdef HAVE_CHAMELIUM -#include "igt_chamelium.h" -#endif -#include "igt_kms.h" -#include "igt_psr.h" -#include "igt_sysfs.h" -#include "igt_types.h" - static igt_display_t display; IGT_TEST_DESCRIPTION("A metatest that checks for \"features\" presence. " diff --git a/tests/kms_flip.c b/tests/kms_flip.c index 2c60cdf6d..1a19fe85e 100755 --- a/tests/kms_flip.c +++ b/tests/kms_flip.c @@ -25,8 +25,10 @@ * TEST: kms flip * Category: Display * Description: Tests for validating modeset, dpms and pageflips + * Driver requirement: i915, xe + * Mega feature: General Display Features + * Test category: functionality test */ - #include "config.h" #include "igt.h" @@ -41,80 +43,66 @@ #include <sys/time.h> #include <sys/ioctl.h> +#ifdef HAVE_LINUX_KD_H +#include <linux/kd.h> +#elif HAVE_SYS_KD_H +#include <sys/kd.h> +#endif +#include <time.h> +#include <pthread.h> + +#include "i915/gem_create.h" +#include "igt_stats.h" +#include "xe/xe_query.h" + /** * SUBTEST: 2x-flip-vs-fences * Description: Test to validate pageflips along with avialable fences on a pair * of connected displays * Driver requirement: i915 * Functionality: gtt, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: 2x-flip-vs-fences-interruptible * Description: Interrupt test to validate pageflips along with available fences * on a pair of connected displays - * Driver requirement: i915, xe + * Driver requirement: i915 * Functionality: gtt, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-vs-fences * Description: Basic test to validate pageflips with avialable fences * Driver requirement: i915 * Functionality: gtt, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-vs-fences-interruptible * Description: Interrupt test to validate pageflips with available fences * Driver requirement: i915 * Functionality: gtt, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: dpms-off-confusion * Description: Basic test to validate pageflips by disabling other connectors usng dpms - * Driver requirement: i915, xe * Functionality: dpms, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: dpms-off-confusion-interruptible * Description: Interrupt test to validate pageflips by disabling other connectors using dpms - * Driver requirement: i915, xe * Functionality: dpms, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: bo-too-big * Description: Basic test to validate pageflips with large BO in size - * Driver requirement: i915, xe * Functionality: kms_gem_interop, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: bo-too-big-interruptible * Description: Interrupt test to validate pageflips with large BO in size - * Driver requirement: i915, xe * Functionality: kms_gem_interop, vblank - * Mega feature: General Display Features - * Test category: functionality test */ /** * SUBTEST: %s * Description: Basic test to validate %arg[1] - * Driver requirement: i915, xe * Functionality: hang, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: 2x-%s * Description: Test to validate %arg[1] on a pair of connected displays - * Driver requirement: i915, xe * Functionality: hang, vblank - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * @@ -125,17 +113,11 @@ /** * SUBTEST: %s * Description: Basic test to validate %arg[1] - * Driver requirement: i915, xe * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: 2x-%s * Description: Test to validate %arg[1] on a pair of connected displays - * Driver requirement: i915, xe * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * @@ -158,61 +140,37 @@ /** * SUBTEST: flip-vs-suspend * Description: Basic test to validate pageflips with suspend cycle - * Driver requirement: i915, xe * Functionality: suspend, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: 2x-flip-vs-suspend * Description: Basic test to validate pageflips with suspend cycle on a pair of * connected displays - * Driver requirement: i915, xe * Functionality: suspend, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: flip-vs-suspend-interruptible * Description: Interrupt test to validate pageflips with suspend cycle - * Driver requirement: i915, xe * Functionality: suspend, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: 2x-flip-vs-suspend-interruptible * Description: Interrupt test to validate pageflips with suspend cycle on a pair * of connected displays - * Driver requirement: i915, xe * Functionality: suspend, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: %s * Description: Basic test to validate %arg[1] - * Driver requirement: i915, xe * Functionality: dpms, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: 2x-%s * Description: Basic test to validate %arg[1] on a pair of connected displays - * Driver requirement: i915, xe * Functionality: dpms, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: %s-interruptible * Description: Basic test to validate %arg[1] - * Driver requirement: i915, xe * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: 2x-%s-interruptible * Description: Basic test to validate %arg[1] on a pair of connected displays - * Driver requirement: i915, xe * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * @@ -227,17 +185,11 @@ * SUBTEST: 2x-flip-vs-dpms * Description: Basic test to validate pageflip along with dpms on a pair of * connected displays - * Driver requirement: i915, xe * Functionality: dpms, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: 2x-%s * Description: Basic test to validate %arg[1] on a pair of connected displays - * Driver requirement: i915, xe * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * @@ -249,18 +201,12 @@ /** * SUBTEST: %s-interruptible * Description: Basic test for validating modeset, dpms and pageflips - * Driver requirement: i915, xe * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: 2x-%s-interruptible * Description: Test for validating modeset, dpms and pageflips with a pair of * connected displays - * Driver requirement: i915, xe * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * @@ -279,17 +225,28 @@ * @modeset-vs-vblank-race: modeset and check for vblank */ -#ifdef HAVE_LINUX_KD_H -#include <linux/kd.h> -#elif HAVE_SYS_KD_H -#include <sys/kd.h> -#endif -#include <time.h> -#include <pthread.h> - -#include "i915/gem_create.h" -#include "igt_stats.h" -#include "xe/xe_query.h" +/** + * SUBTEST: basic-plain-flip + * Description: Basic test for validating page flip + * Functionality: vblank + * + * SUBTEST: nonblocking-read + * Description: Tests that nonblocking reading fails correctly + * Functionality: vblank + * + * SUBTEST: basic-flip-vs-dpms + * Description: Basic test to valide pageflip with dpms + * Functionality: dpms, vblank + * + * SUBTEST: basic-flip-vs-%s + * Description: Basic test to valide pageflip with %arg[1] + * Functionality: vblank + * + * arg[1]: + * + * @modeset: modeset + * @wf_vblank: wait for vblank + */ #define TEST_DPMS (1 << 0) @@ -1804,34 +1761,6 @@ static void run_test_on_crtc_set(struct test_output *o, int *crtc_idxs, __run_test_on_crtc_set(o, crtc_idxs, crtc_count, duration_ms); } -/** - * SUBTEST: basic-flip-vs-dpms - * Description: Basic test to valide pageflip with dpms - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: dpms, vblank - * Mega feature: General Display Features - * - * SUBTEST: basic-flip-vs-%s - * Description: Basic test to valide pageflip with %arg[1] - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: vblank - * Mega feature: General Display Features - * - * arg[1]: - * - * @modeset: modeset - * @wf_vblank: wait for vblank - * - * SUBTEST: basic-plain-flip - * Description: Basic test for validating page flip - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: vblank - * Mega feature: General Display Features - */ - static void run_test(int duration, int flags) { struct test_output o; @@ -2016,14 +1945,6 @@ static void kms_flip_exit_handler(int sig) kmstest_set_connector_dpms(drm_fd, last_connector, DRM_MODE_DPMS_ON); } -/** - * SUBTEST: nonblocking-read - * Description: Tests that nonblocking reading fails correctly - * Driver requirement: i915, xe - * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_nonblocking_read(int in) { char buffer[1024]; diff --git a/tests/kms_flip_event_leak.c b/tests/kms_flip_event_leak.c index 57f6f64f7..bee2913a8 100644 --- a/tests/kms_flip_event_leak.c +++ b/tests/kms_flip_event_leak.c @@ -22,6 +22,15 @@ * */ +/** + * TEST: kms flip event leak + * Category: Display + * Description: Test to validate flip event leak + * Driver requirement: i915, xe + * Functionality: kms_core + * Mega feature: General Display Features + * Test category: functionality test + */ #include "igt.h" #include <errno.h> #include <stdbool.h> @@ -32,19 +41,11 @@ #include "xe/xe_query.h" /** - * TEST: kms flip event leak - * Category: Display - * Description: Test to validate flip event leak - * * SUBTEST: basic * Description: 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. - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test */ typedef struct { diff --git a/tests/kms_force_connector_basic.c b/tests/kms_force_connector_basic.c index e3b9034db..b24491d89 100644 --- a/tests/kms_force_connector_basic.c +++ b/tests/kms_force_connector_basic.c @@ -26,10 +26,29 @@ * TEST: kms force connector basic * Category: Display * Description: Check the debugfs force connector/edid features work correctly. + * Driver requirement: i915, xe + * Functionality: force_connector + * Mega feature: General Display Features + * Test category: functionality test */ - #include "igt.h" +/** + * SUBTEST: force-load-detect + * Description: Test to detect forced load. + * Driver requirement: i915 + * Functionality: force_connector, vga + * + * SUBTEST: force-connector-state + * Description: Test to check the forced connector state + * + * SUBTEST: force-edid + * Description: Test to check the values after forcing edid + * + * SUBTEST: prune-stale-modes + * Description: Tests pruning of stale modes + */ + IGT_TEST_DESCRIPTION("Check the debugfs force connector/edid features work" " correctly."); @@ -69,14 +88,6 @@ static void reset_connectors(void) drm_close_driver(drm_fd); } -/** - * SUBTEST: force-load-detect - * Description: Test to detect forced load. - * Driver requirement: i915 - * Functionality: force_connector, vga - * Mega feature: General Display Features - * Test category: functionality test - */ static void force_load_detect(int drm_fd, drmModeConnectorPtr connector, drmModeRes *res) { int i, j, w = 64, h = 64; @@ -165,14 +176,6 @@ static void force_load_detect(int drm_fd, drmModeConnectorPtr connector, drmMode } } -/** - * SUBTEST: force-connector-state - * Description: Test to check the forced connector state - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: force_connector - * Mega feature: General Display Features - */ static void force_connector_state(int drm_fd, drmModeConnectorPtr connector) { igt_display_t display; @@ -212,14 +215,6 @@ static void force_connector_state(int drm_fd, drmModeConnectorPtr connector) igt_display_fini(&display); } -/** - * SUBTEST: force-edid - * Description: Test to check the values after forcing edid - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: force_connector - * Mega feature: General Display Features - */ static void force_edid(int drm_fd, drmModeConnectorPtr connector) { drmModeConnector *temp; @@ -261,14 +256,6 @@ static void force_edid(int drm_fd, drmModeConnectorPtr connector) } -/** - * SUBTEST: prune-stale-modes - * Description: Tests pruning of stale modes - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: force_connector - * Mega feature: General Display Features - */ static void prune_stale_modes(int drm_fd, drmModeConnectorPtr connector) { int i; diff --git a/tests/kms_getfb.c b/tests/kms_getfb.c index 059f66d99..171b97429 100644 --- a/tests/kms_getfb.c +++ b/tests/kms_getfb.c @@ -31,6 +31,9 @@ * TEST: kms getfb * Category: Display * Description: Tests GETFB and GETFB2 ioctls. + * Driver requirement: i915, xe + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include <unistd.h> @@ -50,6 +53,67 @@ #include "xe/xe_query.h" #include "xe/xe_ioctl.h" +/** + * SUBTEST: getfb-handle-%s + * Description: Tests error handling %arg[1] + * Functionality: kms_gem_interop + * + * arg[1]: + * + * @closed: when passing a handle that has been closed. + * @not-fb: when passing an invalid handle. + * @valid: when passing an valid handle. + * @zero: for a zero'd input. + */ + +/** + * SUBTEST: getfb-reject-ccs + * Description: Tests error handling while requesting CCS buffers it should + * refuse because getfb supports returning a single buffer handle. + * Functionality: ccs, kms_gem_interop, tiling + * + * SUBTEST: getfb-%s-different-handles + * Description: Tests error handling while requesting for two different handles + * from %arg[1]. + * Functionality: kms_gem_interop + * + * arg[1]: + * + * @addfb: same fd + * @repeated: different fd + */ + +/** + * SUBTEST: getfb2-accept-ccs + * Description: Tests outputs are correct when retrieving a CCS framebuffer. + * Functionality: ccs, kms_gem_interop, tiling + * + * SUBTEST: getfb2-into-addfb2 + * Description: Output check by passing the output of GETFB2 into ADDFB2. + * Functionality: kms_gem_interop + * + * SUBTEST: getfb2-handle-%s + * Description: Tests error handling %arg[1]. + * Functionality: kms_gem_interop + * + * arg[1]: + * + * @closed: when passing a handle that has been closed + * @not-fb: when passing an invalid handle + * @zero: for a zero'd input + */ + +/** + * SUBTEST: %s-handle-protection + * Description: Make sure %arg[1] return handles if caller is non-root or non-master. + * Functionality: kms_gem_interop + * + * arg[1]: + * + * @getfb: GETFB ioctl + * @getfb2: GETFB2 ioctl + */ + IGT_TEST_DESCRIPTION("Tests GETFB and GETFB2 ioctls."); static bool has_getfb_iface(int fd) @@ -178,21 +242,6 @@ static uint32_t get_any_prop_id(int fd) return 0; } -/** - * SUBTEST: getfb-handle-%s - * Description: Tests error handling %arg[1] - * Driver requirement: i915, xe - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @closed: when passing a handle that has been closed. - * @not-fb: when passing an invalid handle. - * @valid: when passing an valid handle. - * @zero: for a zero'd input. - */ static void test_handle_input(int fd) { struct drm_mode_fb_cmd2 add = {}; @@ -248,28 +297,6 @@ static void test_handle_input(int fd) gem_close(fd, add.handles[0]); } -/** - * SUBTEST: getfb-reject-ccs - * Description: Tests error handling while requesting CCS buffers it should - * refuse because getfb supports returning a single buffer handle. - * Driver requirement: i915, xe - * Functionality: ccs, kms_gem_interop, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: getfb-%s-different-handles - * Description: Tests error handling while requesting for two different handles - * from %arg[1]. - * Driver requirement: i915, xe - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @addfb: same fd - * @repeated: different fd - */ static void test_duplicate_handles(int fd) { struct drm_mode_fb_cmd2 add = {}; @@ -335,34 +362,6 @@ static void test_duplicate_handles(int fd) } } -/** - * SUBTEST: getfb2-accept-ccs - * Description: Tests outputs are correct when retrieving a CCS framebuffer. - * Driver requirement: i915, xe - * Functionality: ccs, kms_gem_interop, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: getfb2-into-addfb2 - * Description: Output check by passing the output of GETFB2 into ADDFB2. - * Driver requirement: i915, xe - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: getfb2-handle-%s - * Description: Tests error handling %arg[1]. - * Driver requirement: i915, xe - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @closed: when passing a handle that has been closed - * @not-fb: when passing an invalid handle - * @zero: for a zero'd input - */ static void test_getfb2(int fd) { struct drm_mode_fb_cmd2 add_basic = {}; @@ -471,19 +470,6 @@ static void test_getfb2(int fd) } } -/** - * SUBTEST: %s-handle-protection - * Description: Make sure %arg[1] return handles if caller is non-root or non-master. - * Driver requirement: i915, xe - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @getfb: GETFB ioctl - * @getfb2: GETFB2 ioctl - */ static void test_handle_protection(void) { int non_master_fd; struct drm_mode_fb_cmd2 non_master_add = {}; diff --git a/tests/kms_hdmi_inject.c b/tests/kms_hdmi_inject.c index 61f62fa7c..2ca995577 100644 --- a/tests/kms_hdmi_inject.c +++ b/tests/kms_hdmi_inject.c @@ -22,6 +22,16 @@ * */ +/** + * TEST: kms hdmi inject + * Category: Display + * Description: Test that in-kernel EDID parsing is producing expected results + * by forcing a HDMI connector with a known EDID and checking that + * the metadata exposed to user space matches. + * Driver requirement: i915, xe + * Mega feature: HDMI + * Test category: functionality test + */ #include "config.h" #include <dirent.h> @@ -32,27 +42,15 @@ #include "xe/xe_query.h" /** - * TEST: kms hdmi inject - * Category: Display - * Description: Test that in-kernel EDID parsing is producing expected results - * by forcing a HDMI connector with a known EDID and checking that - * the metadata exposed to user space matches. - * * SUBTEST: inject-4k * Description: Make sure that 4K modes exposed by DRM match the forced EDID and * modesetting using it succeed. - * Driver requirement: i915, xe * Functionality: force_connector, hdmi_edid - * Mega feature: HDMI - * Test category: functionality test * * SUBTEST: inject-audio * Description: Make sure that audio information exposed by ALSA match the forced * EDID. - * Driver requirement: i915, xe * Functionality: audio, force_connector - * Mega feature: HDMI - * Test category: functionality test */ #define HDISPLAY_4K 3840 diff --git a/tests/kms_hdr.c b/tests/kms_hdr.c index ed98a0c26..552a12e62 100644 --- a/tests/kms_hdr.c +++ b/tests/kms_hdr.c @@ -24,6 +24,9 @@ * TEST: kms hdr * Category: Display * Description: Test HDR metadata interfaces and bpc switch + * Driver requirement: i915, xe + * Mega feature: HDR + * Test category: functionality test */ #include "igt.h" #include <fcntl.h> @@ -31,6 +34,45 @@ #include <unistd.h> #include "igt_edid.h" +/** + * SUBTEST: bpc-switch + * Description: Tests switching between different display output bpc modes + * Functionality: colorspace, hdr + * + * SUBTEST: bpc-switch-dpms + * Description: Tests switching between different display output bpc modes with dpms + * Functionality: colorspace, dpms, hdr + * + * SUBTEST: bpc-switch-suspend + * Description: Tests switching between different display output bpc modes with suspend + * Functionality: colorspace, hdr, suspend + * + * SUBTEST: invalid-hdr + * Description: Test to ensure HDR is not enabled on non-HDR panel + * Functionality: colorspace, hdr + * + * SUBTEST: invalid-metadata-sizes + * Description: Tests invalid HDR metadata sizes + * Functionality: colorspace, hdr + * + * SUBTEST: static-toggle-dpms + * Description: Tests static toggle with dpms + * Functionality: colorspace, dpms, hdr + * + * SUBTEST: static-toggle-suspend + * Description: Tests static toggle with suspend + * Functionality: colorspace, hdr, suspend + * + * SUBTEST: static-%s + * Description: Tests %arg[1]. + * Functionality: colorspace, hdr + * + * arg[1]: + * + * @swap: swapping static HDR metadata + * @toggle: entering and exiting HDR mode + */ + IGT_TEST_DESCRIPTION("Test HDR metadata interfaces and bpc switch"); /* HDR EDID parsing. */ @@ -213,28 +255,6 @@ static bool has_max_bpc(igt_output_t *output) igt_output_get_prop(output, IGT_CONNECTOR_MAX_BPC); } -/** - * SUBTEST: bpc-switch - * Description: Tests switching between different display output bpc modes - * Driver requirement: i915, xe - * Functionality: colorspace, hdr - * Mega feature: HDR - * Test category: functionality test - * - * SUBTEST: bpc-switch-dpms - * Description: Tests switching between different display output bpc modes with dpms - * Driver requirement: i915, xe - * Functionality: colorspace, dpms, hdr - * Mega feature: HDR - * Test category: functionality test - * - * SUBTEST: bpc-switch-suspend - * Description: Tests switching between different display output bpc modes with suspend - * Driver requirement: i915, xe - * Functionality: colorspace, hdr, suspend - * Mega feature: HDR - * Test category: functionality test - */ static void test_bpc_switch(data_t *data, uint32_t flags) { igt_display_t *display = &data->display; @@ -588,47 +608,6 @@ static bool has_hdr(igt_output_t *output) return igt_output_has_prop(output, IGT_CONNECTOR_HDR_OUTPUT_METADATA); } -/** - * SUBTEST: invalid-hdr - * Description: Test to ensure HDR is not enabled on non-HDR panel - * Driver requirement: i915, xe - * Functionality: colorspace, hdr - * Mega feature: HDR - * Test category: functionality test - * - * SUBTEST: invalid-metadata-sizes - * Description: Tests invalid HDR metadata sizes - * Driver requirement: i915, xe - * Functionality: colorspace, hdr - * Mega feature: HDR - * Test category: functionality test - * - * SUBTEST: static-toggle-dpms - * Description: Tests static toggle with dpms - * Driver requirement: i915, xe - * Functionality: colorspace, dpms, hdr - * Mega feature: HDR - * Test category: functionality test - * - * SUBTEST: static-toggle-suspend - * Description: Tests static toggle with suspend - * Driver requirement: i915, xe - * Functionality: colorspace, hdr, suspend - * Mega feature: HDR - * Test category: functionality test - * - * SUBTEST: static-%s - * Description: Tests %arg[1]. - * Driver requirement: i915, xe - * Functionality: colorspace, hdr - * Mega feature: HDR - * Test category: functionality test - * - * arg[1]: - * - * @swap: swapping static HDR metadata - * @toggle: entering and exiting HDR mode - */ static void test_hdr(data_t *data, uint32_t flags) { igt_display_t *display = &data->display; diff --git a/tests/kms_invalid_mode.c b/tests/kms_invalid_mode.c index 017c2c195..0fe1d6ef9 100644 --- a/tests/kms_invalid_mode.c +++ b/tests/kms_invalid_mode.c @@ -27,6 +27,10 @@ * Category: Display * Description: Make sure all modesets are rejected when the requested mode is * invalid + * Driver requirement: i915, xe + * Functionality: kms_core + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include <limits.h> @@ -36,10 +40,6 @@ * SUBTEST: %s * Description: Make sure all modesets are rejected when the requested mode * (%arg[1]) is invalid - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * diff --git a/tests/kms_lease.c b/tests/kms_lease.c index 9ada6d5ea..8f10eee5d 100644 --- a/tests/kms_lease.c +++ b/tests/kms_lease.c @@ -30,8 +30,11 @@ * TEST: kms lease * Category: Display * Description: Test of CreateLease. + * Driver requirement: i915, xe + * Functionality: lease + * Mega feature: General Display Features + * Test category: functionality test */ - #include "igt.h" #include <stdlib.h> #include <stdio.h> @@ -53,155 +56,71 @@ /** * SUBTEST: atomic_implicit_crtc * Description: Negative test by using a different crtc with atomic ioctl - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: cursor_implicit_plane * Description: Negative test by using a non-primary plane with setcursor ioctl - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: empty_lease * Description: Check that creating an empty lease works - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: implicit-plane-lease * Description: Tests the implicitly added planes. - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: invalid-create-leases * Description: Tests error handling while creating invalid corner-cases for * create-lease ioctl - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: lease-uevent * Description: Tests all the uevent cases - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: lease_again * Description: Tests leasing objects more than once - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: lease_get * Description: Tests getting the required contents of a lease - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: lease_invalid_connector * Description: Tests leasing an invalid connector - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: lease_invalid_crtc * Description: Tests leasing an invalid crtc - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: lease_invalid_plane * Description: Tests leasing an invalid plane - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: lease_revoke * Description: Tests revocation of lease - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: lease_unleased_connector * Description: Negative test by trying to use an unleased connector - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: lease_unleased_crtc * Description: Negative test by trying to use an unleased crtc - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: lessee_list * Description: Check if listed lease is same as created one - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: master-vs-lease * Description: Tests the drop/set_master interactions. - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: multimaster-lease * Description: Tests that the 2nd master can only create leases while being * active master, and that leases on the first master don't prevent * lease creation for the 2nd master. - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: page_flip_implicit_plane * Description: Negative test by using a non-primary plane with the page flip ioctl - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: possible-crtcs-filtering * Description: Tests that possible_crtcs logically match between master and * lease, and that the values are correctly renumbered on the lease * side. - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: setcrtc_implicit_plane * Description: Negative test by using a non-primary plane with the setcrtc ioctl - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: simple_lease * Description: Check if create lease ioctl call works - * Driver requirement: i915, xe - * Functionality: lease - * Mega feature: General Display Features - * Test category: functionality test */ IGT_TEST_DESCRIPTION("Test of CreateLease."); diff --git a/tests/kms_multipipe_modeset.c b/tests/kms_multipipe_modeset.c index a968a3513..9da689538 100644 --- a/tests/kms_multipipe_modeset.c +++ b/tests/kms_multipipe_modeset.c @@ -24,20 +24,22 @@ * Karthik B S <karthik.b.s@intel.com> */ -#include "igt.h" /** * TEST: kms multipipe modeset * Category: Display * Description: Test simultaneous modeset on all the supported pipes - * - * SUBTEST: basic-max-pipe-crc-check - * Description: Verify if simultaneous modesets on all the supported pipes is - * successful. Validate using CRC verification * Driver requirement: i915, xe * Functionality: kms_core * Mega feature: General Display Features * Test category: functionality test */ +#include "igt.h" + +/** + * SUBTEST: basic-max-pipe-crc-check + * Description: Verify if simultaneous modesets on all the supported pipes is + * successful. Validate using CRC verification + */ IGT_TEST_DESCRIPTION("Test simultaneous modeset on all the supported pipes"); diff --git a/tests/kms_panel_fitting.c b/tests/kms_panel_fitting.c index a583e1435..347b146e8 100644 --- a/tests/kms_panel_fitting.c +++ b/tests/kms_panel_fitting.c @@ -22,28 +22,26 @@ * */ -#include "igt.h" -#include <limits.h> -#include <math.h> -#include <sys/stat.h> /** * TEST: kms panel fitting * Category: Display * Description: Test display panel fitting - * - * SUBTEST: atomic-fastset - * Description: Tests panel fitting usages with atomic fastset. * Driver requirement: i915, xe * Functionality: eDP, panel_fitting, scaling * Mega feature: General Display Features * Test category: functionality test + */ +#include "igt.h" +#include <limits.h> +#include <math.h> +#include <sys/stat.h> + +/** + * SUBTEST: atomic-fastset + * Description: Tests panel fitting usages with atomic fastset. * * SUBTEST: legacy * Description: Tests panel fitting usages with legacy style commit. - * Driver requirement: i915, xe - * Functionality: eDP, panel_fitting, scaling - * Mega feature: General Display Features - * Test category: functionality test */ IGT_TEST_DESCRIPTION("Test display panel fitting"); diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c index d980c3786..30181b677 100644 --- a/tests/kms_pipe_crc_basic.c +++ b/tests/kms_pipe_crc_basic.c @@ -26,8 +26,11 @@ * TEST: kms pipe crc basic * Category: Display * Description: Tests behaviour of CRC + * Driver requirement: i915, xe + * Functionality: crc + * Mega feature: General Display Features + * Test category: functionality test */ - #include "igt.h" #include "igt_sysfs.h" #include <errno.h> @@ -36,6 +39,44 @@ #include <string.h> #include <fcntl.h> +/** + * SUBTEST: disable-crc-after-crtc + * Description: Check that disabling CRCs on a CRTC after having disabled the + * CRTC does not cause issues. + * + * SUBTEST: bad-source + * Description: Tests error handling when the bad source is set. + * + * SUBTEST: read-crc + * Description: Test for pipe CRC reads + * + * SUBTEST: read-crc-frame-sequence + * Description: Tests the pipe CRC read and ensure frame sequence + * + * SUBTEST: nonblocking-crc + * Description: Test for O_NONBLOCK CRC reads + * + * SUBTEST: nonblocking-crc-frame-sequence + * Description: Test for O_NONBLOCK CRC reads and ensure frame sequence + * + * SUBTEST: suspend-read-crc + * Description: Suspend test for pipe CRC reads + * Functionality: crc, suspend + * + * SUBTEST: hang-read-crc + * Description: Hang test for pipe CRC read + * Functionality: crc, hang + * + * SUBTEST: compare-crc-sanitycheck-%s + * Description: Basic sanity check for CRC mismatches with %arg[1] + * Functionality: crc, pixel_format + * + * arg[1]: + * + * @xr24: XR24 format + * @nv12: NV12 format + */ + static bool extended; static enum pipe active_pipes[IGT_MAX_PIPES]; static uint32_t last_pipe; @@ -65,14 +106,6 @@ static bool simulation_constraint(enum pipe pipe) return false; } -/** - * SUBTEST: bad-source - * Description: Tests error handling when the bad source is set. - * Driver requirement: i915, xe - * Functionality: crc - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_bad_source(data_t *data) { errno = 0; @@ -94,49 +127,6 @@ enum { TEST_HANG = 1 << 3, }; -/** - * SUBTEST: read-crc - * Description: Test for pipe CRC reads - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: crc - * Mega feature: General Display Features - * - * SUBTEST: read-crc-frame-sequence - * Description: Tests the pipe CRC read and ensure frame sequence - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: crc - * Mega feature: General Display Features - * - * SUBTEST: nonblocking-crc - * Description: Test for O_NONBLOCK CRC reads - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: crc - * Mega feature: General Display Features - * - * SUBTEST: nonblocking-crc-frame-sequence - * Description: Test for O_NONBLOCK CRC reads and ensure frame sequence - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: crc - * Mega feature: General Display Features - * - * SUBTEST: suspend-read-crc - * Description: Suspend test for pipe CRC reads - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: crc, suspend - * Mega feature: General Display Features - * - * SUBTEST: hang-read-crc - * Description: Hang test for pipe CRC read - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: crc, hang - * Mega feature: General Display Features - */ static void test_read_crc(data_t *data, enum pipe pipe, igt_output_t *output, unsigned flags) { @@ -234,20 +224,6 @@ static void test_read_crc(data_t *data, enum pipe pipe, igt_display_commit(display); } -/** - * SUBTEST: compare-crc-sanitycheck-%s - * Description: Basic sanity check for CRC mismatches with %arg[1] - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: crc, pixel_format - * Mega feature: General Display Features - * - * arg[1]: - * - * @xr24: XR24 format - * @nv12: NV12 format - */ - /* * CRC-sanity test, to make sure there would be no CRC mismatches * @@ -313,15 +289,6 @@ static void test_compare_crc(data_t *data, enum pipe pipe, igt_output_t *output, igt_remove_fb(data->drm_fd, &fb1); } -/** - * SUBTEST: disable-crc-after-crtc - * Description: Check that disabling CRCs on a CRTC after having disabled the - * CRTC does not cause issues. - * Driver requirement: i915, xe - * Functionality: crc - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_disable_crc_after_crtc(data_t *data, enum pipe pipe, igt_output_t *output) { diff --git a/tests/kms_plane.c b/tests/kms_plane.c index 9a515559c..6511e55ec 100644 --- a/tests/kms_plane.c +++ b/tests/kms_plane.c @@ -28,6 +28,9 @@ * TEST: kms plane * Category: Display * Description: Testes for KMS Plane + * Driver requirement: i915, xe + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include "igt_vec.h" @@ -37,6 +40,55 @@ #include <string.h> #include "xe/xe_query.h" +/** + * SUBTEST: plane-position-%s + * Description: Verify plane position using two planes to create a %arg[1] + * Functionality: plane + * + * SUBTEST: plane-position-hole-dpms + * Description: Verify plane position using two planes to create a partially + * covered screen and check for DPMS + * Functionality: dpms, plane + * + * arg[1]: + * + * @covered: fully covered screen + * @hole: partially covered screen + */ + +/** + * SUBTEST: plane-panning-%s + * Description: Verify plane panning at %arg[1] using primary plane + * Functionality: plane + * + * SUBTEST: plane-panning-bottom-right-suspend + * Description: Verify plane panning at bottom-right position with suspend using + * primary plane + * Functionality: plane, suspend + * + * arg[1]: + * + * @bottom-right: bottom-right position + * @top-left: top-left position + */ + +/** + * SUBTEST: pixel-%s + * Description: verify the pixel formats for given plane and pipe + * Functionality: pixel_format, plane + * + * arg[1]: + * + * @format: + * @format-source-clamping: with source clamping + */ + +/** + * SUBTEST: invalid-pixel-format-settings + * Description: verify invalid settings for pixel format are not accepted + * Functionality: pixel_format, plane + */ + /* * Throw away enough lsbs in pixel formats tests * to get a match despite some differences between @@ -284,27 +336,6 @@ test_plane_position_with_output(data_t *data, igt_remove_fb(data->drm_fd, &sprite_fb); } -/** - * SUBTEST: plane-position-%s - * Description: Verify plane position using two planes to create a %arg[1] - * Driver requirement: i915, xe - * Functionality: plane - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: plane-position-hole-dpms - * Description: Verify plane position using two planes to create a partially - * covered screen and check for DPMS - * Driver requirement: i915, xe - * Functionality: dpms, plane - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @covered: fully covered screen - * @hole: partially covered screen - */ static void test_plane_position(data_t *data, enum pipe pipe) { @@ -413,27 +444,6 @@ test_plane_panning_with_output(data_t *data, igt_remove_fb(data->drm_fd, &primary_fb); } -/** - * SUBTEST: plane-panning-%s - * Description: Verify plane panning at %arg[1] using primary plane - * Driver requirement: i915, xe - * Functionality: plane - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: plane-panning-bottom-right-suspend - * Description: Verify plane panning at bottom-right position with suspend using - * primary plane - * Driver requirement: i915, xe - * Functionality: plane, suspend - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @bottom-right: bottom-right position - * @top-left: top-left position - */ static void test_plane_panning(data_t *data, enum pipe pipe) { @@ -1159,19 +1169,6 @@ static bool skip_plane(data_t *data, igt_plane_t *plane) return index != 0 && index != 3 && index != 5; } -/** - * SUBTEST: pixel-%s - * Description: verify the pixel formats for given plane and pipe - * Driver requirement: i915, xe - * Functionality: pixel_format, plane - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @format: - * @format-source-clamping: with source clamping - */ static void test_pixel_formats(data_t *data, enum pipe pipe) { @@ -1228,14 +1225,6 @@ test_pixel_formats(data_t *data, enum pipe pipe) igt_assert_f(result, "At least one CRC mismatch happened\n"); } -/** - * SUBTEST: invalid-pixel-format-settings - * Description: verify invalid settings for pixel format are not accepted - * Driver requirement: i915, xe - * Functionality: pixel_format, plane - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_invalid_settings(data_t *data) { enum pipe pipe = PIPE_A; diff --git a/tests/kms_plane_alpha_blend.c b/tests/kms_plane_alpha_blend.c index bff624ebe..81a3f7122 100644 --- a/tests/kms_plane_alpha_blend.c +++ b/tests/kms_plane_alpha_blend.c @@ -28,9 +28,44 @@ * TEST: kms plane alpha blend * Category: Display * Description: Test plane alpha and blending mode properties + * Driver requirement: i915, xe + * Functionality: plane + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" +/** + * SUBTEST: alpha-%s + * Description: Test to %arg[1] + * + * arg[1]: + * + * @7efc: validate alpha values 0x7e and 0xfc are swappable on + * pre-multiplied blend mode. + * @basic: basic plane alpha properties. + * @opaque-fb: alpha properties with opaque fb. + * @transparent-fb: alpha property with transparent fb. + */ + +/** + * SUBTEST: coverage-vs-premult-vs-constant + * Description: Tests pipe coverage blending properties. + * + * SUBTEST: coverage-7efc + * Description: Uses alpha values 0x7e and 0xfc to validate fg.alpha and + * plane_alpha are swappable on coverage blend mode. + * + * SUBTEST: constant-alpha-%s + * Description: Tests plane alpha and blending properties with %arg[1]. + * + * arg[1]: + * + * @max: maximum alpha value + * @mid: medium alpha value + * @min: minimum alpha value + */ + IGT_TEST_DESCRIPTION("Test plane alpha and blending mode properties"); static bool extended; @@ -482,52 +517,6 @@ static void coverage_premult_constant(data_t *data, enum pipe pipe, igt_plane_t igt_pipe_crc_stop(data->pipe_crc); } -/** - * SUBTEST: alpha-%s - * Description: Test to %arg[1] - * Driver requirement: i915, xe - * Functionality: plane - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @7efc: validate alpha values 0x7e and 0xfc are swappable on - * pre-multiplied blend mode. - * @basic: basic plane alpha properties. - * @opaque-fb: alpha properties with opaque fb. - * @transparent-fb: alpha property with transparent fb. - */ - -/** - * SUBTEST: coverage-vs-premult-vs-constant - * Description: Tests pipe coverage blending properties. - * Driver requirement: i915, xe - * Functionality: plane - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: coverage-7efc - * Description: Uses alpha values 0x7e and 0xfc to validate fg.alpha and - * plane_alpha are swappable on coverage blend mode. - * Driver requirement: i915, xe - * Functionality: plane - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: constant-alpha-%s - * Description: Tests plane alpha and blending properties with %arg[1]. - * Driver requirement: i915, xe - * Functionality: plane - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @max: maximum alpha value - * @mid: medium alpha value - * @min: minimum alpha value - */ static void run_test_on_pipe_planes(data_t *data, enum pipe pipe, igt_output_t *output, bool blend, bool must_multiply, void(*test)(data_t *, enum pipe, igt_plane_t *)) diff --git a/tests/kms_plane_cursor.c b/tests/kms_plane_cursor.c index 22c5a709d..6c9d7cfdf 100644 --- a/tests/kms_plane_cursor.c +++ b/tests/kms_plane_cursor.c @@ -20,34 +20,27 @@ * OTHER DEALINGS IN THE SOFTWARE. */ -#include "igt.h" - /** * TEST: kms plane cursor * Category: Display * Description: Tests cursor interactions with primary and overlay planes. - * - * SUBTEST: overlay - * Description: Tests atomic cursor positioning on primary plane and overlay plane * Driver requirement: i915, xe * Functionality: cursor, plane * Mega feature: General Display Features * Test category: functionality test + */ +#include "igt.h" + +/** + * SUBTEST: overlay + * Description: Tests atomic cursor positioning on primary plane and overlay plane * * SUBTEST: primary * Description: Tests atomic cursor positioning on primary plane - * Driver requirement: i915, xe - * Functionality: cursor, plane - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: viewport * Description: Tests atomic cursor positioning on primary plane and overlay plane * with buffer larger than viewport used for display - * Driver requirement: i915, xe - * Functionality: cursor, plane - * Mega feature: General Display Features - * Test category: functionality test */ /* diff --git a/tests/kms_plane_lowres.c b/tests/kms_plane_lowres.c index d9a175c9b..06b1c93bf 100644 --- a/tests/kms_plane_lowres.c +++ b/tests/kms_plane_lowres.c @@ -27,6 +27,9 @@ * Category: Display * Description: Test atomic mode setting with a plane by switching between high * and low resolutions + * Driver requirement: i915, xe + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include "drmtest.h" @@ -36,6 +39,25 @@ #include <string.h> #include <time.h> +/** + * SUBTEST: tiling-none + * Description: Tests the visibility of the planes when switching between high + * and low resolution with Linear buffer (no tiling) + * Functionality: plane + * + * SUBTEST: tiling-%s + * Description: Tests the visibility of the planes when switching between high + * and low resolution with %arg[1] + * Functionality: plane, tiling + * + * arg[1]: + * + * @4: 4-tiling + * @x: x-tiling + * @y: y-tiling + * @yf: yf-tiling + */ + IGT_TEST_DESCRIPTION("Test atomic mode setting with a plane by switching between high and low resolutions"); #define SDR_PLANE_BASE 3 @@ -267,30 +289,6 @@ static void test_cleanup(data_t *data) igt_display_commit2(&data->display, COMMIT_ATOMIC); } -/** - * SUBTEST: tiling-none - * Description: Tests the visibility of the planes when switching between high - * and low resolution with Linear buffer (no tiling) - * Driver requirement: i915, xe - * Functionality: plane - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: tiling-%s - * Description: Tests the visibility of the planes when switching between high - * and low resolution with %arg[1] - * Driver requirement: i915, xe - * Functionality: plane, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @4: 4-tiling - * @x: x-tiling - * @y: y-tiling - * @yf: yf-tiling - */ static void run_test(data_t *data, uint64_t modifier) { enum pipe pipe; diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c index b1ae35161..f0910ac61 100644 --- a/tests/kms_plane_multiple.c +++ b/tests/kms_plane_multiple.c @@ -26,6 +26,9 @@ * TEST: kms plane multiple * Category: Display * Description: Test atomic mode setting with multiple planes. + * Driver requirement: i915, xe + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include "drmtest.h" @@ -35,6 +38,27 @@ #include <string.h> #include <time.h> +/** + * SUBTEST: tiling-none + * Description: 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. + * Functionality: plane + * + * SUBTEST: tiling-%s + * Description: 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. + * Functionality: plane, tiling + * + * arg[1]: + * + * @4: 4-tiling + * @x: x-tiling + * @y: y-tiling + * @yf: yf-tiling + */ + IGT_TEST_DESCRIPTION("Test atomic mode setting with multiple planes."); #define SIZE_PLANE 256 @@ -378,32 +402,6 @@ test_plane_position(data_t *data, enum pipe pipe, igt_output_t *output, uint64_t n_planes, modifier); } -/** - * SUBTEST: tiling-none - * Description: 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. - * Driver requirement: i915, xe - * Functionality: plane - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: tiling-%s - * Description: 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. - * Driver requirement: i915, xe - * Functionality: plane, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @4: 4-tiling - * @x: x-tiling - * @y: y-tiling - * @yf: yf-tiling - */ static void run_test(data_t *data, uint64_t modifier) { enum pipe pipe; diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c index 299f55960..1cfc70da6 100644 --- a/tests/kms_plane_scaling.c +++ b/tests/kms_plane_scaling.c @@ -26,11 +26,129 @@ * TEST: kms plane scaling * Category: Display * Description: Test display plane scaling + * Driver requirement: i915, xe + * Functionality: plane, scaling + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include "igt_vec.h" #include <math.h> +/** + * SUBTEST: plane-scaler-with-modifiers-unity-scaling + * Description: Tests scaling with modifiers, unity scaling. + * + * SUBTEST: plane-scaler-with-clipping-clamping-modifiers + * Description: Tests scaling with clipping and clamping, modifiers. + * + * SUBTEST: plane-upscale-with-modifiers-%s + * Description: Tests upscaling with modifiers %arg[1]. + * + * SUBTEST: plane-upscale-with-rotation-%s + * Description: Tests upscaling with rotation %arg[1]. + * + * SUBTEST: plane-upscale-with-pixel-format-%s + * Description: Tests upscaling with pixel formats %arg[1]. + * Functionality: pixel_formats, plane, scaling + * + * SUBTEST: planes-upscale-%s + * Description: Tests upscaling of 2 planes %arg[1]. + * + * arg[1]: + * + * @20x20: from 20x20 fb + * @factor-0-25: for 0.25 scaling factor + */ + +/** + * SUBTEST: plane-downscale-with-modifiers-factor-%s + * Description: Tests downscaling with modifiers for %arg[1] scaling factor. + * + * SUBTEST: plane-downscale-with-rotation-factor-%s + * Description: Tests downscaling with rotation for %arg[1] scaling factor. + * + * SUBTEST: plane-downscale-with-pixel-format-factor-%s + * Description: Tests downscaling with pixel formats for %arg[1] scaling factor. + * Functionality: pixel_formats, plane, scaling + * + * SUBTEST: planes-downscale-factor-%s + * Description: Tests downscaling of 2 planes for %arg[1] scaling factor. + * + * arg[1]: + * + * @0-25: 0.25 + * @0-5: 0.5 + * @0-75: 0.75 + */ + +/** + * SUBTEST: plane-scaler-with-rotation-unity-scaling + * Description: Tests scaling with rotation, unity scaling. + * + * SUBTEST: plane-scaler-with-clipping-clamping-rotation + * Description: Tests scaling with clipping and clamping, rotation. + * + * SUBTEST: plane-scaler-with-pixel-format-unity-scaling + * Description: Tests scaling with pixel formats, unity scaling. + * Functionality: pixel_formats, plane, scaling + * + * SUBTEST: plane-scaler-with-clipping-clamping-pixel-formats + * Description: Tests scaling with clipping and clamping, pixel formats. + * Functionality: pixel_formats, plane, scaling + * + * SUBTEST: planes-scaler-unity-scaling + * Description: Tests scaling of 2 planes, unity scaling. + * + * SUBTEST: invalid-num-scalers + * Description: Negative test for number of scalers per pipe. + * + * SUBTEST: 2x-scaler-multi-pipe + * Description: Tests scaling with multi-pipe. + * + * SUBTEST: invalid-parameters + * Description: Test parameters which should not be accepted + * + * SUBTEST: intel-max-src-size + * Description: Test for validating max source size. + */ + +/** + * SUBTEST: planes-downscale-factor-%s-%s + * Description: Tests downscaling (scaling factor %arg[1]) and upscaling (%arg[2]) + * of 2 planes. + * + * arg[1]: + * + * @0-25: 0.25 + * @0-5: 0.5 + * @0-75: 0.75 + * + * arg[2]: + * + * @upscale-20x20: upscale 20x20 + * @upscale-factor-0-25: scaling factor 0.25 + * @unity-scaling: Unity + */ + +/** + * SUBTEST: planes-%s-downscale-factor-%s + * Description: Tests scaling (%arg[1]) and downscaling (scaling factor %arg[2]) + * of 2 planes. + * + * arg[1]: + * + * @unity-scaling: Unity + * @upscale-factor-0-25: scaling factor 0.25 + * @upscale-20x20: upscale 20x20 + * + * arg[2]: + * + * @0-25: 0.25 + * @0-5: 0.5 + * @0-75: 0.75 + */ + IGT_TEST_DESCRIPTION("Test display plane scaling"); enum scaler_combo_test_type { @@ -529,48 +647,6 @@ static const uint64_t modifiers[] = { I915_FORMAT_MOD_4_TILED }; -/** - * SUBTEST: plane-scaler-with-modifiers-unity-scaling - * Description: Tests scaling with modifiers, unity scaling. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: plane-scaler-with-clipping-clamping-modifiers - * Description: Tests scaling with clipping and clamping, modifiers. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: plane-upscale-with-modifiers-%s - * Description: Tests upscaling with modifiers %arg[1]. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @20x20: from 20x20 fb - * @factor-0-25: for 0.25 scaling factor - */ - -/** - * SUBTEST: plane-downscale-with-modifiers-factor-%s - * Description: Tests downscaling with modifiers for %arg[1] scaling factor. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @0-25: 0.25 - * @0-5: 0.5 - * @0-75: 0.75 - */ static void test_scaler_with_modifier_pipe(data_t *d, int width, int height, bool is_upscale, @@ -603,48 +679,6 @@ static void test_scaler_with_modifier_pipe(data_t *d, } } -/** - * SUBTEST: plane-scaler-with-rotation-unity-scaling - * Description: Tests scaling with rotation, unity scaling. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: plane-scaler-with-clipping-clamping-rotation - * Description: Tests scaling with clipping and clamping, rotation. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: plane-upscale-with-rotation-%s - * Description: Tests upscaling with rotation %arg[1]. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @20x20: from 20x20 fb - * @factor-0-25: for 0.25 scaling factor - */ - -/** - * SUBTEST: plane-downscale-with-rotation-factor-%s - * Description: Tests downscaling with rotation for %arg[1] scaling factor. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @0-25: 0.25 - * @0-5: 0.5 - * @0-75: 0.75 - */ static void test_scaler_with_rotation_pipe(data_t *d, int width, int height, bool is_upscale, @@ -678,48 +712,6 @@ static void test_scaler_with_rotation_pipe(data_t *d, } } -/** - * SUBTEST: plane-scaler-with-pixel-format-unity-scaling - * Description: Tests scaling with pixel formats, unity scaling. - * Driver requirement: i915, xe - * Functionality: pixel_formats, plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: plane-scaler-with-clipping-clamping-pixel-formats - * Description: Tests scaling with clipping and clamping, pixel formats. - * Driver requirement: i915, xe - * Functionality: pixel_formats, plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: plane-upscale-with-pixel-format-%s - * Description: Tests upscaling with pixel formats %arg[1]. - * Driver requirement: i915, xe - * Functionality: pixel_formats, plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @20x20: from 20x20 fb - * @factor-0-25: for 0.25 scaling factor - */ - -/** - * SUBTEST: plane-downscale-with-pixel-format-factor-%s - * Description: Tests downscaling with pixel formats for %arg[1] scaling factor. - * Driver requirement: i915, xe - * Functionality: pixel_formats, plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @0-25: 0.25 - * @0-5: 0.5 - * @0-75: 0.75 - */ static void test_scaler_with_pixel_format_pipe(data_t *d, int width, int height, bool is_upscale, enum pipe pipe, igt_output_t *output) { @@ -855,83 +847,6 @@ static void setup_fb(int fd, int width, int height, struct igt_fb *fb) fb); } -/** - * SUBTEST: planes-downscale-factor-%s - * Description: Tests downscaling of 2 planes for %arg[1] scaling factor. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @0-25: 0.25 - * @0-5: 0.5 - * @0-75: 0.75 - */ -/** - * SUBTEST: planes-downscale-factor-%s-%s - * Description: Tests downscaling (scaling factor %arg[1]) and upscaling (%arg[2]) - * of 2 planes. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @0-25: 0.25 - * @0-5: 0.5 - * @0-75: 0.75 - * - * arg[2]: - * - * @upscale-20x20: upscale 20x20 - * @upscale-factor-0-25: scaling factor 0.25 - * @unity-scaling: Unity - */ -/** - * SUBTEST: planes-scaler-unity-scaling - * Description: Tests scaling of 2 planes, unity scaling. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: planes-upscale-%s - * Description: Tests upscaling of 2 planes %arg[1]. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @20x20: from 20x20 fb - * @factor-0-25: for 0.25 scaling factor - */ -/** - * SUBTEST: planes-%s-downscale-factor-%s - * Description: Tests scaling (%arg[1]) and downscaling (scaling factor %arg[2]) - * of 2 planes. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @unity-scaling: Unity - * @upscale-factor-0-25: scaling factor 0.25 - * @upscale-20x20: upscale 20x20 - * - * arg[2]: - * - * @0-25: 0.25 - * @0-5: 0.5 - * @0-75: 0.75 - */ - static void test_planes_scaling_combo(data_t *d, int w1, int h1, int w2, int h2, enum pipe pipe, igt_output_t *output, @@ -990,14 +905,6 @@ test_planes_scaling_combo(data_t *d, int w1, int h1, int w2, int h2, cleanup_fbs(d); } -/** - * SUBTEST: invalid-num-scalers - * Description: Negative test for number of scalers per pipe. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_invalid_num_scalers(data_t *d, enum pipe pipe, igt_output_t *output) { @@ -1063,14 +970,6 @@ test_invalid_num_scalers(data_t *d, enum pipe pipe, igt_output_t *output) cleanup_fbs(d); } -/** - * SUBTEST: 2x-scaler-multi-pipe - * Description: Tests scaling with multi-pipe. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_scaler_with_multi_pipe_plane(data_t *d) { igt_display_t *display = &d->display; @@ -1155,14 +1054,6 @@ static void test_scaler_with_multi_pipe_plane(data_t *d) igt_assert_eq(ret1 && ret2, 0); } -/** - * SUBTEST: invalid-parameters - * Description: Test parameters which should not be accepted - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - */ static void invalid_parameter_tests(data_t *d) { enum pipe pipe = PIPE_A; @@ -1243,15 +1134,6 @@ static drmModeModeInfo *find_mode(data_t *data, igt_output_t *output, const uint return mode; } -/** - * SUBTEST: intel-max-src-size - * Description: Test for validating max source size. - * Driver requirement: i915, xe - * Functionality: plane, scaling - * Mega feature: General Display Features - * Test category: functionality test - */ - /* * Max source/destination width/height for intel driver. * These numbers are coming from diff --git a/tests/kms_prime.c b/tests/kms_prime.c index 14e44869d..36cb7f601 100644 --- a/tests/kms_prime.c +++ b/tests/kms_prime.c @@ -21,6 +21,14 @@ * IN THE SOFTWARE. */ +/** + * TEST: kms prime + * Category: Display + * Description: Prime tests, focusing on KMS side + * Driver requirement: i915, xe + * Mega feature: General Display Features + * Test category: functionality test + */ #include "igt.h" #include "igt_device.h" #include "igt_debugfs.h" @@ -30,32 +38,20 @@ #include <sys/ioctl.h> #include <sys/poll.h> #include <time.h> + /** - * TEST: kms prime - * Category: Display - * Description: Prime tests, focusing on KMS side - * * SUBTEST: D3hot * Description: Validate pci state of dGPU when dGPU is idle and scanout is on iGPU - * Driver requirement: i915, xe * Functionality: hybrid, kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: basic-modeset-hybrid * Description: Basic modeset on the one device when the other device is active - * Driver requirement: i915, xe * Functionality: hybrid, kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: basic-crc-%s * Description: Make a dumb color buffer, export to another device and compare * the CRCs with a buffer native to that device - * Driver requirement: i915, xe * Functionality: crc, hybrid, kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * diff --git a/tests/kms_prop_blob.c b/tests/kms_prop_blob.c index c92525227..8ec9a2e6a 100644 --- a/tests/kms_prop_blob.c +++ b/tests/kms_prop_blob.c @@ -29,6 +29,10 @@ * TEST: kms prop blob * Category: Display * Description: Tests behaviour of mass-data 'blob' properties. + * Driver requirement: i915, xe + * Functionality: kms_core + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include <errno.h> @@ -36,6 +40,37 @@ #include <stdio.h> #include <string.h> +/** + * SUBTEST: basic + * Description: Test to ensure property support exists + * + * SUBTEST: blob-multiple + * Description: Test validates destroying multiple properties explicitly works as needed. + * + * SUBTEST: invalid-%s-%s + * Description: Tests error handling when invalid properties are %ar[1] with %arg[2]. + * + * arg[1]: + * + * @get: fetched + * @set: set + * + * arg[2]: + * + * @prop: blob object type + * @prop-any: object of any type + */ + +/** + * SUBTEST: blob-prop-%s + * Description: Tests validates the %arg[1] of the properties created. + * + * arg[1]: + * + * @core: validity + * @lifetime: lifetime + * @validate: blob size + */ IGT_TEST_DESCRIPTION("Tests behaviour of mass-data 'blob' properties."); static const struct drm_mode_modeinfo test_mode_valid = { @@ -123,27 +158,6 @@ destroy_prop(int fd, uint32_t prop_id) return 0; } -/** - * SUBTEST: blob-multiple - * Description: Test validates destroying multiple properties explicitly works as needed. - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: blob-prop-%s - * Description: Tests validates the %arg[1] of the properties created. - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @core: validity - * @lifetime: lifetime - * @validate: blob size - */ static void test_validate(int fd) { @@ -264,14 +278,6 @@ test_core(int fd) igt_assert_eq(validate_prop(fd, 0), ENOENT); } -/** - * SUBTEST: basic - * Description: Test to ensure property support exists - * Driver requirement: i915, xe - * Test category: functionality test - * Functionality: kms_core - * Mega feature: General Display Features - */ static void test_basic(int fd) { @@ -282,24 +288,6 @@ test_basic(int fd) igt_assert_eq(destroy_prop(fd, prop_id), 0); } -/** - * SUBTEST: invalid-%s-%s - * Description: Tests error handling when invalid properties are %ar[1] with %arg[2]. - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @get: fetched - * @set: set - * - * arg[2]: - * - * @prop: blob object type - * @prop-any: object of any type - */ static void prop_tests(int fd) { struct drm_mode_obj_get_properties get_props = {}; diff --git a/tests/kms_properties.c b/tests/kms_properties.c index 328436622..3b5b3c95e 100644 --- a/tests/kms_properties.c +++ b/tests/kms_properties.c @@ -21,6 +21,15 @@ * IN THE SOFTWARE. */ +/** + * TEST: kms properties + * Category: Display + * Description: Test to validate the properties of all planes, crtc and connectors + * Driver requirement: i915, xe + * Functionality: kms_core + * Mega feature: General Display Features + * Test category: functionality test + */ #include "igt.h" #include "drmtest.h" #include <errno.h> @@ -28,17 +37,10 @@ #include <stdio.h> #include <string.h> #include <time.h> + /** - * TEST: kms properties - * Category: Display - * Description: Test to validate the properties of all planes, crtc and connectors - * * SUBTEST: %s-properties-%s * Description: Tests %arg[1] properties with %arg[2] commit - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * @@ -53,6 +55,16 @@ * @legacy: legacy */ +/** + * SUBTEST: get_properties-sanity-%s + * Description: Test validates the properties of all planes, crtc and connectors + * with %arg[1] commit + * + * arg[1]: + * + * @atomic: atomic + * @non-atomic: legacy + */ struct additional_test { const char *name; @@ -712,20 +724,6 @@ static void expect_no_props(int fd, uint32_t obj_type, uint32_t obj_id) igt_assert_neq(drmIoctl(fd, DRM_IOCTL_MODE_OBJ_GETPROPERTIES, &properties), 0); } -/** - * SUBTEST: get_properties-sanity-%s - * Description: Test validates the properties of all planes, crtc and connectors - * with %arg[1] commit - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @atomic: atomic - * @non-atomic: legacy - */ static void get_prop_sanity(igt_display_t *display, bool atomic) { int fd = display->drm_fd; diff --git a/tests/kms_rmfb.c b/tests/kms_rmfb.c index 6c6cdffba..9b135c008 100644 --- a/tests/kms_rmfb.c +++ b/tests/kms_rmfb.c @@ -21,6 +21,16 @@ * IN THE SOFTWARE. */ +/** + * TEST: kms rmfb + * Category: Display + * Description: This tests rmfb and close-fd behavior. In these casesthe + * framebuffers should be removed from the crtc. + * Driver requirement: i915, xe + * Functionality: kms_gem_interop + * Mega feature: General Display Features + * Test category: functionality test + */ #include "igt.h" #include "drmtest.h" #include <errno.h> @@ -28,27 +38,15 @@ #include <stdio.h> #include <string.h> #include <time.h> + /** - * TEST: kms rmfb - * Category: Display - * Description: This tests rmfb and close-fd behavior. In these casesthe - * framebuffers should be removed from the crtc. - * * SUBTEST: close-fd * Description: RMFB is supposed to free the framebuffers from any and all planes * so test this and make sure it works with fd close and reopen. - * Driver requirement: i915, xe - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: rmfb-ioctl * Description: RMFB is supposed to free the framebuffers from any and all planes * so test this and make sure it works. - * Driver requirement: i915, xe - * Functionality: kms_gem_interop - * Mega feature: General Display Features - * Test category: functionality test */ #ifndef DRM_CAP_CURSOR_WIDTH diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c index f171fcd22..dec1c5619 100644 --- a/tests/kms_rotation_crc.c +++ b/tests/kms_rotation_crc.c @@ -26,11 +26,98 @@ * TEST: kms rotation crc * Category: Display * Description: Tests different rotations with different planes & formats + * Driver requirement: i915, xe + * Functionality: plane, rotation + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include "igt_vec.h" #include <math.h> +/** + * SUBTEST: %s-rotation-180 + * Description: Rotation test with 180 degree for %arg[1] planes + * + * arg[1]: + * + * @primary: primary + * @sprite: sprite + * @cursor: cursor + */ + +/** + * SUBTEST: %s-rotation-%d + * Description: Rotation test with %arg[2] degree for %arg[1] planes of gen9+ + * + * arg[1]: + * + * @primary: primary + * @sprite: sprite + * + * arg[2].values: 90, 270 + */ + +/** + * SUBTEST: bad-pixel-format + * Description: Checking unsupported pixel format for gen9+ with 90 degree of rotation + * + * SUBTEST: bad-tiling + * Description: Checking unsupported tiling for gen9+ with 90 degree of rotation + * Functionality: plane, rotation, tiling + */ + +/** + * SUBTEST: primary-%s-tiled-reflect-x-%d + * Description: Test for %arg[1] & %arg[2] degree rotation on primary plane + * Functionality: plane, rotation, tiling + * + * arg[1]: + * + * @4: 4 tiling + * @x: x tiling + * @y: y tiling + * @yf: yf tiling + * + * arg[2].values: 0, 180 + */ + +/** + * SUBTEST: sprite-rotation-90-pos-100-0 + * Description: Rotation test with 90 degree for a plane of gen9+ with given position + * + * SUBTEST: primary-%s-tiled-reflect-x-%d + * Description: Test for %arg[1] & %arg[2] degree rotation on primary plane + * Functionality: plane, rotation, tiling + * + * arg[1]: + * + * @y: y tiling + * @yf: yf tiling + * + * arg[2].values: 90, 270 + */ + +/** + * SUBTEST: multiplane-rotation + * Description: Rotation test on both planes by making them fully visible + * + * SUBTEST: multiplane-rotation-cropping-%s + * Description: Rotation test on both planes by cropping left/%arg[1] corner of + * primary plane and right/%arg[1] corner of sprite plane + * + * arg[1]: + * + * @bottom: bottom + * @top: top + */ + +/** + * SUBTEST: exhaust-fences + * Description: This test intends to check for fence leaks exhaustively + * Driver requirement: i915 + */ + #define MAX_FENCES 32 #define MAXMULTIPLANESAMOUNT 2 #define TEST_MAX_WIDTH 640 @@ -479,93 +566,6 @@ static bool test_format(data_t *data, return true; } -/** - * SUBTEST: %s-rotation-180 - * Description: Rotation test with 180 degree for %arg[1] planes - * Driver requirement: i915, xe - * Functionality: plane, rotation - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @primary: primary - * @sprite: sprite - * @cursor: cursor - */ - -/** - * SUBTEST: %s-rotation-%d - * Description: Rotation test with %arg[2] degree for %arg[1] planes of gen9+ - * Driver requirement: i915, xe - * Functionality: plane, rotation - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @primary: primary - * @sprite: sprite - * - * arg[2].values: 90, 270 - */ - -/** - * SUBTEST: bad-pixel-format - * Description: Checking unsupported pixel format for gen9+ with 90 degree of rotation - * Driver requirement: i915, xe - * Functionality: plane, rotation - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: bad-tiling - * Description: Checking unsupported tiling for gen9+ with 90 degree of rotation - * Driver requirement: i915, xe - * Functionality: plane, rotation, tiling - * Mega feature: General Display Features - * Test category: functionality test - */ - -/** - * SUBTEST: primary-%s-tiled-reflect-x-%d - * Description: Test for %arg[1] & %arg[2] degree rotation on primary plane - * Driver requirement: i915, xe - * Functionality: plane, rotation, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @4: 4 tiling - * @x: x tiling - * @y: y tiling - * @yf: yf tiling - * - * arg[2].values: 0, 180 - */ - -/** - * SUBTEST: primary-%s-tiled-reflect-x-%d - * Description: Test for %arg[1] & %arg[2] degree rotation on primary plane - * Driver requirement: i915, xe - * Functionality: plane, rotation, tiling - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @y: y tiling - * @yf: yf tiling - * - * arg[2].values: 90, 270 - * - * SUBTEST: sprite-rotation-90-pos-100-0 - * Description: Rotation test with 90 degree for a plane of gen9+ with given position - * Driver requirement: i915, xe - * Functionality: plane, rotation - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_plane_rotation(data_t *data, int plane_type, bool test_bad_format) { igt_display_t *display = &data->display; @@ -885,28 +885,6 @@ static bool reusecrcfromlastround(planeinfos p[2], int lastroundp1format, return true; } -/** - * SUBTEST: multiplane-rotation - * Description: Rotation test on both planes by making them fully visible - * Driver requirement: i915, xe - * Functionality: plane, rotation - * Mega feature: General Display Features - * Test category: functionality test - * - * SUBTEST: multiplane-rotation-cropping-%s - * Description: Rotation test on both planes by cropping left/%arg[1] corner of - * primary plane and right/%arg[1] corner of sprite plane - * Driver requirement: i915, xe - * Functionality: plane, rotation - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @bottom: bottom - * @top: top - */ - /* * Here is pipe parameter which is now used only for first pipe. * It is left here if this test ever was wanted to be run on @@ -1104,14 +1082,6 @@ static void test_multi_plane_rotation(data_t *data, enum pipe pipe) igt_require_f(found, "No valid pipe/output combo found.\n"); } -/** - * SUBTEST: exhaust-fences - * Description: This test intends to check for fence leaks exhaustively - * Driver requirement: i915 - * Functionality: plane, rotation - * Mega feature: General Display Features - * Test category: functionality test - */ static void test_plane_rotation_exhaust_fences(data_t *data, enum pipe pipe, igt_output_t *output, diff --git a/tests/kms_scaling_modes.c b/tests/kms_scaling_modes.c index bd7ed7e56..cfb79e7c6 100644 --- a/tests/kms_scaling_modes.c +++ b/tests/kms_scaling_modes.c @@ -24,18 +24,20 @@ * Swati Sharma <swati2.sharma@intel.com> */ -#include "igt.h" /** * TEST: kms scaling modes * Category: Display * Description: Test display scaling modes - * - * SUBTEST: scaling-mode-%s - * Description: Tests %arg[1] display scaling mode * Driver requirement: i915, xe * Functionality: eDP, plane, scaling * Mega feature: General Display Features * Test category: functionality test + */ +#include "igt.h" + +/** + * SUBTEST: scaling-mode-%s + * Description: Tests %arg[1] display scaling mode * * arg[1]: * diff --git a/tests/kms_selftest.c b/tests/kms_selftest.c index 080ffdf2c..a65c76cb4 100644 --- a/tests/kms_selftest.c +++ b/tests/kms_selftest.c @@ -21,19 +21,21 @@ * IN THE SOFTWARE. */ -#include "igt.h" -#include "igt_kmod.h" /** * TEST: kms selftest * Category: Display * Description: Basic sanity check of KMS selftests. - * - * SUBTEST: %s - * Description: Basic sanity check of KMS selftest %arg[1]. * Driver requirement: i915, xe * Functionality: kms_core * Mega feature: General Display Features * Test category: functionality test + */ +#include "igt.h" +#include "igt_kmod.h" + +/** + * SUBTEST: %s + * Description: Basic sanity check of KMS selftest %arg[1]. * * arg[1]: * diff --git a/tests/kms_sequence.c b/tests/kms_sequence.c index 9476203e9..f1dcb13be 100644 --- a/tests/kms_sequence.c +++ b/tests/kms_sequence.c @@ -31,6 +31,10 @@ * TEST: kms sequence * Category: Display * Description: Test CrtcGetSequence and CrtcQueueSequence. + * Driver requirement: i915, xe + * Functionality: vblank + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include <stdlib.h> @@ -47,6 +51,28 @@ #include <drm.h> +/** + * SUBTEST: get-%s + * Description: This is a test of drmCrtcGetSequence with %arg[1] + * + * arg[1]: + * + * @busy: busy + * @forked: forked bo + * @forked-busy: forked bo & busy + * @idle: idle + */ + +/** + * SUBTEST: queue-%s + * Description: This is a test of drmCrtcQueueSequence with %arg[1] + * + * arg[1]: + * + * @busy: busy + * @idle: idle + */ + IGT_TEST_DESCRIPTION("Test CrtcGetSequence and CrtcQueueSequence."); typedef struct { @@ -141,35 +167,6 @@ static int crtc_queue_sequence(int fd, struct drm_crtc_queue_sequence *cqs) return err; } -/** - * SUBTEST: get-%s - * Description: This is a test of drmCrtcGetSequence with %arg[1] - * Driver requirement: i915, xe - * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @busy: busy - * @forked: forked bo - * @forked-busy: forked bo & busy - * @idle: idle - */ - -/** - * SUBTEST: queue-%s - * Description: This is a test of drmCrtcQueueSequence with %arg[1] - * Driver requirement: i915, xe - * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: - * - * @busy: busy - * @idle: idle - */ static void run_test(data_t *data, int fd, void (*testfunc)(data_t *, int, int)) { int nchildren = diff --git a/tests/kms_setmode.c b/tests/kms_setmode.c index 32a6fb690..e613fb464 100644 --- a/tests/kms_setmode.c +++ b/tests/kms_setmode.c @@ -20,6 +20,17 @@ * Authors: * Imre Deak <imre.deak@intel.com> */ + +/** + * TEST: kms setmode + * Category: Display + * Description: Tests the mode by iterating through all valid/invalid crtc/connector + * combinations + * Driver requirement: i915, xe + * Functionality: kms_core + * Mega feature: General Display Features + * Test category: functionality test + */ #include "config.h" #include "igt.h" @@ -31,59 +42,31 @@ #include <sys/time.h> #include <math.h> #include "xe/xe_query.h" + /** - * TEST: kms setmode - * Category: Display - * Description: Tests the mode by iterating through all valid/invalid crtc/connector - * combinations - * * SUBTEST: basic * Description: Tests the vblank timing by iterating through all valid crtc/connector * combinations - * Driver requirement: i915, xe - * Functionality: kms_core, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: basic-clone-single-crtc * Description: Tests the mode by cloning the single crtc by iterating through all * valid crtc/connector combinations - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: clone-exclusive-crtc * Description: Tests the mode by cloning the exclusive crtc by iterating through * all valid crtc/connector combinations - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: invalid-clone-exclusive-crtc * Description: Tests the mode by cloning the exclusive crtc by iterating through * all invalid crtc/connector combinations - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: invalid-clone-single-crtc * Description: Tests the mode by cloning the single crtc by iterating through all * invalid crtc/connector combinations - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: invalid-clone-single-crtc-stealing * Description: Tests the stealing mode by cloning the single crtc by iterating * through all invalid crtc/connector combinations - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test */ #define MAX_CONNECTORS 10 diff --git a/tests/kms_sysfs_edid_timing.c b/tests/kms_sysfs_edid_timing.c index ee47a024e..a070bbf01 100644 --- a/tests/kms_sysfs_edid_timing.c +++ b/tests/kms_sysfs_edid_timing.c @@ -20,26 +20,29 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ + +/** + * TEST: kms sysfs edid timing + * Category: Display + * Description: Test to check the time it takes to reprobe each connector. + * Driver requirement: i915, xe + * Functionality: kms_core + * Mega feature: General Display Features + * Test category: functionality test + */ #include "igt.h" #include <dirent.h> #include <fcntl.h> #include <sys/stat.h> + /** - * TEST: kms sysfs edid timing - * Category: Display - * Description: Test to check the time it takes to reprobe each connector. - * * SUBTEST: * Description: This test checks the time it takes to reprobe each connector and * fails if either the time it takes for 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. - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test */ #define THRESHOLD_PER_CONNECTOR 150 diff --git a/tests/kms_tiled_display.c b/tests/kms_tiled_display.c index 519c3754c..1a32574c7 100644 --- a/tests/kms_tiled_display.c +++ b/tests/kms_tiled_display.c @@ -40,6 +40,9 @@ * TEST: kms tiled display * Category: Display * Description: Test for Transcoder Port Sync for Display Port Tiled Displays + * Driver requirement: i915, xe + * Mega feature: General Display Features + * Test category: functionality test */ #include "igt.h" #include "poll.h" @@ -51,18 +54,12 @@ * SUBTEST: basic-test-pattern * Description: Make sure the Tiled CRTCs are synchronized and we get page flips * for all tiled CRTCs in one vblank (executes on real panel). - * Driver requirement: i915, xe * Functionality: tiled_display - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: basic-test-pattern-with-chamelium * Description: Make sure the Tiled CRTCs are synchronized and we get page flips * for all tiled CRTCs in one vblank (executes on chamelium). - * Driver requirement: i915, xe * Functionality: chamelium, tiled_display - * Mega feature: General Display Features - * Test category: functionality test */ IGT_TEST_DESCRIPTION("Test for genlocked CRTCs with tiled displays"); diff --git a/tests/kms_tv_load_detect.c b/tests/kms_tv_load_detect.c index 67dbb242e..ae3a5661e 100644 --- a/tests/kms_tv_load_detect.c +++ b/tests/kms_tv_load_detect.c @@ -22,19 +22,21 @@ * */ -#include "igt.h" /** * TEST: kms tv load detect * Category: Display * Description: Test to check tv load detection. - * - * SUBTEST: load-detect - * Description: Check tv load detection works correctly. * Driver requirement: i915, xe * Functionality: obsolete * Mega feature: General Display Features * Test category: functionality test */ +#include "igt.h" + +/** + * SUBTEST: load-detect + * Description: Check tv load detection works correctly. + */ IGT_TEST_DESCRIPTION("Check tv load detection works correctly."); diff --git a/tests/kms_universal_plane.c b/tests/kms_universal_plane.c index 8aa43a929..8d424d6fd 100644 --- a/tests/kms_universal_plane.c +++ b/tests/kms_universal_plane.c @@ -21,6 +21,15 @@ * IN THE SOFTWARE. */ +/** + * TEST: kms universal plane + * Category: Display + * Description: Check pageflip & modeset on universal plane + * Driver requirement: i915, xe + * Functionality: plane + * Mega feature: General Display Features + * Test category: functionality test + */ #include "igt.h" #include <errno.h> #include <stdbool.h> @@ -29,31 +38,16 @@ #include <fcntl.h> /** - * TEST: kms universal plane - * Category: Display - * Description: Check pageflip & modeset on universal plane - * * SUBTEST: cursor-fb-leak-pipe-%s * Description: Check for cursor leaks after performing cursor operations on %arg[1] - * Driver requirement: i915, xe * Functionality: cursor, plane - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: disable-primary-vs-flip-pipe-%s * Description: Check pageflips while primary plane is disabled before IOCTL or * between IOCTL and pageflip execution on %arg[1] - * Driver requirement: i915, xe - * Functionality: plane - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: universal-plane-pageflip-windowed-pipe-%s * Description: Check if pageflip succeeds in windowed setting on %arg[1] - * Driver requirement: i915, xe - * Functionality: plane - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * @@ -70,10 +64,6 @@ /** * SUBTEST: universal-plane-pipe-%s-%s * Description: Check %arg[2] on %arg[1] - * Driver requirement: i915, xe - * Functionality: plane - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * diff --git a/tests/kms_vblank.c b/tests/kms_vblank.c index 33e933c22..79cf024ed 100644 --- a/tests/kms_vblank.c +++ b/tests/kms_vblank.c @@ -26,6 +26,15 @@ * This is a test of performance of drmWaitVblank. */ +/** + * TEST: kms vblank + * Category: Display + * Description: Test speed of WaitVblank. + * Driver requirement: i915, xe + * Functionality: vblank + * Mega feature: General Display Features + * Test category: functionality test + */ #include "igt.h" #include <stdlib.h> #include <stdio.h> @@ -40,97 +49,38 @@ #include <sys/wait.h> #include <drm.h> + /** - * TEST: kms vblank - * Category: Display - * Description: Test speed of WaitVblank. - * * SUBTEST: crtc-id * Description: check the Vblank and flip events works with given crtc id - * Driver requirement: i915, xe - * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: invalid * Description: Negative test for vblank request - * Driver requirement: i915, xe - * Functionality: vblank - * Mega feature: General Display Features - * Test category: functionality test - */ - -/** + * * SUBTEST: pipe-%s-ts-continuation-dpms-rpm * Description: Test TS continuty with DPMS & RPM while hanging by introducing * NOHANG flag on %arg[1] - * Driver requirement: i915, xe * Functionality: dpms, hang, rpm, vblank - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: * - * @A: pipe A - * @B: pipe B - * @C: pipe C - * @D: pipe D - * @E: pipe E - * @F: pipe F - * @G: pipe G - * @H: pipe H - */ - -/** * SUBTEST: pipe-%s-ts-continuation-dpms-suspend * Description: Test TS continuty with DPMS & Suspend while hanging by introducing * NOHANG flag on %arg[1] - * Driver requirement: i915, xe * Functionality: dpms, hang, suspend, vblank - * Mega feature: General Display Features - * Test category: functionality test * - * arg[1]: - * - * @A: pipe A - * @B: pipe B - * @C: pipe C - * @D: pipe D - * @E: pipe E - * @F: pipe F - * @G: pipe G - * @H: pipe H - */ - -/** * SUBTEST: pipe-%s-ts-continuation-suspend * Description: Test TS continuty with Suspend while hanging by introducing NOHANG * flag on %arg[1] - * Driver requirement: i915, xe * Functionality: hang, suspend, vblank - * Mega feature: General Display Features - * Test category: functionality test - * - * arg[1]: * - * @A: pipe A - * @B: pipe B - * @C: pipe C - * @D: pipe D - * @E: pipe E - * @F: pipe F - * @G: pipe G - * @H: pipe H - */ - -/** * SUBTEST: pipe-%s-ts-continuation-modeset-rpm * Description: Test TS continuty during Modeset with Suspend while hanging by * introducing NOHANG flag on %arg[1] - * Driver requirement: i915, xe * Functionality: hang, rpm, vblank - * Mega feature: General Display Features - * Test category: functionality test + * + * SUBTEST: pipe-%s-accuracy-idle + * Description: Test Accuracy of vblank events while hanging by introducing NOHANG + * flag on %arg[1] + * Functionality: hang, vblank * * arg[1]: * @@ -145,27 +95,13 @@ */ /** - * SUBTEST: pipe-%s-accuracy-idle - * Description: Test Accuracy of vblank events while hanging by introducing NOHANG - * flag on %arg[1] - * Driver requirement: i915, xe - * Functionality: hang, vblank - * Mega feature: General Display Features - * Test category: functionality test - * * SUBTEST: pipe-%s-%s * Description: Test %arg[2] while hanging by introducing NOHANG flag on %arg[1] - * Driver requirement: i915, xe * Functionality: hang, vblank - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: pipe-%s-%s-hang * Description: Test %arg[2] with injected hang is working properly on %arg[1] - * Driver requirement: i915, xe * Functionality: hang, vblank - * Mega feature: General Display Features - * Test category: functionality test * * arg[1]: * diff --git a/tests/kms_vrr.c b/tests/kms_vrr.c index e203fd4d5..0850e5c43 100644 --- a/tests/kms_vrr.c +++ b/tests/kms_vrr.c @@ -20,52 +20,40 @@ * OTHER DEALINGS IN THE SOFTWARE. */ -#include "igt.h" -#include "sw_sync.h" -#include <fcntl.h> -#include <signal.h> /** * TEST: kms vrr * Category: Display * Description: Test to validate diffent features of VRR - * - * SUBTEST: flip-basic - * Description: Tests that VRR is enabled and that the difference between flip - * timestamps converges to the requested rate * Driver requirement: i915, xe * Functionality: adaptive_sync * Mega feature: VRR * Test category: functionality test + */ +#include "igt.h" +#include "sw_sync.h" +#include <fcntl.h> +#include <signal.h> + +/** + * SUBTEST: flip-basic + * Description: Tests that VRR is enabled and that the difference between flip + * timestamps converges to the requested rate * * SUBTEST: flip-dpms * Description: Tests with DPMS that VRR is enabled and that the difference * between flip timestamps converges to the requested rate. - * Driver requirement: i915, xe * Functionality: adaptive_sync, dpms - * Mega feature: VRR - * Test category: functionality test * * SUBTEST: flip-suspend * Description: Tests that VRR is enabled and that the difference between flip * timestamps converges to the requested rate in a suspend test - * Driver requirement: i915, xe * Functionality: adaptive_sync, suspend - * Mega feature: VRR - * Test category: functionality test * * SUBTEST: flipline * Description: Make sure that flips happen at flipline decision boundary. - * Driver requirement: i915, xe - * Functionality: adaptive_sync - * Mega feature: VRR - * Test category: functionality test * * SUBTEST: negative-basic * Description: Make sure that VRR should not be enabled on the Non-VRR panel. - * Driver requirement: i915, xe - * Functionality: adaptive_sync - * Mega feature: VRR - * Test category: functionality test */ #define NSECS_PER_SEC (1000000000ull) diff --git a/tests/kms_writeback.c b/tests/kms_writeback.c index a69cf6609..469c17e2d 100644 --- a/tests/kms_writeback.c +++ b/tests/kms_writeback.c @@ -22,6 +22,18 @@ * */ +/** + * TEST: kms writeback + * Category: Display + * Description: This test validates the expected behavior of the writeback + * connectors feature by checking if the target device support + * writeback; it validates bad and good combination, check color + * format, and check the output result by using CRC. + * Driver requirement: i915, xe + * Functionality: kms_core + * Mega feature: General Display Features + * Test category: functionality test + */ #include <errno.h> #include <stdbool.h> #include <stdio.h> @@ -32,43 +44,21 @@ #include "igt_core.h" #include "igt_fb.h" #include "sw_sync.h" + /** - * TEST: kms writeback - * Category: Display - * Description: This test validates the expected behavior of the writeback - * connectors feature by checking if the target device support - * writeback; it validates bad and good combination, check color - * format, and check the output result by using CRC. - * * SUBTEST: writeback-check-output * Description: Check writeback output with CRC validation - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: writeback-fb-id * Description: Validate WRITEBACK_FB_ID with valid and invalid options - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: writeback-invalid-parameters * Description: Writeback has a couple of parameters linked together(output * framebuffer and fence); this test goes throughthe combination * of possible bad options - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test * * SUBTEST: writeback-pixel-formats * Description: Check the writeback format - * Driver requirement: i915, xe - * Functionality: kms_core - * Mega feature: General Display Features - * Test category: functionality test */ IGT_TEST_DESCRIPTION( -- 2.40.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [igt-dev] [i-g-t V2 2/2] tests/kms: Optimize KMS testplan documentation 2023-09-21 6:48 ` [igt-dev] [i-g-t V2 " Bhanuprakash Modem @ 2023-09-21 8:15 ` Kamil Konieczny 0 siblings, 0 replies; 12+ messages in thread From: Kamil Konieczny @ 2023-09-21 8:15 UTC (permalink / raw) To: igt-dev Hi Bhanuprakash, On 2023-09-21 at 12:18:13 +0530, Bhanuprakash Modem wrote: > Moving all common key:values to TEST level from SUBTEST will > minimize the maintenance effort. > > Also, to maintain the uniformness, move testplan documentation > to beginning of the file. > > V2: - Rebase > > Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> > --- > tests/intel/kms_big_fb.c | 301 +- > tests/intel/kms_big_joiner.c | 41 +- > tests/intel/kms_busy.c | 88 +- > tests/intel/kms_ccs.c | 15 +- > tests/intel/kms_cdclk.c | 41 +- > tests/intel/kms_dirtyfb.c | 23 +- > tests/intel/kms_draw_crc.c | 71 +- > tests/intel/kms_dsc.c | 8 +- > tests/intel/kms_fb_coherency.c | 21 +- > tests/intel/kms_fbcon_fbt.c | 21 +- > tests/intel/kms_fence_pin_leak.c | 18 +- > tests/intel/kms_flip_scaled_crc.c | 60 +- > tests/intel/kms_flip_tiling.c | 18 +- > tests/intel/kms_frontbuffer_tracking.c | 3892 ++++++++++-------------- ------------------------------------------- ^^^^ Could you make this in smaller steps? Now it ends up in one big comment and code move around and is hard for review. Regards, Kamil > tests/intel/kms_legacy_colorkey.c | 17 +- > tests/intel/kms_mmap_write_crc.c | 20 +- > tests/intel/kms_pipe_b_c_ivb.c | 28 +- > tests/intel/kms_pm_backlight.c | 32 +- > tests/intel/kms_pm_dc.c | 38 +- > tests/intel/kms_pm_lpsp.c | 22 +- > tests/intel/kms_psr.c | 94 +- > tests/intel/kms_psr2_sf.c | 74 +- > tests/intel/kms_psr2_su.c | 19 +- > tests/intel/kms_psr_stress_test.c | 21 +- > tests/intel/kms_pwrite_crc.c | 17 +- > tests/kms_3d.c | 12 +- > tests/kms_addfb_basic.c | 353 +-- > tests/kms_async_flips.c | 81 +- > tests/kms_atomic.c | 145 +- > tests/kms_atomic_interruptible.c | 88 +- > tests/kms_atomic_transition.c | 148 +- > tests/kms_bw.c | 18 +- > tests/kms_color.c | 125 +- > tests/kms_concurrent.c | 14 +- > tests/kms_content_protection.c | 120 +- > tests/kms_cursor_crc.c | 129 +- > tests/kms_cursor_edge_walk.c | 19 +- > tests/kms_cursor_legacy.c | 431 ++- > tests/kms_display_modes.c | 34 +- > tests/kms_dither.c | 27 +- > tests/kms_dp_aux_dev.c | 18 +- > tests/kms_feature_discovery.c | 41 +- > tests/kms_flip.c | 155 +- > tests/kms_flip_event_leak.c | 17 +- > tests/kms_force_connector_basic.c | 53 +- > tests/kms_getfb.c | 142 +- > tests/kms_hdmi_inject.c | 22 +- > tests/kms_hdr.c | 105 +- > tests/kms_invalid_mode.c | 8 +- > tests/kms_lease.c | 89 +- > tests/kms_multipipe_modeset.c | 12 +- > tests/kms_panel_fitting.c | 20 +- > tests/kms_pipe_crc_basic.c | 117 +- > tests/kms_plane.c | 115 +- > tests/kms_plane_alpha_blend.c | 81 +- > tests/kms_plane_cursor.c | 19 +- > tests/kms_plane_lowres.c | 46 +- > tests/kms_plane_multiple.c | 50 +- > tests/kms_plane_scaling.c | 354 +-- > tests/kms_prime.c | 22 +- > tests/kms_prop_blob.c | 82 +- > tests/kms_properties.c | 42 +- > tests/kms_rmfb.c | 24 +- > tests/kms_rotation_crc.c | 204 +- > tests/kms_scaling_modes.c | 10 +- > tests/kms_selftest.c | 12 +- > tests/kms_sequence.c | 55 +- > tests/kms_setmode.c | 41 +- > tests/kms_sysfs_edid_timing.c | 19 +- > tests/kms_tiled_display.c | 9 +- > tests/kms_tv_load_detect.c | 10 +- > tests/kms_universal_plane.c | 28 +- > tests/kms_vblank.c | 96 +- > tests/kms_vrr.c | 32 +- > tests/kms_writeback.c | 36 +- > 75 files changed, 3611 insertions(+), 5319 deletions(-) > > diff --git a/tests/intel/kms_big_fb.c b/tests/intel/kms_big_fb.c > index 611e60896..f3184d565 100644 > --- a/tests/intel/kms_big_fb.c > +++ b/tests/intel/kms_big_fb.c > @@ -25,6 +25,9 @@ > * TEST: kms big fb > * Category: Display > * Description: Test big framebuffers > + * Driver requirement: i915, xe > + * Mega feature: General Display Features > + * Test category: functionality test > */ > > #include "igt.h" > @@ -37,6 +40,130 @@ > #include "xe/xe_ioctl.h" > #include "xe/xe_query.h" > > +/** > + * SUBTEST: linear-%dbpp-rotate-%d > + * Description: Sanity check if addfb ioctl works correctly for given combination > + * of Linear modifier with %arg[1]-bpp & %arg[2]-rotation > + * Functionality: big_fbs, kms_gem_interop, rotation > + * > + * arg[1].values: 8, 16, 32, 64 > + * arg[2].values: 0, 90, 180, 270 > + */ > + > +/** > + * SUBTEST: %s-%dbpp-rotate-%d > + * Description: Sanity check if addfb ioctl works correctly for given combination > + * of %arg[1] with %arg[2]-bpp & %arg[3]-rotation > + * Functionality: big_fbs, kms_gem_interop, rotation, tiling > + * > + * arg[1]: > + * > + * @4-tiled: TILE-4 modifier > + * @x-tiled: TILE-X modifier > + * @y-tiled: TILE-Y modifier > + * @yf-tiled: TILE-YF modifier > + * > + * arg[2].values: 8, 16, 32, 64 > + * arg[3].values: 0, 90, 180, 270 > + */ > + > +/** > + * SUBTEST: linear-max-hw-stride-%dbpp-rotate-%d > + * Description: Test maximum hardware supported stride length for given combination > + * of linear modifier with max hardware stride length, %arg[1]-bpp, > + * and %arg[2]-rotation > + * Functionality: big_fbs, kms_gem_interop, rotation > + * > + * arg[1].values: 32, 64 > + * arg[2].values: 0, 180 > + */ > + > +/** > + * SUBTEST: %s-max-hw-stride-%dbpp-rotate-%d > + * Description: Test maximum hardware supported stride length for given combination > + * of %arg[1] modifier with max hardware stride length, %arg[2]-bpp, > + * and %arg[3]-rotation > + * Functionality: big_fbs, kms_gem_interop, rotation, tiling > + * > + * arg[1]: > + * > + * @4-tiled: TILE-4 modifier > + * @x-tiled: TILE-X modifier > + * @y-tiled: TILE-Y modifier > + * @yf-tiled: TILE-YF modifier > + * > + * arg[2].values: 32, 64 > + * arg[3].values: 0, 180 > + */ > + > +/** > + * SUBTEST: %s-max-hw-stride-%dbpp-rotate-%d-hflip > + * Description: Test maximum hardware supported stride length for given combination > + * of %arg[1] modifier with max hardware stride length, %arg[2]-bpp, > + * and %arg[3]-rotation with H-flip mode > + * Functionality: big_fbs, kms_gem_interop, rotation, tiling > + * > + * SUBTEST: %s-max-hw-stride-%dbpp-rotate-%d-%s > + * Description: Test maximum hardware supported stride length for given combination > + * of %arg[1] modifier with max hardware stride length, %arg[2]-bpp, > + * and %arg[3]-rotation with %arg[4] mode > + * Functionality: async_flips, big_fbs, kms_gem_interop, rotation, tiling > + * > + * arg[1]: > + * > + * @4-tiled: TILE-4 modifier > + * @x-tiled: TILE-X modifier > + * @y-tiled: TILE-Y modifier > + * @yf-tiled: TILE-YF modifier > + * > + * arg[2].values: 32, 64 > + * arg[3].values: 0, 180 > + * > + * arg[4]: > + * > + * @async-flip: Async flip > + * @hflip-async-flip: Async & H-flip > + */ > + > +/** > + * SUBTEST: linear-addfb-size-overflow > + * Description: Sanity check if addfb ioctl fails correctly for (Linear) modifier > + * with small bo. > + * Functionality: big_fbs, kms_gem_interop > + * > + * SUBTEST: %s-addfb-size-overflow > + * Description: Sanity check if addfb ioctl fails correctly for (%arg[1]) modifier > + * with small bo. > + * Functionality: big_fbs, kms_gem_interop, tiling > + * > + * SUBTEST: linear-addfb-size-offset-overflow > + * Description: Sanity check if addfb ioctl fails correctly for (Linear) modifier > + * and offsets with small bo > + * Functionality: big_fbs, kms_gem_interop > + * > + * SUBTEST: %s-addfb-size-offset-overflow > + * Description: Sanity check if addfb ioctl fails correctly for (%arg[1]) modifier > + * and offsets with small bo > + * Functionality: big_fbs, kms_gem_interop, tiling > + * > + * SUBTEST: linear-addfb > + * Description: Sanity check if addfb ioctl works correctly with Linear modifier > + * for given size and strides of fb > + * Functionality: big_fbs, kms_gem_interop > + * > + * SUBTEST: %s-addfb > + * Description: Sanity check if addfb ioctl works correctly with %arg[1] modifier > + * for given size and strides of fb > + * Functionality: big_fbs, kms_gem_interop, tiling > + * > + * arg[1]: > + * > + * @4-tiled: TILE-4 > + * @x-tiled: TILE-X > + * @y-tiled: TILE-Y > + * @yf-tiled: TILE-YF > + */ > + > IGT_TEST_DESCRIPTION("Test big framebuffers"); > > typedef struct { > @@ -588,108 +715,6 @@ max_hw_stride_async_flip_test(data_t *data) > return true; > } > > -/** > - * SUBTEST: linear-%dbpp-rotate-%d > - * Description: Sanity check if addfb ioctl works correctly for given combination > - * of Linear modifier with %arg[1]-bpp & %arg[2]-rotation > - * Driver requirement: i915, xe > - * Functionality: big_fbs, kms_gem_interop, rotation > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1].values: 8, 16, 32, 64 > - * arg[2].values: 0, 90, 180, 270 > - */ > - > -/** > - * SUBTEST: %s-%dbpp-rotate-%d > - * Description: Sanity check if addfb ioctl works correctly for given combination > - * of %arg[1] with %arg[2]-bpp & %arg[3]-rotation > - * Driver requirement: i915, xe > - * Functionality: big_fbs, kms_gem_interop, rotation, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @4-tiled: TILE-4 modifier > - * @x-tiled: TILE-X modifier > - * @y-tiled: TILE-Y modifier > - * @yf-tiled: TILE-YF modifier > - * > - * arg[2].values: 8, 16, 32, 64 > - * arg[3].values: 0, 90, 180, 270 > - */ > - > -/** > - * SUBTEST: linear-max-hw-stride-%dbpp-rotate-%d > - * Description: Test maximum hardware supported stride length for given combination > - * of linear modifier with max hardware stride length, %arg[1]-bpp, > - * and %arg[2]-rotation > - * Driver requirement: i915, xe > - * Functionality: big_fbs, kms_gem_interop, rotation > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1].values: 32, 64 > - * arg[2].values: 0, 180 > - */ > - > -/** > - * SUBTEST: %s-max-hw-stride-%dbpp-rotate-%d > - * Description: Test maximum hardware supported stride length for given combination > - * of %arg[1] modifier with max hardware stride length, %arg[2]-bpp, > - * and %arg[3]-rotation > - * Driver requirement: i915, xe > - * Functionality: big_fbs, kms_gem_interop, rotation, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @4-tiled: TILE-4 modifier > - * @x-tiled: TILE-X modifier > - * @y-tiled: TILE-Y modifier > - * @yf-tiled: TILE-YF modifier > - * > - * arg[2].values: 32, 64 > - * arg[3].values: 0, 180 > - */ > - > -/** > - * SUBTEST: %s-max-hw-stride-%dbpp-rotate-%d-hflip > - * Description: Test maximum hardware supported stride length for given combination > - * of %arg[1] modifier with max hardware stride length, %arg[2]-bpp, > - * and %arg[3]-rotation with H-flip mode > - * Driver requirement: i915, xe > - * Functionality: big_fbs, kms_gem_interop, rotation, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: %s-max-hw-stride-%dbpp-rotate-%d-%s > - * Description: Test maximum hardware supported stride length for given combination > - * of %arg[1] modifier with max hardware stride length, %arg[2]-bpp, > - * and %arg[3]-rotation with %arg[4] mode > - * Driver requirement: i915, xe > - * Functionality: async_flips, big_fbs, kms_gem_interop, rotation, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @4-tiled: TILE-4 modifier > - * @x-tiled: TILE-X modifier > - * @y-tiled: TILE-Y modifier > - * @yf-tiled: TILE-YF modifier > - * > - * arg[2].values: 32, 64 > - * arg[3].values: 0, 180 > - * > - * arg[4]: > - * > - * @async-flip: Async flip > - * @hflip-async-flip: Async & H-flip > - */ > static void test_scanout(data_t *data) > { > igt_output_t *output; > @@ -735,30 +760,6 @@ static void test_scanout(data_t *data) > igt_skip("unsupported configuration\n"); > } > > -/** > - * SUBTEST: linear-addfb-size-overflow > - * Description: Sanity check if addfb ioctl fails correctly for (Linear) modifier > - * with small bo. > - * Driver requirement: i915, xe > - * Functionality: big_fbs, kms_gem_interop > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: %s-addfb-size-overflow > - * Description: Sanity check if addfb ioctl fails correctly for (%arg[1]) modifier > - * with small bo. > - * Driver requirement: i915, xe > - * Functionality: big_fbs, kms_gem_interop, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @4-tiled: TILE-4 > - * @x-tiled: TILE-X > - * @y-tiled: TILE-Y > - * @yf-tiled: TILE-YF > - */ > static void > test_size_overflow(data_t *data) > { > @@ -803,30 +804,6 @@ test_size_overflow(data_t *data) > gem_close(data->drm_fd, bo); > } > > -/** > - * SUBTEST: linear-addfb-size-offset-overflow > - * Description: Sanity check if addfb ioctl fails correctly for (Linear) modifier > - * and offsets with small bo > - * Driver requirement: i915, xe > - * Functionality: big_fbs, kms_gem_interop > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: %s-addfb-size-offset-overflow > - * Description: Sanity check if addfb ioctl fails correctly for (%arg[1]) modifier > - * and offsets with small bo > - * Driver requirement: i915, xe > - * Functionality: big_fbs, kms_gem_interop, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @4-tiled: TILE-4 > - * @x-tiled: TILE-X > - * @y-tiled: TILE-Y > - * @yf-tiled: TILE-YF > - */ > static void > test_size_offset_overflow(data_t *data) > { > @@ -885,30 +862,6 @@ static int rmfb(int fd, uint32_t id) > return err; > } > > -/** > - * SUBTEST: linear-addfb > - * Description: Sanity check if addfb ioctl works correctly with Linear modifier > - * for given size and strides of fb > - * Driver requirement: i915, xe > - * Functionality: big_fbs, kms_gem_interop > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: %s-addfb > - * Description: Sanity check if addfb ioctl works correctly with %arg[1] modifier > - * for given size and strides of fb > - * Driver requirement: i915, xe > - * Functionality: big_fbs, kms_gem_interop, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @4-tiled: TILE-4 > - * @x-tiled: TILE-X > - * @y-tiled: TILE-Y > - * @yf-tiled: TILE-YF > - */ > static void > test_addfb(data_t *data) > { > diff --git a/tests/intel/kms_big_joiner.c b/tests/intel/kms_big_joiner.c > index 5c9646133..2ae17362f 100644 > --- a/tests/intel/kms_big_joiner.c > +++ b/tests/intel/kms_big_joiner.c > @@ -28,9 +28,25 @@ > * TEST: kms big joiner > * Category: Display > * Description: Test big joiner > + * Driver requirement: i915, xe > + * Functionality: 2p1p > + * Mega feature: Pipe Joiner > + * Test category: functionality test > */ > #include "igt.h" > > +/** > + * SUBTEST: basic > + * Description: Verify the basic modeset on big joiner mode on all pipes > + * > + * SUBTEST: invalid-modeset > + * Description: Verify if the modeset on the adjoining pipe is rejected when > + * the pipe is active with a big joiner modeset > + * > + * SUBTEST: 2x-modeset > + * Description: Verify simultaneous modeset on 2 big joiner outputs > + */ > + > #define MAX_HDISPLAY_PER_PIPE 5120 > > IGT_TEST_DESCRIPTION("Test big joiner"); > @@ -45,15 +61,6 @@ typedef struct { > uint32_t big_joiner_output[2]; > } data_t; > > -/** > - * SUBTEST: invalid-modeset > - * Description: Verify if the modeset on the adjoining pipe is rejected when > - * the pipe is active with a big joiner modeset > - * Driver requirement: i915, xe > - * Functionality: 2p1p > - * Mega feature: Pipe Joiner > - * Test category: functionality test > - */ > static void test_invalid_modeset(data_t *data) > { > igt_output_t *output; > @@ -94,14 +101,6 @@ static void test_invalid_modeset(data_t *data) > igt_assert_lt(ret, 0); > } > > -/** > - * SUBTEST: basic > - * Description: Verify the basic modeset on big joiner mode on all pipes > - * Driver requirement: i915, xe > - * Functionality: 2p1p > - * Mega feature: Pipe Joiner > - * Test category: functionality test > - */ > static void test_basic_modeset(data_t *data) > { > drmModeModeInfo *mode; > @@ -140,14 +139,6 @@ static void test_basic_modeset(data_t *data) > igt_display_commit2(display, COMMIT_ATOMIC); > } > > -/** > - * SUBTEST: 2x-modeset > - * Description: Verify simultaneous modeset on 2 big joiner outputs > - * Driver requirement: i915, xe > - * Functionality: 2p1p > - * Mega feature: Pipe Joiner > - * Test category: functionality test > - */ > static void test_dual_display(data_t *data) > { > drmModeModeInfo *mode; > diff --git a/tests/intel/kms_busy.c b/tests/intel/kms_busy.c > index 5b620658f..bd79cb88a 100644 > --- a/tests/intel/kms_busy.c > +++ b/tests/intel/kms_busy.c > @@ -25,6 +25,10 @@ > * TEST: kms busy > * Category: Display > * Description: Basic check of KMS ABI with busy framebuffers. > + * Driver requirement: i915 > + * Functionality: kms_core, hang > + * Mega feature: General Display Features > + * Test category: functionality test > */ > #include <sys/poll.h> > #include <signal.h> > @@ -33,6 +37,38 @@ > #include "i915/gem.h" > #include "igt.h" > > +/** > + * SUBTEST: basic > + * Description: Test for basic check of KMS ABI with busy framebuffers. > + * Functionality: kms_core > + * > + * SUBTEST: basic-hang > + * Description: Test for basic check of KMS ABI with busy framebuffers. > + * > + * SUBTEST: extended-modeset-hang-%s > + * Description: Test for basic check of KMS ABI with busy framebuffers. > + * > + * arg[1]: > + * > + * @newfb: New framebuffer > + * @oldfb: Old framebuffer > + * @newfb-with-reset: New framebuffer with reset > + * @oldfb-with-reset: Old framebuffer with reset > + */ > + > +/** > + * SUBTEST: extended-pageflip-modeset-hang-oldfb > + * Description: Test for basic check of KMS ABI with busy framebuffers. > + * > + * SUBTEST: extended-pageflip-hang-%s > + * Description: Test for basic check of KMS ABI with busy framebuffers. > + * > + * arg[1]: > + * > + * @newfb: New framebuffer > + * @oldfb: Old framebuffer > + */ > + > IGT_TEST_DESCRIPTION("Basic check of KMS ABI with busy framebuffers."); > > static bool all_pipes = false; > @@ -136,21 +172,6 @@ static void flip_to_fb(igt_display_t *dpy, int pipe, > put_ahnd(ahnd); > } > > -/** > - * SUBTEST: basic > - * Description: Test for basic check of KMS ABI with busy framebuffers. > - * Driver requirement: i915 > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: basic-hang > - * Description: Test for basic check of KMS ABI with busy framebuffers. > - * Driver requirement: i915 > - * Functionality: kms_core, hang > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void test_flip(igt_display_t *dpy, int pipe, > igt_output_t *output, bool modeset) > { > @@ -243,35 +264,6 @@ static void test_atomic_commit_hang(igt_display_t *dpy, igt_plane_t *primary, > put_ahnd(ahnd); > } > > -/** > - * SUBTEST: extended-modeset-hang-%s > - * Description: Test for basic check of KMS ABI with busy framebuffers. > - * Driver requirement: i915 > - * Functionality: kms_core, hang > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @newfb: New framebuffer > - * @oldfb: Old framebuffer > - * @newfb-with-reset: New framebuffer with reset > - * @oldfb-with-reset: Old framebuffer with reset > - */ > - > -/** > - * SUBTEST: extended-pageflip-hang-%s > - * Description: Test for basic check of KMS ABI with busy framebuffers. > - * Driver requirement: i915 > - * Functionality: kms_core, hang > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @newfb: New framebuffer > - * @oldfb: Old framebuffer > - */ > static void test_hang(igt_display_t *dpy, > enum pipe pipe, igt_output_t *output, > bool modeset, bool hang_newfb) > @@ -319,14 +311,6 @@ static void test_hang(igt_display_t *dpy, > igt_remove_fb(dpy->drm_fd, &fb[0]); > } > > -/** > - * SUBTEST: extended-pageflip-modeset-hang-oldfb > - * Description: Test for basic check of KMS ABI with busy framebuffers. > - * Driver requirement: i915 > - * Functionality: kms_core, hang > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void > test_pageflip_modeset_hang(igt_display_t *dpy, > igt_output_t *output, enum pipe pipe) > diff --git a/tests/intel/kms_ccs.c b/tests/intel/kms_ccs.c > index 102b193da..9ca5e9a19 100644 > --- a/tests/intel/kms_ccs.c > +++ b/tests/intel/kms_ccs.c > @@ -28,6 +28,10 @@ > * Description: 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. > + * Driver requirement: i915, xe > + * Functionality: ccs, tiling > + * Mega feature: E2E Compression > + * Test category: functionality test > */ > #include "igt.h" > > @@ -36,10 +40,6 @@ > /** > * SUBTEST: %s-%s-%s > * Description: Test %arg[2] with given %arg[3] modifier > - * Driver requirement: i915, xe > - * Functionality: ccs, tiling > - * Mega feature: E2E Compression > - * Test category: functionality test > * > * arg[1]: > * > @@ -73,10 +73,6 @@ > /** > * SUBTEST: %s-%s-%s > * Description: Test %arg[2] with %arg[3] modifier > - * Driver requirement: i915, xe > - * Functionality: ccs, tiling > - * Mega feature: E2E Compression > - * Test category: functionality test > * > * arg[1]: > * > @@ -114,10 +110,7 @@ > /** > * SUBTEST: %s-%s-%s > * Description: Test %arg[2] with %arg[3] modifier > - * Driver requirement: i915, xe > * Functionality: ccs, rotation, tiling > - * Mega feature: E2E Compression > - * Test category: functionality test > * > * arg[1]: > * > diff --git a/tests/intel/kms_cdclk.c b/tests/intel/kms_cdclk.c > index 71d827dac..5057894ca 100644 > --- a/tests/intel/kms_cdclk.c > +++ b/tests/intel/kms_cdclk.c > @@ -28,9 +28,26 @@ > * TEST: kms cdclk > * Category: Display > * Description: Test cdclk features : crawling and squashing > + * Driver requirement: i915, xe > + * Functionality: kms_core > + * Mega feature: General Display Features > + * Test category: functionality test > */ > #include "igt.h" > > +/** > + * SUBTEST: mode-transition-all-outputs > + * Description: Mode transition (low to high) test to validate cdclk frequency > + * change by simultaneous modesets on all pipes with valid outputs. > + * > + * SUBTEST: mode-transition > + * Description: Mode transition (low to high) test to validate cdclk frequency change. > + * > + * SUBTEST: plane-scaling > + * Description: Plane scaling test to validate cdclk frequency change. > + * Functionality: kms_core, plane, scaling > + */ > + > IGT_TEST_DESCRIPTION("Test cdclk features : crawling and squashing"); > > #define HDISPLAY_4K 3840 > @@ -253,15 +270,6 @@ static void test_mode_transition(data_t *data, enum pipe pipe, igt_output_t *out > igt_remove_fb(display->drm_fd, &fb); > } > > -/** > - * SUBTEST: mode-transition-all-outputs > - * Description: Mode transition (low to high) test to validate cdclk frequency > - * change by simultaneous modesets on all pipes with valid outputs. > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void test_mode_transition_on_all_outputs(data_t *data) > { > igt_display_t *display = &data->display; > @@ -358,21 +366,6 @@ static void test_mode_transition_on_all_outputs(data_t *data) > igt_remove_fb(data->drm_fd, &fb); > } > > -/** > - * SUBTEST: mode-transition > - * Description: Mode transition (low to high) test to validate cdclk frequency change. > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: plane-scaling > - * Description: Plane scaling test to validate cdclk frequency change. > - * Driver requirement: i915, xe > - * Functionality: kms_core, plane, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void run_cdclk_test(data_t *data, uint32_t flags) > { > igt_display_t *display = &data->display; > diff --git a/tests/intel/kms_dirtyfb.c b/tests/intel/kms_dirtyfb.c > index cc9529178..bbf71ca1b 100644 > --- a/tests/intel/kms_dirtyfb.c > +++ b/tests/intel/kms_dirtyfb.c > @@ -3,6 +3,15 @@ > * Copyright © 2023 Intel Corporation > */ > > +/** > + * TEST: kms dirtyfb > + * Category: Display > + * Description: Test DIRTYFB ioctl functionality. > + * Driver requirement: i915, xe > + * Functionality: dirtyfb, fbc, psr, drrs > + * Mega feature: General Display Features > + * Test category: functionality test > + */ > #include <sys/types.h> > > #include "igt.h" > @@ -13,24 +22,16 @@ > > #include "xe/xe_query.h" > > -IGT_TEST_DESCRIPTION("Test the DIRTYFB ioctl is working properly with " > - "its related features: FBC, PSR and DRRS"); > - > /** > - * TEST: kms dirtyfb > - * Category: Display > - * Description: Test DIRTYFB ioctl functionality. > - * > * SUBTEST: dirtyfb-ioctl > * Description: Test DIRTYFB ioctl is working properly using GPU > * frontbuffer rendering with features like FBC, PSR > * and DRRS. > - * Driver requirement: i915, xe > - * Functionality: dirtyfb, fbc, psr, drrs > - * Mega feature: General Display Features > - * Test category: functionality test > */ > > +IGT_TEST_DESCRIPTION("Test the DIRTYFB ioctl is working properly with " > + "its related features: FBC, PSR and DRRS"); > + > #ifndef PAGE_ALIGN > #ifndef PAGE_SIZE > #define PAGE_SIZE 4096 > diff --git a/tests/intel/kms_draw_crc.c b/tests/intel/kms_draw_crc.c > index 086f64dc8..7f1a1c5ae 100644 > --- a/tests/intel/kms_draw_crc.c > +++ b/tests/intel/kms_draw_crc.c > @@ -26,10 +26,42 @@ > * TEST: kms draw crc > * Category: Display > * Description: Tests whether the igt_draw library actually works. > + * Driver requirement: i915, xe > + * Functionality: kms_core, tiling > + * Mega feature: General Display Features > + * Test category: functionality test > */ > #include "i915/gem.h" > #include "igt.h" > > +/** > + * SUBTEST: fill-fb > + * Description: This subtest verifies CRC after filling fb with x-tiling or none. > + * > + * SUBTEST: draw-method-%s > + * Description: Verify that igt draw library works for the %arg[1] method with > + * different modifiers & DRM formats. > + * > + * arg[1]: > + * > + * @blt: Blitter > + * @mmap-wc: MMAP-WC > + * @render: Render > + */ > + > +/** > + * SUBTEST: draw-method-%s > + * Description: Verify that igt draw library works for the %arg[1] method with > + * different modifiers & DRM formats. > + * Driver requirement: i915 > + * > + * arg[1]: > + * > + * @mmap-cpu: MMAP-CPU > + * @mmap-gtt: MMAP-GTT > + * @pwrite: PWRITE > + */ > + > #define MAX_CONNECTORS 32 > > int drm_fd; > @@ -143,37 +175,6 @@ static void get_method_crc(enum igt_draw_method method, uint32_t drm_format, > igt_remove_fb(drm_fd, &fb); > } > > -/** > - * SUBTEST: draw-method-%s > - * Description: Verify that igt draw library works for the %arg[1] method with > - * different modifiers & DRM formats. > - * Driver requirement: i915, xe > - * Functionality: kms_core, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @blt: Blitter > - * @mmap-wc: MMAP-WC > - * @render: Render > - */ > - > -/** > - * SUBTEST: draw-method-%s > - * Description: Verify that igt draw library works for the %arg[1] method with > - * different modifiers & DRM formats. > - * Driver requirement: i915 > - * Functionality: kms_core, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @mmap-cpu: MMAP-CPU > - * @mmap-gtt: MMAP-GTT > - * @pwrite: PWRITE > - */ > static void draw_method_subtest(enum igt_draw_method method, > uint32_t format_index, uint64_t modifier) > { > @@ -213,14 +214,6 @@ static void get_fill_crc(uint64_t modifier, igt_crc_t *crc) > igt_remove_fb(drm_fd, &fb); > } > > -/** > - * SUBTEST: fill-fb > - * Description: This subtest verifies CRC after filling fb with x-tiling or none. > - * Driver requirement: i915, xe > - * Functionality: kms_core, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void fill_fb_subtest(void) > { > int rc; > diff --git a/tests/intel/kms_dsc.c b/tests/intel/kms_dsc.c > index c7dfb509a..3a0b7c0ef 100644 > --- a/tests/intel/kms_dsc.c > +++ b/tests/intel/kms_dsc.c > @@ -34,6 +34,10 @@ > * TEST: kms dsc > * Category: Display > * Description: Test to validate display stream compression > + * Driver requirement: i915, xe > + * Functionality: dsc > + * Mega feature: VDSC > + * Test category: functionality test > */ > #include "kms_dsc_helper.h" > > @@ -41,10 +45,6 @@ > * SUBTEST: dsc-%s > * Description: Tests Display Stream Compression functionality if supported by a > * connector by forcing %arg[1] on all connectors that support it > - * Driver requirement: i915, xe > - * Functionality: dsc > - * Mega feature: VDSC > - * Test category: functionality test > * > * arg[1]: > * > diff --git a/tests/intel/kms_fb_coherency.c b/tests/intel/kms_fb_coherency.c > index d0c0df9ee..d854959b4 100644 > --- a/tests/intel/kms_fb_coherency.c > +++ b/tests/intel/kms_fb_coherency.c > @@ -7,6 +7,10 @@ > * TEST: kms_fb_coherency > * Category: Display > * Description: Exercise coherency of future scanout buffer objects > + * Driver requirement: i915, xe > + * Functionality: kms_core > + * Mega feature: General Display Features > + * Test category: functionality test > */ > > #include <errno.h> > @@ -17,6 +21,13 @@ > > #include "igt.h" > > +/** > + * SUBTEST: memset-crc > + * Description: Use display controller CRC hardware to validate (non)coherency > + * of memset operations on future scanout buffer objects > + * mmapped with different mmap methods and different caching modes. > + */ > + > typedef struct { > int drm_fd; > igt_display_t display; > @@ -239,16 +250,6 @@ igt_main > select_valid_pipe_output_combo(&data); > } > > - /** > - * SUBTEST: memset-crc > - * Description: Use display controller CRC hardware to validate (non)coherency > - * of memset operations on future scanout buffer objects > - * mmapped with different mmap methods and different caching modes. > - * Mega feature: General Display Features > - * Functionality: kms_core > - * Driver requirement: i915, xe > - * Test category: functionality test > - */ > igt_subtest_with_dynamic("memset-crc") { > if (gem_has_mappable_ggtt(data.drm_fd)) { > igt_dynamic("mmap-gtt") > diff --git a/tests/intel/kms_fbcon_fbt.c b/tests/intel/kms_fbcon_fbt.c > index e017d5887..d7195b30a 100644 > --- a/tests/intel/kms_fbcon_fbt.c > +++ b/tests/intel/kms_fbcon_fbt.c > @@ -24,6 +24,14 @@ > * > */ > > +/** > + * TEST: kms fbcon fbt > + * Category: Display > + * Description: Test the relationship between fbcon and the frontbuffer tracking > + * infrastructure. > + * Driver requirement: i915, xe > + * Test category: functionality test > + */ > #include "igt.h" > #include "igt_device.h" > #include "igt_psr.h" > @@ -33,42 +41,29 @@ > #include <fcntl.h> > > /** > - * TEST: kms fbcon fbt > - * Category: Display > - * Description: Test the relationship between fbcon and the frontbuffer tracking > - * infrastructure. > - * > * SUBTEST: fbc > * Description: Test the relationship between fbcon and the frontbuffer tracking > * infrastructure with fbc enabled. > - * Driver requirement: i915, xe > * Functionality: fbc, fbcon, fbt > * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: fbc-suspend > * Description: Suspend test to validate the relationship between fbcon and the > * frontbuffer tracking infrastructure with fbc enabled. > - * Driver requirement: i915, xe > * Functionality: fbc, fbcon, fbt, suspend > * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: psr > * Description: Test the relationship between fbcon and the frontbuffer tracking > * infrastructure with psr enabled. > - * Driver requirement: i915, xe > * Functionality: fbcon, fbt, psr > * Mega feature: PSR > - * Test category: functionality test > * > * SUBTEST: psr-suspend > * Description: Suspend test to validate the relationship between fbcon and the > * frontbuffer tracking infrastructure with psr enabled. > - * Driver requirement: i915, xe > * Functionality: fbcon, fbt, psr, suspend > * Mega feature: PSR > - * Test category: functionality test > */ > > IGT_TEST_DESCRIPTION("Test the relationship between fbcon and the frontbuffer " > diff --git a/tests/intel/kms_fence_pin_leak.c b/tests/intel/kms_fence_pin_leak.c > index 03f3990c4..75e3a72de 100644 > --- a/tests/intel/kms_fence_pin_leak.c > +++ b/tests/intel/kms_fence_pin_leak.c > @@ -22,6 +22,15 @@ > * > */ > > +/** > + * TEST: kms fence pin leak > + * Category: Display > + * Description: Exercises full ppgtt fence pin_count leak in the kernel. > + * Driver requirement: i915 > + * Functionality: kms_core, synchronization > + * Mega feature: General Display Features > + * Test category: functionality test > + */ > #include <errno.h> > #include <limits.h> > #include <stdbool.h> > @@ -30,17 +39,10 @@ > > #include "i915/gem.h" > #include "igt.h" > + > /** > - * TEST: kms fence pin leak > - * Category: Display > - * Description: Exercises full ppgtt fence pin_count leak in the kernel. > - * > * SUBTEST: > * Description: Along with the modeset, validate fence pin_count leakage. > - * Driver requirement: i915 > - * Functionality: kms_core, synchronization > - * Mega feature: General Display Features > - * Test category: functionality test > */ > > IGT_TEST_DESCRIPTION("Exercises full ppgtt fence pin_count leak in the " > diff --git a/tests/intel/kms_flip_scaled_crc.c b/tests/intel/kms_flip_scaled_crc.c > index 2997b63fa..6015e412b 100644 > --- a/tests/intel/kms_flip_scaled_crc.c > +++ b/tests/intel/kms_flip_scaled_crc.c > @@ -26,6 +26,9 @@ > * TEST: kms flip scaled crc > * Category: Display > * Description: Test flipping between scaled/nonscaled framebuffers > + * Driver requirement: i915, xe > + * Mega feature: General Display Features > + * Test category: functionality test > */ > #include "igt.h" > > @@ -33,114 +36,72 @@ > * SUBTEST: flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling > * Description: Flip from 64bpp non scaled fb to 32bpp upscaled fb to stress CD > * clock programming > - * Driver requirement: i915, xe > * Functionality: ccs, scaling, tiling, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling > * Description: Flip from 64bpp non scaled fb to 32bpp downscaled fb to stress CD > * clock programming > - * Driver requirement: i915, xe > * Functionality: ccs, scaling, tiling, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: flip-32bpp-linear-to-64bpp-linear-%s > * Description: Flip from 32bpp non scaled fb to 64bpp %arg[1] fb to stress CD > * clock programming > - * Driver requirement: i915, xe > * Functionality: scaling, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-%s > * Description: Flip from 32bpp non scaled fb to 32bpp %arg[1] fb to stress CD > * clock programming > - * Driver requirement: i915, xe > * Functionality: ccs, scaling, tiling, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: flip-32bpp-4tile-to-64bpp-4tile-%s > * Description: Flip from 32bpp non scaled fb to 64bpp %arg[1] fb to stress CD > * clock programming > - * Driver requirement: i915, xe > * Functionality: scaling, tiling, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: flip-32bpp-xtile-to-64bpp-xtile-%s > * Description: Flip from 32bpp non scaled fb to 64bpp %arg[1] fb to stress CD > * clock programming > - * Driver requirement: i915, xe > * Functionality: scaling, tiling, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: flip-32bpp-yftile-to-32bpp-yftileccs-%s > * Description: Flip from 32bpp non scaled fb to 32bpp %arg[1] fb to stress CD > * clock programming > - * Driver requirement: i915, xe > * Functionality: ccs, scaling, tiling, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: flip-32bpp-yftile-to-64bpp-yftile-%s > * Description: Flip from 32bpp non scaled fb to 64bpp %arg[1] fb to stress CD > * clock programming > - * Driver requirement: i915, xe > * Functionality: scaling, tiling, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: flip-32bpp-yftileccs-to-64bpp-yftile-%s > * Description: Flip from 32bpp non scaled fb to 64bpp %arg[1] fb to stress CD > * clock programming > - * Driver requirement: i915, xe > * Functionality: ccs, scaling, tiling, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: flip-32bpp-ytile-to-32bpp-ytileccs-%s > * Description: Flip from 32bpp non scaled fb to 32bpp %arg[1] fb to stress CD > * clock programming > - * Driver requirement: i915, xe > * Functionality: ccs, scaling, tiling, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-%s > * Description: Flip from 32bpp non scaled fb to 32bpp %arg[1] fb to stress CD > * clock programming > - * Driver requirement: i915, xe > * Functionality: ccs, scaling, tiling, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: flip-32bpp-ytile-to-64bpp-ytile-%s > * Description: Flip from 32bpp non scaled fb to 64bpp %arg[1] fb to stress CD > * clock programming > - * Driver requirement: i915, xe > * Functionality: scaling, tiling, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: flip-32bpp-ytileccs-to-64bpp-ytile-%s > * Description: Flip from 32bpp non scaled fb to 64bpp %arg[1] fb to stress CD > * clock programming > - * Driver requirement: i915, xe > * Functionality: ccs, scaling, tiling, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-%s > * Description: Flip from 64bpp non scaled fb to 32bpp %arg[1] fb to stress CD > * clock programming > - * Driver requirement: i915, xe > * Functionality: ccs, scaling, tiling, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * arg[1]: > * > @@ -152,42 +113,27 @@ > * SUBTEST: flip-64bpp-4tile-to-%dbpp-4tile-%s > * Description: Flip from 64bpp non scaled fb to %arg[1]bpp %arg[2] fb to stress > * CD clock programming > - * Driver requirement: i915, xe > * Functionality: scaling, tiling, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: flip-64bpp-xtile-to-%dbpp-xtile-%s > * Description: Flip from 64bpp non scaled fb to %arg[1]bpp %arg[2] fb to stress > * CD clock programming > - * Driver requirement: i915, xe > * Functionality: scaling, tiling, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: flip-64bpp-yftile-to-%dbpp-yftile-%s > * Description: Flip from 64bpp non scaled fb to %arg[1]bpp %arg[2] fb to stress > * CD clock programming > - * Driver requirement: i915, xe > * Functionality: scaling, tiling, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: flip-64bpp-ytile-to-%dbpp-ytile-%s > * Description: Flip from 64bpp non scaled fb to %arg[1]bpp %arg[2] fb to stress > * CD clock programming > - * Driver requirement: i915, xe > * Functionality: scaling, tiling, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: flip-64bpp-linear-to-%dbpp-linear-%s > * Description: Flip from 64bpp non scaled fb to %arg[1]bpp %arg[2] fb to stress > * CD clock programming > - * Driver requirement: i915, xe > * Functionality: scaling, tiling, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * arg[1].values: 16, 32 > * arg[2]: > diff --git a/tests/intel/kms_flip_tiling.c b/tests/intel/kms_flip_tiling.c > index 44121d7cf..3cc0762eb 100644 > --- a/tests/intel/kms_flip_tiling.c > +++ b/tests/intel/kms_flip_tiling.c > @@ -24,23 +24,25 @@ > * Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> > */ > > +/** > + * TEST: kms flip tiling > + * Category: Display > + * Description: Test page flips and tiling scenarios > + * Driver requirement: i915, xe > + * Functionality: kms_gem_interop, tiling > + * Mega feature: General Display Features > + * Test category: functionality test > + */ > #include <errno.h> > #include <stdbool.h> > #include <stdio.h> > #include <string.h> > > #include "igt.h" > + > /** > - * TEST: kms flip tiling > - * Category: Display > - * Description: Test page flips and tiling scenarios > - * > * SUBTEST: flip-change-tiling > * Description: Check pageflip between modifiers > - * Driver requirement: i915, xe > - * Functionality: kms_gem_interop, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > */ > > IGT_TEST_DESCRIPTION("Test page flips and tiling scenarios"); > diff --git a/tests/intel/kms_frontbuffer_tracking.c b/tests/intel/kms_frontbuffer_tracking.c > index 215ecdeef..5bf21308c 100644 > --- a/tests/intel/kms_frontbuffer_tracking.c > +++ b/tests/intel/kms_frontbuffer_tracking.c > @@ -28,6 +28,9 @@ > * TEST: kms frontbuffer tracking > * Category: Display > * Description: Test the Kernel's frontbuffer tracking mechanism and its related features: FBC, PSR and DRRS > + * Driver requirement: i915, xe > + * Mega feature: General Display Features > + * Test category: functionality test > */ > #include <sys/types.h> > #include <sys/stat.h> > @@ -43,268 +46,1392 @@ > #include "igt_sysfs.h" > #include "igt_psr.h" > > -#define TIME SLOW_QUICK(1000, 10000) > - > -IGT_TEST_DESCRIPTION("Test the Kernel's frontbuffer tracking mechanism and " > - "its related features: FBC, PSR and DRRS"); > - > -/* > - * One of the aspects of this test is that, for every subtest, we try different > - * combinations of the parameters defined by the struct below. Because of this, > - * a single addition of a new parameter or subtest function can lead to hundreds > - * of new subtests. > +/** > + * SUBTEST: basic > + * Description: Do some basic operations regardless of which features are enabled > + * Functionality: fbt > * > - * In order to reduce the number combinations we cut the cases that don't make > - * sense, such as writing on the secondary screen when there is only a single > - * pipe, or flipping when the target is the offscreen buffer. We also hide some > - * combinations that are somewhat redundant and don't add much value to the > - * test. For example, since we already do the offscreen testing with a single > - * pipe enabled, there's no much value in doing it again with dual pipes. If you > - * still want to try these redundant tests, you need to use the --show-hidden > - * option. > + * SUBTEST: drrs-%dp-rte > + * Description: Sanity test to enable DRRS with %arg[1] panels. > + * Functionality: fbt, drrs > * > - * The most important hidden thing is the FEATURE_NONE set of tests. Whenever > - * you get a failure on any test, it is important to check whether the same test > - * fails with FEATURE_NONE - replace the feature name for "nop". If the nop test > - * also fails, then it's likely the problem will be on the IGT side instead of > - * the Kernel side. We don't expose this set of tests by default because (i) > - * they take a long time to test; and (ii) if the feature tests work, then it's > - * very likely that the nop tests will also work. > + * SUBTEST: fbc-%dp-rte > + * Description: Sanity test to enable FBC with %arg[1] panels. > + * Functionality: fbc, fbt > + * > + * SUBTEST: psr-%dp-rte > + * Description: Sanity test to enable PSR with %arg[1] panels. > + * Functionality: fbt, psr > + * > + * SUBTEST: fbcdrrs-%dp-rte > + * Description: Sanity test to enable FBC & DRRS with %arg[1] panels. > + * Functionality: drrs, fbc, fbt > + * > + * SUBTEST: fbcpsr-%dp-rte > + * Description: Sanity test to enable FBC & PSR with %arg[1] panels. > + * Functionality: fbc, fbt, psr > + * > + * SUBTEST: psrdrrs-%dp-rte > + * Description: Sanity test to enable PSR & DRRS with %arg[1] panels. > + * Functionality: fbt, drrs, psr > + * > + * SUBTEST: fbcpsrdrrs-%dp-rte > + * Description: Sanity test to enable FBC, PSR & DRRS with %arg[1] panels. > + * Functionality: fbc, fbt, drrs, psr > + * > + * arg[1].values: 1, 2 > */ > -struct test_mode { > - /* Are we going to enable just one monitor, or are we going to setup a > - * dual screen environment for the test? */ > - enum { > - PIPE_SINGLE = 0, > - PIPE_DUAL, > - PIPE_COUNT, > - } pipes; > - > - /* The primary screen is the one that's supposed to have the "feature" > - * enabled on, but we have the option to draw on the secondary screen or > - * on some offscreen buffer. We also only theck the CRC of the primary > - * screen. */ > - enum { > - SCREEN_PRIM = 0, > - SCREEN_SCND, > - SCREEN_OFFSCREEN, > - SCREEN_COUNT, > - } screen; > - > - /* When we draw, we can draw directly on the primary plane, on the > - * cursor or on the sprite plane. */ > - enum { > - PLANE_PRI = 0, > - PLANE_CUR, > - PLANE_SPR, > - PLANE_COUNT, > - } plane; > > - /* We can organize the screens in a way that each screen has its own > - * framebuffer, or in a way that all screens point to the same > - * framebuffer, but on different places. This includes the offscreen > - * screen. */ > - enum { > - FBS_INDIVIDUAL = 0, > - FBS_SHARED, > - FBS_COUNT, > - } fbs; > +/** > + * SUBTEST: drrs-1p-offscren-pri-%s-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: drrs, fbt, kms_core > + * > + * SUBTEST: fbc-1p-offscren-pri-%s-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: fbc, fbt, kms_core > + * > + * SUBTEST: psr-1p-offscren-pri-%s-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: fbt, kms_core, psr > + * > + * SUBTEST: fbcdrrs-1p-offscren-pri-%s-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: drrs, fbc, fbt, kms_core > + * > + * SUBTEST: fbcpsr-1p-offscren-pri-%s-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: fbc, fbt, kms_core, psr > + * > + * SUBTEST: psrdrrs-1p-offscren-pri-%s-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: drrs, fbt, kms_core, psr > + * > + * SUBTEST: fbcpsrdrrs-1p-offscren-pri-%s-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: drrs, fbc, fbt, kms_core, psr > + * > + * arg[1]: > + * > + * @indfb: Individual fb > + * @shrfb: Shared fb > + * > + * arg[2]: > + * > + * @blt: Blitter > + * @mmap-wc: MMAP-WC > + * @render: Render > + */ > > - /* Which features are we going to test now? This is a mask! > - * FEATURE_DEFAULT is a special value which instruct the test to just > - * keep what's already enabled by default in the Kernel. */ > - enum { > - FEATURE_NONE = 0, > - FEATURE_FBC = 1, > - FEATURE_PSR = 2, > - FEATURE_DRRS = 4, > - FEATURE_COUNT = 8, > - FEATURE_DEFAULT = 8, > - } feature; > +/** > + * SUBTEST: drrs-1p-offscren-pri-%s-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: drrs, fbt, kms_core > + * > + * SUBTEST: fbc-1p-offscren-pri-%s-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: fbc, fbt, kms_core > + * > + * SUBTEST: psr-1p-offscren-pri-%s-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: fbt, kms_core, psr > + * > + * SUBTEST: fbcdrrs-1p-offscren-pri-%s-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: drrs, fbc, fbt, kms_core > + * > + * SUBTEST: fbcpsr-1p-offscren-pri-%s-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: fbc, fbt, kms_core, psr > + * > + * SUBTEST: psrdrrs-1p-offscren-pri-%s-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: drrs, fbt, kms_core, psr > + * > + * SUBTEST: fbcpsrdrrs-1p-offscren-pri-%s-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: drrs, fbc, fbt, kms_core, psr > + * > + * arg[1]: > + * > + * @indfb: Individual fb > + * @shrfb: Shared fb > + * > + * arg[2]: > + * > + * @mmap-cpu: MMAP-CPU > + * @mmap-gtt: MMAP-GTT > + * @pwrite: PWRITE > + */ > > - /* Possible pixel formats. We just use FORMAT_DEFAULT for most tests and > - * only test a few things on the other formats. */ > - enum pixel_format { > - FORMAT_RGB888 = 0, > - FORMAT_RGB565, > - FORMAT_RGB101010, > - FORMAT_COUNT, > - FORMAT_DEFAULT = FORMAT_RGB888, > - } format; > +/** > + * SUBTEST: drrs-%dp-primscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: drrs, fbt, kms_core > + * > + * SUBTEST: fbc-%dp-primscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: fbc, fbt, kms_core > + * > + * SUBTEST: psr-%dp-primscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: fbt, kms_core, psr > + * > + * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: drrs, fbc, fbt, kms_core > + * > + * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: fbc, fbt, kms_core, psr > + * > + * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: drrs, fbt, kms_core, psr > + * > + * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: drrs, fbc, fbt, kms_core, psr > + * > + * arg[1].values: 1, 2 > + * > + * arg[2]: > + * > + * @cur: Cursor plane > + * @pri: Primary plane > + * @spr: Sprite plane > + * > + * arg[3]: > + * > + * @mmap-cpu: MMAP-CPU > + * @mmap-gtt: MMAP-GTT > + * @pwrite: PWRITE > + */ > > - /* There are multiple APIs where we can do the equivalent of a page flip > - * and they exercise slightly different codepaths inside the Kernel. */ > - enum flip_type { > - FLIP_PAGEFLIP, > - FLIP_MODESET, > - FLIP_PLANES, > - FLIP_COUNT, > - } flip; > - > - enum tiling_type { > - TILING_LINEAR = 0, > - TILING_X, > - TILING_Y, > - TILING_4, > - TILING_COUNT, > - TILING_DEFAULT = TILING_X, > - } tiling; > - > - enum igt_draw_method method; > -}; > +/** > + * SUBTEST: drrs-%dp-primscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: drrs, fbt, kms_core > + * > + * SUBTEST: fbc-%dp-primscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: fbc, fbt, kms_core > + * > + * SUBTEST: psr-%dp-primscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: fbt, kms_core, psr > + * > + * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: drrs, fbc, fbt, kms_core > + * > + * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: fbc, fbt, kms_core, psr > + * > + * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: drrs, fbt, kms_core, psr > + * > + * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: drrs, fbc, fbt, kms_core, psr > + * > + * arg[1].values: 1, 2 > + * > + * arg[2]: > + * > + * @cur: Cursor plane > + * @pri: Primary plane > + * @spr: Sprite plane > + * > + * arg[3]: > + * > + * @blt: Blitter > + * @mmap-wc: MMAP-WC > + * @render: Render > + */ > > -enum color { > - COLOR_RED, > - COLOR_GREEN, > - COLOR_BLUE, > - COLOR_MAGENTA, > - COLOR_CYAN, > - COLOR_SCND_BG, > - COLOR_PRIM_BG = COLOR_BLUE, > - COLOR_OFFSCREEN_BG = COLOR_SCND_BG, > -}; > +/** > + * SUBTEST: drrs-%dp-primscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: drrs, fbt, kms_core > + * > + * SUBTEST: fbc-%dp-primscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: fbc, fbt, kms_core > + * > + * SUBTEST: psr-%dp-primscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: fbt, kms_core, psr > + * > + * SUBTEST: fbcdrrs-%dp-primscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: drrs, fbc, fbt, kms_core > + * > + * SUBTEST: fbcpsr-%dp-primscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: fbc, fbt, kms_core, psr > + * > + * SUBTEST: psrdrrs-%dp-primscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: drrs, fbt, kms_core, psr > + * > + * SUBTEST: fbcpsrdrrs-%dp-primscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: drrs, fbc, fbt, kms_core, psr > + * > + * arg[1].values: 1, 2 > + * > + * arg[2]: > + * > + * @blt: Blitter > + * @mmap-wc: MMAP-WC > + * @render: Render > + */ > > -struct rect { > - int x; > - int y; > - int w; > - int h; > - uint32_t color; > -}; > +/** > + * SUBTEST: drrs-%dp-primscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: drrs, fbt, kms_core > + * > + * SUBTEST: fbc-%dp-primscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: fbc, fbt, kms_core > + * > + * SUBTEST: psr-%dp-primscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: fbt, kms_core, psr > + * > + * SUBTEST: fbcdrrs-%dp-primscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: drrs, fbc, fbt, kms_core > + * > + * SUBTEST: fbcpsr-%dp-primscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: fbc, fbt, kms_core, psr > + * > + * SUBTEST: psrdrrs-%dp-primscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: drrs, fbt, kms_core, psr > + * > + * SUBTEST: fbcpsrdrrs-%dp-primscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: drrs, fbc, fbt, kms_core, psr > + * > + * arg[1].values: 1, 2 > + * > + * arg[2]: > + * > + * @mmap-cpu: MMAP-CPU > + * @mmap-gtt: MMAP-GTT > + * @pwrite: PWRITE > + */ > > -struct { > - int fd; > - int debugfs; > - igt_display_t display; > +/** > + * SUBTEST: drrs-2p-scndscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: drrs, fbt, kms_core > + * > + * SUBTEST: fbc-2p-scndscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: fbc, fbt, kms_core > + * > + * SUBTEST: psr-2p-scndscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: fbt, kms_core, psr > + * > + * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: drrs, fbc, fbt, kms_core > + * > + * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: fbc, fbt, kms_core, psr > + * > + * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: drrs, fbt, kms_core, psr > + * > + * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: drrs, fbc, fbt, kms_core, psr > + * > + * arg[1]: > + * > + * @cur: Cursor plane > + * @pri: Primary plane > + * @spr: Sprite plane > + * > + * arg[2]: > + * > + * @blt: Blitter > + * @mmap-wc: MMAP-WC > + * @render: Render > + */ > > - struct buf_ops *bops; > -} drm; > +/** > + * SUBTEST: drrs-2p-scndscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: drrs, fbt, kms_core > + * > + * SUBTEST: fbc-2p-scndscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: fbc, fbt, kms_core > + * > + * SUBTEST: psr-2p-scndscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: fbt, kms_core, psr > + * > + * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: drrs, fbc, fbt, kms_core > + * > + * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: fbc, fbt, kms_core, psr > + * > + * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: drrs, fbt, kms_core, psr > + * > + * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: drrs, fbc, fbt, kms_core, psr > + * > + * arg[1]: > + * > + * @cur: Cursor plane > + * @pri: Primary plane > + * @spr: Sprite plane > + * > + * arg[2]: > + * > + * @mmap-cpu: MMAP-CPU > + * @mmap-gtt: MMAP-GTT > + * @pwrite: PWRITE > + */ > > -struct { > - bool can_test; > - > - bool supports_last_action; > +/** > + * SUBTEST: drrs-2p-scndscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: drrs, fbt, kms_core > + * > + * SUBTEST: fbc-2p-scndscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: fbc, fbt, kms_core > + * > + * SUBTEST: psr-2p-scndscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: fbt, kms_core, psr > + * > + * SUBTEST: fbcdrrs-2p-scndscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: drrs, fbc, fbt, kms_core > + * > + * SUBTEST: fbcpsr-2p-scndscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: fbc, fbt, kms_core, psr > + * > + * SUBTEST: psrdrrs-2p-scndscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: drrs, fbt, kms_core, psr > + * > + * SUBTEST: fbcpsrdrrs-2p-scndscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Functionality: drrs, fbc, fbt, kms_core, psr > + * > + * arg[1]: > + * > + * @blt: Blitter > + * @mmap-wc: MMAP-WC > + * @render: Render > + */ > > - struct timespec last_action; > -} fbc = { > - .can_test = false, > - .supports_last_action = false, > -}; > +/** > + * SUBTEST: drrs-2p-scndscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: drrs, fbt, kms_core > + * > + * SUBTEST: fbc-2p-scndscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: fbc, fbt, kms_core > + * > + * SUBTEST: psr-2p-scndscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: fbt, kms_core, psr > + * > + * SUBTEST: fbcdrrs-2p-scndscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: drrs, fbc, fbt, kms_core > + * > + * SUBTEST: fbcpsr-2p-scndscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: fbc, fbt, kms_core, psr > + * > + * SUBTEST: psrdrrs-2p-scndscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: drrs, fbt, kms_core, psr > + * > + * SUBTEST: fbcpsrdrrs-2p-scndscrn-pri-shrfb-draw-%s > + * Description: Draw a set of rectangles on the screen using the provided method > + * Driver requirement: i915 > + * Functionality: drrs, fbc, fbt, kms_core, psr > + * > + * arg[1]: > + * > + * @mmap-cpu: MMAP-CPU > + * @mmap-gtt: MMAP-GTT > + * @pwrite: PWRITE > + */ > > -struct { > - bool can_test; > -} psr = { > - .can_test = false, > -}; > +/** > + * SUBTEST: drrs-%dp-pri-indfb-multidraw > + * Description: Draw a set of rectangles on the screen using alternated drawing methods > + * Functionality: drrs, fbt, kms_core > + * > + * SUBTEST: fbc-%dp-pri-indfb-multidraw > + * Description: Draw a set of rectangles on the screen using alternated drawing methods > + * Functionality: fbc, fbt, kms_core > + * > + * SUBTEST: psr-%dp-pri-indfb-multidraw > + * Description: Draw a set of rectangles on the screen using alternated drawing methods > + * Functionality: fbt, kms_core, psr > + * > + * SUBTEST: fbcdrrs-%dp-pri-indfb-multidraw > + * Description: Draw a set of rectangles on the screen using alternated drawing methods > + * Functionality: drrs, fbc, fbt, kms_core > + * > + * SUBTEST: fbcpsr-%dp-pri-indfb-multidraw > + * Description: Draw a set of rectangles on the screen using alternated drawing methods > + * Functionality: fbc, fbt, kms_core, psr > + * > + * SUBTEST: psrdrrs-%dp-pri-indfb-multidraw > + * Description: Draw a set of rectangles on the screen using alternated drawing methods > + * Functionality: drrs, fbt, kms_core, psr > + * > + * SUBTEST: fbcpsrdrrs-%dp-pri-indfb-multidraw > + * Description: Draw a set of rectangles on the screen using alternated drawing methods > + * Functionality: drrs, fbc, fbt, kms_core, psr > + * > + * arg[1].values: 1, 2 > + */ > > -#define MAX_DRRS_STATUS_BUF_LEN 256 > +/** > + * SUBTEST: drrs-%s-draw-%s > + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > + * Functionality: drrs, fbt, kms_core > + * > + * SUBTEST: fbc-%s-draw-%s > + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > + * Functionality: fbc, fbt, kms_core > + * > + * SUBTEST: psr-%s-draw-%s > + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > + * Functionality: fbt, kms_core, psr > + * > + * SUBTEST: fbcdrrs-%s-draw-%s > + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > + * Functionality: drrs, fbc, fbt, kms_core > + * > + * SUBTEST: fbcpsr-%s-draw-%s > + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > + * Functionality: fbc, fbt, kms_core, psr > + * > + * SUBTEST: psrdrrs-%s-draw-%s > + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > + * Functionality: drrs, fbt, kms_core, psr > + * > + * SUBTEST: fbcpsrdrrs-%s-draw-%s > + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > + * Functionality: drrs, fbc, fbt, kms_core, psr > + * > + * arg[1]: > + * > + * @rgb101010: FORMAT_RGB101010 > + * @rgb565: FORMAT_RGB565 > + * > + * arg[2]: > + * > + * @blt: Blitter > + * @mmap-wc: MMAP-WC > + * @render: Render > + */ > > -struct { > - bool can_test; > -} drrs = { > - .can_test = false, > -}; > +/** > + * SUBTEST: drrs-%s-draw-%s > + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > + * Driver requirement: i915 > + * Functionality: drrs, fbt, kms_core > + * > + * SUBTEST: fbc-%s-draw-%s > + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > + * Driver requirement: i915 > + * Functionality: fbc, fbt, kms_core > + * > + * SUBTEST: psr-%s-draw-%s > + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > + * Driver requirement: i915 > + * Functionality: fbt, kms_core, psr > + * > + * SUBTEST: fbcdrrs-%s-draw-%s > + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > + * Driver requirement: i915 > + * Functionality: drrs, fbc, fbt, kms_core > + * > + * SUBTEST: fbcpsr-%s-draw-%s > + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > + * Driver requirement: i915 > + * Functionality: fbc, fbt, kms_core, psr > + * > + * SUBTEST: psrdrrs-%s-draw-%s > + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > + * Driver requirement: i915 > + * Functionality: drrs, fbt, kms_core, psr > + * > + * SUBTEST: fbcpsrdrrs-%s-draw-%s > + * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > + * Driver requirement: i915 > + * Functionality: drrs, fbc, fbt, kms_core, psr > + * > + * arg[1]: > + * > + * @rgb101010: FORMAT_RGB101010 > + * @rgb565: FORMAT_RGB565 > + * > + * arg[2]: > + * > + * @mmap-cpu: MMAP-CPU > + * @mmap-gtt: MMAP-GTT > + * @pwrite: PWRITE > + */ > > -igt_pipe_crc_t *pipe_crc; > -igt_crc_t *wanted_crc; > -struct { > - bool initialized; > - igt_crc_t crc; > -} blue_crcs[FORMAT_COUNT]; > +/** > + * SUBTEST: drrs-slowdraw > + * Description: Sleep a little bit between drawing operations with DRRS > + * Functionality: drrs, fbt, kms_core > + * > + * SUBTEST: fbc-slowdraw > + * Description: Sleep a little bit between drawing operations with FBC > + * Functionality: fbc, fbt, kms_core > + * > + * SUBTEST: psr-slowdraw > + * Description: Sleep a little bit between drawing operations with PSR > + * Functionality: fbt, kms_core, psr > + * > + * SUBTEST: fbcdrrs-slowdraw > + * Description: Sleep a little bit between drawing operations with FBC & DRRS > + * Functionality: drrs, fbc, fbt, kms_core > + * > + * SUBTEST: fbcpsr-slowdraw > + * Description: Sleep a little bit between drawing operations with FBC & PSR > + * Functionality: fbc, fbt, kms_core, psr > + * > + * SUBTEST: psrdrrs-slowdraw > + * Description: Sleep a little bit between drawing operations with PSR & DRRS > + * Functionality: drrs, fbt, kms_core, psr > + * > + * SUBTEST: fbcpsrdrrs-slowdraw > + * Description: Sleep a little bit between drawing operations with FBC, PSR & DRRS > + * Functionality: drrs, fbc, fbt, kms_core, psr > + */ > > -/* The goal of this structure is to easily allow us to deal with cases where we > - * have a big framebuffer and the CRTC is just displaying a subregion of this > - * big FB. */ > -struct fb_region { > - igt_plane_t *plane; > - struct igt_fb *fb; > - int x; > - int y; > - int w; > - int h; > -}; > - > -struct draw_pattern_info { > - bool frames_stack; > - int n_rects; > - struct rect (*get_rect)(struct fb_region *fb, int r); > - > - bool initialized[FORMAT_COUNT]; > - igt_crc_t *crcs[FORMAT_COUNT]; > -}; > - > -/* Draw big rectangles on the screen. */ > -struct draw_pattern_info pattern1; > -/* 64x64 rectangles at x:0,y:0, just so we can draw on the cursor and sprite. */ > -struct draw_pattern_info pattern2; > -/* 64x64 rectangles at different positions, same color, for the move test. */ > -struct draw_pattern_info pattern3; > -/* Just a fullscreen green square. */ > -struct draw_pattern_info pattern4; > - > -/* Command line parameters. */ > -struct { > - bool check_status; > - bool check_crc; > - bool fbc_check_compression; > - bool fbc_check_last_action; > - bool no_edp; > - bool small_modes; > - bool show_hidden; > - int step; > - int only_pipes; > - int shared_fb_x_offset; > - int shared_fb_y_offset; > - enum tiling_type tiling; > -} opt = { > - .check_status = true, > - .check_crc = true, > - .fbc_check_compression = true, > - .fbc_check_last_action = true, > - .no_edp = false, > - .small_modes = false, > - .show_hidden= false, > - .step = 0, > - .only_pipes = PIPE_COUNT, > - .shared_fb_x_offset = 248, > - .shared_fb_y_offset = 500, > - .tiling = TILING_DEFAULT, > -}; > - > -struct modeset_params { > - enum pipe pipe; > - igt_output_t *output; > - drmModeModeInfo mode; > - > - struct fb_region primary; > - struct fb_region cursor; > - struct fb_region sprite; > -}; > - > -struct modeset_params prim_mode_params; > -struct modeset_params scnd_mode_params; > - > -struct fb_region offscreen_fb; > -struct screen_fbs { > - bool initialized; > +/** > + * SUBTEST: drrs-%dp-primscrn-%s-%sflip-blt > + * Description: Just exercise page flips with the patterns we have > + * Functionality: drrs, fbt, kms_core > + * > + * SUBTEST: fbc-%dp-primscrn-%s-%sflip-blt > + * Description: Just exercise page flips with the patterns we have > + * Functionality: fbc, fbt, kms_core > + * > + * SUBTEST: psr-%dp-primscrn-%s-%sflip-blt > + * Description: Just exercise page flips with the patterns we have > + * Functionality: fbt, kms_core, psr > + * > + * SUBTEST: fbcdrrs-%dp-primscrn-%s-%sflip-blt > + * Description: Just exercise page flips with the patterns we have > + * Functionality: drrs, fbc, fbt, kms_core > + * > + * SUBTEST: fbcpsr-%dp-primscrn-%s-%sflip-blt > + * Description: Just exercise page flips with the patterns we have > + * Functionality: fbc, fbt, kms_core, psr > + * > + * SUBTEST: psrdrrs-%dp-primscrn-%s-%sflip-blt > + * Description: Just exercise page flips with the patterns we have > + * Functionality: drrs, fbt, kms_core, psr > + * > + * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-%sflip-blt > + * Description: Just exercise page flips with the patterns we have > + * Functionality: drrs, fbc, fbt, kms_core, psr > + * > + * arg[1].values: 1, 2 > + * > + * arg[2]: > + * > + * @indfb: Individual fb > + * @shrfb: Shared fb > + * > + * arg[3]: > + * > + * @ms: Modeset > + * @pg: Page flip > + * @pl: Plane change > + */ > > - struct igt_fb prim_pri; > - struct igt_fb prim_cur; > - struct igt_fb prim_spr; > +/** > + * SUBTEST: drrs-2p-scndscrn-%s-%sflip-blt > + * Description: Just exercise page flips with the patterns we have > + * Functionality: drrs, fbt, kms_core > + * > + * SUBTEST: fbc-2p-scndscrn-%s-%sflip-blt > + * Description: Just exercise page flips with the patterns we have > + * Functionality: fbc, fbt, kms_core > + * > + * SUBTEST: psr-2p-scndscrn-%s-%sflip-blt > + * Description: Just exercise page flips with the patterns we have > + * Functionality: fbt, kms_core, psr > + * > + * SUBTEST: fbcdrrs-2p-scndscrn-%s-%sflip-blt > + * Description: Just exercise page flips with the patterns we have > + * Functionality: drrs, fbc, fbt, kms_core > + * > + * SUBTEST: fbcpsr-2p-scndscrn-%s-%sflip-blt > + * Description: Just exercise page flips with the patterns we have > + * Functionality: fbc, fbt, kms_core, psr > + * > + * SUBTEST: psrdrrs-2p-scndscrn-%s-%sflip-blt > + * Description: Just exercise page flips with the patterns we have > + * Functionality: drrs, fbt, kms_core, psr > + * > + * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-%sflip-blt > + * Description: Just exercise page flips with the patterns we have > + * Functionality: drrs, fbc, fbt, kms_core, psr > + * > + * arg[1]: > + * > + * @indfb: Individual fb > + * @shrfb: Shared fb > + * > + * arg[2]: > + * > + * @ms: Modeset > + * @pg: Page flip > + * @pl: Plane change > + */ > > - struct igt_fb scnd_pri; > - struct igt_fb scnd_cur; > - struct igt_fb scnd_spr; > +/** > + * SUBTEST: fbc-%dp-%s-fliptrack-mmap-gtt > + * Description: Check if the hardware tracking works after page flips > + * Functionality: fbc, fbt, kms_core > + * > + * SUBTEST: fbcdrrs-%dp-%s-fliptrack-mmap-gtt > + * Description: Check if the hardware tracking works after page flips > + * Functionality: drrs, fbc, fbt, kms_core > + * > + * SUBTEST: fbcpsr-%dp-%s-fliptrack-mmap-gtt > + * Description: Check if the hardware tracking works after page flips > + * Functionality: fbc, fbt, kms_core, psr > + * > + * SUBTEST: fbcpsrdrrs-%dp-%s-fliptrack-mmap-gtt > + * Description: Check if the hardware tracking works after page flips > + * Functionality: drrs, fbc, fbt, kms_core, psr > + * > + * arg[1].values: 1, 2 > + * > + * arg[2]: > + * > + * @indfb: Individual fb > + * @shrfb: Shared fb > + */ > > - struct igt_fb offscreen; > - struct igt_fb big; > -} fbs[FORMAT_COUNT]; > +/** > + * SUBTEST: drrs-%dp-primscrn-%s-indfb-move > + * Description: Just move the %arg[2] around > + * Functionality: drrs, fbt > + * > + * SUBTEST: fbc-%dp-primscrn-%s-indfb-move > + * Description: Just move the %arg[2] around > + * Functionality: fbc, fbt > + * > + * SUBTEST: psr-%dp-primscrn-%s-indfb-move > + * Description: Just move the %arg[2] around > + * Functionality: fbt, psr > + * > + * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-move > + * Description: Just move the %arg[2] around > + * Functionality: drrs, fbc, fbt > + * > + * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-move > + * Description: Just move the %arg[2] around > + * Functionality: fbc, fbt, psr > + * > + * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-move > + * Description: Just move the %arg[2] around > + * Functionality: drrs, fbt, psr > + * > + * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-move > + * Description: Just move the %arg[2] around > + * Functionality: drrs, fbc, fbt, psr > + * > + * arg[1].values: 1, 2 > + * > + * arg[2]: > + * > + * @spr: Sprite plane > + * @cur: Cursor plane > + */ > > -struct { > - pthread_t thread; > - bool stop; > +/** > + * SUBTEST: drrs-2p-scndscrn-%s-indfb-move > + * Description: Just move the %arg[1] around > + * Functionality: drrs, fbt > + * > + * SUBTEST: fbc-2p-scndscrn-%s-indfb-move > + * Description: Just move the %arg[1] around > + * Functionality: fbc, fbt > + * > + * SUBTEST: psr-2p-scndscrn-%s-indfb-move > + * Description: Just move the %arg[1] around > + * Functionality: fbt, psr > + * > + * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-move > + * Description: Just move the %arg[1] around > + * Functionality: drrs, fbc, fbt > + * > + * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-move > + * Description: Just move the %arg[1] around > + * Functionality: fbc, fbt, psr > + * > + * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-move > + * Description: Just move the %arg[1] around > + * Functionality: drrs, fbt, psr > + * > + * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-move > + * Description: Just move the %arg[1] around > + * Functionality: drrs, fbc, fbt, psr > + * > + * arg[1]: > + * > + * @spr: Sprite plane > + * @cur: Cursor plane > + */ > > - uint32_t handle; > +/** > + * SUBTEST: drrs-%dp-primscrn-%s-indfb-onoff > + * Description: Just enable and disable the %arg[2] a few times > + * Functionality: drrs, fbt > + * > + * SUBTEST: fbc-%dp-primscrn-%s-indfb-onoff > + * Description: Just enable and disable the %arg[2] a few times > + * Functionality: fbc, fbt > + * > + * SUBTEST: psr-%dp-primscrn-%s-indfb-onoff > + * Description: Just enable and disable the %arg[2] a few times > + * Functionality: fbt, psr > + * > + * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-onoff > + * Description: Just enable and disable the %arg[2] a few times > + * Functionality: drrs, fbc, fbt > + * > + * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-onoff > + * Description: Just enable and disable the %arg[2] a few times > + * Functionality: fbc, fbt, psr > + * > + * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-onoff > + * Description: Just enable and disable the %arg[2] a few times > + * Functionality: drrs, fbt, psr > + * > + * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-onoff > + * Description: Just enable and disable the %arg[2] a few times > + * Functionality: drrs, fbc, fbt, psr > + * > + * arg[1].values: 1, 2 > + * > + * arg[2]: > + * > + * @spr: Sprite plane > + * @cur: Cursor plane > + */ > + > +/** > + * SUBTEST: drrs-2p-scndscrn-%s-indfb-onoff > + * Description: Just enable and disable the %arg[1] a few times > + * Functionality: drrs, fbt > + * > + * SUBTEST: fbc-2p-scndscrn-%s-indfb-onoff > + * Description: Just enable and disable the %arg[1] a few times > + * Functionality: fbc, fbt > + * > + * SUBTEST: psr-2p-scndscrn-%s-indfb-onoff > + * Description: Just enable and disable the %arg[1] a few times > + * Functionality: fbt, psr > + * > + * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-onoff > + * Description: Just enable and disable the %arg[1] a few times > + * Functionality: drrs, fbc, fbt > + * > + * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-onoff > + * Description: Just enable and disable the %arg[1] a few times > + * Functionality: fbc, fbt, psr > + * > + * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-onoff > + * Description: Just enable and disable the %arg[1] a few times > + * Functionality: drrs, fbt, psr > + * > + * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-onoff > + * Description: Just enable and disable the %arg[1] a few times > + * Functionality: drrs, fbc, fbt, psr > + * > + * arg[1]: > + * > + * @spr: Sprite plane > + * @cur: Cursor plane > + */ > + > +/** > + * SUBTEST: drrs-%dp-primscrn-spr-indfb-fullscreen > + * Description: Put a fullscreen plane covering the whole screen > + * Functionality: drrs, fbt > + * > + * SUBTEST: fbc-%dp-primscrn-spr-indfb-fullscreen > + * Description: Put a fullscreen plane covering the whole screen > + * Functionality: fbc, fbt > + * > + * SUBTEST: psr-%dp-primscrn-spr-indfb-fullscreen > + * Description: Put a fullscreen plane covering the whole screen > + * Functionality: fbt, psr > + * > + * SUBTEST: fbcdrrs-%dp-primscrn-spr-indfb-fullscreen > + * Description: Put a fullscreen plane covering the whole screen > + * Functionality: drrs, fbc, fbt > + * > + * SUBTEST: fbcpsr-%dp-primscrn-spr-indfb-fullscreen > + * Description: Put a fullscreen plane covering the whole screen > + * Functionality: fbc, fbt, psr > + * > + * SUBTEST: psrdrrs-%dp-primscrn-spr-indfb-fullscreen > + * Description: Put a fullscreen plane covering the whole screen > + * Functionality: drrs, fbt, psr > + * > + * SUBTEST: fbcpsrdrrs-%dp-primscrn-spr-indfb-fullscreen > + * Description: Put a fullscreen plane covering the whole screen > + * Functionality: drrs, fbc, fbt, psr > + * > + * SUBTEST: drrs-2p-scndscrn-spr-indfb-fullscreen > + * Description: Put a fullscreen plane covering the whole screen > + * Functionality: drrs, fbt > + * > + * SUBTEST: fbc-2p-scndscrn-spr-indfb-fullscreen > + * Description: Put a fullscreen plane covering the whole screen > + * Functionality: fbc, fbt > + * > + * SUBTEST: psr-2p-scndscrn-spr-indfb-fullscreen > + * Description: Put a fullscreen plane covering the whole screen > + * Functionality: fbt, psr > + * > + * SUBTEST: fbcdrrs-2p-scndscrn-spr-indfb-fullscreen > + * Description: Put a fullscreen plane covering the whole screen > + * Functionality: drrs, fbc, fbt > + * > + * SUBTEST: fbcpsr-2p-scndscrn-spr-indfb-fullscreen > + * Description: Put a fullscreen plane covering the whole screen > + * Functionality: fbc, fbt, psr > + * > + * SUBTEST: psrdrrs-2p-scndscrn-spr-indfb-fullscreen > + * Description: Put a fullscreen plane covering the whole screen > + * Functionality: drrs, fbt, psr > + * > + * SUBTEST: fbcpsrdrrs-2p-scndscrn-spr-indfb-fullscreen > + * Description: Put a fullscreen plane covering the whole screen > + * Functionality: drrs, fbc, fbt, psr > + * > + * arg[1].values: 1, 2 > + */ > + > +/** > + * SUBTEST: drrs-%s-scaledprimary > + * Description: Try different primary plane scaling strategies > + * Functionality: drrs, fbt, scaling > + * > + * SUBTEST: fbc-%s-scaledprimary > + * Description: Try different primary plane scaling strategies > + * Functionality: fbc, fbt, scaling > + * > + * SUBTEST: psr-%s-scaledprimary > + * Description: Try different primary plane scaling strategies > + * Functionality: fbt, psr, scaling > + * > + * SUBTEST: fbcdrrs-%s-scaledprimary > + * Description: Try different primary plane scaling strategies > + * Functionality: drrs, fbc, fbt, scaling > + * > + * SUBTEST: fbcpsr-%s-scaledprimary > + * Description: Try different primary plane scaling strategies > + * Functionality: fbc, fbt, psr, scaling > + * > + * SUBTEST: psrdrrs-%s-scaledprimary > + * Description: Try different primary plane scaling strategies > + * Functionality: drrs, fbt, psr, scaling > + * > + * SUBTEST: fbcpsrdrrs-%s-scaledprimary > + * Description: Try different primary plane scaling strategies > + * Functionality: drrs, fbc, fbt, psr, scaling > + * > + * arg[1]: > + * > + * @indfb: Individual fb > + * @shrfb: Shared fb > + */ > + > +/** > + * SUBTEST: drrs-modesetfrombusy > + * Description: Modeset from a busy buffer to a non-busy buffer with DRRS > + * Functionality: drrs, fbt, scaling > + * > + * SUBTEST: fbc-modesetfrombusy > + * Description: Modeset from a busy buffer to a non-busy buffer with FBC > + * Functionality: fbc, fbt, scaling > + * > + * SUBTEST: psr-modesetfrombusy > + * Description: Modeset from a busy buffer to a non-busy buffer with PSR > + * Functionality: fbt, psr, scaling > + * > + * SUBTEST: fbcdrrs-modesetfrombusy > + * Description: Modeset from a busy buffer to a non-busy buffer with FBC & DRRS > + * Functionality: drrs, fbc, fbt, scaling > + * > + * SUBTEST: fbcpsr-modesetfrombusy > + * Description: Modeset from a busy buffer to a non-busy buffer with FBC & PSR > + * Functionality: fbc, fbt, psr, scaling > + * > + * SUBTEST: psrdrrs-modesetfrombusy > + * Description: Modeset from a busy buffer to a non-busy buffer with PSR & DRRS > + * Functionality: drrs, fbt, psr, scaling > + * > + * SUBTEST: fbcpsrdrrs-modesetfrombusy > + * Description: Modeset from a busy buffer to a non-busy buffer with FBC, PSR & DRRS > + * Functionality: drrs, fbc, fbt, psr, scaling > + * > + * SUBTEST: drrs-suspend > + * Description: Make sure suspend/resume keeps us on the same state of DRRS > + * Functionality: drrs, fbt, suspend > + * > + * SUBTEST: fbc-suspend > + * Description: Make sure suspend/resume keeps us on the same state of FBC > + * Functionality: fbc, fbt, suspend > + * > + * SUBTEST: psr-suspend > + * Description: Make sure suspend/resume keeps us on the same state of PSR > + * Functionality: fbt, psr, suspend > + * > + * SUBTEST: fbcdrrs-suspend > + * Description: Make sure suspend/resume keeps us on the same state of FBC & DRRS > + * Functionality: drrs, fbc, fbt, suspend > + * > + * SUBTEST: fbcpsr-suspend > + * Description: Make sure suspend/resume keeps us on the same state of FBC & PSR > + * Functionality: fbc, fbt, psr, suspend > + * > + * SUBTEST: psrdrrs-suspend > + * Description: Make sure suspend/resume keeps us on the same state of PSR & DRRS > + * Functionality: drrs, fbt, psr, suspend > + * > + * SUBTEST: fbcpsrdrrs-suspend > + * Description: Make sure suspend/resume keeps us on the same state of FBC, PSR & DRRS > + * Functionality: drrs, fbc, fbt, psr, suspend > + * > + * SUBTEST: drrs-farfromfence-mmap-gtt > + * Description: Test drawing as far from the fence start as possible > + * Driver requirement: i915 > + * Functionality: drrs, fbt, kms_core > + * > + * SUBTEST: fbc-farfromfence-mmap-gtt > + * Description: Test drawing as far from the fence start as possible > + * Driver requirement: i915 > + * Functionality: fbc, fbt, kms_core > + * > + * SUBTEST: psr-farfromfence-mmap-gtt > + * Description: Test drawing as far from the fence start as possible > + * Driver requirement: i915 > + * Functionality: fbt, kms_core, psr > + * > + * SUBTEST: fbcdrrs-farfromfence-mmap-gtt > + * Description: Test drawing as far from the fence start as possible > + * Driver requirement: i915 > + * Functionality: drrs, fbc, fbt, kms_core > + * > + * SUBTEST: fbcpsr-farfromfence-mmap-gtt > + * Description: Test drawing as far from the fence start as possible > + * Driver requirement: i915 > + * Functionality: fbc, fbt, kms_core, psr > + * > + * SUBTEST: psrdrrs-farfromfence-mmap-gtt > + * Description: Test drawing as far from the fence start as possible > + * Driver requirement: i915 > + * Functionality: drrs, fbt, kms_core, psr > + * > + * SUBTEST: fbcpsrdrrs-farfromfence-mmap-gtt > + * Description: Test drawing as far from the fence start as possible > + * Driver requirement: i915 > + * Functionality: drrs, fbc, fbt, kms_core, psr > + * > + * SUBTEST: fbc-badstride > + * Description: Try to use buffers with strides that are not supported > + * Functionality: fbc, fbt > + * > + * SUBTEST: fbcdrrs-badstride > + * Description: Try to use buffers with strides that are not supported > + * Functionality: drrs, fbc, fbt > + * > + * SUBTEST: fbcpsr-badstride > + * Description: Try to use buffers with strides that are not supported > + * Functionality: fbc, fbt, psr > + * > + * SUBTEST: fbcpsrdrrs-badstride > + * Description: Try to use buffers with strides that are not supported > + * Functionality: drrs, fbc, fbt, psr > + * > + * SUBTEST: fbc-stridechange > + * Description: Change the frontbuffer stride by doing a modeset > + * Functionality: fbc, fbt > + * > + * SUBTEST: fbcdrrs-stridechange > + * Description: Change the frontbuffer stride by doing a modeset > + * Functionality: drrs, fbc, fbt > + * > + * SUBTEST: fbcpsr-stridechange > + * Description: Change the frontbuffer stride by doing a modeset > + * Functionality: fbc, fbt, psr > + * > + * SUBTEST: fbcpsrdrrs-stridechange > + * Description: Change the frontbuffer stride by doing a modeset > + * Functionality: drrs, fbc, fbt, psr > + */ > + > +/** > + * SUBTEST: fbc-tiling-%s > + * Description: Test %arg[1] formats, if the tiling format supports FBC do the > + * basic drawing test, else set the mode & test if FBC is disabled > + * Functionality: fbc, fbt, tiling > + * > + * SUBTEST: fbcdrrs-tiling-%s > + * Description: Test %arg[1] formats, if the tiling format supports FBC do the > + * basic drawing test, else set the mode & test if FBC is disabled > + * Functionality: drrs, fbc, fbt, tiling > + * > + * SUBTEST: fbcpsr-tiling-%s > + * Description: Test %arg[1] formats, if the tiling format supports FBC do the > + * basic drawing test, else set the mode & test if FBC is disabled > + * Functionality: fbc, fbt, psr, tiling > + * > + * SUBTEST: fbcpsrdrrs-tiling-%s > + * Description: Test %arg[1] formats, if the tiling format supports FBC do the > + * basic drawing test, else set the mode & test if FBC is disabled > + * Functionality: drrs, fbc, fbt, psr, tiling > + * > + * arg[1]: > + * > + * @4: 4 tiling > + * @linear: Linear tiling > + * @y: Y tiling > + */ > +#define TIME SLOW_QUICK(1000, 10000) > + > +IGT_TEST_DESCRIPTION("Test the Kernel's frontbuffer tracking mechanism and " > + "its related features: FBC, PSR and DRRS"); > + > +/* > + * One of the aspects of this test is that, for every subtest, we try different > + * combinations of the parameters defined by the struct below. Because of this, > + * a single addition of a new parameter or subtest function can lead to hundreds > + * of new subtests. > + * > + * In order to reduce the number combinations we cut the cases that don't make > + * sense, such as writing on the secondary screen when there is only a single > + * pipe, or flipping when the target is the offscreen buffer. We also hide some > + * combinations that are somewhat redundant and don't add much value to the > + * test. For example, since we already do the offscreen testing with a single > + * pipe enabled, there's no much value in doing it again with dual pipes. If you > + * still want to try these redundant tests, you need to use the --show-hidden > + * option. > + * > + * The most important hidden thing is the FEATURE_NONE set of tests. Whenever > + * you get a failure on any test, it is important to check whether the same test > + * fails with FEATURE_NONE - replace the feature name for "nop". If the nop test > + * also fails, then it's likely the problem will be on the IGT side instead of > + * the Kernel side. We don't expose this set of tests by default because (i) > + * they take a long time to test; and (ii) if the feature tests work, then it's > + * very likely that the nop tests will also work. > + */ > +struct test_mode { > + /* Are we going to enable just one monitor, or are we going to setup a > + * dual screen environment for the test? */ > + enum { > + PIPE_SINGLE = 0, > + PIPE_DUAL, > + PIPE_COUNT, > + } pipes; > + > + /* The primary screen is the one that's supposed to have the "feature" > + * enabled on, but we have the option to draw on the secondary screen or > + * on some offscreen buffer. We also only theck the CRC of the primary > + * screen. */ > + enum { > + SCREEN_PRIM = 0, > + SCREEN_SCND, > + SCREEN_OFFSCREEN, > + SCREEN_COUNT, > + } screen; > + > + /* When we draw, we can draw directly on the primary plane, on the > + * cursor or on the sprite plane. */ > + enum { > + PLANE_PRI = 0, > + PLANE_CUR, > + PLANE_SPR, > + PLANE_COUNT, > + } plane; > + > + /* We can organize the screens in a way that each screen has its own > + * framebuffer, or in a way that all screens point to the same > + * framebuffer, but on different places. This includes the offscreen > + * screen. */ > + enum { > + FBS_INDIVIDUAL = 0, > + FBS_SHARED, > + FBS_COUNT, > + } fbs; > + > + /* Which features are we going to test now? This is a mask! > + * FEATURE_DEFAULT is a special value which instruct the test to just > + * keep what's already enabled by default in the Kernel. */ > + enum { > + FEATURE_NONE = 0, > + FEATURE_FBC = 1, > + FEATURE_PSR = 2, > + FEATURE_DRRS = 4, > + FEATURE_COUNT = 8, > + FEATURE_DEFAULT = 8, > + } feature; > + > + /* Possible pixel formats. We just use FORMAT_DEFAULT for most tests and > + * only test a few things on the other formats. */ > + enum pixel_format { > + FORMAT_RGB888 = 0, > + FORMAT_RGB565, > + FORMAT_RGB101010, > + FORMAT_COUNT, > + FORMAT_DEFAULT = FORMAT_RGB888, > + } format; > + > + /* There are multiple APIs where we can do the equivalent of a page flip > + * and they exercise slightly different codepaths inside the Kernel. */ > + enum flip_type { > + FLIP_PAGEFLIP, > + FLIP_MODESET, > + FLIP_PLANES, > + FLIP_COUNT, > + } flip; > + > + enum tiling_type { > + TILING_LINEAR = 0, > + TILING_X, > + TILING_Y, > + TILING_4, > + TILING_COUNT, > + TILING_DEFAULT = TILING_X, > + } tiling; > + > + enum igt_draw_method method; > +}; > + > +enum color { > + COLOR_RED, > + COLOR_GREEN, > + COLOR_BLUE, > + COLOR_MAGENTA, > + COLOR_CYAN, > + COLOR_SCND_BG, > + COLOR_PRIM_BG = COLOR_BLUE, > + COLOR_OFFSCREEN_BG = COLOR_SCND_BG, > +}; > + > +struct rect { > + int x; > + int y; > + int w; > + int h; > + uint32_t color; > +}; > + > +struct { > + int fd; > + int debugfs; > + igt_display_t display; > + > + struct buf_ops *bops; > +} drm; > + > +struct { > + bool can_test; > + > + bool supports_last_action; > + > + struct timespec last_action; > +} fbc = { > + .can_test = false, > + .supports_last_action = false, > +}; > + > +struct { > + bool can_test; > +} psr = { > + .can_test = false, > +}; > + > +#define MAX_DRRS_STATUS_BUF_LEN 256 > + > +struct { > + bool can_test; > +} drrs = { > + .can_test = false, > +}; > + > +igt_pipe_crc_t *pipe_crc; > +igt_crc_t *wanted_crc; > +struct { > + bool initialized; > + igt_crc_t crc; > +} blue_crcs[FORMAT_COUNT]; > + > +/* The goal of this structure is to easily allow us to deal with cases where we > + * have a big framebuffer and the CRTC is just displaying a subregion of this > + * big FB. */ > +struct fb_region { > + igt_plane_t *plane; > + struct igt_fb *fb; > + int x; > + int y; > + int w; > + int h; > +}; > + > +struct draw_pattern_info { > + bool frames_stack; > + int n_rects; > + struct rect (*get_rect)(struct fb_region *fb, int r); > + > + bool initialized[FORMAT_COUNT]; > + igt_crc_t *crcs[FORMAT_COUNT]; > +}; > + > +/* Draw big rectangles on the screen. */ > +struct draw_pattern_info pattern1; > +/* 64x64 rectangles at x:0,y:0, just so we can draw on the cursor and sprite. */ > +struct draw_pattern_info pattern2; > +/* 64x64 rectangles at different positions, same color, for the move test. */ > +struct draw_pattern_info pattern3; > +/* Just a fullscreen green square. */ > +struct draw_pattern_info pattern4; > + > +/* Command line parameters. */ > +struct { > + bool check_status; > + bool check_crc; > + bool fbc_check_compression; > + bool fbc_check_last_action; > + bool no_edp; > + bool small_modes; > + bool show_hidden; > + int step; > + int only_pipes; > + int shared_fb_x_offset; > + int shared_fb_y_offset; > + enum tiling_type tiling; > +} opt = { > + .check_status = true, > + .check_crc = true, > + .fbc_check_compression = true, > + .fbc_check_last_action = true, > + .no_edp = false, > + .small_modes = false, > + .show_hidden= false, > + .step = 0, > + .only_pipes = PIPE_COUNT, > + .shared_fb_x_offset = 248, > + .shared_fb_y_offset = 500, > + .tiling = TILING_DEFAULT, > +}; > + > +struct modeset_params { > + enum pipe pipe; > + igt_output_t *output; > + drmModeModeInfo mode; > + > + struct fb_region primary; > + struct fb_region cursor; > + struct fb_region sprite; > +}; > + > +struct modeset_params prim_mode_params; > +struct modeset_params scnd_mode_params; > + > +struct fb_region offscreen_fb; > +struct screen_fbs { > + bool initialized; > + > + struct igt_fb prim_pri; > + struct igt_fb prim_cur; > + struct igt_fb prim_spr; > + > + struct igt_fb scnd_pri; > + struct igt_fb scnd_cur; > + struct igt_fb scnd_spr; > + > + struct igt_fb offscreen; > + struct igt_fb big; > +} fbs[FORMAT_COUNT]; > + > +struct { > + pthread_t thread; > + bool stop; > + > + uint32_t handle; > uint32_t size; > uint32_t stride; > int width; > @@ -1683,898 +2810,233 @@ static void set_region_for_test(const struct test_mode *t, > fill_fb_region(reg, COLOR_PRIM_BG); > > igt_plane_set_fb(reg->plane, reg->fb); > - igt_plane_set_position(reg->plane, 0, 0); > - igt_plane_set_size(reg->plane, reg->w, reg->h); > - igt_fb_set_size(reg->fb, reg->plane, reg->w, reg->h); > - > - igt_display_commit(&drm.display); > - do_assertions(ASSERT_NO_ACTION_CHANGE); > -} > - > -static bool enable_features_for_test(const struct test_mode *t) > -{ > - bool ret = false; > - > - if (t->feature == FEATURE_DEFAULT) > - return false; > - > - if (t->feature & FEATURE_FBC) > - intel_fbc_enable(drm.fd); > - if (t->feature & FEATURE_PSR) > - ret = psr_enable(drm.fd, drm.debugfs, PSR_MODE_1); > - if (t->feature & FEATURE_DRRS) > - intel_drrs_enable(drm.fd, prim_mode_params.pipe); > - > - return ret; > -} > - > -static void check_test_requirements(const struct test_mode *t) > -{ > - int ver; > - > - if (t->pipes == PIPE_DUAL) > - igt_require_f(scnd_mode_params.output, > - "Can't test dual pipes with the current outputs\n"); > - > - if (t->feature & FEATURE_FBC) > - igt_require_f(fbc.can_test, > - "Can't test FBC with this chipset\n"); > - > - if (t->feature & FEATURE_PSR) { > - igt_require_f(psr.can_test, > - "Can't test PSR with the current outputs\n"); > - } > - > - if (t->feature & FEATURE_DRRS) > - igt_require_f(drrs.can_test, > - "Can't test DRRS with the current outputs\n"); > - > - /* > - * In kernel, When PSR is enabled, DRRS will be disabled. So If a test > - * case needs DRRS + PSR enabled, that will be skipped. > - */ > - igt_require_f(!((t->feature & FEATURE_PSR) && > - (t->feature & FEATURE_DRRS)), > - "Can't test PSR and DRRS together\n"); > - > - if (opt.only_pipes != PIPE_COUNT) > - igt_require(t->pipes == opt.only_pipes); > - > - /* Kernel disables fbc for display versions 12 and 13 if psr is enabled. */ > - ver = intel_display_ver(intel_get_drm_devid(drm.fd)); > - if (ver >= 12 && ver <= 13) > - igt_require_f(!((t->feature & FEATURE_PSR) && > - (t->feature & FEATURE_FBC)), > - "Can't test PSR and FBC together\n"); > - > -} > - > -static void set_crtc_fbs(const struct test_mode *t) > -{ > - struct screen_fbs *s = &fbs[t->format]; > - > - create_fbs(t->format, t->tiling); > - > - switch (t->fbs) { > - case FBS_INDIVIDUAL: > - prim_mode_params.primary.fb = &s->prim_pri; > - scnd_mode_params.primary.fb = &s->scnd_pri; > - offscreen_fb.fb = &s->offscreen; > - > - prim_mode_params.primary.x = 0; > - scnd_mode_params.primary.x = 0; > - offscreen_fb.x = 0; > - > - prim_mode_params.primary.y = 0; > - scnd_mode_params.primary.y = 0; > - offscreen_fb.y = 0; > - break; > - case FBS_SHARED: > - /* Please see the comment at the top of create_shared_fb(). */ > - prim_mode_params.primary.fb = &s->big; > - scnd_mode_params.primary.fb = &s->big; > - offscreen_fb.fb = &s->big; > - > - prim_mode_params.primary.x = opt.shared_fb_x_offset; > - scnd_mode_params.primary.x = opt.shared_fb_x_offset; > - offscreen_fb.x = opt.shared_fb_x_offset; > - > - prim_mode_params.primary.y = opt.shared_fb_y_offset; > - scnd_mode_params.primary.y = prim_mode_params.primary.y + > - prim_mode_params.primary.h; > - offscreen_fb.y = scnd_mode_params.primary.y + scnd_mode_params.primary.h; > - break; > - default: > - igt_assert(false); > - } > - > - prim_mode_params.cursor.fb = &s->prim_cur; > - prim_mode_params.sprite.fb = &s->prim_spr; > - scnd_mode_params.cursor.fb = &s->scnd_cur; > - scnd_mode_params.sprite.fb = &s->scnd_spr; > -} > - > -static void prepare_subtest_data(const struct test_mode *t, > - struct draw_pattern_info *pattern) > -{ > - bool need_modeset; > - > - check_test_requirements(t); > - > - stop_busy_thread(); > - > - need_modeset = disable_features(t); > - set_crtc_fbs(t); > - > - if (t->screen == SCREEN_OFFSCREEN) > - fill_fb_region(&offscreen_fb, COLOR_OFFSCREEN_BG); > - > - igt_display_reset(&drm.display); > - if (need_modeset) > - igt_display_commit(&drm.display); > - > - init_blue_crc(t->format, t->tiling); > - if (pattern) > - init_crcs(t->format, t->tiling, pattern); > - > - need_modeset = enable_features_for_test(t); > - if (need_modeset) > - igt_display_commit(&drm.display); > -} > - > -static void prepare_subtest_screens(const struct test_mode *t) > -{ > - if (t->pipes == PIPE_DUAL) > - enable_both_screens_and_wait(t); > - else > - enable_prim_screen_and_wait(t); > - > - if (t->screen == SCREEN_PRIM) { > - if (t->plane == PLANE_CUR) > - set_region_for_test(t, &prim_mode_params.cursor); > - if (t->plane == PLANE_SPR) > - set_region_for_test(t, &prim_mode_params.sprite); > - } > - > - if (t->pipes == PIPE_DUAL && t->screen == SCREEN_SCND) { > - if (t->plane == PLANE_CUR) > - set_region_for_test(t, &scnd_mode_params.cursor); > - if (t->plane == PLANE_SPR) > - set_region_for_test(t, &scnd_mode_params.sprite); > - } > -} > - > -static void prepare_subtest(const struct test_mode *t, > - struct draw_pattern_info *pattern) > -{ > - prepare_subtest_data(t, pattern); > - prepare_subtest_screens(t); > -} > - > -/** > - * SUBTEST: drrs-%dp-rte > - * Description: Sanity test to enable DRRS with %arg[1] panels. > - * Driver requirement: i915, xe > - * Functionality: fbt, drrs > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-%dp-rte > - * Description: Sanity test to enable FBC with %arg[1] panels. > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-%dp-rte > - * Description: Sanity test to enable PSR with %arg[1] panels. > - * Driver requirement: i915, xe > - * Functionality: fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-%dp-rte > - * Description: Sanity test to enable FBC & DRRS with %arg[1] panels. > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-%dp-rte > - * Description: Sanity test to enable FBC & PSR with %arg[1] panels. > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-%dp-rte > - * Description: Sanity test to enable PSR & DRRS with %arg[1] panels. > - * Driver requirement: i915, xe > - * Functionality: fbt, drrs, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-%dp-rte > - * Description: Sanity test to enable FBC, PSR & DRRS with %arg[1] panels. > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, drrs, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1].values: 1, 2 > - */ > - > -/* > - * rte - the basic sanity test > - * > - * METHOD > - * Just disable all screens, assert everything is disabled, then enable all > - * screens - including primary, cursor and sprite planes - and assert that > - * the tested feature is enabled. > - * > - * EXPECTED RESULTS > - * Blue screens and t->feature enabled. > - * > - * FAILURES > - * A failure here means that every other subtest will probably fail too. It > - * probably means that the Kernel is just not enabling the feature we want. > - */ > -static void rte_subtest(const struct test_mode *t) > -{ > - prepare_subtest_data(t, NULL); > + igt_plane_set_position(reg->plane, 0, 0); > + igt_plane_set_size(reg->plane, reg->w, reg->h); > + igt_fb_set_size(reg->fb, reg->plane, reg->w, reg->h); > > - unset_all_crtcs(); > - do_assertions(ASSERT_FBC_DISABLED | ASSERT_PSR_DISABLED | > - DONT_ASSERT_CRC | ASSERT_DRRS_INACTIVE); > + igt_display_commit(&drm.display); > + do_assertions(ASSERT_NO_ACTION_CHANGE); > +} > > - if (t->pipes == PIPE_SINGLE) > - enable_prim_screen_and_wait(t); > - else > - enable_both_screens_and_wait(t); > +static bool enable_features_for_test(const struct test_mode *t) > +{ > + bool ret = false; > > - set_region_for_test(t, &prim_mode_params.cursor); > - set_region_for_test(t, &prim_mode_params.sprite); > + if (t->feature == FEATURE_DEFAULT) > + return false; > > - if (t->pipes == PIPE_DUAL) { > - set_region_for_test(t, &scnd_mode_params.cursor); > - set_region_for_test(t, &scnd_mode_params.sprite); > - } > + if (t->feature & FEATURE_FBC) > + intel_fbc_enable(drm.fd); > + if (t->feature & FEATURE_PSR) > + ret = psr_enable(drm.fd, drm.debugfs, PSR_MODE_1); > + if (t->feature & FEATURE_DRRS) > + intel_drrs_enable(drm.fd, prim_mode_params.pipe); > + > + return ret; > } > > -static void update_wanted_crc(const struct test_mode *t, igt_crc_t *crc) > +static void check_test_requirements(const struct test_mode *t) > { > - if (t->screen == SCREEN_PRIM) > - wanted_crc = crc; > + int ver; > + > + if (t->pipes == PIPE_DUAL) > + igt_require_f(scnd_mode_params.output, > + "Can't test dual pipes with the current outputs\n"); > + > + if (t->feature & FEATURE_FBC) > + igt_require_f(fbc.can_test, > + "Can't test FBC with this chipset\n"); > + > + if (t->feature & FEATURE_PSR) { > + igt_require_f(psr.can_test, > + "Can't test PSR with the current outputs\n"); > + } > + > + if (t->feature & FEATURE_DRRS) > + igt_require_f(drrs.can_test, > + "Can't test DRRS with the current outputs\n"); > + > + /* > + * In kernel, When PSR is enabled, DRRS will be disabled. So If a test > + * case needs DRRS + PSR enabled, that will be skipped. > + */ > + igt_require_f(!((t->feature & FEATURE_PSR) && > + (t->feature & FEATURE_DRRS)), > + "Can't test PSR and DRRS together\n"); > + > + if (opt.only_pipes != PIPE_COUNT) > + igt_require(t->pipes == opt.only_pipes); > + > + /* Kernel disables fbc for display versions 12 and 13 if psr is enabled. */ > + ver = intel_display_ver(intel_get_drm_devid(drm.fd)); > + if (ver >= 12 && ver <= 13) > + igt_require_f(!((t->feature & FEATURE_PSR) && > + (t->feature & FEATURE_FBC)), > + "Can't test PSR and FBC together\n"); > + > } > > -static bool op_disables_psr(const struct test_mode *t, > - enum igt_draw_method method) > +static void set_crtc_fbs(const struct test_mode *t) > { > - if (method != IGT_DRAW_MMAP_GTT) > - return false; > - if (t->screen == SCREEN_PRIM) > - return true; > - /* On FBS_SHARED, even if the target is not the PSR screen > - * (SCREEN_PRIM), all primary planes share the same frontbuffer, so a > - * write to the second screen primary plane - or offscreen plane - will > - * touch the framebuffer that's also used by the primary screen. */ > - if (t->fbs == FBS_SHARED && t->plane == PLANE_PRI) > - return true; > + struct screen_fbs *s = &fbs[t->format]; > > - return false; > + create_fbs(t->format, t->tiling); > + > + switch (t->fbs) { > + case FBS_INDIVIDUAL: > + prim_mode_params.primary.fb = &s->prim_pri; > + scnd_mode_params.primary.fb = &s->scnd_pri; > + offscreen_fb.fb = &s->offscreen; > + > + prim_mode_params.primary.x = 0; > + scnd_mode_params.primary.x = 0; > + offscreen_fb.x = 0; > + > + prim_mode_params.primary.y = 0; > + scnd_mode_params.primary.y = 0; > + offscreen_fb.y = 0; > + break; > + case FBS_SHARED: > + /* Please see the comment at the top of create_shared_fb(). */ > + prim_mode_params.primary.fb = &s->big; > + scnd_mode_params.primary.fb = &s->big; > + offscreen_fb.fb = &s->big; > + > + prim_mode_params.primary.x = opt.shared_fb_x_offset; > + scnd_mode_params.primary.x = opt.shared_fb_x_offset; > + offscreen_fb.x = opt.shared_fb_x_offset; > + > + prim_mode_params.primary.y = opt.shared_fb_y_offset; > + scnd_mode_params.primary.y = prim_mode_params.primary.y + > + prim_mode_params.primary.h; > + offscreen_fb.y = scnd_mode_params.primary.y + scnd_mode_params.primary.h; > + break; > + default: > + igt_assert(false); > + } > + > + prim_mode_params.cursor.fb = &s->prim_cur; > + prim_mode_params.sprite.fb = &s->prim_spr; > + scnd_mode_params.cursor.fb = &s->scnd_cur; > + scnd_mode_params.sprite.fb = &s->scnd_spr; > } > > -/** > - * SUBTEST: drrs-1p-offscren-pri-%s-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-1p-offscren-pri-%s-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-1p-offscren-pri-%s-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-1p-offscren-pri-%s-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-1p-offscren-pri-%s-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-1p-offscren-pri-%s-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-1p-offscren-pri-%s-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @indfb: Individual fb > - * @shrfb: Shared fb > - * > - * arg[2]: > - * > - * @blt: Blitter > - * @mmap-wc: MMAP-WC > - * @render: Render > - */ > +static void prepare_subtest_data(const struct test_mode *t, > + struct draw_pattern_info *pattern) > +{ > + bool need_modeset; > > -/** > - * SUBTEST: drrs-1p-offscren-pri-%s-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: drrs, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-1p-offscren-pri-%s-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-1p-offscren-pri-%s-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-1p-offscren-pri-%s-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: drrs, fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-1p-offscren-pri-%s-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-1p-offscren-pri-%s-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: drrs, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-1p-offscren-pri-%s-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: drrs, fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @indfb: Individual fb > - * @shrfb: Shared fb > - * > - * arg[2]: > - * > - * @mmap-cpu: MMAP-CPU > - * @mmap-gtt: MMAP-GTT > - * @pwrite: PWRITE > - */ > + check_test_requirements(t); > + > + stop_busy_thread(); > > -/** > - * SUBTEST: drrs-%dp-primscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: drrs, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-%dp-primscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-%dp-primscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: drrs, fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: drrs, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: drrs, fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1].values: 1, 2 > - * > - * arg[2]: > - * > - * @cur: Cursor plane > - * @pri: Primary plane > - * @spr: Sprite plane > - * > - * arg[3]: > - * > - * @mmap-cpu: MMAP-CPU > - * @mmap-gtt: MMAP-GTT > - * @pwrite: PWRITE > - */ > + need_modeset = disable_features(t); > + set_crtc_fbs(t); > > -/** > - * SUBTEST: drrs-%dp-primscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-%dp-primscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-%dp-primscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1].values: 1, 2 > - * > - * arg[2]: > - * > - * @cur: Cursor plane > - * @pri: Primary plane > - * @spr: Sprite plane > - * > - * arg[3]: > - * > - * @blt: Blitter > - * @mmap-wc: MMAP-WC > - * @render: Render > - */ > + if (t->screen == SCREEN_OFFSCREEN) > + fill_fb_region(&offscreen_fb, COLOR_OFFSCREEN_BG); > > -/** > - * SUBTEST: drrs-%dp-primscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-%dp-primscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-%dp-primscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-%dp-primscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-%dp-primscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-%dp-primscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-%dp-primscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1].values: 1, 2 > - * > - * arg[2]: > - * > - * @blt: Blitter > - * @mmap-wc: MMAP-WC > - * @render: Render > - */ > + igt_display_reset(&drm.display); > + if (need_modeset) > + igt_display_commit(&drm.display); > > -/** > - * SUBTEST: drrs-%dp-primscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: drrs, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-%dp-primscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-%dp-primscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-%dp-primscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: drrs, fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-%dp-primscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-%dp-primscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: drrs, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-%dp-primscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: drrs, fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1].values: 1, 2 > - * > - * arg[2]: > - * > - * @mmap-cpu: MMAP-CPU > - * @mmap-gtt: MMAP-GTT > - * @pwrite: PWRITE > - */ > + init_blue_crc(t->format, t->tiling); > + if (pattern) > + init_crcs(t->format, t->tiling, pattern); > + > + need_modeset = enable_features_for_test(t); > + if (need_modeset) > + igt_display_commit(&drm.display); > +} > > -/** > - * SUBTEST: drrs-2p-scndscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-2p-scndscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-2p-scndscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @cur: Cursor plane > - * @pri: Primary plane > - * @spr: Sprite plane > - * > - * arg[2]: > - * > - * @blt: Blitter > - * @mmap-wc: MMAP-WC > - * @render: Render > - */ > +static void prepare_subtest_screens(const struct test_mode *t) > +{ > + if (t->pipes == PIPE_DUAL) > + enable_both_screens_and_wait(t); > + else > + enable_prim_screen_and_wait(t); > > -/** > - * SUBTEST: drrs-2p-scndscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: drrs, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-2p-scndscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-2p-scndscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: drrs, fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: drrs, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: drrs, fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @cur: Cursor plane > - * @pri: Primary plane > - * @spr: Sprite plane > - * > - * arg[2]: > - * > - * @mmap-cpu: MMAP-CPU > - * @mmap-gtt: MMAP-GTT > - * @pwrite: PWRITE > - */ > + if (t->screen == SCREEN_PRIM) { > + if (t->plane == PLANE_CUR) > + set_region_for_test(t, &prim_mode_params.cursor); > + if (t->plane == PLANE_SPR) > + set_region_for_test(t, &prim_mode_params.sprite); > + } > > -/** > - * SUBTEST: drrs-2p-scndscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-2p-scndscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-2p-scndscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-2p-scndscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-2p-scndscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-2p-scndscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-2p-scndscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @blt: Blitter > - * @mmap-wc: MMAP-WC > - * @render: Render > - */ > + if (t->pipes == PIPE_DUAL && t->screen == SCREEN_SCND) { > + if (t->plane == PLANE_CUR) > + set_region_for_test(t, &scnd_mode_params.cursor); > + if (t->plane == PLANE_SPR) > + set_region_for_test(t, &scnd_mode_params.sprite); > + } > +} > > -/** > - * SUBTEST: drrs-2p-scndscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: drrs, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-2p-scndscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-2p-scndscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-2p-scndscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: drrs, fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-2p-scndscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-2p-scndscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: drrs, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-2p-scndscrn-pri-shrfb-draw-%s > - * Description: Draw a set of rectangles on the screen using the provided method > - * Driver requirement: i915 > - * Functionality: drrs, fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > +static void prepare_subtest(const struct test_mode *t, > + struct draw_pattern_info *pattern) > +{ > + prepare_subtest_data(t, pattern); > + prepare_subtest_screens(t); > +} > + > +/* > + * rte - the basic sanity test > * > - * arg[1]: > + * METHOD > + * Just disable all screens, assert everything is disabled, then enable all > + * screens - including primary, cursor and sprite planes - and assert that > + * the tested feature is enabled. > * > - * @mmap-cpu: MMAP-CPU > - * @mmap-gtt: MMAP-GTT > - * @pwrite: PWRITE > + * EXPECTED RESULTS > + * Blue screens and t->feature enabled. > + * > + * FAILURES > + * A failure here means that every other subtest will probably fail too. It > + * probably means that the Kernel is just not enabling the feature we want. > */ > +static void rte_subtest(const struct test_mode *t) > +{ > + prepare_subtest_data(t, NULL); > + > + unset_all_crtcs(); > + do_assertions(ASSERT_FBC_DISABLED | ASSERT_PSR_DISABLED | > + DONT_ASSERT_CRC | ASSERT_DRRS_INACTIVE); > + > + if (t->pipes == PIPE_SINGLE) > + enable_prim_screen_and_wait(t); > + else > + enable_both_screens_and_wait(t); > + > + set_region_for_test(t, &prim_mode_params.cursor); > + set_region_for_test(t, &prim_mode_params.sprite); > + > + if (t->pipes == PIPE_DUAL) { > + set_region_for_test(t, &scnd_mode_params.cursor); > + set_region_for_test(t, &scnd_mode_params.sprite); > + } > +} > + > +static void update_wanted_crc(const struct test_mode *t, igt_crc_t *crc) > +{ > + if (t->screen == SCREEN_PRIM) > + wanted_crc = crc; > +} > + > +static bool op_disables_psr(const struct test_mode *t, > + enum igt_draw_method method) > +{ > + if (method != IGT_DRAW_MMAP_GTT) > + return false; > + if (t->screen == SCREEN_PRIM) > + return true; > + /* On FBS_SHARED, even if the target is not the PSR screen > + * (SCREEN_PRIM), all primary planes share the same frontbuffer, so a > + * write to the second screen primary plane - or offscreen plane - will > + * touch the framebuffer that's also used by the primary screen. */ > + if (t->fbs == FBS_SHARED && t->plane == PLANE_PRI) > + return true; > + > + return false; > +} > > /* > * draw - draw a set of rectangles on the screen using the provided method > @@ -2649,59 +3111,6 @@ static void draw_subtest(const struct test_mode *t) > } > } > > -/** > - * SUBTEST: drrs-%dp-pri-indfb-multidraw > - * Description: Draw a set of rectangles on the screen using alternated drawing methods > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-%dp-pri-indfb-multidraw > - * Description: Draw a set of rectangles on the screen using alternated drawing methods > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-%dp-pri-indfb-multidraw > - * Description: Draw a set of rectangles on the screen using alternated drawing methods > - * Driver requirement: i915, xe > - * Functionality: fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-%dp-pri-indfb-multidraw > - * Description: Draw a set of rectangles on the screen using alternated drawing methods > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-%dp-pri-indfb-multidraw > - * Description: Draw a set of rectangles on the screen using alternated drawing methods > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-%dp-pri-indfb-multidraw > - * Description: Draw a set of rectangles on the screen using alternated drawing methods > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-%dp-pri-indfb-multidraw > - * Description: Draw a set of rectangles on the screen using alternated drawing methods > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1].values: 1, 2 > - */ > - > /* > * multidraw - draw a set of rectangles on the screen using alternated drawing > * methods > @@ -2832,147 +3241,23 @@ static bool format_is_valid(int feature_flags, > */ > static void badformat_subtest(const struct test_mode *t) > { > - bool fbc_valid = format_is_valid(FEATURE_FBC, t->format); > - bool psr_valid = format_is_valid(FEATURE_PSR, t->format); > - int assertions = ASSERT_NO_ACTION_CHANGE; > - > - prepare_subtest_data(t, NULL); > - > - fill_fb_region(&prim_mode_params.primary, COLOR_PRIM_BG); > - set_mode_for_params(&prim_mode_params); > - > - wanted_crc = &blue_crcs[t->format].crc; > - > - if (!fbc_valid) > - assertions |= ASSERT_FBC_DISABLED; > - if (!psr_valid) > - assertions |= ASSERT_PSR_DISABLED; > - do_assertions(assertions); > -} > - > -/** > - * SUBTEST: drrs-%s-draw-%s > - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-%s-draw-%s > - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-%s-draw-%s > - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > - * Driver requirement: i915, xe > - * Functionality: fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-%s-draw-%s > - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-%s-draw-%s > - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-%s-draw-%s > - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-%s-draw-%s > - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @rgb101010: FORMAT_RGB101010 > - * @rgb565: FORMAT_RGB565 > - * > - * arg[2]: > - * > - * @blt: Blitter > - * @mmap-wc: MMAP-WC > - * @render: Render > - */ > - > -/** > - * SUBTEST: drrs-%s-draw-%s > - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > - * Driver requirement: i915 > - * Functionality: drrs, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-%s-draw-%s > - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > - * Driver requirement: i915 > - * Functionality: fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-%s-draw-%s > - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > - * Driver requirement: i915 > - * Functionality: fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-%s-draw-%s > - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > - * Driver requirement: i915 > - * Functionality: drrs, fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-%s-draw-%s > - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > - * Driver requirement: i915 > - * Functionality: fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-%s-draw-%s > - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > - * Driver requirement: i915 > - * Functionality: drrs, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-%s-draw-%s > - * Description: Test pixel formats (%arg[1]) that are not FORMAT_DEFAULT > - * Driver requirement: i915 > - * Functionality: drrs, fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @rgb101010: FORMAT_RGB101010 > - * @rgb565: FORMAT_RGB565 > - * > - * arg[2]: > - * > - * @mmap-cpu: MMAP-CPU > - * @mmap-gtt: MMAP-GTT > - * @pwrite: PWRITE > - */ > + bool fbc_valid = format_is_valid(FEATURE_FBC, t->format); > + bool psr_valid = format_is_valid(FEATURE_PSR, t->format); > + int assertions = ASSERT_NO_ACTION_CHANGE; > + > + prepare_subtest_data(t, NULL); > + > + fill_fb_region(&prim_mode_params.primary, COLOR_PRIM_BG); > + set_mode_for_params(&prim_mode_params); > + > + wanted_crc = &blue_crcs[t->format].crc; > + > + if (!fbc_valid) > + assertions |= ASSERT_FBC_DISABLED; > + if (!psr_valid) > + assertions |= ASSERT_PSR_DISABLED; > + do_assertions(assertions); > +} > > /* > * format_draw - test pixel formats that are not FORMAT_DEFAULT > @@ -3017,57 +3302,6 @@ static bool tiling_is_valid(int feature_flags, enum tiling_type tiling) > } > } > > -/** > - * SUBTEST: drrs-slowdraw > - * Description: Sleep a little bit between drawing operations with DRRS > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-slowdraw > - * Description: Sleep a little bit between drawing operations with FBC > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-slowdraw > - * Description: Sleep a little bit between drawing operations with PSR > - * Driver requirement: i915, xe > - * Functionality: fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-slowdraw > - * Description: Sleep a little bit between drawing operations with FBC & DRRS > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-slowdraw > - * Description: Sleep a little bit between drawing operations with FBC & PSR > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-slowdraw > - * Description: Sleep a little bit between drawing operations with PSR & DRRS > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-slowdraw > - * Description: Sleep a little bit between drawing operations with FBC, PSR & DRRS > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > - > /* > * slow_draw - sleep a little bit between drawing operations > * > @@ -3174,132 +3408,6 @@ static void page_flip_for_params(struct modeset_params *params, > } > } > > -/** > - * SUBTEST: drrs-%dp-primscrn-%s-%sflip-blt > - * Description: Just exercise page flips with the patterns we have > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-%dp-primscrn-%s-%sflip-blt > - * Description: Just exercise page flips with the patterns we have > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-%dp-primscrn-%s-%sflip-blt > - * Description: Just exercise page flips with the patterns we have > - * Driver requirement: i915, xe > - * Functionality: fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-%dp-primscrn-%s-%sflip-blt > - * Description: Just exercise page flips with the patterns we have > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-%dp-primscrn-%s-%sflip-blt > - * Description: Just exercise page flips with the patterns we have > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-%dp-primscrn-%s-%sflip-blt > - * Description: Just exercise page flips with the patterns we have > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-%sflip-blt > - * Description: Just exercise page flips with the patterns we have > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1].values: 1, 2 > - * > - * arg[2]: > - * > - * @indfb: Individual fb > - * @shrfb: Shared fb > - * > - * arg[3]: > - * > - * @ms: Modeset > - * @pg: Page flip > - * @pl: Plane change > - */ > - > -/** > - * SUBTEST: drrs-2p-scndscrn-%s-%sflip-blt > - * Description: Just exercise page flips with the patterns we have > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-2p-scndscrn-%s-%sflip-blt > - * Description: Just exercise page flips with the patterns we have > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-2p-scndscrn-%s-%sflip-blt > - * Description: Just exercise page flips with the patterns we have > - * Driver requirement: i915, xe > - * Functionality: fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-2p-scndscrn-%s-%sflip-blt > - * Description: Just exercise page flips with the patterns we have > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-2p-scndscrn-%s-%sflip-blt > - * Description: Just exercise page flips with the patterns we have > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-2p-scndscrn-%s-%sflip-blt > - * Description: Just exercise page flips with the patterns we have > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-%sflip-blt > - * Description: Just exercise page flips with the patterns we have > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @indfb: Individual fb > - * @shrfb: Shared fb > - * > - * arg[2]: > - * > - * @ms: Modeset > - * @pg: Page flip > - * @pl: Plane change > - */ > - > /* > * flip - just exercise page flips with the patterns we have > * > @@ -3334,68 +3442,31 @@ static void flip_subtest(const struct test_mode *t) > bg_color = COLOR_SCND_BG; > break; > default: > - igt_assert(false); > - } > - > - prepare_subtest(t, pattern); > - > - create_fb(t->format, params->primary.fb->width, params->primary.fb->height, > - t->tiling, t->plane, &fb2); > - fill_fb(&fb2, bg_color); > - orig_fb = params->primary.fb; > - > - for (r = 0; r < pattern->n_rects; r++) { > - params->primary.fb = (r % 2 == 0) ? &fb2 : orig_fb; > - > - if (r != 0) > - draw_rect(pattern, ¶ms->primary, t->method, r - 1); > - draw_rect(pattern, ¶ms->primary, t->method, r); > - update_wanted_crc(t, &pattern->crcs[t->format][r]); > - > - page_flip_for_params(params, t->flip); > - > - do_assertions(assertions); > - } > - > - igt_remove_fb(drm.fd, &fb2); > -} > - > -/** > - * SUBTEST: fbc-%dp-%s-fliptrack-mmap-gtt > - * Description: Check if the hardware tracking works after page flips > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-%dp-%s-fliptrack-mmap-gtt > - * Description: Check if the hardware tracking works after page flips > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-%dp-%s-fliptrack-mmap-gtt > - * Description: Check if the hardware tracking works after page flips > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-%dp-%s-fliptrack-mmap-gtt > - * Description: Check if the hardware tracking works after page flips > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1].values: 1, 2 > - * > - * arg[2]: > - * > - * @indfb: Individual fb > - * @shrfb: Shared fb > - */ > + igt_assert(false); > + } > + > + prepare_subtest(t, pattern); > + > + create_fb(t->format, params->primary.fb->width, params->primary.fb->height, > + t->tiling, t->plane, &fb2); > + fill_fb(&fb2, bg_color); > + orig_fb = params->primary.fb; > + > + for (r = 0; r < pattern->n_rects; r++) { > + params->primary.fb = (r % 2 == 0) ? &fb2 : orig_fb; > + > + if (r != 0) > + draw_rect(pattern, ¶ms->primary, t->method, r - 1); > + draw_rect(pattern, ¶ms->primary, t->method, r); > + update_wanted_crc(t, &pattern->crcs[t->format][r]); > + > + page_flip_for_params(params, t->flip); > + > + do_assertions(assertions); > + } > + > + igt_remove_fb(drm.fd, &fb2); > +} > > /* > * fliptrack - check if the hardware tracking works after page flips > @@ -3445,120 +3516,6 @@ static void fliptrack_subtest(const struct test_mode *t, enum flip_type type) > igt_remove_fb(drm.fd, &fb2); > } > > -/** > - * SUBTEST: drrs-%dp-primscrn-%s-indfb-move > - * Description: Just move the %arg[2] around > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-%dp-primscrn-%s-indfb-move > - * Description: Just move the %arg[2] around > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-%dp-primscrn-%s-indfb-move > - * Description: Just move the %arg[2] around > - * Driver requirement: i915, xe > - * Functionality: fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-move > - * Description: Just move the %arg[2] around > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-move > - * Description: Just move the %arg[2] around > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-move > - * Description: Just move the %arg[2] around > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-move > - * Description: Just move the %arg[2] around > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1].values: 1, 2 > - * > - * arg[2]: > - * > - * @spr: Sprite plane > - * @cur: Cursor plane > - */ > - > -/** > - * SUBTEST: drrs-2p-scndscrn-%s-indfb-move > - * Description: Just move the %arg[1] around > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-2p-scndscrn-%s-indfb-move > - * Description: Just move the %arg[1] around > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-2p-scndscrn-%s-indfb-move > - * Description: Just move the %arg[1] around > - * Driver requirement: i915, xe > - * Functionality: fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-move > - * Description: Just move the %arg[1] around > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-move > - * Description: Just move the %arg[1] around > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-move > - * Description: Just move the %arg[1] around > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-move > - * Description: Just move the %arg[1] around > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @spr: Sprite plane > - * @cur: Cursor plane > - */ > - > /* > * move - just move the sprite or cursor around > * > @@ -3608,123 +3565,9 @@ static void move_subtest(const struct test_mode *t) > if (r+1 == pattern->n_rects && !repeat) { > repeat = true; > r--; > - } > - } > -} > - > -/** > - * SUBTEST: drrs-%dp-primscrn-%s-indfb-onoff > - * Description: Just enable and disable the %arg[2] a few times > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-%dp-primscrn-%s-indfb-onoff > - * Description: Just enable and disable the %arg[2] a few times > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-%dp-primscrn-%s-indfb-onoff > - * Description: Just enable and disable the %arg[2] a few times > - * Driver requirement: i915, xe > - * Functionality: fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-%dp-primscrn-%s-indfb-onoff > - * Description: Just enable and disable the %arg[2] a few times > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-%dp-primscrn-%s-indfb-onoff > - * Description: Just enable and disable the %arg[2] a few times > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-%dp-primscrn-%s-indfb-onoff > - * Description: Just enable and disable the %arg[2] a few times > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-%dp-primscrn-%s-indfb-onoff > - * Description: Just enable and disable the %arg[2] a few times > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1].values: 1, 2 > - * > - * arg[2]: > - * > - * @spr: Sprite plane > - * @cur: Cursor plane > - */ > - > -/** > - * SUBTEST: drrs-2p-scndscrn-%s-indfb-onoff > - * Description: Just enable and disable the %arg[1] a few times > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-2p-scndscrn-%s-indfb-onoff > - * Description: Just enable and disable the %arg[1] a few times > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-2p-scndscrn-%s-indfb-onoff > - * Description: Just enable and disable the %arg[1] a few times > - * Driver requirement: i915, xe > - * Functionality: fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-2p-scndscrn-%s-indfb-onoff > - * Description: Just enable and disable the %arg[1] a few times > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-2p-scndscrn-%s-indfb-onoff > - * Description: Just enable and disable the %arg[1] a few times > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-2p-scndscrn-%s-indfb-onoff > - * Description: Just enable and disable the %arg[1] a few times > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-2p-scndscrn-%s-indfb-onoff > - * Description: Just enable and disable the %arg[1] a few times > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @spr: Sprite plane > - * @cur: Cursor plane > - */ > + } > + } > +} > > /* > * onoff - just enable and disable the sprite or cursor plane a few times > @@ -3785,108 +3628,6 @@ static bool prim_plane_disabled(void) > return !prim_mode_params.primary.plane->values[IGT_PLANE_FB_ID]; > } > > -/** > - * SUBTEST: drrs-%dp-primscrn-spr-indfb-fullscreen > - * Description: Put a fullscreen plane covering the whole screen > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-%dp-primscrn-spr-indfb-fullscreen > - * Description: Put a fullscreen plane covering the whole screen > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-%dp-primscrn-spr-indfb-fullscreen > - * Description: Put a fullscreen plane covering the whole screen > - * Driver requirement: i915, xe > - * Functionality: fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-%dp-primscrn-spr-indfb-fullscreen > - * Description: Put a fullscreen plane covering the whole screen > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-%dp-primscrn-spr-indfb-fullscreen > - * Description: Put a fullscreen plane covering the whole screen > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-%dp-primscrn-spr-indfb-fullscreen > - * Description: Put a fullscreen plane covering the whole screen > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-%dp-primscrn-spr-indfb-fullscreen > - * Description: Put a fullscreen plane covering the whole screen > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: drrs-2p-scndscrn-spr-indfb-fullscreen > - * Description: Put a fullscreen plane covering the whole screen > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-2p-scndscrn-spr-indfb-fullscreen > - * Description: Put a fullscreen plane covering the whole screen > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-2p-scndscrn-spr-indfb-fullscreen > - * Description: Put a fullscreen plane covering the whole screen > - * Driver requirement: i915, xe > - * Functionality: fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-2p-scndscrn-spr-indfb-fullscreen > - * Description: Put a fullscreen plane covering the whole screen > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-2p-scndscrn-spr-indfb-fullscreen > - * Description: Put a fullscreen plane covering the whole screen > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-2p-scndscrn-spr-indfb-fullscreen > - * Description: Put a fullscreen plane covering the whole screen > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-2p-scndscrn-spr-indfb-fullscreen > - * Description: Put a fullscreen plane covering the whole screen > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1].values: 1, 2 > - */ > - > /* > * fullscreen_plane - put a fullscreen plane covering the whole screen > * > @@ -3948,62 +3689,6 @@ static void fullscreen_plane_subtest(const struct test_mode *t) > igt_remove_fb(drm.fd, &fullscreen_fb); > } > > -/** > - * SUBTEST: drrs-%s-scaledprimary > - * Description: Try different primary plane scaling strategies > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-%s-scaledprimary > - * Description: Try different primary plane scaling strategies > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-%s-scaledprimary > - * Description: Try different primary plane scaling strategies > - * Driver requirement: i915, xe > - * Functionality: fbt, psr, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-%s-scaledprimary > - * Description: Try different primary plane scaling strategies > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-%s-scaledprimary > - * Description: Try different primary plane scaling strategies > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, psr, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-%s-scaledprimary > - * Description: Try different primary plane scaling strategies > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, psr, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-%s-scaledprimary > - * Description: Try different primary plane scaling strategies > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, psr, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @indfb: Individual fb > - * @shrfb: Shared fb > - */ > - > /* > * scaledprimary - try different primary plane scaling strategies > * > @@ -4064,101 +3749,51 @@ static void scaledprimary_subtest(const struct test_mode *t) > do_assertions(DONT_ASSERT_CRC); > > /* Source upscaling. */ > - igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); > - igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); > - do_assertions(DONT_ASSERT_CRC); > - > - /* Destination doesn't fill the entire CRTC, no scaling. */ > - igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); > - igt_plane_set_position(reg->plane, > - params->mode.hdisplay / 4, > - params->mode.vdisplay / 4); > - igt_plane_set_size(reg->plane, > - params->mode.hdisplay / 2, > - params->mode.vdisplay / 2); > - igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); > - do_assertions(DONT_ASSERT_CRC); > - > - /* Destination doesn't fill the entire CRTC, upscaling. */ > - igt_fb_set_position(&new_fb, reg->plane, > - reg->x + reg->w / 4, reg->y + src_y_upscale); > - igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); > - igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); > - do_assertions(DONT_ASSERT_CRC); > - > - /* > - * On gen >= 9 HW, FBC is not enabled on a plane with a Y offset > - * that isn't divisible by 4, because it causes FIFO underruns. > - * > - * Check that FBC is disabled. > - */ > - igt_fb_set_position(&new_fb, reg->plane, > - reg->x + reg->w / 4, (reg->y + src_y_upscale) | 3); > - igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); > - igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); > - do_assertions(DONT_ASSERT_CRC | (gen >= 9 ? ASSERT_FBC_DISABLED : 0)); > - > - /* Back to the good and old blue fb. */ > - igt_plane_set_fb(reg->plane, old_fb); > - igt_plane_set_position(params->primary.plane, 0, 0); > - igt_plane_set_size(reg->plane, params->mode.hdisplay, params->mode.vdisplay); > - igt_fb_set_position(reg->fb, reg->plane, reg->x, reg->y); > - igt_fb_set_size(reg->fb, reg->plane, reg->w, reg->h); > - igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); > - do_assertions(0); > - > - igt_remove_fb(drm.fd, &new_fb); > -} > - > -/** > - * SUBTEST: drrs-modesetfrombusy > - * Description: Modeset from a busy buffer to a non-busy buffer with DRRS > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-modesetfrombusy > - * Description: Modeset from a busy buffer to a non-busy buffer with FBC > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-modesetfrombusy > - * Description: Modeset from a busy buffer to a non-busy buffer with PSR > - * Driver requirement: i915, xe > - * Functionality: fbt, psr, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-modesetfrombusy > - * Description: Modeset from a busy buffer to a non-busy buffer with FBC & DRRS > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-modesetfrombusy > - * Description: Modeset from a busy buffer to a non-busy buffer with FBC & PSR > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, psr, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-modesetfrombusy > - * Description: Modeset from a busy buffer to a non-busy buffer with PSR & DRRS > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, psr, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-modesetfrombusy > - * Description: Modeset from a busy buffer to a non-busy buffer with FBC, PSR & DRRS > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, psr, scaling > - * Mega feature: General Display Features > - */ > + igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); > + igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); > + do_assertions(DONT_ASSERT_CRC); > + > + /* Destination doesn't fill the entire CRTC, no scaling. */ > + igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); > + igt_plane_set_position(reg->plane, > + params->mode.hdisplay / 4, > + params->mode.vdisplay / 4); > + igt_plane_set_size(reg->plane, > + params->mode.hdisplay / 2, > + params->mode.vdisplay / 2); > + igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); > + do_assertions(DONT_ASSERT_CRC); > + > + /* Destination doesn't fill the entire CRTC, upscaling. */ > + igt_fb_set_position(&new_fb, reg->plane, > + reg->x + reg->w / 4, reg->y + src_y_upscale); > + igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); > + igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); > + do_assertions(DONT_ASSERT_CRC); > + > + /* > + * On gen >= 9 HW, FBC is not enabled on a plane with a Y offset > + * that isn't divisible by 4, because it causes FIFO underruns. > + * > + * Check that FBC is disabled. > + */ > + igt_fb_set_position(&new_fb, reg->plane, > + reg->x + reg->w / 4, (reg->y + src_y_upscale) | 3); > + igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2); > + igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); > + do_assertions(DONT_ASSERT_CRC | (gen >= 9 ? ASSERT_FBC_DISABLED : 0)); > + > + /* Back to the good and old blue fb. */ > + igt_plane_set_fb(reg->plane, old_fb); > + igt_plane_set_position(params->primary.plane, 0, 0); > + igt_plane_set_size(reg->plane, params->mode.hdisplay, params->mode.vdisplay); > + igt_fb_set_position(reg->fb, reg->plane, reg->x, reg->y); > + igt_fb_set_size(reg->fb, reg->plane, reg->w, reg->h); > + igt_display_commit2(&drm.display, COMMIT_UNIVERSAL); > + do_assertions(0); > + > + igt_remove_fb(drm.fd, &new_fb); > +} > > /** > * modesetfrombusy - modeset from a busy buffer to a non-busy buffer > @@ -4203,57 +3838,6 @@ static void modesetfrombusy_subtest(const struct test_mode *t) > igt_remove_fb(drm.fd, &fb2); > } > > -/** > - * SUBTEST: drrs-suspend > - * Description: Make sure suspend/resume keeps us on the same state of DRRS > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, suspend > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-suspend > - * Description: Make sure suspend/resume keeps us on the same state of FBC > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, suspend > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-suspend > - * Description: Make sure suspend/resume keeps us on the same state of PSR > - * Driver requirement: i915, xe > - * Functionality: fbt, psr, suspend > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-suspend > - * Description: Make sure suspend/resume keeps us on the same state of FBC & DRRS > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, suspend > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-suspend > - * Description: Make sure suspend/resume keeps us on the same state of FBC & PSR > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, psr, suspend > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-suspend > - * Description: Make sure suspend/resume keeps us on the same state of PSR & DRRS > - * Driver requirement: i915, xe > - * Functionality: drrs, fbt, psr, suspend > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-suspend > - * Description: Make sure suspend/resume keeps us on the same state of FBC, PSR & DRRS > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, psr, suspend > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > - > /** > * suspend - make sure suspend/resume keeps us on the same state > * > @@ -4286,57 +3870,6 @@ static void suspend_subtest(const struct test_mode *t) > do_assertions(0); > } > > -/** > - * SUBTEST: drrs-farfromfence-mmap-gtt > - * Description: Test drawing as far from the fence start as possible > - * Driver requirement: i915 > - * Functionality: drrs, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbc-farfromfence-mmap-gtt > - * Description: Test drawing as far from the fence start as possible > - * Driver requirement: i915 > - * Functionality: fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psr-farfromfence-mmap-gtt > - * Description: Test drawing as far from the fence start as possible > - * Driver requirement: i915 > - * Functionality: fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-farfromfence-mmap-gtt > - * Description: Test drawing as far from the fence start as possible > - * Driver requirement: i915 > - * Functionality: drrs, fbc, fbt, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-farfromfence-mmap-gtt > - * Description: Test drawing as far from the fence start as possible > - * Driver requirement: i915 > - * Functionality: fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: psrdrrs-farfromfence-mmap-gtt > - * Description: Test drawing as far from the fence start as possible > - * Driver requirement: i915 > - * Functionality: drrs, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-farfromfence-mmap-gtt > - * Description: Test drawing as far from the fence start as possible > - * Driver requirement: i915 > - * Functionality: drrs, fbc, fbt, kms_core, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > - > /** > * farfromfence - test drawing as far from the fence start as possible > * > @@ -4433,36 +3966,6 @@ static void try_invalid_strides(void) > gem_close(drm.fd, gem_handle); > } > > -/** > - * SUBTEST: fbc-badstride > - * Description: Try to use buffers with strides that are not supported > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-badstride > - * Description: Try to use buffers with strides that are not supported > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-badstride > - * Description: Try to use buffers with strides that are not supported > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-badstride > - * Description: Try to use buffers with strides that are not supported > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > - > /** > * badstride - try to use buffers with strides that are not supported > * > @@ -4531,36 +4034,6 @@ static void badstride_subtest(const struct test_mode *t) > igt_remove_fb(drm.fd, &wide_fb); > } > > -/** > - * SUBTEST: fbc-stridechange > - * Description: Change the frontbuffer stride by doing a modeset > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-stridechange > - * Description: Change the frontbuffer stride by doing a modeset > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-stridechange > - * Description: Change the frontbuffer stride by doing a modeset > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-stridechange > - * Description: Change the frontbuffer stride by doing a modeset > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, psr > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > - > /** > * stridechange - change the frontbuffer stride by doing a modeset > * > @@ -4625,46 +4098,6 @@ static void stridechange_subtest(const struct test_mode *t) > do_assertions(rc ? 0 : DONT_ASSERT_FBC_STATUS); > } > > -/** > - * SUBTEST: fbc-tiling-%s > - * Description: Test %arg[1] formats, if the tiling format supports FBC do the > - * basic drawing test, else set the mode & test if FBC is disabled > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcdrrs-tiling-%s > - * Description: Test %arg[1] formats, if the tiling format supports FBC do the > - * basic drawing test, else set the mode & test if FBC is disabled > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsr-tiling-%s > - * Description: Test %arg[1] formats, if the tiling format supports FBC do the > - * basic drawing test, else set the mode & test if FBC is disabled > - * Driver requirement: i915, xe > - * Functionality: fbc, fbt, psr, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: fbcpsrdrrs-tiling-%s > - * Description: Test %arg[1] formats, if the tiling format supports FBC do the > - * basic drawing test, else set the mode & test if FBC is disabled > - * Driver requirement: i915, xe > - * Functionality: drrs, fbc, fbt, psr, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @4: 4 tiling > - * @linear: Linear tiling > - * @y: Y tiling > - */ > - > /** > * tiling_disable_fbc_subtest - Check if tiling is unsupported by FBC > * > @@ -4714,15 +4147,6 @@ static void tiling_disable_fbc_subtest(const struct test_mode *t) > igt_remove_fb(drm.fd, &new_fb); > } > > -/** > - * SUBTEST: basic > - * Description: Do some basic operations regardless of which features are enabled > - * Driver requirement: i915, xe > - * Functionality: fbt > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > - > /* > * basic - do some basic operations regardless of which features are enabled > * > diff --git a/tests/intel/kms_legacy_colorkey.c b/tests/intel/kms_legacy_colorkey.c > index 877a6799a..6d11ecd79 100644 > --- a/tests/intel/kms_legacy_colorkey.c > +++ b/tests/intel/kms_legacy_colorkey.c > @@ -21,27 +21,24 @@ > * IN THE SOFTWARE. > */ > > -#include "igt.h" > -#include <errno.h> > - > /** > * TEST: kms legacy colorkey > * Category: Display > * Description: Test to check the legacy set colorkey ioctl on sprite planes. > - * > - * SUBTEST: basic > - * Description: Check that the legacy set colorkey ioctl only works on sprite planes. > * Driver requirement: i915 > * Functionality: plane, xorg_xv > * Mega feature: General Display Features > * Test category: functionality test > + */ > +#include "igt.h" > +#include <errno.h> > + > +/** > + * SUBTEST: basic > + * Description: Check that the legacy set colorkey ioctl only works on sprite planes. > * > * SUBTEST: invalid-plane > * Description: Check invalid plane id's, zero and outrange > - * Driver requirement: i915 > - * Functionality: plane, xorg_xv > - * Mega feature: General Display Features > - * Test category: functionality test > */ > > IGT_TEST_DESCRIPTION("Check that the legacy set colorkey ioctl only works on sprite planes."); > diff --git a/tests/intel/kms_mmap_write_crc.c b/tests/intel/kms_mmap_write_crc.c > index 17d72ee32..34c9fafd5 100644 > --- a/tests/intel/kms_mmap_write_crc.c > +++ b/tests/intel/kms_mmap_write_crc.c > @@ -24,6 +24,16 @@ > * Tiago Vignatti <tiago.vignatti at intel.com> > */ > > +/** > + * TEST: kms mmap write crc > + * Category: Display > + * Description: Use the display CRC support to validate mmap write to an already > + * uncached future scanout buffer. > + * Driver requirement: i915, xe > + * Functionality: kms_core, kms_gem_interop > + * Mega feature: General Display Features > + * Test category: functionality test > + */ > #include <errno.h> > #include <limits.h> > #include <stdbool.h> > @@ -37,18 +47,10 @@ > #include "intel_chipset.h" > #include "ioctl_wrappers.h" > #include "igt_aux.h" > + > /** > - * TEST: kms mmap write crc > - * Category: Display > - * Description: Use the display CRC support to validate mmap write to an already > - * uncached future scanout buffer. > - * > * SUBTEST: main > * Description: Tests that caching mode has become UC/WT and flushed using mmap write > - * Driver requirement: i915, xe > - * Functionality: kms_core, kms_gem_interop > - * Mega feature: General Display Features > - * Test category: functionality test > */ > > IGT_TEST_DESCRIPTION( > diff --git a/tests/intel/kms_pipe_b_c_ivb.c b/tests/intel/kms_pipe_b_c_ivb.c > index 386f3003a..3d7e5a5af 100644 > --- a/tests/intel/kms_pipe_b_c_ivb.c > +++ b/tests/intel/kms_pipe_b_c_ivb.c > @@ -24,53 +24,39 @@ > * Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> > */ > > -#include "igt.h" > /** > * TEST: kms pipe b c ivb > * Category: Display > * Description: Exercise the FDI lane bifurcation code for IVB in the kernel by > * setting different combinations of modes for pipes B and C. > - * > - * SUBTEST: disable-pipe-B-enable-pipe-C > - * Description: Tests pipe-B and pipe-C interactions in IVB by disabling pipe-B > - * and then setting mode on pipe-C. > * Driver requirement: i915 > * Functionality: kms_core, obsolete > * Mega feature: General Display Features > * Test category: functionality test > + */ > +#include "igt.h" > + > +/** > + * SUBTEST: disable-pipe-B-enable-pipe-C > + * Description: Tests pipe-B and pipe-C interactions in IVB by disabling pipe-B > + * and then setting mode on pipe-C. > * > * SUBTEST: enable-pipe-C-while-B-has-3-lanes > * Description: Tests pipe-B and pipe-C interactions in IVB by enabling pipe-C > * while pipe-B has 3-lanes > - * Driver requirement: i915 > - * Functionality: kms_core, obsolete > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: from-pipe-C-to-B-with-3-lanes > * Description: Tests pipe-B and pipe-C interactions in IVB by enabling pipe-B > * with 3 lanes from pipe-C. > - * Driver requirement: i915 > - * Functionality: kms_core, obsolete > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: pipe-B-double-modeset-then-modeset-pipe-C > * Description: Tests pipe-B and pipe-C interactions in IVB by enabling two > * different modes on pipe-B and then a single mode on pipe-C. > - * Driver requirement: i915 > - * Functionality: kms_core, obsolete > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: pipe-B-dpms-off-modeset-pipe-C > * Description: 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. > - * Driver requirement: i915 > - * Functionality: kms_core, obsolete > - * Mega feature: General Display Features > - * Test category: functionality test > */ > > IGT_TEST_DESCRIPTION( > diff --git a/tests/intel/kms_pm_backlight.c b/tests/intel/kms_pm_backlight.c > index 9bfbf365a..1eddab7fd 100644 > --- a/tests/intel/kms_pm_backlight.c > +++ b/tests/intel/kms_pm_backlight.c > @@ -25,6 +25,15 @@ > * > */ > > +/** > + * TEST: kms pm backlight > + * Category: Display > + * Description: Basic backlight sysfs test > + * Driver requirement: i915, xe > + * Functionality: backlight > + * Mega feature: Display Power Management > + * Test category: functionality test > + */ > #include "igt.h" > #include <limits.h> > #include <sys/types.h> > @@ -36,45 +45,24 @@ > #include <time.h> > #include "igt_device.h" > #include "igt_device_scan.h" > + > /** > - * TEST: kms pm backlight > - * Category: Display > - * Description: Basic backlight sysfs test > - * > * SUBTEST: bad-brightness > * Description: Test the bad brightness. > - * Driver requirement: i915, xe > - * Functionality: backlight > - * Mega feature: Display Power Management > - * Test category: functionality test > * > * SUBTEST: basic-brightness > * Description: Test the basic brightness. > - * Driver requirement: i915, xe > - * Functionality: backlight > - * Mega feature: Display Power Management > - * Test category: functionality test > * > * SUBTEST: fade > * Description: Test basic fade. > - * Driver requirement: i915, xe > - * Functionality: backlight > - * Mega feature: Display Power Management > - * Test category: functionality test > * > * SUBTEST: fade-with-dpms > * Description: Test the fade with DPMS. > - * Driver requirement: i915, xe > * Functionality: dpms, backlight > - * Mega feature: Display Power Management > - * Test category: functionality test > * > * SUBTEST: fade-with-suspend > * Description: Test the fade with suspend. > - * Driver requirement: i915, xe > * Functionality: backlight, suspend > - * Mega feature: Display Power Management > - * Test category: functionality test > */ > > struct context { > diff --git a/tests/intel/kms_pm_dc.c b/tests/intel/kms_pm_dc.c > index 0a9ed40a3..e78acaf91 100644 > --- a/tests/intel/kms_pm_dc.c > +++ b/tests/intel/kms_pm_dc.c > @@ -22,6 +22,15 @@ > * > */ > > +/** > + * TEST: kms pm dc > + * Category: Display > + * Description: Tests to validate display power DC states. > + * Driver requirement: i915, xe > + * Functionality: dpms, pm_dc > + * Mega feature: Display Power Management > + * Test category: functionality test > + */ > #include <errno.h> > #include <fcntl.h> > #include <stdbool.h> > @@ -39,62 +48,33 @@ > #include "xe/xe_query.h" > > /** > - * TEST: kms pm dc > - * Category: Display > - * Description: Tests to validate display power DC states. > - * > * SUBTEST: dc3co-vpb-simulation > * Description: Make sure that system enters DC3CO when PSR2 is active and system > * is in SLEEP state > - * Driver requirement: i915, xe > * Functionality: dc3co, pm_dc, psr2 > - * Mega feature: Display Power Management > - * Test category: functionality test > * > * SUBTEST: dc5-dpms > * Description: Validate display engine entry to DC5 state while all connectors's > * DPMS property set to OFF > - * Driver requirement: i915, xe > - * Functionality: dpms, pm_dc > - * Mega feature: Display Power Management > - * Test category: functionality test > * > * SUBTEST: dc5-dpms-negative > * Description: Validate negative scenario of DC5 display engine entry to DC5 state > * while all connectors's DPMS property set to ON > - * Driver requirement: i915, xe > - * Functionality: dpms, pm_dc > - * Mega feature: Display Power Management > - * Test category: functionality test > * > * SUBTEST: dc5-psr > * Description: This test validates display engine entry to DC5 state while PSR is active > - * Driver requirement: i915, xe > * Functionality: pm_dc, psr > - * Mega feature: Display Power Management > - * Test category: functionality test > * > * SUBTEST: dc6-dpms > * Description: Validate display engine entry to DC6 state while all connectors's > * DPMS property set to OFF > - * Driver requirement: i915, xe > - * Functionality: dpms, pm_dc > - * Mega feature: Display Power Management > - * Test category: functionality test > * > * SUBTEST: dc6-psr > * Description: This test validates display engine entry to DC6 state while PSR is active > - * Driver requirement: i915, xe > * Functionality: pm_dc, psr > - * Mega feature: Display Power Management > - * Test category: functionality test > * > * SUBTEST: dc9-dpms > * Description: This test validates display engine entry to DC9 state > - * Driver requirement: i915, xe > - * Functionality: dpms, pm_dc > - * Mega feature: Display Power Management > - * Test category: functionality test > */ > > /* DC State Flags */ > diff --git a/tests/intel/kms_pm_lpsp.c b/tests/intel/kms_pm_lpsp.c > index 65516438a..62fbee43a 100644 > --- a/tests/intel/kms_pm_lpsp.c > +++ b/tests/intel/kms_pm_lpsp.c > @@ -24,6 +24,15 @@ > * > */ > > +/** > + * TEST: kms pm lpsp > + * Category: Display > + * Description: These tests validates display Low Power Single Pipe configurations > + * Driver requirement: i915, xe > + * Functionality: pm_lpsp > + * Mega feature: Display Power Management > + * Test category: functionality test > + */ > #include "igt.h" > #include "igt_kmod.h" > #include "igt_pm.h" > @@ -32,24 +41,13 @@ > #include <sys/stat.h> > #include <fcntl.h> > #include <unistd.h> > + > /** > - * TEST: kms pm lpsp > - * Description: These tests validates display Low Power Single Pipe configurations > - * Category: Display > - * > * SUBTEST: kms-lpsp > * Description: This test validates lpsp on all connected outputs on low power PIPE_A > - * Driver requirement: i915, xe > - * Functionality: pm_lpsp > - * Mega feature: Display Power Management > - * Test category: functionality test > * > * SUBTEST: screens-disabled > * Description: This test validates lpsp while all crtc are disabled > - * Driver requirement: i915 > - * Functionality: pm_lpsp > - * Mega feature: Display Power Management > - * Test category: functionality test > */ > > #define MAX_SINK_LPSP_INFO_BUF_LEN 4096 > diff --git a/tests/intel/kms_psr.c b/tests/intel/kms_psr.c > index ffecc5222..8ab14dabb 100644 > --- a/tests/intel/kms_psr.c > +++ b/tests/intel/kms_psr.c > @@ -26,6 +26,9 @@ > * TEST: kms psr > * Category: Display > * Description: Tests behaviour of PSR & PSR2 > + * Driver requirement: i915, xe > + * Mega feature: PSR > + * Test category: functionality test > */ > > #include "igt.h" > @@ -41,18 +44,12 @@ > /** > * SUBTEST: basic > * Description: Basic check for psr if it is detecting changes made in planes > - * Driver requirement: i915, xe > * Functionality: psr > - * Mega feature: PSR > - * Test category: functionality test > * > * SUBTEST: %s_%s > * Description: Check if psr is detecting memory mapping, rendering and plane > * operations performed on %arg[1] > - * Driver requirement: i915 > * Functionality: kms_core, plane, psr > - * Mega feature: PSR > - * Test category: functionality test > * > * arg[1]: > * > @@ -70,18 +67,12 @@ > * SUBTEST: sprite_plane_move > * Description: Check if psr is detecting memory mapping, rendering and plane > * operations performed on sprite planes > - * Driver requirement: i915, xe > * Functionality: plane, psr > - * Mega feature: PSR > - * Test category: functionality test > * > * SUBTEST: %s_%s > * Description: Check if psr is detecting memory mapping, rendering and plane > * operations performed on %arg[1] planes > - * Driver requirement: i915, xe > * Functionality: kms_core, plane, psr > - * Mega feature: PSR > - * Test category: functionality test > * > * arg[1]: > * > @@ -99,10 +90,7 @@ > * SUBTEST: primary_%s > * Description: Check if psr is detecting memory mapping, rendering and plane > * operations performed on %arg[1] planes > - * Driver requirement: i915, xe > * Functionality: kms_core, psr > - * Mega feature: PSR > - * Test category: functionality test > * > * arg[1]: > * > @@ -114,63 +102,39 @@ > * SUBTEST: dpms > * Description: Check if psr is detecting changes when rendering operation is > * performed with dpms enabled or disabled > - * Driver requirement: i915, xe > * Functionality: dpms, psr > - * Mega feature: PSR > - * Test category: functionality test > * > * SUBTEST: no_drrs > * Description: Check if psr is detecting changes when drrs is disabled > - * Driver requirement: i915, xe > * Functionality: drrs, psr > - * Mega feature: PSR > - * Test category: functionality test > * > * SUBTEST: suspend > * Description: Check if psr is detecting changes when plane operation > * is performed with suspend resume cycles > - * Driver requirement: i915, xe > * Functionality: psr, suspend > - * Mega feature: PSR > - * Test category: functionality test > * > * SUBTEST: psr2_dpms > * Description: Check if psr is detecting changes when rendering operation > * is performed with dpms enabled or disabled > - * Driver requirement: i915, xe > * Functionality: dpms, psr, psr2 > - * Mega feature: PSR > - * Test category: functionality test > * > * SUBTEST: psr2_no_drrs > * Description: Check if psr is detecting changes when drrs is disabled > - * Driver requirement: i915, xe > * Functionality: drrs, psr, psr2 > - * Mega feature: PSR > - * Test category: functionality test > * > * SUBTEST: psr2_suspend > * Description: Check if psr is detecting changes when plane operation is > * performed with suspend resume cycles > - * Driver requirement: i915, xe > * Functionality: psr, psr2, suspend > - * Mega feature: PSR > - * Test category: functionality test > * > * SUBTEST: psr2_basic > * Description: Basic check for psr if it is detecting changes made in planes > - * Driver requirement: i915, xe > * Functionality: psr, psr2 > - * Mega feature: PSR > - * Test category: functionality test > * > * SUBTEST: psr2_%s_%s > * Description: Check if psr2 is detecting memory mapping, rendering and plane > * operations performed on %arg[1] planes > - * Driver requirement: i915 > * Functionality: kms_core, plane, psr, psr2 > - * Mega feature: PSR > - * Test category: functionality test > * > * arg[1]: > * > @@ -188,18 +152,12 @@ > * SUBTEST: psr2_primary_page_flip > * Description: Check if psr is detecting memory mapping, rendering and plane > * operations performed on primary planes > - * Driver requirement: i915, xe > * Functionality: plane, psr, psr2 > - * Mega feature: PSR > - * Test category: functionality test > * > * SUBTEST: psr2_primary_%s > * Description: Check if psr is detecting memory mapping, rendering and plane > * operations performed on primary planes > - * Driver requirement: i915, xe > * Functionality: kms_core, plane, psr, psr2 > - * Mega feature: PSR > - * Test category: functionality test > * > * arg[1]: > * > @@ -211,10 +169,7 @@ > * SUBTEST: psr2_%s_%s > * Description: Check if psr is detecting memory mapping, rendering and plane > * operations performed on %arg[1] planes > - * Driver requirement: i915, xe > * Functionality: kms_core, plane, psr, psr2 > - * Mega feature: PSR > - * Test category: functionality test > * > * arg[1]: > * > @@ -229,6 +184,23 @@ > * @plane_move: Move plane position > */ > > +/** > + * SUBTEST: cursor_plane_move > + * Description: Check if psr is detecting the plane operations performed on > + * cursor planes > + * Functionality: psr > + * > + * SUBTEST: primary_page_flip > + * Description: Check if psr is detecting page-flipping operations performed > + * on primary planes > + * Functionality: psr > + * > + * SUBTEST: sprite_plane_onoff > + * Description: Check if psr is detecting the plane operations performed on > + * sprite planes > + * Functionality: psr > + */ > + > enum operations { > PAGE_FLIP, > MMAP_GTT, > @@ -501,32 +473,6 @@ static void fb_dirty_fb_ioctl(data_t *data, struct igt_fb *fb) > igt_assert(ret == 0 || ret == -ENOSYS); > } > > -/** > - * SUBTEST: cursor_plane_move > - * Description: Check if psr is detecting the plane operations performed on > - * cursor planes > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: psr > - * Mega feature: PSR > - * > - * SUBTEST: primary_page_flip > - * Description: Check if psr is detecting page-flipping operations performed > - * on primary planes > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: psr > - * Mega feature: PSR > - * > - * SUBTEST: sprite_plane_onoff > - * Description: Check if psr is detecting the plane operations performed on > - * sprite planes > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: psr > - * Mega feature: PSR > - */ > - > static void run_test(data_t *data) > { > uint32_t handle = data->fb_white.gem_handle; > diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c > index d7a746211..01bf6e4bd 100644 > --- a/tests/intel/kms_psr2_sf.c > +++ b/tests/intel/kms_psr2_sf.c > @@ -22,90 +22,62 @@ > * > */ > > -#include "igt.h" > -#include "igt_sysfs.h" > -#include "igt_psr.h" > -#include "kms_dsc_helper.h" > -#include <errno.h> > -#include <stdbool.h> > -#include <stdio.h> > -#include <string.h> > /** > * TEST: kms psr2 sf > * Category: Display > * Description: Tests to varify PSR2 selective fetch by sending multiple damaged > * areas > - * > - * SUBTEST: %s-plane-move-continuous-%s > - * Description: Test that selective fetch works on moving %arg[1] plane %arg[2] > - * visible area (no update) > * Driver requirement: i915, xe > * Functionality: plane, psr2, selective_fetch > * Mega feature: PSR > * Test category: functionality test > - * > - * arg[1]: > - * > - * @cursor: Cursor > - * @overlay: Overlay > - * > - * arg[2]: > - * > - * @exceed-fully-sf: exceeding fully > - * @exceed-sf: exceeding paritally > - * @sf: default > */ > +#include "igt.h" > +#include "igt_sysfs.h" > +#include "igt_psr.h" > +#include "kms_dsc_helper.h" > +#include <errno.h> > +#include <stdbool.h> > +#include <stdio.h> > +#include <string.h> > > /** > * SUBTEST: cursor-plane-update-sf > * Description: Test that selective fetch works on cursor plane > - * Driver requirement: i915, xe > - * Functionality: cursor, psr2, selective_fetch > - * Mega feature: PSR > - * Test category: functionality test > * > * SUBTEST: overlay-plane-update-continuous-sf > * Description: Test that selective fetch works on overlay plane > - * Driver requirement: i915, xe > - * Functionality: plane, psr2, selective_fetch > - * Mega feature: PSR > - * Test category: functionality test > * > * SUBTEST: overlay-plane-update-sf-dmg-area > * Description: Test that selective fetch works on overlay plane > - * Driver requirement: i915, xe > - * Functionality: plane, psr2, selective_fetch > - * Mega feature: PSR > - * Test category: functionality test > * > * SUBTEST: overlay-primary-update-sf-dmg-area > * Description: Test that selective fetch works on primary plane with blended > * overlay plane > - * Driver requirement: i915, xe > - * Functionality: plane, psr2, selective_fetch > - * Mega feature: PSR > - * Test category: functionality test > * > * SUBTEST: plane-move-sf-dmg-area > * Description: Test that selective fetch works on moving overlay plane > - * Driver requirement: i915, xe > - * Functionality: plane, psr2, selective_fetch > - * Mega feature: PSR > - * Test category: functionality test > * > * SUBTEST: primary-plane-update-sf-dmg-area > * Description: Test that selective fetch works on primary plane > - * Driver requirement: i915, xe > - * Functionality: plane, psr2, selective_fetch > - * Mega feature: PSR > - * Test category: functionality test > * > * SUBTEST: primary-plane-update-sf-dmg-area-big-fb > * Description: Test that selective fetch works on primary plane with big fb > - * Driver requirement: i915, xe > - * Functionality: plane, psr2, selective_fetch > - * Mega feature: PSR > - * Test category: functionality test > + * > + * SUBTEST: %s-plane-move-continuous-%s > + * Description: Test that selective fetch works on moving %arg[1] plane %arg[2] > + * visible area (no update) > + * > + * arg[1]: > + * > + * @cursor: Cursor > + * @overlay: Overlay > + * > + * arg[2]: > + * > + * @exceed-fully-sf: exceeding fully > + * @exceed-sf: exceeding paritally > + * @sf: default > */ > > IGT_TEST_DESCRIPTION("Tests to varify PSR2 selective fetch by sending multiple" > diff --git a/tests/intel/kms_psr2_su.c b/tests/intel/kms_psr2_su.c > index 321144d6b..89d3127dc 100644 > --- a/tests/intel/kms_psr2_su.c > +++ b/tests/intel/kms_psr2_su.c > @@ -22,6 +22,14 @@ > * > */ > > +/** > + * TEST: kms psr2 su > + * Category: Display > + * Description: Test PSR2 selective update > + * Driver requirement: i915, xe > + * Mega feature: PSR > + * Test category: functionality test > + */ > #include "igt.h" > #include "igt_sysfs.h" > #include "igt_psr.h" > @@ -30,24 +38,15 @@ > #include <stdio.h> > #include <string.h> > #include <sys/timerfd.h> > + > /** > - * TEST: kms psr2 su > - * Category: Display > - * Description: Test PSR2 selective update > - * > * SUBTEST: frontbuffer-XRGB8888 > * Description: Test that selective update works when screen changes > - * Driver requirement: i915, xe > * Functionality: fbt, psr2, selective_update > - * Mega feature: PSR > - * Test category: functionality test > * > * SUBTEST: page_flip-%s > * Description: Test the selective update with %arg[1] when screen changes > - * Driver requirement: i915, xe > * Functionality: pixel-format, psr2, selective_update > - * Mega feature: PSR > - * Test category: functionality test > * > * arg[1]: > * > diff --git a/tests/intel/kms_psr_stress_test.c b/tests/intel/kms_psr_stress_test.c > index b6759eece..ac1cccfab 100644 > --- a/tests/intel/kms_psr_stress_test.c > +++ b/tests/intel/kms_psr_stress_test.c > @@ -1,3 +1,12 @@ > + > +/** > + * TEST: kms psr stress test > + * Category: Display > + * Driver requirement: i915, xe > + * Functionality: plane, psr > + * Mega feature: PSR > + * Test category: functionality test > + */ > #include "igt.h" > #include "igt_sysfs.h" > #include "igt_psr.h" > @@ -7,25 +16,15 @@ > #include <stdio.h> > #include <string.h> > #include <sys/timerfd.h> > + > /** > - * TEST: kms psr stress test > - * Category: Display > - * > * SUBTEST: flip-primary-invalidate-overlay > * Description: Mix page flips in primary plane and frontbuffer writes to overlay > * plane and check for warnings, underruns or PSR state changes > - * Driver requirement: i915, xe > - * Functionality: plane, psr > - * Mega feature: PSR > - * Test category: functionality test > * > * SUBTEST: invalidate-primary-flip-overlay > * Description: Mix frontbuffer writes to the primary plane and page flips in the > * overlay plane and check for warnings, underruns or PSR state changes > - * Driver requirement: i915, xe > - * Functionality: plane, psr > - * Mega feature: PSR > - * Test category: functionality test > */ > > #define INVALIDATES_PER_SEC 15 > diff --git a/tests/intel/kms_pwrite_crc.c b/tests/intel/kms_pwrite_crc.c > index 50df18aa3..72ea2df39 100644 > --- a/tests/intel/kms_pwrite_crc.c > +++ b/tests/intel/kms_pwrite_crc.c > @@ -22,6 +22,15 @@ > * > */ > > +/** > + * TEST: kms pwrite crc > + * Category: Display > + * Description: Test to validate pwrite buffer using the display CRC > + * Driver requirement: i915 > + * Functionality: crc, kms_core, kms_gem_interop > + * Mega feature: General Display Features > + * Test category: functionality test > + */ > #include "igt.h" > #include <errno.h> > #include <limits.h> > @@ -30,17 +39,9 @@ > #include <string.h> > > /** > - * TEST: kms pwrite crc > - * Category: Display > - * Description: Test to validate pwrite buffer using the display CRC > - * > * SUBTEST: > * Description: Use the display CRC support to validate pwrite to an already > * uncached future scanout buffer. > - * Driver requirement: i915 > - * Functionality: crc, kms_core, kms_gem_interop > - * Mega feature: General Display Features > - * Test category: functionality test > */ > > IGT_TEST_DESCRIPTION( > diff --git a/tests/kms_3d.c b/tests/kms_3d.c > index fa73d0cc6..567115065 100644 > --- a/tests/kms_3d.c > +++ b/tests/kms_3d.c > @@ -22,20 +22,22 @@ > * > */ > > -#include "igt.h" > -#include "xe/xe_query.h" > /** > * TEST: kms 3d > * Category: Display > * Description: Tests 3D mode setting. > - * > - * SUBTEST: > - * Description: Tests 3D mode setting. > * Driver requirement: i915, xe > * Functionality: stereoscopic > * Mega feature: General Display Features > * Test category: functionality test > */ > +#include "igt.h" > +#include "xe/xe_query.h" > + > +/** > + * SUBTEST: > + * Description: Tests 3D mode setting. > + */ > > IGT_TEST_DESCRIPTION("Tests 3D mode setting."); > > diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c > index fc16b8814..1befdc2e3 100644 > --- a/tests/kms_addfb_basic.c > +++ b/tests/kms_addfb_basic.c > @@ -29,6 +29,10 @@ > * TEST: kms addfb basic > * Category: Display > * Description: Sanity test for ioctls DRM_IOCTL_MODE_ADDFB2 & DRM_IOCTL_MODE_RMFB. > + * Driver requirement: i915, xe > + * Functionality: kms_gem_interop > + * Mega feature: General Display Features > + * Test category: functionality test > */ > > #include "igt.h" > @@ -50,58 +54,27 @@ > #include "xe/xe_ioctl.h" > #include "xe/xe_query.h" > > -static uint32_t gem_bo; > -static uint32_t gem_bo_small; > -static igt_display_t display; > - > -static int legacy_addfb(int fd, struct drm_mode_fb_cmd *arg) > -{ > - int err; > - > - err = 0; > - if (igt_ioctl(fd, DRM_IOCTL_MODE_ADDFB, arg)) > - err = -errno; > - > - errno = 0; > - return err; > -} > - > /** > + * SUBTEST: master-rmfb > + * Description: Check that only master can rmfb > + * > * SUBTEST: unused-%s > * Description: Test that addfb2 call fails correctly for unused %arg[1] > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: kms_gem_interop > - * Mega feature: General Display Features > * > * SUBTEST: unused-modifier > * Description: Test that addfb2 call fails correctly for unused modifier > - * Driver requirement: i915, xe > - * Test category: functionality test > * Functionality: kms_gem_interop, tiling > - * Mega feature: General Display Features > * > * SUBTEST: clobberred-modifier > * Description: Check if addfb2 call works for clobbered modifier > - * Driver requirement: i915 > * Functionality: kms_gem_interop, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: invalid-smem-bo-on-discrete > * Description: Check if addfb2 with a system memory gem object fails correctly > * if device requires local memory framebuffers > - * Driver requirement: i915, xe > - * Functionality: kms_gem_interop > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: legacy-format > * Description: Check if addfb2 call works for legacy formats > - * Driver requirement: i915, xe > - * Functionality: kms_gem_interop > - * Mega feature: General Display Features > - * Test category: functionality test > * > * arg[1]: > * > @@ -109,6 +82,133 @@ static int legacy_addfb(int fd, struct drm_mode_fb_cmd *arg) > * @pitches: Pitches > * @offsets: Offsets > */ > + > +/** > + * SUBTEST: no-handle > + * Description: Test that addfb2 call fails correctly without handle > + * > + * SUBTEST: basic > + * Description: Check if addfb2 call works with given handle > + * > + * SUBTEST: bad-pitch-%i > + * Description: bad-pitch-%arg[1]: Test that addfb2 call fails correctly for bad-pitches > + * > + * arg[1].values: 0, 32, 63, 128, 256, 999, 1024, 65536 > + */ > + > +/** > + * SUBTEST: basic-%s-tiled-legacy > + * Description: Check if addfb2 and rmfb call works for basic %arg[1] test > + * Functionality: kms_gem_interop, tiling > + * > + * SUBTEST: framebuffer-vs-set-tiling > + * Description: Check if addfb2 call works for x and y tiling > + * Driver requirement: i915 > + * Functionality: kms_gem_interop, tiling > + * > + * SUBTEST: tile-pitch-mismatch > + * Description: Test that addfb2 call fails correctly for pitches mismatch > + * Functionality: kms_gem_interop, tiling > + * > + * arg[1]: > + * > + * @x: x-tiling > + * @y: y-tiling > + */ > + > +/** > + * SUBTEST: size-max > + * Description: Check if addfb2 call works with max size of buffer object > + * > + * SUBTEST: too-wide > + * Description: Test that addfb2 call fails correctly with increased width of fb > + * > + * SUBTEST: too-high > + * Description: Test that addfb2 call fails correctly with increased height of fb > + * > + * SUBTEST: bo-too-small > + * Description: Test that addfb2 call fails correctly with small size of buffer object > + * > + * SUBTEST: small-bo > + * Description: Check if addfb2 call works for given height > + * > + * SUBTEST: bo-too-small-due-to-tiling > + * Description: Test that addfb2 call fails correctly with small buffer object > + * after changing tile > + * Functionality: kms_gem_interop, tiling > + * > + * SUBTEST: addfb25-modifier-no-flag > + * Description: Test that addfb2 call fails correctly for x-tiling with given modifier > + * Functionality: kms_gem_interop, tiling > + * > + * SUBTEST: addfb25-bad-modifier > + * Description: Test that addfb2 call fails correctly for irrelevant modifier > + * Functionality: kms_gem_interop, tiling > + * > + * SUBTEST: addfb25-x-tiled-mismatch-legacy > + * Description: Test that addfb2 call fails correctly for irrelevant x-tiling > + * Functionality: kms_gem_interop, tiling > + * > + * SUBTEST: addfb25-x-tiled-legacy > + * Description: Check if addfb2 call works for x-tiling > + * Functionality: kms_gem_interop, tiling > + * > + * SUBTEST: addfb25-framebuffer-vs-set-tiling > + * Description: Check if addfb2 call works for relevant combination of tiling and fbs > + * Driver requirement: i915 > + * Functionality: kms_gem_interop, tiling > + * > + * SUBTEST: addfb25-4-tiled > + * Description: Check if addfb2 call works for tiling-4 > + * Functionality: kms_gem_interop, tiling > + */ > + > +/** > + * SUBTEST: addfb25-y-tiled-%s > + * Description: Check if addfb2 call works for y-tiling %arg[1] > + * Functionality: kms_gem_interop, tiling > + * > + * SUBTEST: addfb25-yf-tiled-legacy > + * Description: Check if addfb2 call works for yf-tiling > + * Functionality: kms_gem_interop, tiling > + * > + * arg[1]: > + * > + * @legacy: with default size > + * @small-legacy: with given size & modifier > + */ > + > +/** > + * SUBTEST: invalid-%s-%s > + * Description: Test that %arg[1] ioctl call fails correctly for %arg[2] object > + * > + * arg[1]: > + * > + * @get: get-properties > + * @set: set-properties > + * > + * arg[2]: > + * > + * @prop: fb mode > + * @prop-any: invalid > + */ > + > +static uint32_t gem_bo; > +static uint32_t gem_bo_small; > +static igt_display_t display; > + > +static int legacy_addfb(int fd, struct drm_mode_fb_cmd *arg) > +{ > + int err; > + > + err = 0; > + if (igt_ioctl(fd, DRM_IOCTL_MODE_ADDFB, arg)) > + err = -errno; > + > + errno = 0; > + return err; > +} > + > static void invalid_tests(int fd) > { > struct drm_mode_fb_cmd2 f = {}; > @@ -322,30 +422,6 @@ static void invalid_tests(int fd) > } > } > > -/** > - * SUBTEST: no-handle > - * Description: Test that addfb2 call fails correctly without handle > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: kms_gem_interop > - * Mega feature: General Display Features > - * > - * SUBTEST: basic > - * Description: Check if addfb2 call works with given handle > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: kms_gem_interop > - * Mega feature: General Display Features > - * > - * SUBTEST: bad-pitch-%i > - * Description: bad-pitch-%arg[1]: Test that addfb2 call fails correctly for bad-pitches > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: kms_gem_interop > - * Mega feature: General Display Features > - * > - * arg[1].values: 0, 32, 63, 128, 256, 999, 1024, 65536 > - */ > static void pitch_tests(int fd) > { > struct drm_mode_fb_cmd2 f = {}; > @@ -393,33 +469,6 @@ static void pitch_tests(int fd) > gem_close(fd, gem_bo); > } > > -/** > - * SUBTEST: basic-%s-tiled-legacy > - * Description: Check if addfb2 and rmfb call works for basic %arg[1] test > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: kms_gem_interop, tiling > - * Mega feature: General Display Features > - * > - * SUBTEST: framebuffer-vs-set-tiling > - * Description: Check if addfb2 call works for x and y tiling > - * Driver requirement: i915 > - * Test category: functionality test > - * Functionality: kms_gem_interop, tiling > - * Mega feature: General Display Features > - * > - * SUBTEST: tile-pitch-mismatch > - * Description: Test that addfb2 call fails correctly for pitches mismatch > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: kms_gem_interop, tiling > - * Mega feature: General Display Features > - * > - * arg[1]: > - * > - * @x: x-tiling > - * @y: y-tiling > - */ > static void tiling_tests(int fd) > { > struct drm_mode_fb_cmd2 f = {}; > @@ -506,50 +555,6 @@ static void tiling_tests(int fd) > } > } > > -/** > - * SUBTEST: size-max > - * Description: Check if addfb2 call works with max size of buffer object > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: kms_gem_interop > - * Mega feature: General Display Features > - * > - * SUBTEST: too-wide > - * Description: Test that addfb2 call fails correctly with increased width of fb > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: kms_gem_interop > - * Mega feature: General Display Features > - * > - * SUBTEST: too-high > - * Description: Test that addfb2 call fails correctly with increased height of fb > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: kms_gem_interop > - * Mega feature: General Display Features > - * > - * SUBTEST: bo-too-small > - * Description: Test that addfb2 call fails correctly with small size of buffer object > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: kms_gem_interop > - * Mega feature: General Display Features > - * > - * SUBTEST: small-bo > - * Description: Check if addfb2 call works for given height > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: kms_gem_interop > - * Mega feature: General Display Features > - * > - * SUBTEST: bo-too-small-due-to-tiling > - * Description: Test that addfb2 call fails correctly with small buffer object > - * after changing tile > - * Driver requirement: i915 > - * Test category: functionality test > - * Functionality: kms_gem_interop, tiling > - * Mega feature: General Display Features > - */ > static void size_tests(int fd) > { > struct drm_mode_fb_cmd2 f = {}; > @@ -665,42 +670,6 @@ static void size_tests(int fd) > } > } > > -/** > - * SUBTEST: addfb25-modifier-no-flag > - * Description: Test that addfb2 call fails correctly for x-tiling with given modifier > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: kms_gem_interop, tiling > - * Mega feature: General Display Features > - * > - * SUBTEST: addfb25-bad-modifier > - * Description: Test that addfb2 call fails correctly for irrelevant modifier > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: kms_gem_interop, tiling > - * Mega feature: General Display Features > - * > - * SUBTEST: addfb25-x-tiled-mismatch-legacy > - * Description: Test that addfb2 call fails correctly for irrelevant x-tiling > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: kms_gem_interop, tiling > - * Mega feature: General Display Features > - * > - * SUBTEST: addfb25-x-tiled-legacy > - * Description: Check if addfb2 call works for x-tiling > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: kms_gem_interop, tiling > - * Mega feature: General Display Features > - * > - * SUBTEST: addfb25-framebuffer-vs-set-tiling > - * Description: Check if addfb2 call works for relevant combination of tiling and fbs > - * Driver requirement: i915 > - * Test category: functionality test > - * Functionality: kms_gem_interop, tiling > - * Mega feature: General Display Features > - */ > static void addfb25_tests(int fd) > { > struct drm_mode_fb_cmd2 f = {}; > @@ -786,26 +755,6 @@ static int addfb_expected_ret(igt_display_t *disp, struct drm_mode_fb_cmd2 *f) > f->modifier[0]) ? 0 : -1; > } > > -/** > - * SUBTEST: addfb25-y-tiled-%s > - * Description: Check if addfb2 call works for y-tiling %arg[1] > - * Driver requirement: i915, xe > - * Functionality: kms_gem_interop, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: addfb25-yf-tiled-legacy > - * Description: Check if addfb2 call works for yf-tiling > - * Driver requirement: i915, xe > - * Functionality: kms_gem_interop, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @legacy: with default size > - * @small-legacy: with given size & modifier > - */ > static void addfb25_ytile(int fd) > { > struct drm_mode_fb_cmd2 f = {}; > @@ -872,14 +821,6 @@ static void addfb25_ytile(int fd) > } > } > > -/** > - * SUBTEST: addfb25-4-tiled > - * Description: Check if addfb2 call works for tiling-4 > - * Driver requirement: i915, xe > - * Functionality: kms_gem_interop, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void addfb25_4tile(int fd) > { > struct drm_mode_fb_cmd2 f = {}; > @@ -918,24 +859,6 @@ static void addfb25_4tile(int fd) > gem_close(fd, gem_bo); > } > > -/** > - * SUBTEST: invalid-%s-%s > - * Description: Test that %arg[1] ioctl call fails correctly for %arg[2] object > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: kms_gem_interop > - * Mega feature: General Display Features > - * > - * arg[1]: > - * > - * @get: get-properties > - * @set: set-properties > - * > - * arg[2]: > - * > - * @prop: fb mode > - * @prop-any: invalid > - */ > static void prop_tests(int fd) > { > struct drm_mode_fb_cmd2 f = {}; > @@ -1001,14 +924,6 @@ static void prop_tests(int fd) > } > } > > -/** > - * SUBTEST: master-rmfb > - * Description: Check that only master can rmfb > - * Driver requirement: i915, xe > - * Functionality: kms_gem_interop > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void master_tests(int fd) > { > struct drm_mode_fb_cmd2 f = {}; > diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c > index 6c97558be..fa9cef937 100644 > --- a/tests/kms_async_flips.c > +++ b/tests/kms_async_flips.c > @@ -29,6 +29,10 @@ > * TEST: kms async flips > * Category: Display > * Description: Test asynchronous page flips. > + * Driver requirement: i915, xe > + * Functionality: async_flips, vblank > + * Mega feature: General Display Features > + * Test category: functionality test > */ > #include "igt.h" > #include "igt_aux.h" > @@ -37,6 +41,32 @@ > #include <sys/time.h> > #include <poll.h> > > +/** > + * SUBTEST: alternate-sync-async-flip > + * Description: Verify the async flip functionality and the fps during async flips > + * Alternate between sync and async flips > + * > + * SUBTEST: async-flip-with-page-flip-events > + * Description: Verify the async flip functionality and the fps during async flips > + * Wait for page flip events in between successive asynchronous flips > + * > + * SUBTEST: crc > + * Description: Use CRC to verify async flip scans out the correct framebuffer > + * Functionality: async_flips, crc, vblank > + * > + * SUBTEST: invalid-async-flip > + * Description: Negative case to verify if changes in fb are rejected from kernel as expected > + * > + * SUBTEST: test-time-stamp > + * Description: Verify the async flip functionality and the fps during async flips > + * Verify that the async flip timestamp does not coincide with either > + * previous or next vblank > + * > + * SUBTEST: test-cursor > + * Description: Verify that the DRM_IOCTL_MODE_CURSOR passes after async flip > + * Functionality: async_flips, cursor, vblank > + */ > + > #define CURSOR_POS 128 > > /* > @@ -203,23 +233,6 @@ static void test_init_fbs(data_t *data) > igt_display_commit2(&data->display, data->display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY); > } > > -/** > - * SUBTEST: alternate-sync-async-flip > - * Description: Verify the async flip functionality and the fps during async flips > - * Alternate between sync and async flips > - * Driver requirement: i915, xe > - * Functionality: async_flips, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: async-flip-with-page-flip-events > - * Description: Verify the async flip functionality and the fps during async flips > - * Wait for page flip events in between successive asynchronous flips > - * Driver requirement: i915, xe > - * Functionality: async_flips, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void test_async_flip(data_t *data) > { > int ret, frame; > @@ -315,16 +328,6 @@ static void wait_for_vblank(data_t *data, unsigned long *vbl_time, unsigned int > *seq = wait_vbl.reply.sequence; > } > > -/** > - * SUBTEST: test-time-stamp > - * Description: Verify the async flip functionality and the fps during async flips > - * Verify that the async flip timestamp does not coincide with either > - * previous or next vblank > - * Driver requirement: i915, xe > - * Functionality: async_flips, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void test_timestamp(data_t *data) > { > int flags = DRM_MODE_PAGE_FLIP_ASYNC | DRM_MODE_PAGE_FLIP_EVENT; > @@ -369,14 +372,6 @@ static void test_timestamp(data_t *data) > "Async flip time stamp is expected to be in between 2 vblank time stamps\n"); > } > > -/** > - * SUBTEST: test-cursor > - * Description: Verify that the DRM_IOCTL_MODE_CURSOR passes after async flip > - * Driver requirement: i915, xe > - * Functionality: async_flips, cursor, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void test_cursor(data_t *data) > { > int flags = DRM_MODE_PAGE_FLIP_ASYNC | DRM_MODE_PAGE_FLIP_EVENT; > @@ -529,14 +524,6 @@ static unsigned int clock_ms(void) > return ts.tv_sec * 1000 + ts.tv_nsec / 1000000; > } > > -/** > - * SUBTEST: crc > - * Description: Use CRC to verify async flip scans out the correct framebuffer > - * Driver requirement: i915, xe > - * Functionality: async_flips, crc, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void test_crc(data_t *data) > { > unsigned int frame = 0; > @@ -599,14 +586,6 @@ static void test_crc(data_t *data) > igt_assert_lt(data->frame_count * 2, data->flip_count); > } > > -/** > - * SUBTEST: invalid-async-flip > - * Description: Negative case to verify if changes in fb are rejected from kernel as expected > - * Driver requirement: i915, xe > - * Functionality: async_flips, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void run_test(data_t *data, void (*test)(data_t *)) > { > igt_display_t *display = &data->display; > diff --git a/tests/kms_atomic.c b/tests/kms_atomic.c > index d1511716a..44e6c4902 100644 > --- a/tests/kms_atomic.c > +++ b/tests/kms_atomic.c > @@ -31,6 +31,10 @@ > * TEST: kms atomic > * Category: Display > * Description: Test atomic modesetting API > + * Driver requirement: i915, xe > + * Functionality: kms_core > + * Mega feature: General Display Features > + * Test category: functionality test > */ > > #include <unistd.h> > @@ -48,6 +52,59 @@ > #include "igt_aux.h" > #include "sw_sync.h" > > +/** > + * SUBTEST: atomic-invalid-params > + * Description: Test abuse the atomic ioctl directly in order to test various > + * invalid conditions which the libdrm wrapper won't allow us to > + * create. > + * > + * SUBTEST: atomic_plane_damage > + * Description: Simple test cases to use FB_DAMAGE_CLIPS plane property > + * > + * SUBTEST: plane-primary-overlay-mutable-zpos > + * Description: Verify that the overlay plane can cover the primary one (and > + * vice versa) by changing their zpos property. > + * Functionality: kms_core, plane > + * > + * SUBTEST: plane-immutable-zpos > + * Description: Verify the reported zpos property of planes by making sure only > + * higher zpos planes cover the lower zpos ones. > + * Functionality: kms_core, plane > + * > + * SUBTEST: test-only > + * Description: Test to ensure that DRM_MODE_ATOMIC_TEST_ONLY really only touches > + * the free-standing state objects and nothing else. > + */ > + > +/** > + * SUBTEST: plane-%s-legacy > + * Description: Test for KMS atomic modesetting on %arg[1] and ensure coherency > + * between legacy and atomic interfaces. > + * Functionality: kms_core, plane > + * > + * arg[1]: > + * > + * @cursor: Cursor plane > + * @overlay: Overlay plane > + * @primary: Primary plane > + */ > + > +/** > + * SUBTEST: %s-invalid-%s > + * Description: Test error handling when invalid %arg[1] %arg[2] are passed > + * Functionality: kms_core, plane > + * > + * arg[1]: > + * > + * @crtc: crtc > + * @plane: plane > + * > + * arg[2]: > + * > + * @params: parameters > + * @params-fence: fence parameters > + */ > + > #ifndef DRM_CAP_CURSOR_WIDTH > #define DRM_CAP_CURSOR_WIDTH 0x8 > #endif > @@ -289,15 +346,6 @@ static uint32_t plane_get_igt_format(igt_plane_t *plane) > return 0; > } > > -/** > - * SUBTEST: plane-primary-overlay-mutable-zpos > - * Description: Verify that the overlay plane can cover the primary one (and > - * vice versa) by changing their zpos property. > - * Driver requirement: i915, xe > - * Functionality: kms_core, plane > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void > plane_primary_overlay_mutable_zpos(igt_pipe_t *pipe, igt_output_t *output, > igt_plane_t *primary, igt_plane_t *overlay, > @@ -380,15 +428,6 @@ plane_primary_overlay_mutable_zpos(igt_pipe_t *pipe, igt_output_t *output, > igt_assert_eq_u64(igt_plane_get_prop(overlay, IGT_PLANE_ZPOS), 1); > } > > -/** > - * SUBTEST: plane-immutable-zpos > - * Description: Verify the reported zpos property of planes by making sure only > - * higher zpos planes cover the lower zpos ones. > - * Driver requirement: i915, xe > - * Functionality: kms_core, plane > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void > plane_immutable_zpos(igt_display_t *display, igt_pipe_t *pipe, > igt_output_t *output) > @@ -524,21 +563,6 @@ plane_immutable_zpos(igt_display_t *display, igt_pipe_t *pipe, > igt_remove_fb(display->drm_fd, &fb_upper); > } > > -/** > - * SUBTEST: plane-%s-legacy > - * Description: Test for KMS atomic modesetting on %arg[1] and ensure coherency > - * between legacy and atomic interfaces. > - * Driver requirement: i915, xe > - * Functionality: kms_core, plane > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @cursor: Cursor plane > - * @overlay: Overlay plane > - * @primary: Primary plane > - */ > static void plane_overlay(igt_pipe_t *pipe, igt_output_t *output, igt_plane_t *plane) > { > drmModeModeInfo *mode = igt_output_get_mode(output); > @@ -613,16 +637,6 @@ static void plane_primary(igt_pipe_t *pipe, igt_plane_t *plane, struct igt_fb *f > plane_commit(plane, COMMIT_UNIVERSAL, ATOMIC_RELAX_NONE); > } > > -/** > - * SUBTEST: test-only > - * Description: Test to ensure that DRM_MODE_ATOMIC_TEST_ONLY really only touches > - * the free-standing state objects and nothing else. > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > - > /* test to ensure that DRM_MODE_ATOMIC_TEST_ONLY really only touches the > * free-standing state objects and nothing else. > */ > @@ -731,19 +745,6 @@ static void plane_cursor(igt_pipe_t *pipe_obj, > plane_commit(cursor, COMMIT_LEGACY, ATOMIC_RELAX_NONE); > } > > -/** > - * SUBTEST: plane-invalid-%s > - * Description: Test error handling when invalid %arg[1] are passed > - * Driver requirement: i915, xe > - * Functionality: kms_core, plane > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @params: plane parameters > - * @params-fence: plane fence parameters > - */ > static void plane_invalid_params(igt_pipe_t *pipe, > igt_output_t *output, > igt_plane_t *plane, > @@ -833,19 +834,6 @@ static void plane_invalid_params_fence(igt_pipe_t *pipe, > close(timeline); > } > > -/** > - * SUBTEST: crtc-invalid-%s > - * Description: Test error handling when invalid %arg[1] are passed > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @params: crtc parameters > - * @params-fence: crtc fence parameters > - */ > static void crtc_invalid_params(igt_pipe_t *pipe, > igt_output_t *output, > igt_plane_t *plane, > @@ -993,17 +981,6 @@ static void crtc_invalid_params_fence(igt_pipe_t *pipe, > igt_assert(pipe->out_fence_fd != -1); > } > > -/** > - * SUBTEST: atomic-invalid-params > - * Description: Test abuse the atomic ioctl directly in order to test various > - * invalid conditions which the libdrm wrapper won't allow us to > - * create. > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > - > /* Abuse the atomic ioctl directly in order to test various invalid conditions, > * which the libdrm wrapper won't allow us to create. */ > static void atomic_invalid_params(igt_pipe_t *pipe, > @@ -1145,14 +1122,6 @@ static void atomic_invalid_params(igt_pipe_t *pipe, > do_ioctl_err(display->drm_fd, DRM_IOCTL_MODE_ATOMIC, &ioc, EFAULT); > } > > -/** > - * SUBTEST: atomic_plane_damage > - * Description: Simple test cases to use FB_DAMAGE_CLIPS plane property > - * Driver requirement: i915, xe > - * Functionality: kms_core, plane > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void atomic_plane_damage(igt_pipe_t *pipe, igt_plane_t *plane, struct igt_fb *fb) > { > struct drm_mode_rect damage[2]; > diff --git a/tests/kms_atomic_interruptible.c b/tests/kms_atomic_interruptible.c > index 0ae2435f9..582b80c42 100644 > --- a/tests/kms_atomic_interruptible.c > +++ b/tests/kms_atomic_interruptible.c > @@ -25,6 +25,10 @@ > * TEST: kms atomic interruptible > * Category: Display > * Description: Tests that interrupt various atomic ioctls. > + * Driver requirement: i915, xe > + * Functionality: kms_core > + * Mega feature: General Display Features > + * Test category: functionality test > */ > #include <signal.h> > > @@ -32,6 +36,40 @@ > #include "drmtest.h" > #include "sw_sync.h" > > +/** > + * SUBTEST: legacy-cursor > + * Description: Tests the interrupt properties for Cursor > + * Functionality: cursor, kms_core > + * > + * SUBTEST: legacy-dpms > + * Description: Tests the interrupt properties for DPMS > + * Functionality: dpms, kms_core > + * > + * SUBTEST: legacy-pageflip > + * Description: Tests the interrupt properties for page flip > + */ > + > +/** > + * SUBTEST: %s-setmode > + * Description: Tests the interrupt properties of %arg[1] modeset > + * > + * arg[1]: > + * > + * @atomic: atomic > + * @legacy: legacy > + */ > + > +/** > + * SUBTEST: universal-setplane-%s > + * Description: Tests the interrupt properties for %arg[1] > + * Functionality: kms_core, plane > + * > + * arg[1]: > + * > + * @cursor: Cursor plane > + * @primary: Primary plane > + */ > + > IGT_TEST_DESCRIPTION("Tests that interrupt various atomic ioctls."); > > enum plane_test_type > @@ -79,56 +117,6 @@ static drmEventContext drm_events = { > .page_flip_handler = ev_page_flip > }; > > -/** > - * SUBTEST: %s-setmode > - * Description: Tests the interrupt properties of %arg[1] modeset > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @atomic: atomic > - * @legacy: legacy > - */ > - > -/** > - * SUBTEST: legacy-cursor > - * Description: Tests the interrupt properties for Cursor > - * Driver requirement: i915, xe > - * Functionality: cursor, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: legacy-dpms > - * Description: Tests the interrupt properties for DPMS > - * Driver requirement: i915, xe > - * Functionality: dpms, kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: legacy-pageflip > - * Description: Tests the interrupt properties for page flip > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > - > -/** > - * SUBTEST: universal-setplane-%s > - * Description: Tests the interrupt properties for %arg[1] > - * Driver requirement: i915, xe > - * Functionality: kms_core, plane > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @cursor: Cursor plane > - * @primary: Primary plane > - */ > static void run_plane_test(igt_display_t *display, enum pipe pipe, igt_output_t *output, > enum plane_test_type test_type, unsigned plane_type) > { > diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c > index f5f21f925..bf1c244ef 100644 > --- a/tests/kms_atomic_transition.c > +++ b/tests/kms_atomic_transition.c > @@ -24,6 +24,10 @@ > /** > * TEST: kms atomic transition > * Category: Display > + * Driver requirement: i915, xe > + * Functionality: plane, watermark > + * Mega feature: General Display Features > + * Test category: functionality test > */ > #include "igt.h" > #include "igt_rand.h" > @@ -37,6 +41,61 @@ > #include <time.h> > #include <poll.h> > > +/** > + * SUBTEST: plane-primary-toggle-with-vblank-wait > + * Description: Check toggling of primary plane with vblank > + * Functionality: plane, vblank, watermark > + */ > + > +/** > + * SUBTEST: plane-all-modeset-%s > + * Description: Modeset test for all plane combinations %arg[1] > + * > + * arg[1]: > + * > + * @transition: default > + * @transition-fencing: with fencing commit > + */ > + > +/** > + * SUBTEST: plane-all-modeset-%s > + * Description: Modeset test for all plane combinations %arg[1] > + * Mega feature: eDP > + * > + * arg[1]: > + * > + * @transition-fencing-internal-panels: on internal panels with fencing commit > + * @transition-internal-panels: on internal panels > + */ > + > +/** > + * SUBTEST: plane-all-%s > + * Description: Transition test for all plane combinations %arg[1] > + * > + * SUBTEST: modeset-%s > + * Description: Modeset transition tests for combinations of crtc enabled %arg[1] > + * > + * arg[1]: > + * > + * @transition: default > + * @transition-fencing: with fencing commit > + * @transition-nonblocking: with non-blocking commit > + * @transition-nonblocking-fencing: with non-blocking & fencing commit > + */ > + > +/** > + * SUBTEST: plane-toggle-modeset-transition > + * Description: Check toggling and modeset transition on plane > + * > + * SUBTEST: plane-use-after-nonblocking-%s > + * Description: Transition test with non %arg[1] and make sure commit of disabled > + * plane has to complete before atomic commit on that plane > + * > + * arg[1]: > + * > + * @unbind: blocking commit > + * @unbind-fencing: blocking commit with fencing > + */ > #ifndef DRM_CAP_CURSOR_WIDTH > #define DRM_CAP_CURSOR_WIDTH 0x8 > #endif > @@ -62,14 +121,6 @@ int *timeline; > pthread_t *thread; > int *seqno; > > -/** > - * SUBTEST: plane-primary-toggle-with-vblank-wait > - * Description: Check toggling of primary plane with vblank > - * Driver requirement: i915, xe > - * Functionality: plane, vblank, watermark > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void > run_primary_test(data_t *data, enum pipe pipe, igt_output_t *output) > { > @@ -482,72 +533,6 @@ static void wait_for_transition(data_t *data, enum pipe pipe, bool nonblocking, > } > } > > -/** > - * SUBTEST: plane-all-modeset-%s > - * Description: Modeset test for all plane combinations %arg[1] > - * Driver requirement: i915, xe > - * Functionality: plane, watermark > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @transition: default > - * @transition-fencing: with fencing commit > - */ > - > -/** > - * SUBTEST: plane-all-modeset-%s > - * Description: Modeset test for all plane combinations %arg[1] > - * Driver requirement: i915, xe > - * Functionality: plane, watermark > - * Mega feature: eDP > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @transition-fencing-internal-panels: on internal panels with fencing commit > - * @transition-internal-panels: on internal panels > - */ > - > -/** > - * SUBTEST: plane-all-%s > - * Description: Transition test for all plane combinations %arg[1] > - * Driver requirement: i915, xe > - * Functionality: plane, watermark > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @transition: default > - * @transition-fencing: with fencing commit > - * @transition-nonblocking: with non-blocking commit > - * @transition-nonblocking-fencing: with non-blocking & fencing commit > - */ > - > -/** > - * SUBTEST: plane-toggle-modeset-transition > - * Description: Check toggling and modeset transition on plane > - * Driver requirement: i915, xe > - * Functionality: plane, watermark > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: plane-use-after-nonblocking-%s > - * Description: Transition test with non %arg[1] and make sure commit of disabled > - * plane has to complete before atomic commit on that plane > - * Driver requirement: i915, xe > - * Functionality: plane, watermark > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @unbind: blocking commit > - * @unbind-fencing: blocking commit with fencing > - */ > - > /* > * 1. Set primary plane to a known fb. > * 2. Make sure getcrtc returns the correct fb id. > @@ -1041,21 +1026,6 @@ retry: > } > } > > -/** > - * SUBTEST: modeset-%s > - * Description: Modeset transition tests for combinations of %arg[1] > - * Driver requirement: i915, xe > - * Functionality: plane, watermark > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @transition: crtc enabled > - * @transition-fencing: crtc enabled with fencing commit > - * @transition-nonblocking: crtc enabled with nonblocking commit > - * @transition-nonblocking-fencing: crtc enabled with nonblocking & fencing commit > - */ > static void run_modeset_transition(data_t *data, int requested_outputs, bool nonblocking, bool fencing) > { > igt_output_t *outputs[IGT_MAX_PIPES] = {}; > diff --git a/tests/kms_bw.c b/tests/kms_bw.c > index 5f9a020da..b8422058e 100644 > --- a/tests/kms_bw.c > +++ b/tests/kms_bw.c > @@ -20,22 +20,24 @@ > * OTHER DEALINGS IN THE SOFTWARE. > */ > > -#include "drm_mode.h" > -#include "igt.h" > -#include "drm.h" > -#include <stdio.h> > -#include <xf86drmMode.h> > /** > * TEST: kms bw > * Category: Display > * Description: BW test with different resolutions > - * > - * SUBTEST: linear-tiling-%d-displays-%s > - * Description: bw test with %arg[2] > * Driver requirement: i915, xe > * Functionality: kms_core > * Mega feature: General Display Features > * Test category: functionality test > + */ > +#include "drm_mode.h" > +#include "igt.h" > +#include "drm.h" > +#include <stdio.h> > +#include <xf86drmMode.h> > + > +/** > + * SUBTEST: linear-tiling-%d-displays-%s > + * Description: bw test with %arg[2] > * > * arg[1].values: 1, 2, 3, 4, 5, 6, 7, 8 > * > diff --git a/tests/kms_color.c b/tests/kms_color.c > index 4809481bc..cf3eb4ac8 100644 > --- a/tests/kms_color.c > +++ b/tests/kms_color.c > @@ -26,19 +26,61 @@ > * TEST: kms color > * Category: Display > * Description: Test Color Features at Pipe level > + * Driver requirement: i915, xe > + * Functionality: colorspace > + * Mega feature: Color Management > + * Test category: functionality test > */ > #include "kms_color_helper.h" > > -IGT_TEST_DESCRIPTION("Test Color Features at Pipe level"); > - > /** > * SUBTEST: degamma > * Description: Verify that degamma LUT transformation works correctly > - * Driver requirement: i915, xe > - * Functionality: colorspace > - * Mega feature: Color Management > - * Test category: functionality test > + * > + * SUBTEST: gamma > + * Description: Verify that gamma LUT transformation works correctly > + * > + * SUBTEST: legacy-gamma > + * Description: Verify that legacy gamma LUT transformation works correctly > + * > + * SUBTEST: legacy-gamma-reset > + * Description: Verify that setting the legacy gamma LUT resets the gamma LUT > + * set through GAMMA_LUT property > + * > + * SUBTEST: deep-color > + * Description: Verify that deep color works correctly > */ > + > +/** > + * SUBTEST: ctm-%s > + * Description: Check the color transformation %arg[1] > + * > + * arg[1]: > + * > + * @0-25: for 0.25 transparency > + * @0-50: for 0.50 transparency > + * @0-75: for 0.75 transparency > + * @blue-to-red: from blue to red > + * @green-to-red: from green to red > + * @max: for maximum transparency > + * @negative: for negative transparency > + * @red-to-blue: from red to blue > + * @signed: for correct signed handling > + */ > + > +/** > + * SUBTEST: invalid-%s-sizes > + * Description: Negative check for %arg[1] sizes > + * > + * arg[1]: > + * > + * @ctm-matrix: Color transformation matrix > + * @degamma-lut: Degamma LUT > + * @gamma-lut: Gamma LUT > + */ > + > +IGT_TEST_DESCRIPTION("Test Color Features at Pipe level"); > + > static bool test_pipe_degamma(data_t *data, > igt_plane_t *primary) > { > @@ -127,15 +169,6 @@ static bool test_pipe_degamma(data_t *data, > return ret; > } > > -/** > - * SUBTEST: gamma > - * Description: Verify that gamma LUT transformation works correctly > - * Driver requirement: i915, xe > - * Functionality: colorspace > - * Mega feature: Color Management > - * Test category: functionality test > - */ > - > /* > * Draw 3 gradient rectangles in red, green and blue, with a maxed out gamma > * LUT and verify we have the same CRC as drawing solid color rectangles. > @@ -224,15 +257,6 @@ static bool test_pipe_gamma(data_t *data, > return ret; > } > > -/** > - * SUBTEST: legacy-gamma > - * Description: Verify that legacy gamma LUT transformation works correctly > - * Driver requirement: i915, xe > - * Functionality: colorspace > - * Mega feature: Color Management > - * Test category: functionality test > - */ > - > /* > * Draw 3 gradient rectangles in red, green and blue, with a maxed out legacy > * gamma LUT and verify we have the same CRC as drawing solid color rectangles > @@ -345,16 +369,6 @@ static bool test_pipe_legacy_gamma(data_t *data, > return ret; > } > > -/** > - * SUBTEST: legacy-gamma-reset > - * Description: Verify that setting the legacy gamma LUT resets the gamma LUT > - * set through GAMMA_LUT property > - * Driver requirement: i915, xe > - * Functionality: colorspace > - * Mega feature: Color Management > - * Test category: functionality test > - */ > - > /* > * Verify that setting the legacy gamma LUT resets the gamma LUT set > * through the GAMMA_LUT property. > @@ -489,27 +503,6 @@ end: > return ret; > } > > -/** > - * SUBTEST: ctm-%s > - * Description: Check the color transformation %arg[1] > - * Driver requirement: i915, xe > - * Functionality: colorspace > - * Mega feature: Color Management > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @0-25: for 0.25 transparency > - * @0-50: for 0.50 transparency > - * @0-75: for 0.75 transparency > - * @blue-to-red: from blue to red > - * @green-to-red: from green to red > - * @max: for maximum transparency > - * @negative: for negative transparency > - * @red-to-blue: from red to blue > - * @signed: for correct signed handling > - */ > - > /* > * Draw 3 rectangles using before colors with the ctm matrix apply and verify > * the CRC is equal to using after colors with an identify ctm matrix. > @@ -869,14 +862,6 @@ out: > test_cleanup(data); > } > > -/** > - * SUBTEST: deep-color > - * Description: Verify that deep color works correctly > - * Driver requirement: i915, xe > - * Functionality: colorspace > - * Mega feature: Color Management > - * Test category: functionality test > - */ > static void > run_deep_color_tests_for_pipe(data_t *data, enum pipe p) > { > @@ -978,20 +963,6 @@ run_deep_color_tests_for_pipe(data_t *data, enum pipe p) > test_cleanup(data); > } > > -/** > - * SUBTEST: invalid-%s-sizes > - * Description: Negative check for %arg[1] sizes > - * Driver requirement: i915, xe > - * Functionality: colorspace > - * Mega feature: Color Management > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @ctm-matrix: Color transformation matrix > - * @degamma-lut: Degamma LUT > - * @gamma-lut: Gamma LUT > - */ > static void > run_invalid_tests_for_pipe(data_t *data) > { > diff --git a/tests/kms_concurrent.c b/tests/kms_concurrent.c > index d9cb197de..dcba7b12e 100644 > --- a/tests/kms_concurrent.c > +++ b/tests/kms_concurrent.c > @@ -22,21 +22,23 @@ > * > */ > > -#include "igt.h" > -#include "drmtest.h" > /** > * TEST: kms concurrent > * Category: Display > * Description: Test atomic mode setting concurrently with multiple planes and > * screen resolution > - * > - * SUBTEST: pipe-%s > - * Description: Test atomic mode setting concurrently with multiple planes and > - * screen resolution on %arg[1]. > * Driver requirement: i915, xe > * Functionality: kms_core > * Mega feature: General Display Features > * Test category: functionality test > + */ > +#include "igt.h" > +#include "drmtest.h" > + > +/** > + * SUBTEST: pipe-%s > + * Description: Test atomic mode setting concurrently with multiple planes and > + * screen resolution on %arg[1]. > * > * arg[1]: > * > diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c > index 9378a76c1..1ae443c6c 100644 > --- a/tests/kms_content_protection.c > +++ b/tests/kms_content_protection.c > @@ -26,6 +26,10 @@ > * TEST: kms content protection > * Category: Display > * Description: Test content protection (HDCP) > + * Driver requirement: i915, xe > + * Functionality: hdcp1.4 > + * Mega feature: HDCP > + * Test category: functionality test > */ > #include <poll.h> > #include <fcntl.h> > @@ -37,6 +41,53 @@ > #include "igt_kms.h" > #include "igt_kmod.h" > > +/** > + * SUBTEST: LIC > + * Description: Test for the integrity of link. > + * > + * SUBTEST: content_type_change > + * Description: Test the content type change when the content protection already > + * enabled > + * Functionality: hdcp1.4, hdcp2.2 > + * > + * SUBTEST: mei_interface > + * Description: Test the teardown and rebuild of the interface between Intel > + * and mei hdcp. > + * Functionality: hdcp1.4, hdcp2.2 > + * > + * SUBTEST: srm > + * Description: This test writes the facsimile SRM into the /lib/firmware/ and > + * check the kernel parsing of it by invoking the hdcp authentication. > + * > + * SUBTEST: uevent > + * Description: Test to detect the HDCP status change when we are reading the > + * uevent sent with the corresponding connector id and property id. > + * > + * SUBTEST: %s > + * Description: Test content protection with %arg[1] > + * > + * arg[1]: > + * > + * @atomic: atomic modesetting > + * @atomic-dpms: DPMS ON/OFF during atomic modesetting. > + * @legacy: legacy style commit > + * @type1: content type 1 that can be handled only through HDCP2.2. > + */ > + > +/** > + * SUBTEST: dp-mst-%s > + * Description: Test Content protection %arg[1] over DP MST. > + * Functionality: hdcp1.4, mst > + * Mega feature: DP, HDCP > + * > + * arg[1]: > + * > + * @lic-type-0: Type 0 with LIC > + * @lic-type-1: Type 1 with LIC. > + * @type-0: Type 0 > + * @type-1: Type 1 > + */ > + > IGT_TEST_DESCRIPTION("Test content protection (HDCP)"); > > struct data { > @@ -490,60 +541,6 @@ test_fini(igt_output_t *output, enum igt_commit_style s) > igt_display_commit2(&data.display, s); > } > > -/** > - * SUBTEST: LIC > - * Description: Test for the integrity of link. > - * Driver requirement: i915, xe > - * Functionality: hdcp1.4 > - * Mega feature: HDCP > - * Test category: functionality test > - * > - * SUBTEST: content_type_change > - * Description: Test the content type change when the content protection already > - * enabled > - * Driver requirement: i915, xe > - * Functionality: hdcp1.4, hdcp2.2 > - * Mega feature: HDCP > - * Test category: functionality test > - * > - * SUBTEST: mei_interface > - * Description: Test the teardown and rebuild of the interface between Intel > - * and mei hdcp. > - * Driver requirement: i915, xe > - * Functionality: hdcp1.4, hdcp2.2 > - * Mega feature: HDCP > - * Test category: functionality test > - * > - * SUBTEST: srm > - * Description: This test writes the facsimile SRM into the /lib/firmware/ and > - * check the kernel parsing of it by invoking the hdcp authentication. > - * Driver requirement: i915, xe > - * Functionality: hdcp1.4 > - * Mega feature: HDCP > - * Test category: functionality test > - * > - * SUBTEST: uevent > - * Description: Test to detect the HDCP status change when we are reading the > - * uevent sent with the corresponding connector id and property id. > - * Driver requirement: i915, xe > - * Functionality: hdcp1.4 > - * Mega feature: HDCP > - * Test category: functionality test > - * > - * SUBTEST: %s > - * Description: Test content protection with %arg[1] > - * Driver requirement: i915, xe > - * Functionality: hdcp1.4 > - * Mega feature: HDCP > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @atomic: atomic modesetting > - * @atomic-dpms: DPMS ON/OFF during atomic modesetting. > - * @legacy: legacy style commit > - * @type1: content type 1 that can be handled only through HDCP2.2. > - */ > static void > test_content_protection(enum igt_commit_style s, int content_type) > { > @@ -631,21 +628,6 @@ static void test_cp_lic_on_mst(igt_output_t *mst_outputs[], int valid_outputs, b > } > } > > -/** > - * SUBTEST: dp-mst-%s > - * Description: Test Content protection %arg[1] over DP MST. > - * Driver requirement: i915, xe > - * Functionality: hdcp1.4, mst > - * Mega feature: HDCP > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @lic-type-0: Type 0 with LIC > - * @lic-type-1: Type 1 with LIC. > - * @type-0: Type 0 > - * @type-1: Type 1 > - */ > static void > test_content_protection_mst(int content_type) > { > diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c > index 76c01f557..674db3ed7 100644 > --- a/tests/kms_cursor_crc.c > +++ b/tests/kms_cursor_crc.c > @@ -22,13 +22,6 @@ > * > */ > > -#include "igt.h" > -#include <errno.h> > -#include <limits.h> > -#include <stdbool.h> > -#include <stdio.h> > -#include <string.h> > - > /** > * TEST: kms cursor crc > * Category: Display > @@ -40,8 +33,67 @@ > * compares it with the CRC value obtained when the cursor plane > * was disabled and its drawing is directly inserted on the PF by > * software. > + * Driver requirement: i915, xe > + * Functionality: cursor > + * Mega feature: General Display Features > + * Test category: functionality test > */ > +#include "igt.h" > +#include <errno.h> > +#include <limits.h> > +#include <stdbool.h> > +#include <stdio.h> > +#include <string.h> > > +/** > + * SUBTEST: cursor-dpms > + * Description: Check random placement of a cursor with DPMS. > + * Functionality: cursor, dpms > + * > + * SUBTEST: cursor-suspend > + * Description: Check random placement of a cursor with suspend. > + * Functionality: cursor, suspend > + * > + * SUBTEST: cursor-%s > + * Description: %arg[1] > + * > + * arg[1]: > + * > + * @alpha-opaque: Validates the composition of a fully opaque cursor plane, > + * i.e., alpha channel equal to 1.0. > + * @alpha-transparent: Validates the composition of a fully transparent cursor > + * plane, i.e., alpha channel equal to 0.0. > + * @size-change: Create a maximum size cursor, then change the size in > + * flight to smaller ones to see that the size is applied > + * correctly. > + */ > + > +/** > + * SUBTEST: cursor-%s-%s > + * Description: Check if a %arg[2] cursor is %arg[1]. > + * > + * arg[1]: > + * > + * @offscreen: well-positioned outside the screen > + * @onscreen: well-positioned inside the screen > + * @random: randomly placed > + * @rapid-movement: rapidly udates for movements > + * @sliding: smooth for horizontal, vertical & diagonal movements > + * > + * arg[2]: > + * > + * @128x128: 128x128 size > + * @128x42: 128x42 size > + * @256x256: 256x256 size > + * @256x85: 256x85 size > + * @32x10: 32x10 size > + * @32x32: 32x32 size > + * @512x170: 512x170 size > + * @512x512: 512x512 size > + * @64x21: 64x21 size > + * @64x64: 64x64 size > + * @max-size: Max supported size > + */ > IGT_TEST_DESCRIPTION( > "Use the display CRC support to validate cursor plane functionality. " > "The test will position the cursor plane either fully onscreen, " > @@ -654,38 +706,6 @@ static bool require_cursor_size(data_t *data, int w, int h) > return !!ret; > } > > -/** > - * SUBTEST: cursor-dpms > - * Description: Check random placement of a cursor with DPMS. > - * Driver requirement: i915, xe > - * Functionality: cursor, dpms > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: cursor-suspend > - * Description: Check random placement of a cursor with suspend. > - * Driver requirement: i915, xe > - * Functionality: cursor, suspend > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: cursor-%s > - * Description: %arg[1] > - * Driver requirement: i915, xe > - * Functionality: cursor > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @alpha-opaque: Validates the composition of a fully opaque cursor plane, > - * i.e., alpha channel equal to 1.0. > - * @alpha-transparent: Validates the composition of a fully transparent cursor > - * plane, i.e., alpha channel equal to 0.0. > - * @size-change: Create a maximum size cursor, then change the size in > - * flight to smaller ones to see that the size is applied > - * correctly. > - */ > static void run_test(data_t *data, void (*testfunc)(data_t *), int cursor_w, int cursor_h) > { > prepare_crtc(data, cursor_w, cursor_h); > @@ -782,37 +802,6 @@ static bool execution_constraint(enum pipe pipe) > return false; > } > > - > -/** > - * SUBTEST: cursor-%s-%s > - * Description: Check if a %arg[2] cursor is %arg[1]. > - * Driver requirement: i915, xe > - * Functionality: cursor > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @offscreen: well-positioned outside the screen > - * @onscreen: well-positioned inside the screen > - * @random: randomly placed > - * @rapid-movement: rapidly udates for movements > - * @sliding: smooth for horizontal, vertical & diagonal movements > - * > - * arg[2]: > - * > - * @128x128: 128x128 size > - * @128x42: 128x42 size > - * @256x256: 256x256 size > - * @256x85: 256x85 size > - * @32x10: 32x10 size > - * @32x32: 32x32 size > - * @512x170: 512x170 size > - * @512x512: 512x512 size > - * @64x21: 64x21 size > - * @64x64: 64x64 size > - * @max-size: Max supported size > - */ > static void run_size_tests(data_t *data, int w, int h) > { > enum pipe pipe; > diff --git a/tests/kms_cursor_edge_walk.c b/tests/kms_cursor_edge_walk.c > index 1e233306d..ae09b5d91 100644 > --- a/tests/kms_cursor_edge_walk.c > +++ b/tests/kms_cursor_edge_walk.c > @@ -22,24 +22,25 @@ > * > */ > > +/** > + * TEST: kms cursor edge walk > + * Category: Display > + * Description: Test to check different cursor sizes by walking different edges of screen > + * Driver requirement: i915, xe > + * Functionality: cursor > + * Mega feature: General Display Features > + * Test category: functionality test > + */ > #include "igt.h" > #include <errno.h> > #include <limits.h> > #include <stdbool.h> > #include <stdio.h> > #include <string.h> > + > /** > - * TEST: kms cursor edge walk > - * Category: Display > - * Description: Exercise CHV pipe C cursor fail > - * Description: Test to check different cursor sizes by walking different edges of screen > - * > * SUBTEST: %s-%s > * Description: Checking cursor size %arg[1] by walking %arg[2] of screen > - * Driver requirement: i915, xe > - * Functionality: cursor > - * Mega feature: General Display Features > - * Test category: functionality test > * > * arg[1]: > * > diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c > index 861581c93..fbef7d248 100644 > --- a/tests/kms_cursor_legacy.c > +++ b/tests/kms_cursor_legacy.c > @@ -26,8 +26,11 @@ > * TEST: kms cursor legacy > * Category: Display > * Description: Stress legacy cursor ioctl > + * Driver requirement: i915, xe > + * Functionality: cursor > + * Mega feature: General Display Features > + * Test category: functionality test > */ > - > #include <sched.h> > #include <sys/poll.h> > > @@ -37,6 +40,189 @@ > #include "igt_rand.h" > #include "igt_stats.h" > > +/** > + * SUBTEST: %s-%s > + * Description: Test checks how many cursor updates we can fit between vblanks > + * on single/all pipes with different modes, priority and number > + * of processes > + * > + * arg[1]: > + * > + * @single: Single > + * @torture: Torture > + * @forked: Forked > + * > + * arg[2]: > + * > + * @bo: BO > + * @move: Move > + */ > + > +/** > + * SUBTEST: basic-busy-flip-before-cursor-%s > + * Description: Cursor test with %arg[1] mode > + * Functionality: cursor, hang > + * > + * SUBTEST: basic-busy-flip-before-cursor-varying-size > + * Description: Change the size of cursor b/w 64*64 to maxw x maxh. > + * Functionality: cursor, hang > + * > + * arg[1]: > + * > + * @atomic: atomic > + * @legacy: legacy > + */ > + > +/** > + * SUBTEST: basic-flip-after-cursor-%s > + * Description: Cursor test with %arg[1] > + * > + * SUBTEST: basic-flip-before-cursor-%s > + * Description: Cursor test with %arg[1] > + * > + * arg[1]: > + * > + * @atomic: atomic mode > + * @legacy: legacy mode > + * @varying-size: varying size > + */ > + > +/** > + * SUBTEST: %s-flip-before-cursor-%s > + * Description: Adds variety of tests: > + * - varying-size: change the size of cursor b/w 64*64 to maxw x maxh.\n > + * - atomic-transition: alternates between a full screen sprite plane > + * and full screen primary plane.\n" > + * - toggle: which toggles cursor visibility and make sure cursor moves > + * between updates. > + * > + * arg[1]: > + * > + * @short: > + * @short-busy: > + * > + * arg[2]: > + * > + * @atomic-transitions: > + * @atomic-transitions-varying-size: > + * @toggle: > + */ > + > +/** > + * SUBTEST: short-flip-after-cursor-%s > + * Description: Adds variety of tests: > + * - varying-size: change the size of cursor b/w 64*64 to maxw x maxh.\n > + * - atomic-transition: alternates between a full screen sprite plane > + * and full screen primary plane.\n" > + * - toggle: which toggles cursor visibility and make sure cursor moves > + * between updates. > + * > + * arg[1]: > + * > + * @atomic-transitions: > + * @atomic-transitions-varying-size: > + * @toggle: > + */ > + > +/** > + * SUBTEST: long-nonblocking-modeset-vs-cursor-atomic > + * Description: Test checks how many cursor updates we can fit between vblanks > + * on all pipes with different modes, priority and number of processes > + * > + * SUBTEST: nonblocking-modeset-vs-cursor-atomic > + * Description: Test checks how many cursor updates we can fit between vblanks > + * on all pipes with different modes, priority and number of processes > + */ > + > +/** > + * SUBTEST: 2x-%s-%s > + * Description: This test executes flips on both CRTCs while running cursor > + * updates in parallel > + * > + * arg[1]: > + * > + * @flip-vs-cursor: > + * @flip-vs-cursor: > + * @long-flip-vs-cursor: > + * @long-flip-vs-cursor: > + * > + * arg[2]: > + * > + * @atomic: > + * @legacy: > + */ > + > +/** > + * SUBTEST: 2x-%s-atomic > + * Description: This test executes flips on both CRTCs while running cursor > + * updates in parallel > + * > + * arg[1]: > + * > + * @long-nonblocking-modeset-vs-cursor: > + * @nonblocking-modeset-vs-cursor: > + */ > + > +/** > + * SUBTEST: %s-%s > + * Description: The essence of the basic test is that neither the cursor nor the > + * nonblocking flip stall the application of the next > + * > + * arg[1]: > + * > + * @cursor-vs-flip: > + * @cursorA-vs-flipA: > + * @cursorA-vs-flipB: > + * @cursorB-vs-flipA: > + * @cursorB-vs-flipB: > + * @flip-vs-cursor: > + * > + * arg[2]: > + * > + * @atomic: > + * @atomic-transitions: > + * @atomic-transitions-varying-size: > + * @legacy: > + * @toggle: > + * @varying-size: > + */ > + > +/** > + * SUBTEST: 2x-%s-%s > + * Description: This test executes flips on both CRTCs while running cursor updates in parallel > + * > + * arg[1]: > + * > + * @cursor-vs-flip: > + * @cursor-vs-flip: > + * @long-cursor-vs-flip: > + * @long-cursor-vs-flip: > + * > + * arg[2]: > + * > + * @atomic: > + * @legacy: > + */ > + > +/** > + * SUBTEST: flip-vs-cursor-crc-%s > + * Description: this test perform a page flip followed by a cursor update > + * > + * SUBTEST: flip-vs-cursor-busy-crc-%s > + * Description: this test perform a busy bo update followed by a cursor update > + * Functionality: cursor, hang > + * > + * arg[1]: > + * > + * @atomic: > + * @legacy: > + */ > + > +/** > + * SUBTEST: modeset-atomic-cursor-hotspot > + * Description: Test changes the cursor hotspot and checks that the property is > + * updated accordignly > + */ > #if defined(__x86_64__) || defined(__i386__) > #define cpu_relax() __builtin_ia32_pause() > #else > @@ -78,27 +264,6 @@ static void override_output_modes(igt_display_t *display, > igt_output_set_pipe(output2, PIPE_NONE); > } > > -/** > - * SUBTEST: %s-%s > - * Description: Test checks how many cursor updates we can fit between vblanks > - * on single/all pipes with different modes, priority and number > - * of processes > - * Driver requirement: i915, xe > - * Functionality: cursor > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @single: Single > - * @torture: Torture > - * @forked: Forked > - * > - * arg[2]: > - * > - * @bo: BO > - * @move: Move > - */ > static void stress(igt_display_t *display, > enum pipe pipe, int num_children, unsigned mode, > int timeout) > @@ -569,93 +734,6 @@ enum basic_flip_cursor { > > #define BASIC_BUSY 0x1 > > -/** > - * SUBTEST: basic-busy-flip-before-cursor-%s > - * Description: Cursor test with %arg[1] mode > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: cursor > - * Mega feature: General Display Features > - * > - * SUBTEST: basic-busy-flip-before-cursor-varying-size > - * Description: Change the size of cursor b/w 64*64 to maxw x maxh. > - * Driver requirement: i915, xe > - * Functionality: cursor > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @atomic: atomic > - * @legacy: legacy > - */ > - > -/** > - * SUBTEST: basic-flip-after-cursor-%s > - * Description: Cursor test with %arg[1] > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: cursor > - * Mega feature: General Display Features > - * > - * SUBTEST: basic-flip-before-cursor-%s > - * Description: Cursor test with %arg[1] > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: cursor > - * Mega feature: General Display Features > - * > - * arg[1]: > - * > - * @atomic: atomic mode > - * @legacy: legacy mode > - * @varying-size: varying size > - */ > - > -/** > - * SUBTEST: %s-flip-before-cursor-%s > - * Description: Adds variety of tests: > - * - varying-size: change the size of cursor b/w 64*64 to maxw x maxh.\n > - * - atomic-transition: alternates between a full screen sprite plane > - * and full screen primary plane.\n" > - * - toggle: which toggles cursor visibility and make sure cursor moves > - * between updates. > - * Driver requirement: i915, xe > - * Functionality: cursor > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @short: > - * @short-busy: > - * > - * arg[2]: > - * > - * @atomic-transitions: > - * @atomic-transitions-varying-size: > - * @toggle: > - */ > - > -/** > - * SUBTEST: short-flip-after-cursor-%s > - * Description: Adds variety of tests: > - * - varying-size: change the size of cursor b/w 64*64 to maxw x maxh.\n > - * - atomic-transition: alternates between a full screen sprite plane > - * and full screen primary plane.\n" > - * - toggle: which toggles cursor visibility and make sure cursor moves > - * between updates. > - * Driver requirement: i915, xe > - * Functionality: cursor > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @atomic-transitions: > - * @atomic-transitions-varying-size: > - * @toggle: > - */ > static void basic_flip_cursor(igt_display_t *display, > enum flip_test mode, > enum basic_flip_cursor order, > @@ -977,23 +1055,6 @@ static void flip_vs_cursor(igt_display_t *display, enum flip_test mode, int nloo > igt_remove_fb(display->drm_fd, &cursor_fb2); > } > > -/** > - * SUBTEST: long-nonblocking-modeset-vs-cursor-atomic > - * Description: Test checks how many cursor updates we can fit between vblanks > - * on all pipes with different modes, priority and number of processes > - * Driver requirement: i915, xe > - * Functionality: cursor > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: nonblocking-modeset-vs-cursor-atomic > - * Description: Test checks how many cursor updates we can fit between vblanks > - * on all pipes with different modes, priority and number of processes > - * Driver requirement: i915, xe > - * Functionality: cursor > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void nonblocking_modeset_vs_cursor(igt_display_t *display, int loops) > { > struct igt_fb fb_info, cursor_fb; > @@ -1093,42 +1154,6 @@ static void wait_for_modeset(igt_display_t *display, unsigned flags, int timeout > igt_reset_timeout(); > } > > -/** > - * SUBTEST: 2x-%s-%s > - * Description: This test executes flips on both CRTCs while running cursor > - * updates in parallel > - * Driver requirement: i915, xe > - * Functionality: cursor > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @flip-vs-cursor: > - * @flip-vs-cursor: > - * @long-flip-vs-cursor: > - * @long-flip-vs-cursor: > - * > - * arg[2]: > - * > - * @atomic: > - * @legacy: > - */ > - > -/** > - * SUBTEST: 2x-%s-atomic > - * Description: This test executes flips on both CRTCs while running cursor > - * updates in parallel > - * Driver requirement: i915, xe > - * Functionality: cursor > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @long-nonblocking-modeset-vs-cursor: > - * @nonblocking-modeset-vs-cursor: > - */ > static void two_screens_flip_vs_cursor(igt_display_t *display, int nloops, bool modeset, bool atomic) > { > struct drm_mode_cursor arg1[2], arg2[2]; > @@ -1316,33 +1341,6 @@ done: > munmap((void *)shared, PAGE_SIZE); > } > > -/** > - * SUBTEST: %s-%s > - * Description: The essence of the basic test is that neither the cursor nor the > - * nonblocking flip stall the application of the next > - * Driver requirement: i915, xe > - * Functionality: cursor > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @cursor-vs-flip: > - * @cursorA-vs-flipA: > - * @cursorA-vs-flipB: > - * @cursorB-vs-flipA: > - * @cursorB-vs-flipB: > - * @flip-vs-cursor: > - * > - * arg[2]: > - * > - * @atomic: > - * @atomic-transitions: > - * @atomic-transitions-varying-size: > - * @legacy: > - * @toggle: > - * @varying-size: > - */ > static void cursor_vs_flip(igt_display_t *display, enum flip_test mode, int nloops) > { > struct drm_mode_cursor arg[2]; > @@ -1455,26 +1453,6 @@ static void cursor_vs_flip(igt_display_t *display, enum flip_test mode, int nloo > igt_remove_fb(display->drm_fd, &cursor_fb2); > } > > -/** > - * SUBTEST: 2x-%s-%s > - * Description: This test executes flips on both CRTCs while running cursor updates in parallel > - * Driver requirement: i915, xe > - * Functionality: cursor > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @cursor-vs-flip: > - * @cursor-vs-flip: > - * @long-cursor-vs-flip: > - * @long-cursor-vs-flip: > - * > - * arg[2]: > - * > - * @atomic: > - * @legacy: > - */ > static void two_screens_cursor_vs_flip(igt_display_t *display, int nloops, bool atomic) > { > struct drm_mode_cursor arg[2][2]; > @@ -1603,19 +1581,6 @@ static void two_screens_cursor_vs_flip(igt_display_t *display, int nloops, bool > munmap((void *)shared, PAGE_SIZE); > } > > -/** > - * SUBTEST: flip-vs-cursor-crc-%s > - * Description: this test perform a page flip followed by a cursor update > - * Driver requirement: i915, xe > - * Functionality: cursor > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @atomic: > - * @legacy: > - */ > static void flip_vs_cursor_crc(igt_display_t *display, bool atomic) > { > struct drm_mode_cursor arg[2]; > @@ -1688,19 +1653,6 @@ static void flip_vs_cursor_crc(igt_display_t *display, bool atomic) > igt_remove_fb(display->drm_fd, &cursor_fb); > } > > -/** > - * SUBTEST: flip-vs-cursor-busy-crc-%s > - * Description: this test perform a busy bo update followed by a cursor update > - * Driver requirement: i915, xe > - * Functionality: cursor > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @atomic: > - * @legacy: > - */ > static void flip_vs_cursor_busy_crc(igt_display_t *display, bool atomic) > { > struct drm_mode_cursor arg[2]; > @@ -1813,15 +1765,6 @@ static void flip_vs_cursor_busy_crc(igt_display_t *display, bool atomic) > put_ahnd(ahnd); > } > > -/** > - * SUBTEST: modeset-atomic-cursor-hotspot > - * Description: Test changes the cursor hotspot and checks that the property is > - * updated accordignly > - * Driver requirement: i915, xe > - * Functionality: cursor > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void modeset_atomic_cursor_hotspot(igt_display_t *display) > { > struct igt_fb cursor_fb; > diff --git a/tests/kms_display_modes.c b/tests/kms_display_modes.c > index f44d452b7..d1b58df82 100644 > --- a/tests/kms_display_modes.c > +++ b/tests/kms_display_modes.c > @@ -28,9 +28,25 @@ > * TEST: kms display modes > * Category: Display > * Description: Test Display Modes > + * Driver requirement: i915, xe > + * Test category: functionality test > */ > #include "igt.h" > > +/** > + * SUBTEST: extended-mode-basic > + * Description: Test for validating display extended mode with a pair of connected > + * displays > + * Functionality: kms_core > + * Mega feature: General Display Features > + * > + * SUBTEST: mst-extended-mode-negative > + * Description: Negative test for validating display extended mode with a pair > + * of connected 2k-4k or 4k-4k displays. > + * Functionality: kms_core, mst > + * Mega feature: DP > + */ > + > #define HDISPLAY_4K 3840 > #define VDISPLAY_4K 2160 > > @@ -205,15 +221,6 @@ static void run_extendedmode_basic(data_t *data, > for_each_connected_output_local((display), (output)) \ > for_each_if (igt_pipe_connector_valid((pipe), (output))) > > -/** > - * SUBTEST: extended-mode-basic > - * Description: Test for validating display extended mode with a pair of connected > - * displays > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void run_extendedmode_test(data_t *data) { > enum pipe pipe1, pipe2; > igt_output_t *output1, *output2; > @@ -259,15 +266,6 @@ static void run_extendedmode_test(data_t *data) { > } > } > > -/** > - * SUBTEST: mst-extended-mode-negative > - * Description: Negative test for validating display extended mode with a pair > - * of connected 2k-4k or 4k-4k displays. > - * Driver requirement: i915, xe > - * Functionality: kms_core, mst > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void run_extendedmode_negative(data_t *data, int pipe1, int pipe2) > { > struct igt_fb fbs[2]; > diff --git a/tests/kms_dither.c b/tests/kms_dither.c > index c41961937..57b45b083 100644 > --- a/tests/kms_dither.c > +++ b/tests/kms_dither.c > @@ -29,12 +29,24 @@ > * TEST: kms dither > * Category: Display > * Description: Test Dithering block status > + * Driver requirement: i915, xe > + * Functionality: colorspace, kms_gem_interop > + * Mega feature: General Display Features > + * Test category: functionality test > */ > #include "igt.h" > #include <fcntl.h> > #include <termios.h> > #include <unistd.h> > > +/** > + * SUBTEST: FB-8BPC-Vs-Panel-6BPC > + * Description: Framebuffer BPC:8, Panel BPC:6, Expected Dither:Enable > + * > + * SUBTEST: FB-8BPC-Vs-Panel-8BPC > + * Description: Framebuffer BPC:8, Panel BPC:8, Expected Dither:Disable > + */ > + > IGT_TEST_DESCRIPTION("Test Dithering block status"); > > /* Connector BPC */ > @@ -186,21 +198,6 @@ static bool is_supported(igt_output_t *output) > igt_output_get_prop(output, IGT_CONNECTOR_MAX_BPC); > } > > -/** > - * SUBTEST: FB-8BPC-Vs-Panel-6BPC > - * Description: Framebuffer BPC:8, Panel BPC:6, Expected Dither:Enable > - * Driver requirement: i915, xe > - * Functionality: colorspace, kms_gem_interop > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: FB-8BPC-Vs-Panel-8BPC > - * Description: Framebuffer BPC:8, Panel BPC:8, Expected Dither:Disable > - * Driver requirement: i915, xe > - * Functionality: colorspace, kms_gem_interop > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void > run_dither_test(data_t *data, int fb_bpc, int fb_format, int output_bpc) > { > diff --git a/tests/kms_dp_aux_dev.c b/tests/kms_dp_aux_dev.c > index e6a67e22e..1d63a5daa 100644 > --- a/tests/kms_dp_aux_dev.c > +++ b/tests/kms_dp_aux_dev.c > @@ -22,6 +22,15 @@ > * > */ > > +/** > + * TEST: kms dp aux dev > + * Category: Display > + * Description: Test that /dev/drm_dp_aux reads work > + * Driver requirement: i915, xe > + * Functionality: dp_aux > + * Mega feature: DP > + * Test category: functionality test > + */ > #include "config.h" > > #include <sys/types.h> > @@ -31,17 +40,10 @@ > > #include "igt.h" > #include "igt_kms.h" > + > /** > - * TEST: kms dp aux dev > - * Category: Display > - * Description: Test that /dev/drm_dp_aux reads work > - * > * SUBTEST: > * Description: Test that /dev/drm_dp_aux reads work > - * Driver requirement: i915, xe > - * Functionality: dp_aux > - * Mega feature: DP > - * Test category: functionality test > */ > > IGT_TEST_DESCRIPTION("Test that /dev/drm_dp_aux reads work"); > diff --git a/tests/kms_feature_discovery.c b/tests/kms_feature_discovery.c > index 3a1f6d21d..5603e5fb6 100644 > --- a/tests/kms_feature_discovery.c > +++ b/tests/kms_feature_discovery.c > @@ -28,63 +28,52 @@ > * Description: A metatest that checks for \"features\" presence. > * The subtests here should only skip or pass, > * anything else means we have a serious problem. > - * > + * Driver requirement: i915, xe > + * Functionality: feature_discovery > + * Test category: functionality test > + */ > +#include "igt.h" > +#ifdef HAVE_CHAMELIUM > +#include "igt_chamelium.h" > +#endif > +#include "igt_kms.h" > +#include "igt_psr.h" > +#include "igt_sysfs.h" > +#include "igt_types.h" > + > +/** > * SUBTEST: display > * Description: Make sure that we have display support with > * some outputs connected. > - * Driver requirement: i915, xe > - * Functionality: feature_discovery > * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: display-%dx > * Description: Make sure that we have display support with %arg[1] > * outputs connected. > - * Driver requirement: i915, xe > - * Functionality: feature_discovery > * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: chamelium > * Description: Make sure that Chamelium is configured and reachable. > - * Driver requirement: i915, xe > * Functionality: feature_discovery, chamelium > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: psr1 > * Description: Make sure that we have eDP panel with PSR1 support. > - * Driver requirement: i915, xe > * Functionality: feature_discovery, psr1, eDP > * Mega feature: PSR > - * Test category: functionality test > * > * SUBTEST: psr2 > * Description: Make sure that we have eDP panel with PSR2 support. > - * Driver requirement: i915, xe > * Functionality: feature_discovery, psr2, eDP > * Mega feature: PSR > - * Test category: functionality test > * > * SUBTEST: dp-mst > * Description: Make sure that we have DP-MST configuration. > - * Driver requirement: i915, xe > * Functionality: feature_discovery, mst > - * Mega feature: General Display Features > - * Test category: functionality test > + * Mega feature: DP > * > * arg[1].values: 2, 3, 4 > */ > > -#include "igt.h" > -#ifdef HAVE_CHAMELIUM > -#include "igt_chamelium.h" > -#endif > -#include "igt_kms.h" > -#include "igt_psr.h" > -#include "igt_sysfs.h" > -#include "igt_types.h" > - > static igt_display_t display; > > IGT_TEST_DESCRIPTION("A metatest that checks for \"features\" presence. " > diff --git a/tests/kms_flip.c b/tests/kms_flip.c > index 2c60cdf6d..1a19fe85e 100755 > --- a/tests/kms_flip.c > +++ b/tests/kms_flip.c > @@ -25,8 +25,10 @@ > * TEST: kms flip > * Category: Display > * Description: Tests for validating modeset, dpms and pageflips > + * Driver requirement: i915, xe > + * Mega feature: General Display Features > + * Test category: functionality test > */ > - > #include "config.h" > > #include "igt.h" > @@ -41,80 +43,66 @@ > #include <sys/time.h> > #include <sys/ioctl.h> > > +#ifdef HAVE_LINUX_KD_H > +#include <linux/kd.h> > +#elif HAVE_SYS_KD_H > +#include <sys/kd.h> > +#endif > +#include <time.h> > +#include <pthread.h> > + > +#include "i915/gem_create.h" > +#include "igt_stats.h" > +#include "xe/xe_query.h" > + > /** > * SUBTEST: 2x-flip-vs-fences > * Description: Test to validate pageflips along with avialable fences on a pair > * of connected displays > * Driver requirement: i915 > * Functionality: gtt, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: 2x-flip-vs-fences-interruptible > * Description: Interrupt test to validate pageflips along with available fences > * on a pair of connected displays > - * Driver requirement: i915, xe > + * Driver requirement: i915 > * Functionality: gtt, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: flip-vs-fences > * Description: Basic test to validate pageflips with avialable fences > * Driver requirement: i915 > * Functionality: gtt, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: flip-vs-fences-interruptible > * Description: Interrupt test to validate pageflips with available fences > * Driver requirement: i915 > * Functionality: gtt, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: dpms-off-confusion > * Description: Basic test to validate pageflips by disabling other connectors usng dpms > - * Driver requirement: i915, xe > * Functionality: dpms, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: dpms-off-confusion-interruptible > * Description: Interrupt test to validate pageflips by disabling other connectors using dpms > - * Driver requirement: i915, xe > * Functionality: dpms, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: bo-too-big > * Description: Basic test to validate pageflips with large BO in size > - * Driver requirement: i915, xe > * Functionality: kms_gem_interop, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: bo-too-big-interruptible > * Description: Interrupt test to validate pageflips with large BO in size > - * Driver requirement: i915, xe > * Functionality: kms_gem_interop, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > */ > > /** > * SUBTEST: %s > * Description: Basic test to validate %arg[1] > - * Driver requirement: i915, xe > * Functionality: hang, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: 2x-%s > * Description: Test to validate %arg[1] on a pair of connected displays > - * Driver requirement: i915, xe > * Functionality: hang, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * arg[1]: > * > @@ -125,17 +113,11 @@ > /** > * SUBTEST: %s > * Description: Basic test to validate %arg[1] > - * Driver requirement: i915, xe > * Functionality: vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: 2x-%s > * Description: Test to validate %arg[1] on a pair of connected displays > - * Driver requirement: i915, xe > * Functionality: vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * arg[1]: > * > @@ -158,61 +140,37 @@ > /** > * SUBTEST: flip-vs-suspend > * Description: Basic test to validate pageflips with suspend cycle > - * Driver requirement: i915, xe > * Functionality: suspend, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: 2x-flip-vs-suspend > * Description: Basic test to validate pageflips with suspend cycle on a pair of > * connected displays > - * Driver requirement: i915, xe > * Functionality: suspend, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: flip-vs-suspend-interruptible > * Description: Interrupt test to validate pageflips with suspend cycle > - * Driver requirement: i915, xe > * Functionality: suspend, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: 2x-flip-vs-suspend-interruptible > * Description: Interrupt test to validate pageflips with suspend cycle on a pair > * of connected displays > - * Driver requirement: i915, xe > * Functionality: suspend, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: %s > * Description: Basic test to validate %arg[1] > - * Driver requirement: i915, xe > * Functionality: dpms, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: 2x-%s > * Description: Basic test to validate %arg[1] on a pair of connected displays > - * Driver requirement: i915, xe > * Functionality: dpms, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: %s-interruptible > * Description: Basic test to validate %arg[1] > - * Driver requirement: i915, xe > * Functionality: vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: 2x-%s-interruptible > * Description: Basic test to validate %arg[1] on a pair of connected displays > - * Driver requirement: i915, xe > * Functionality: vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * arg[1]: > * > @@ -227,17 +185,11 @@ > * SUBTEST: 2x-flip-vs-dpms > * Description: Basic test to validate pageflip along with dpms on a pair of > * connected displays > - * Driver requirement: i915, xe > * Functionality: dpms, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: 2x-%s > * Description: Basic test to validate %arg[1] on a pair of connected displays > - * Driver requirement: i915, xe > * Functionality: vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * arg[1]: > * > @@ -249,18 +201,12 @@ > /** > * SUBTEST: %s-interruptible > * Description: Basic test for validating modeset, dpms and pageflips > - * Driver requirement: i915, xe > * Functionality: vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: 2x-%s-interruptible > * Description: Test for validating modeset, dpms and pageflips with a pair of > * connected displays > - * Driver requirement: i915, xe > * Functionality: vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * arg[1]: > * > @@ -279,17 +225,28 @@ > * @modeset-vs-vblank-race: modeset and check for vblank > */ > > -#ifdef HAVE_LINUX_KD_H > -#include <linux/kd.h> > -#elif HAVE_SYS_KD_H > -#include <sys/kd.h> > -#endif > -#include <time.h> > -#include <pthread.h> > - > -#include "i915/gem_create.h" > -#include "igt_stats.h" > -#include "xe/xe_query.h" > +/** > + * SUBTEST: basic-plain-flip > + * Description: Basic test for validating page flip > + * Functionality: vblank > + * > + * SUBTEST: nonblocking-read > + * Description: Tests that nonblocking reading fails correctly > + * Functionality: vblank > + * > + * SUBTEST: basic-flip-vs-dpms > + * Description: Basic test to valide pageflip with dpms > + * Functionality: dpms, vblank > + * > + * SUBTEST: basic-flip-vs-%s > + * Description: Basic test to valide pageflip with %arg[1] > + * Functionality: vblank > + * > + * arg[1]: > + * > + * @modeset: modeset > + * @wf_vblank: wait for vblank > + */ > > #define TEST_DPMS (1 << 0) > > @@ -1804,34 +1761,6 @@ static void run_test_on_crtc_set(struct test_output *o, int *crtc_idxs, > __run_test_on_crtc_set(o, crtc_idxs, crtc_count, duration_ms); > } > > -/** > - * SUBTEST: basic-flip-vs-dpms > - * Description: Basic test to valide pageflip with dpms > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: dpms, vblank > - * Mega feature: General Display Features > - * > - * SUBTEST: basic-flip-vs-%s > - * Description: Basic test to valide pageflip with %arg[1] > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: vblank > - * Mega feature: General Display Features > - * > - * arg[1]: > - * > - * @modeset: modeset > - * @wf_vblank: wait for vblank > - * > - * SUBTEST: basic-plain-flip > - * Description: Basic test for validating page flip > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: vblank > - * Mega feature: General Display Features > - */ > - > static void run_test(int duration, int flags) > { > struct test_output o; > @@ -2016,14 +1945,6 @@ static void kms_flip_exit_handler(int sig) > kmstest_set_connector_dpms(drm_fd, last_connector, DRM_MODE_DPMS_ON); > } > > -/** > - * SUBTEST: nonblocking-read > - * Description: Tests that nonblocking reading fails correctly > - * Driver requirement: i915, xe > - * Functionality: vblank > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void test_nonblocking_read(int in) > { > char buffer[1024]; > diff --git a/tests/kms_flip_event_leak.c b/tests/kms_flip_event_leak.c > index 57f6f64f7..bee2913a8 100644 > --- a/tests/kms_flip_event_leak.c > +++ b/tests/kms_flip_event_leak.c > @@ -22,6 +22,15 @@ > * > */ > > +/** > + * TEST: kms flip event leak > + * Category: Display > + * Description: Test to validate flip event leak > + * Driver requirement: i915, xe > + * Functionality: kms_core > + * Mega feature: General Display Features > + * Test category: functionality test > + */ > #include "igt.h" > #include <errno.h> > #include <stdbool.h> > @@ -32,19 +41,11 @@ > #include "xe/xe_query.h" > > /** > - * TEST: kms flip event leak > - * Category: Display > - * Description: Test to validate flip event leak > - * > * SUBTEST: basic > * Description: 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. > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > */ > > typedef struct { > diff --git a/tests/kms_force_connector_basic.c b/tests/kms_force_connector_basic.c > index e3b9034db..b24491d89 100644 > --- a/tests/kms_force_connector_basic.c > +++ b/tests/kms_force_connector_basic.c > @@ -26,10 +26,29 @@ > * TEST: kms force connector basic > * Category: Display > * Description: Check the debugfs force connector/edid features work correctly. > + * Driver requirement: i915, xe > + * Functionality: force_connector > + * Mega feature: General Display Features > + * Test category: functionality test > */ > - > #include "igt.h" > > +/** > + * SUBTEST: force-load-detect > + * Description: Test to detect forced load. > + * Driver requirement: i915 > + * Functionality: force_connector, vga > + * > + * SUBTEST: force-connector-state > + * Description: Test to check the forced connector state > + * > + * SUBTEST: force-edid > + * Description: Test to check the values after forcing edid > + * > + * SUBTEST: prune-stale-modes > + * Description: Tests pruning of stale modes > + */ > + > IGT_TEST_DESCRIPTION("Check the debugfs force connector/edid features work" > " correctly."); > > @@ -69,14 +88,6 @@ static void reset_connectors(void) > drm_close_driver(drm_fd); > } > > -/** > - * SUBTEST: force-load-detect > - * Description: Test to detect forced load. > - * Driver requirement: i915 > - * Functionality: force_connector, vga > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void force_load_detect(int drm_fd, drmModeConnectorPtr connector, drmModeRes *res) > { > int i, j, w = 64, h = 64; > @@ -165,14 +176,6 @@ static void force_load_detect(int drm_fd, drmModeConnectorPtr connector, drmMode > } > } > > -/** > - * SUBTEST: force-connector-state > - * Description: Test to check the forced connector state > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: force_connector > - * Mega feature: General Display Features > - */ > static void force_connector_state(int drm_fd, drmModeConnectorPtr connector) > { > igt_display_t display; > @@ -212,14 +215,6 @@ static void force_connector_state(int drm_fd, drmModeConnectorPtr connector) > igt_display_fini(&display); > } > > -/** > - * SUBTEST: force-edid > - * Description: Test to check the values after forcing edid > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: force_connector > - * Mega feature: General Display Features > - */ > static void force_edid(int drm_fd, drmModeConnectorPtr connector) > { > drmModeConnector *temp; > @@ -261,14 +256,6 @@ static void force_edid(int drm_fd, drmModeConnectorPtr connector) > > } > > -/** > - * SUBTEST: prune-stale-modes > - * Description: Tests pruning of stale modes > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: force_connector > - * Mega feature: General Display Features > - */ > static void prune_stale_modes(int drm_fd, drmModeConnectorPtr connector) > { > int i; > diff --git a/tests/kms_getfb.c b/tests/kms_getfb.c > index 059f66d99..171b97429 100644 > --- a/tests/kms_getfb.c > +++ b/tests/kms_getfb.c > @@ -31,6 +31,9 @@ > * TEST: kms getfb > * Category: Display > * Description: Tests GETFB and GETFB2 ioctls. > + * Driver requirement: i915, xe > + * Mega feature: General Display Features > + * Test category: functionality test > */ > #include "igt.h" > #include <unistd.h> > @@ -50,6 +53,67 @@ > #include "xe/xe_query.h" > #include "xe/xe_ioctl.h" > > +/** > + * SUBTEST: getfb-handle-%s > + * Description: Tests error handling %arg[1] > + * Functionality: kms_gem_interop > + * > + * arg[1]: > + * > + * @closed: when passing a handle that has been closed. > + * @not-fb: when passing an invalid handle. > + * @valid: when passing an valid handle. > + * @zero: for a zero'd input. > + */ > + > +/** > + * SUBTEST: getfb-reject-ccs > + * Description: Tests error handling while requesting CCS buffers it should > + * refuse because getfb supports returning a single buffer handle. > + * Functionality: ccs, kms_gem_interop, tiling > + * > + * SUBTEST: getfb-%s-different-handles > + * Description: Tests error handling while requesting for two different handles > + * from %arg[1]. > + * Functionality: kms_gem_interop > + * > + * arg[1]: > + * > + * @addfb: same fd > + * @repeated: different fd > + */ > + > +/** > + * SUBTEST: getfb2-accept-ccs > + * Description: Tests outputs are correct when retrieving a CCS framebuffer. > + * Functionality: ccs, kms_gem_interop, tiling > + * > + * SUBTEST: getfb2-into-addfb2 > + * Description: Output check by passing the output of GETFB2 into ADDFB2. > + * Functionality: kms_gem_interop > + * > + * SUBTEST: getfb2-handle-%s > + * Description: Tests error handling %arg[1]. > + * Functionality: kms_gem_interop > + * > + * arg[1]: > + * > + * @closed: when passing a handle that has been closed > + * @not-fb: when passing an invalid handle > + * @zero: for a zero'd input > + */ > + > +/** > + * SUBTEST: %s-handle-protection > + * Description: Make sure %arg[1] return handles if caller is non-root or non-master. > + * Functionality: kms_gem_interop > + * > + * arg[1]: > + * > + * @getfb: GETFB ioctl > + * @getfb2: GETFB2 ioctl > + */ > + > IGT_TEST_DESCRIPTION("Tests GETFB and GETFB2 ioctls."); > > static bool has_getfb_iface(int fd) > @@ -178,21 +242,6 @@ static uint32_t get_any_prop_id(int fd) > return 0; > } > > -/** > - * SUBTEST: getfb-handle-%s > - * Description: Tests error handling %arg[1] > - * Driver requirement: i915, xe > - * Functionality: kms_gem_interop > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @closed: when passing a handle that has been closed. > - * @not-fb: when passing an invalid handle. > - * @valid: when passing an valid handle. > - * @zero: for a zero'd input. > - */ > static void test_handle_input(int fd) > { > struct drm_mode_fb_cmd2 add = {}; > @@ -248,28 +297,6 @@ static void test_handle_input(int fd) > gem_close(fd, add.handles[0]); > } > > -/** > - * SUBTEST: getfb-reject-ccs > - * Description: Tests error handling while requesting CCS buffers it should > - * refuse because getfb supports returning a single buffer handle. > - * Driver requirement: i915, xe > - * Functionality: ccs, kms_gem_interop, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: getfb-%s-different-handles > - * Description: Tests error handling while requesting for two different handles > - * from %arg[1]. > - * Driver requirement: i915, xe > - * Functionality: kms_gem_interop > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @addfb: same fd > - * @repeated: different fd > - */ > static void test_duplicate_handles(int fd) > { > struct drm_mode_fb_cmd2 add = {}; > @@ -335,34 +362,6 @@ static void test_duplicate_handles(int fd) > } > } > > -/** > - * SUBTEST: getfb2-accept-ccs > - * Description: Tests outputs are correct when retrieving a CCS framebuffer. > - * Driver requirement: i915, xe > - * Functionality: ccs, kms_gem_interop, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: getfb2-into-addfb2 > - * Description: Output check by passing the output of GETFB2 into ADDFB2. > - * Driver requirement: i915, xe > - * Functionality: kms_gem_interop > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: getfb2-handle-%s > - * Description: Tests error handling %arg[1]. > - * Driver requirement: i915, xe > - * Functionality: kms_gem_interop > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @closed: when passing a handle that has been closed > - * @not-fb: when passing an invalid handle > - * @zero: for a zero'd input > - */ > static void test_getfb2(int fd) > { > struct drm_mode_fb_cmd2 add_basic = {}; > @@ -471,19 +470,6 @@ static void test_getfb2(int fd) > } > } > > -/** > - * SUBTEST: %s-handle-protection > - * Description: Make sure %arg[1] return handles if caller is non-root or non-master. > - * Driver requirement: i915, xe > - * Functionality: kms_gem_interop > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @getfb: GETFB ioctl > - * @getfb2: GETFB2 ioctl > - */ > static void test_handle_protection(void) { > int non_master_fd; > struct drm_mode_fb_cmd2 non_master_add = {}; > diff --git a/tests/kms_hdmi_inject.c b/tests/kms_hdmi_inject.c > index 61f62fa7c..2ca995577 100644 > --- a/tests/kms_hdmi_inject.c > +++ b/tests/kms_hdmi_inject.c > @@ -22,6 +22,16 @@ > * > */ > > +/** > + * TEST: kms hdmi inject > + * Category: Display > + * Description: Test that in-kernel EDID parsing is producing expected results > + * by forcing a HDMI connector with a known EDID and checking that > + * the metadata exposed to user space matches. > + * Driver requirement: i915, xe > + * Mega feature: HDMI > + * Test category: functionality test > + */ > #include "config.h" > > #include <dirent.h> > @@ -32,27 +42,15 @@ > #include "xe/xe_query.h" > > /** > - * TEST: kms hdmi inject > - * Category: Display > - * Description: Test that in-kernel EDID parsing is producing expected results > - * by forcing a HDMI connector with a known EDID and checking that > - * the metadata exposed to user space matches. > - * > * SUBTEST: inject-4k > * Description: Make sure that 4K modes exposed by DRM match the forced EDID and > * modesetting using it succeed. > - * Driver requirement: i915, xe > * Functionality: force_connector, hdmi_edid > - * Mega feature: HDMI > - * Test category: functionality test > * > * SUBTEST: inject-audio > * Description: Make sure that audio information exposed by ALSA match the forced > * EDID. > - * Driver requirement: i915, xe > * Functionality: audio, force_connector > - * Mega feature: HDMI > - * Test category: functionality test > */ > > #define HDISPLAY_4K 3840 > diff --git a/tests/kms_hdr.c b/tests/kms_hdr.c > index ed98a0c26..552a12e62 100644 > --- a/tests/kms_hdr.c > +++ b/tests/kms_hdr.c > @@ -24,6 +24,9 @@ > * TEST: kms hdr > * Category: Display > * Description: Test HDR metadata interfaces and bpc switch > + * Driver requirement: i915, xe > + * Mega feature: HDR > + * Test category: functionality test > */ > #include "igt.h" > #include <fcntl.h> > @@ -31,6 +34,45 @@ > #include <unistd.h> > #include "igt_edid.h" > > +/** > + * SUBTEST: bpc-switch > + * Description: Tests switching between different display output bpc modes > + * Functionality: colorspace, hdr > + * > + * SUBTEST: bpc-switch-dpms > + * Description: Tests switching between different display output bpc modes with dpms > + * Functionality: colorspace, dpms, hdr > + * > + * SUBTEST: bpc-switch-suspend > + * Description: Tests switching between different display output bpc modes with suspend > + * Functionality: colorspace, hdr, suspend > + * > + * SUBTEST: invalid-hdr > + * Description: Test to ensure HDR is not enabled on non-HDR panel > + * Functionality: colorspace, hdr > + * > + * SUBTEST: invalid-metadata-sizes > + * Description: Tests invalid HDR metadata sizes > + * Functionality: colorspace, hdr > + * > + * SUBTEST: static-toggle-dpms > + * Description: Tests static toggle with dpms > + * Functionality: colorspace, dpms, hdr > + * > + * SUBTEST: static-toggle-suspend > + * Description: Tests static toggle with suspend > + * Functionality: colorspace, hdr, suspend > + * > + * SUBTEST: static-%s > + * Description: Tests %arg[1]. > + * Functionality: colorspace, hdr > + * > + * arg[1]: > + * > + * @swap: swapping static HDR metadata > + * @toggle: entering and exiting HDR mode > + */ > + > IGT_TEST_DESCRIPTION("Test HDR metadata interfaces and bpc switch"); > > /* HDR EDID parsing. */ > @@ -213,28 +255,6 @@ static bool has_max_bpc(igt_output_t *output) > igt_output_get_prop(output, IGT_CONNECTOR_MAX_BPC); > } > > -/** > - * SUBTEST: bpc-switch > - * Description: Tests switching between different display output bpc modes > - * Driver requirement: i915, xe > - * Functionality: colorspace, hdr > - * Mega feature: HDR > - * Test category: functionality test > - * > - * SUBTEST: bpc-switch-dpms > - * Description: Tests switching between different display output bpc modes with dpms > - * Driver requirement: i915, xe > - * Functionality: colorspace, dpms, hdr > - * Mega feature: HDR > - * Test category: functionality test > - * > - * SUBTEST: bpc-switch-suspend > - * Description: Tests switching between different display output bpc modes with suspend > - * Driver requirement: i915, xe > - * Functionality: colorspace, hdr, suspend > - * Mega feature: HDR > - * Test category: functionality test > - */ > static void test_bpc_switch(data_t *data, uint32_t flags) > { > igt_display_t *display = &data->display; > @@ -588,47 +608,6 @@ static bool has_hdr(igt_output_t *output) > return igt_output_has_prop(output, IGT_CONNECTOR_HDR_OUTPUT_METADATA); > } > > -/** > - * SUBTEST: invalid-hdr > - * Description: Test to ensure HDR is not enabled on non-HDR panel > - * Driver requirement: i915, xe > - * Functionality: colorspace, hdr > - * Mega feature: HDR > - * Test category: functionality test > - * > - * SUBTEST: invalid-metadata-sizes > - * Description: Tests invalid HDR metadata sizes > - * Driver requirement: i915, xe > - * Functionality: colorspace, hdr > - * Mega feature: HDR > - * Test category: functionality test > - * > - * SUBTEST: static-toggle-dpms > - * Description: Tests static toggle with dpms > - * Driver requirement: i915, xe > - * Functionality: colorspace, dpms, hdr > - * Mega feature: HDR > - * Test category: functionality test > - * > - * SUBTEST: static-toggle-suspend > - * Description: Tests static toggle with suspend > - * Driver requirement: i915, xe > - * Functionality: colorspace, hdr, suspend > - * Mega feature: HDR > - * Test category: functionality test > - * > - * SUBTEST: static-%s > - * Description: Tests %arg[1]. > - * Driver requirement: i915, xe > - * Functionality: colorspace, hdr > - * Mega feature: HDR > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @swap: swapping static HDR metadata > - * @toggle: entering and exiting HDR mode > - */ > static void test_hdr(data_t *data, uint32_t flags) > { > igt_display_t *display = &data->display; > diff --git a/tests/kms_invalid_mode.c b/tests/kms_invalid_mode.c > index 017c2c195..0fe1d6ef9 100644 > --- a/tests/kms_invalid_mode.c > +++ b/tests/kms_invalid_mode.c > @@ -27,6 +27,10 @@ > * Category: Display > * Description: Make sure all modesets are rejected when the requested mode is > * invalid > + * Driver requirement: i915, xe > + * Functionality: kms_core > + * Mega feature: General Display Features > + * Test category: functionality test > */ > #include "igt.h" > #include <limits.h> > @@ -36,10 +40,6 @@ > * SUBTEST: %s > * Description: Make sure all modesets are rejected when the requested mode > * (%arg[1]) is invalid > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > * > * arg[1]: > * > diff --git a/tests/kms_lease.c b/tests/kms_lease.c > index 9ada6d5ea..8f10eee5d 100644 > --- a/tests/kms_lease.c > +++ b/tests/kms_lease.c > @@ -30,8 +30,11 @@ > * TEST: kms lease > * Category: Display > * Description: Test of CreateLease. > + * Driver requirement: i915, xe > + * Functionality: lease > + * Mega feature: General Display Features > + * Test category: functionality test > */ > - > #include "igt.h" > #include <stdlib.h> > #include <stdio.h> > @@ -53,155 +56,71 @@ > /** > * SUBTEST: atomic_implicit_crtc > * Description: Negative test by using a different crtc with atomic ioctl > - * Driver requirement: i915, xe > - * Functionality: lease > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: cursor_implicit_plane > * Description: Negative test by using a non-primary plane with setcursor ioctl > - * Driver requirement: i915, xe > - * Functionality: lease > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: empty_lease > * Description: Check that creating an empty lease works > - * Driver requirement: i915, xe > - * Functionality: lease > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: implicit-plane-lease > * Description: Tests the implicitly added planes. > - * Driver requirement: i915, xe > - * Functionality: lease > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: invalid-create-leases > * Description: Tests error handling while creating invalid corner-cases for > * create-lease ioctl > - * Driver requirement: i915, xe > - * Functionality: lease > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: lease-uevent > * Description: Tests all the uevent cases > - * Driver requirement: i915, xe > - * Functionality: lease > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: lease_again > * Description: Tests leasing objects more than once > - * Driver requirement: i915, xe > - * Functionality: lease > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: lease_get > * Description: Tests getting the required contents of a lease > - * Driver requirement: i915, xe > - * Functionality: lease > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: lease_invalid_connector > * Description: Tests leasing an invalid connector > - * Driver requirement: i915, xe > - * Functionality: lease > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: lease_invalid_crtc > * Description: Tests leasing an invalid crtc > - * Driver requirement: i915, xe > - * Functionality: lease > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: lease_invalid_plane > * Description: Tests leasing an invalid plane > - * Driver requirement: i915, xe > - * Functionality: lease > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: lease_revoke > * Description: Tests revocation of lease > - * Driver requirement: i915, xe > - * Functionality: lease > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: lease_unleased_connector > * Description: Negative test by trying to use an unleased connector > - * Driver requirement: i915, xe > - * Functionality: lease > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: lease_unleased_crtc > * Description: Negative test by trying to use an unleased crtc > - * Driver requirement: i915, xe > - * Functionality: lease > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: lessee_list > * Description: Check if listed lease is same as created one > - * Driver requirement: i915, xe > - * Functionality: lease > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: master-vs-lease > * Description: Tests the drop/set_master interactions. > - * Driver requirement: i915, xe > - * Functionality: lease > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: multimaster-lease > * Description: Tests that the 2nd master can only create leases while being > * active master, and that leases on the first master don't prevent > * lease creation for the 2nd master. > - * Driver requirement: i915, xe > - * Functionality: lease > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: page_flip_implicit_plane > * Description: Negative test by using a non-primary plane with the page flip ioctl > - * Driver requirement: i915, xe > - * Functionality: lease > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: possible-crtcs-filtering > * Description: Tests that possible_crtcs logically match between master and > * lease, and that the values are correctly renumbered on the lease > * side. > - * Driver requirement: i915, xe > - * Functionality: lease > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: setcrtc_implicit_plane > * Description: Negative test by using a non-primary plane with the setcrtc ioctl > - * Driver requirement: i915, xe > - * Functionality: lease > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: simple_lease > * Description: Check if create lease ioctl call works > - * Driver requirement: i915, xe > - * Functionality: lease > - * Mega feature: General Display Features > - * Test category: functionality test > */ > > IGT_TEST_DESCRIPTION("Test of CreateLease."); > diff --git a/tests/kms_multipipe_modeset.c b/tests/kms_multipipe_modeset.c > index a968a3513..9da689538 100644 > --- a/tests/kms_multipipe_modeset.c > +++ b/tests/kms_multipipe_modeset.c > @@ -24,20 +24,22 @@ > * Karthik B S <karthik.b.s@intel.com> > */ > > -#include "igt.h" > /** > * TEST: kms multipipe modeset > * Category: Display > * Description: Test simultaneous modeset on all the supported pipes > - * > - * SUBTEST: basic-max-pipe-crc-check > - * Description: Verify if simultaneous modesets on all the supported pipes is > - * successful. Validate using CRC verification > * Driver requirement: i915, xe > * Functionality: kms_core > * Mega feature: General Display Features > * Test category: functionality test > */ > +#include "igt.h" > + > +/** > + * SUBTEST: basic-max-pipe-crc-check > + * Description: Verify if simultaneous modesets on all the supported pipes is > + * successful. Validate using CRC verification > + */ > > IGT_TEST_DESCRIPTION("Test simultaneous modeset on all the supported pipes"); > > diff --git a/tests/kms_panel_fitting.c b/tests/kms_panel_fitting.c > index a583e1435..347b146e8 100644 > --- a/tests/kms_panel_fitting.c > +++ b/tests/kms_panel_fitting.c > @@ -22,28 +22,26 @@ > * > */ > > -#include "igt.h" > -#include <limits.h> > -#include <math.h> > -#include <sys/stat.h> > /** > * TEST: kms panel fitting > * Category: Display > * Description: Test display panel fitting > - * > - * SUBTEST: atomic-fastset > - * Description: Tests panel fitting usages with atomic fastset. > * Driver requirement: i915, xe > * Functionality: eDP, panel_fitting, scaling > * Mega feature: General Display Features > * Test category: functionality test > + */ > +#include "igt.h" > +#include <limits.h> > +#include <math.h> > +#include <sys/stat.h> > + > +/** > + * SUBTEST: atomic-fastset > + * Description: Tests panel fitting usages with atomic fastset. > * > * SUBTEST: legacy > * Description: Tests panel fitting usages with legacy style commit. > - * Driver requirement: i915, xe > - * Functionality: eDP, panel_fitting, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > */ > > IGT_TEST_DESCRIPTION("Test display panel fitting"); > diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c > index d980c3786..30181b677 100644 > --- a/tests/kms_pipe_crc_basic.c > +++ b/tests/kms_pipe_crc_basic.c > @@ -26,8 +26,11 @@ > * TEST: kms pipe crc basic > * Category: Display > * Description: Tests behaviour of CRC > + * Driver requirement: i915, xe > + * Functionality: crc > + * Mega feature: General Display Features > + * Test category: functionality test > */ > - > #include "igt.h" > #include "igt_sysfs.h" > #include <errno.h> > @@ -36,6 +39,44 @@ > #include <string.h> > #include <fcntl.h> > > +/** > + * SUBTEST: disable-crc-after-crtc > + * Description: Check that disabling CRCs on a CRTC after having disabled the > + * CRTC does not cause issues. > + * > + * SUBTEST: bad-source > + * Description: Tests error handling when the bad source is set. > + * > + * SUBTEST: read-crc > + * Description: Test for pipe CRC reads > + * > + * SUBTEST: read-crc-frame-sequence > + * Description: Tests the pipe CRC read and ensure frame sequence > + * > + * SUBTEST: nonblocking-crc > + * Description: Test for O_NONBLOCK CRC reads > + * > + * SUBTEST: nonblocking-crc-frame-sequence > + * Description: Test for O_NONBLOCK CRC reads and ensure frame sequence > + * > + * SUBTEST: suspend-read-crc > + * Description: Suspend test for pipe CRC reads > + * Functionality: crc, suspend > + * > + * SUBTEST: hang-read-crc > + * Description: Hang test for pipe CRC read > + * Functionality: crc, hang > + * > + * SUBTEST: compare-crc-sanitycheck-%s > + * Description: Basic sanity check for CRC mismatches with %arg[1] > + * Functionality: crc, pixel_format > + * > + * arg[1]: > + * > + * @xr24: XR24 format > + * @nv12: NV12 format > + */ > + > static bool extended; > static enum pipe active_pipes[IGT_MAX_PIPES]; > static uint32_t last_pipe; > @@ -65,14 +106,6 @@ static bool simulation_constraint(enum pipe pipe) > return false; > } > > -/** > - * SUBTEST: bad-source > - * Description: Tests error handling when the bad source is set. > - * Driver requirement: i915, xe > - * Functionality: crc > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void test_bad_source(data_t *data) > { > errno = 0; > @@ -94,49 +127,6 @@ enum { > TEST_HANG = 1 << 3, > }; > > -/** > - * SUBTEST: read-crc > - * Description: Test for pipe CRC reads > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: crc > - * Mega feature: General Display Features > - * > - * SUBTEST: read-crc-frame-sequence > - * Description: Tests the pipe CRC read and ensure frame sequence > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: crc > - * Mega feature: General Display Features > - * > - * SUBTEST: nonblocking-crc > - * Description: Test for O_NONBLOCK CRC reads > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: crc > - * Mega feature: General Display Features > - * > - * SUBTEST: nonblocking-crc-frame-sequence > - * Description: Test for O_NONBLOCK CRC reads and ensure frame sequence > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: crc > - * Mega feature: General Display Features > - * > - * SUBTEST: suspend-read-crc > - * Description: Suspend test for pipe CRC reads > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: crc, suspend > - * Mega feature: General Display Features > - * > - * SUBTEST: hang-read-crc > - * Description: Hang test for pipe CRC read > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: crc, hang > - * Mega feature: General Display Features > - */ > static void test_read_crc(data_t *data, enum pipe pipe, > igt_output_t *output, unsigned flags) > { > @@ -234,20 +224,6 @@ static void test_read_crc(data_t *data, enum pipe pipe, > igt_display_commit(display); > } > > -/** > - * SUBTEST: compare-crc-sanitycheck-%s > - * Description: Basic sanity check for CRC mismatches with %arg[1] > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: crc, pixel_format > - * Mega feature: General Display Features > - * > - * arg[1]: > - * > - * @xr24: XR24 format > - * @nv12: NV12 format > - */ > - > /* > * CRC-sanity test, to make sure there would be no CRC mismatches > * > @@ -313,15 +289,6 @@ static void test_compare_crc(data_t *data, enum pipe pipe, igt_output_t *output, > igt_remove_fb(data->drm_fd, &fb1); > } > > -/** > - * SUBTEST: disable-crc-after-crtc > - * Description: Check that disabling CRCs on a CRTC after having disabled the > - * CRTC does not cause issues. > - * Driver requirement: i915, xe > - * Functionality: crc > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void test_disable_crc_after_crtc(data_t *data, enum pipe pipe, > igt_output_t *output) > { > diff --git a/tests/kms_plane.c b/tests/kms_plane.c > index 9a515559c..6511e55ec 100644 > --- a/tests/kms_plane.c > +++ b/tests/kms_plane.c > @@ -28,6 +28,9 @@ > * TEST: kms plane > * Category: Display > * Description: Testes for KMS Plane > + * Driver requirement: i915, xe > + * Mega feature: General Display Features > + * Test category: functionality test > */ > #include "igt.h" > #include "igt_vec.h" > @@ -37,6 +40,55 @@ > #include <string.h> > #include "xe/xe_query.h" > > +/** > + * SUBTEST: plane-position-%s > + * Description: Verify plane position using two planes to create a %arg[1] > + * Functionality: plane > + * > + * SUBTEST: plane-position-hole-dpms > + * Description: Verify plane position using two planes to create a partially > + * covered screen and check for DPMS > + * Functionality: dpms, plane > + * > + * arg[1]: > + * > + * @covered: fully covered screen > + * @hole: partially covered screen > + */ > + > +/** > + * SUBTEST: plane-panning-%s > + * Description: Verify plane panning at %arg[1] using primary plane > + * Functionality: plane > + * > + * SUBTEST: plane-panning-bottom-right-suspend > + * Description: Verify plane panning at bottom-right position with suspend using > + * primary plane > + * Functionality: plane, suspend > + * > + * arg[1]: > + * > + * @bottom-right: bottom-right position > + * @top-left: top-left position > + */ > + > +/** > + * SUBTEST: pixel-%s > + * Description: verify the pixel formats for given plane and pipe > + * Functionality: pixel_format, plane > + * > + * arg[1]: > + * > + * @format: > + * @format-source-clamping: with source clamping > + */ > + > +/** > + * SUBTEST: invalid-pixel-format-settings > + * Description: verify invalid settings for pixel format are not accepted > + * Functionality: pixel_format, plane > + */ > + > /* > * Throw away enough lsbs in pixel formats tests > * to get a match despite some differences between > @@ -284,27 +336,6 @@ test_plane_position_with_output(data_t *data, > igt_remove_fb(data->drm_fd, &sprite_fb); > } > > -/** > - * SUBTEST: plane-position-%s > - * Description: Verify plane position using two planes to create a %arg[1] > - * Driver requirement: i915, xe > - * Functionality: plane > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: plane-position-hole-dpms > - * Description: Verify plane position using two planes to create a partially > - * covered screen and check for DPMS > - * Driver requirement: i915, xe > - * Functionality: dpms, plane > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @covered: fully covered screen > - * @hole: partially covered screen > - */ > static void > test_plane_position(data_t *data, enum pipe pipe) > { > @@ -413,27 +444,6 @@ test_plane_panning_with_output(data_t *data, > igt_remove_fb(data->drm_fd, &primary_fb); > } > > -/** > - * SUBTEST: plane-panning-%s > - * Description: Verify plane panning at %arg[1] using primary plane > - * Driver requirement: i915, xe > - * Functionality: plane > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: plane-panning-bottom-right-suspend > - * Description: Verify plane panning at bottom-right position with suspend using > - * primary plane > - * Driver requirement: i915, xe > - * Functionality: plane, suspend > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @bottom-right: bottom-right position > - * @top-left: top-left position > - */ > static void > test_plane_panning(data_t *data, enum pipe pipe) > { > @@ -1159,19 +1169,6 @@ static bool skip_plane(data_t *data, igt_plane_t *plane) > return index != 0 && index != 3 && index != 5; > } > > -/** > - * SUBTEST: pixel-%s > - * Description: verify the pixel formats for given plane and pipe > - * Driver requirement: i915, xe > - * Functionality: pixel_format, plane > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @format: > - * @format-source-clamping: with source clamping > - */ > static void > test_pixel_formats(data_t *data, enum pipe pipe) > { > @@ -1228,14 +1225,6 @@ test_pixel_formats(data_t *data, enum pipe pipe) > igt_assert_f(result, "At least one CRC mismatch happened\n"); > } > > -/** > - * SUBTEST: invalid-pixel-format-settings > - * Description: verify invalid settings for pixel format are not accepted > - * Driver requirement: i915, xe > - * Functionality: pixel_format, plane > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void test_invalid_settings(data_t *data) > { > enum pipe pipe = PIPE_A; > diff --git a/tests/kms_plane_alpha_blend.c b/tests/kms_plane_alpha_blend.c > index bff624ebe..81a3f7122 100644 > --- a/tests/kms_plane_alpha_blend.c > +++ b/tests/kms_plane_alpha_blend.c > @@ -28,9 +28,44 @@ > * TEST: kms plane alpha blend > * Category: Display > * Description: Test plane alpha and blending mode properties > + * Driver requirement: i915, xe > + * Functionality: plane > + * Mega feature: General Display Features > + * Test category: functionality test > */ > #include "igt.h" > > +/** > + * SUBTEST: alpha-%s > + * Description: Test to %arg[1] > + * > + * arg[1]: > + * > + * @7efc: validate alpha values 0x7e and 0xfc are swappable on > + * pre-multiplied blend mode. > + * @basic: basic plane alpha properties. > + * @opaque-fb: alpha properties with opaque fb. > + * @transparent-fb: alpha property with transparent fb. > + */ > + > +/** > + * SUBTEST: coverage-vs-premult-vs-constant > + * Description: Tests pipe coverage blending properties. > + * > + * SUBTEST: coverage-7efc > + * Description: Uses alpha values 0x7e and 0xfc to validate fg.alpha and > + * plane_alpha are swappable on coverage blend mode. > + * > + * SUBTEST: constant-alpha-%s > + * Description: Tests plane alpha and blending properties with %arg[1]. > + * > + * arg[1]: > + * > + * @max: maximum alpha value > + * @mid: medium alpha value > + * @min: minimum alpha value > + */ > + > IGT_TEST_DESCRIPTION("Test plane alpha and blending mode properties"); > > static bool extended; > @@ -482,52 +517,6 @@ static void coverage_premult_constant(data_t *data, enum pipe pipe, igt_plane_t > igt_pipe_crc_stop(data->pipe_crc); > } > > -/** > - * SUBTEST: alpha-%s > - * Description: Test to %arg[1] > - * Driver requirement: i915, xe > - * Functionality: plane > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @7efc: validate alpha values 0x7e and 0xfc are swappable on > - * pre-multiplied blend mode. > - * @basic: basic plane alpha properties. > - * @opaque-fb: alpha properties with opaque fb. > - * @transparent-fb: alpha property with transparent fb. > - */ > - > -/** > - * SUBTEST: coverage-vs-premult-vs-constant > - * Description: Tests pipe coverage blending properties. > - * Driver requirement: i915, xe > - * Functionality: plane > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: coverage-7efc > - * Description: Uses alpha values 0x7e and 0xfc to validate fg.alpha and > - * plane_alpha are swappable on coverage blend mode. > - * Driver requirement: i915, xe > - * Functionality: plane > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: constant-alpha-%s > - * Description: Tests plane alpha and blending properties with %arg[1]. > - * Driver requirement: i915, xe > - * Functionality: plane > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @max: maximum alpha value > - * @mid: medium alpha value > - * @min: minimum alpha value > - */ > static void run_test_on_pipe_planes(data_t *data, enum pipe pipe, igt_output_t *output, > bool blend, bool must_multiply, > void(*test)(data_t *, enum pipe, igt_plane_t *)) > diff --git a/tests/kms_plane_cursor.c b/tests/kms_plane_cursor.c > index 22c5a709d..6c9d7cfdf 100644 > --- a/tests/kms_plane_cursor.c > +++ b/tests/kms_plane_cursor.c > @@ -20,34 +20,27 @@ > * OTHER DEALINGS IN THE SOFTWARE. > */ > > -#include "igt.h" > - > /** > * TEST: kms plane cursor > * Category: Display > * Description: Tests cursor interactions with primary and overlay planes. > - * > - * SUBTEST: overlay > - * Description: Tests atomic cursor positioning on primary plane and overlay plane > * Driver requirement: i915, xe > * Functionality: cursor, plane > * Mega feature: General Display Features > * Test category: functionality test > + */ > +#include "igt.h" > + > +/** > + * SUBTEST: overlay > + * Description: Tests atomic cursor positioning on primary plane and overlay plane > * > * SUBTEST: primary > * Description: Tests atomic cursor positioning on primary plane > - * Driver requirement: i915, xe > - * Functionality: cursor, plane > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: viewport > * Description: Tests atomic cursor positioning on primary plane and overlay plane > * with buffer larger than viewport used for display > - * Driver requirement: i915, xe > - * Functionality: cursor, plane > - * Mega feature: General Display Features > - * Test category: functionality test > */ > > /* > diff --git a/tests/kms_plane_lowres.c b/tests/kms_plane_lowres.c > index d9a175c9b..06b1c93bf 100644 > --- a/tests/kms_plane_lowres.c > +++ b/tests/kms_plane_lowres.c > @@ -27,6 +27,9 @@ > * Category: Display > * Description: Test atomic mode setting with a plane by switching between high > * and low resolutions > + * Driver requirement: i915, xe > + * Mega feature: General Display Features > + * Test category: functionality test > */ > #include "igt.h" > #include "drmtest.h" > @@ -36,6 +39,25 @@ > #include <string.h> > #include <time.h> > > +/** > + * SUBTEST: tiling-none > + * Description: Tests the visibility of the planes when switching between high > + * and low resolution with Linear buffer (no tiling) > + * Functionality: plane > + * > + * SUBTEST: tiling-%s > + * Description: Tests the visibility of the planes when switching between high > + * and low resolution with %arg[1] > + * Functionality: plane, tiling > + * > + * arg[1]: > + * > + * @4: 4-tiling > + * @x: x-tiling > + * @y: y-tiling > + * @yf: yf-tiling > + */ > + > IGT_TEST_DESCRIPTION("Test atomic mode setting with a plane by switching between high and low resolutions"); > > #define SDR_PLANE_BASE 3 > @@ -267,30 +289,6 @@ static void test_cleanup(data_t *data) > igt_display_commit2(&data->display, COMMIT_ATOMIC); > } > > -/** > - * SUBTEST: tiling-none > - * Description: Tests the visibility of the planes when switching between high > - * and low resolution with Linear buffer (no tiling) > - * Driver requirement: i915, xe > - * Functionality: plane > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: tiling-%s > - * Description: Tests the visibility of the planes when switching between high > - * and low resolution with %arg[1] > - * Driver requirement: i915, xe > - * Functionality: plane, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @4: 4-tiling > - * @x: x-tiling > - * @y: y-tiling > - * @yf: yf-tiling > - */ > static void run_test(data_t *data, uint64_t modifier) > { > enum pipe pipe; > diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c > index b1ae35161..f0910ac61 100644 > --- a/tests/kms_plane_multiple.c > +++ b/tests/kms_plane_multiple.c > @@ -26,6 +26,9 @@ > * TEST: kms plane multiple > * Category: Display > * Description: Test atomic mode setting with multiple planes. > + * Driver requirement: i915, xe > + * Mega feature: General Display Features > + * Test category: functionality test > */ > #include "igt.h" > #include "drmtest.h" > @@ -35,6 +38,27 @@ > #include <string.h> > #include <time.h> > > +/** > + * SUBTEST: tiling-none > + * Description: 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. > + * Functionality: plane > + * > + * SUBTEST: tiling-%s > + * Description: 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. > + * Functionality: plane, tiling > + * > + * arg[1]: > + * > + * @4: 4-tiling > + * @x: x-tiling > + * @y: y-tiling > + * @yf: yf-tiling > + */ > + > IGT_TEST_DESCRIPTION("Test atomic mode setting with multiple planes."); > > #define SIZE_PLANE 256 > @@ -378,32 +402,6 @@ test_plane_position(data_t *data, enum pipe pipe, igt_output_t *output, uint64_t > n_planes, modifier); > } > > -/** > - * SUBTEST: tiling-none > - * Description: 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. > - * Driver requirement: i915, xe > - * Functionality: plane > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: tiling-%s > - * Description: 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. > - * Driver requirement: i915, xe > - * Functionality: plane, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @4: 4-tiling > - * @x: x-tiling > - * @y: y-tiling > - * @yf: yf-tiling > - */ > static void run_test(data_t *data, uint64_t modifier) > { > enum pipe pipe; > diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c > index 299f55960..1cfc70da6 100644 > --- a/tests/kms_plane_scaling.c > +++ b/tests/kms_plane_scaling.c > @@ -26,11 +26,129 @@ > * TEST: kms plane scaling > * Category: Display > * Description: Test display plane scaling > + * Driver requirement: i915, xe > + * Functionality: plane, scaling > + * Mega feature: General Display Features > + * Test category: functionality test > */ > #include "igt.h" > #include "igt_vec.h" > #include <math.h> > > +/** > + * SUBTEST: plane-scaler-with-modifiers-unity-scaling > + * Description: Tests scaling with modifiers, unity scaling. > + * > + * SUBTEST: plane-scaler-with-clipping-clamping-modifiers > + * Description: Tests scaling with clipping and clamping, modifiers. > + * > + * SUBTEST: plane-upscale-with-modifiers-%s > + * Description: Tests upscaling with modifiers %arg[1]. > + * > + * SUBTEST: plane-upscale-with-rotation-%s > + * Description: Tests upscaling with rotation %arg[1]. > + * > + * SUBTEST: plane-upscale-with-pixel-format-%s > + * Description: Tests upscaling with pixel formats %arg[1]. > + * Functionality: pixel_formats, plane, scaling > + * > + * SUBTEST: planes-upscale-%s > + * Description: Tests upscaling of 2 planes %arg[1]. > + * > + * arg[1]: > + * > + * @20x20: from 20x20 fb > + * @factor-0-25: for 0.25 scaling factor > + */ > + > +/** > + * SUBTEST: plane-downscale-with-modifiers-factor-%s > + * Description: Tests downscaling with modifiers for %arg[1] scaling factor. > + * > + * SUBTEST: plane-downscale-with-rotation-factor-%s > + * Description: Tests downscaling with rotation for %arg[1] scaling factor. > + * > + * SUBTEST: plane-downscale-with-pixel-format-factor-%s > + * Description: Tests downscaling with pixel formats for %arg[1] scaling factor. > + * Functionality: pixel_formats, plane, scaling > + * > + * SUBTEST: planes-downscale-factor-%s > + * Description: Tests downscaling of 2 planes for %arg[1] scaling factor. > + * > + * arg[1]: > + * > + * @0-25: 0.25 > + * @0-5: 0.5 > + * @0-75: 0.75 > + */ > + > +/** > + * SUBTEST: plane-scaler-with-rotation-unity-scaling > + * Description: Tests scaling with rotation, unity scaling. > + * > + * SUBTEST: plane-scaler-with-clipping-clamping-rotation > + * Description: Tests scaling with clipping and clamping, rotation. > + * > + * SUBTEST: plane-scaler-with-pixel-format-unity-scaling > + * Description: Tests scaling with pixel formats, unity scaling. > + * Functionality: pixel_formats, plane, scaling > + * > + * SUBTEST: plane-scaler-with-clipping-clamping-pixel-formats > + * Description: Tests scaling with clipping and clamping, pixel formats. > + * Functionality: pixel_formats, plane, scaling > + * > + * SUBTEST: planes-scaler-unity-scaling > + * Description: Tests scaling of 2 planes, unity scaling. > + * > + * SUBTEST: invalid-num-scalers > + * Description: Negative test for number of scalers per pipe. > + * > + * SUBTEST: 2x-scaler-multi-pipe > + * Description: Tests scaling with multi-pipe. > + * > + * SUBTEST: invalid-parameters > + * Description: Test parameters which should not be accepted > + * > + * SUBTEST: intel-max-src-size > + * Description: Test for validating max source size. > + */ > + > +/** > + * SUBTEST: planes-downscale-factor-%s-%s > + * Description: Tests downscaling (scaling factor %arg[1]) and upscaling (%arg[2]) > + * of 2 planes. > + * > + * arg[1]: > + * > + * @0-25: 0.25 > + * @0-5: 0.5 > + * @0-75: 0.75 > + * > + * arg[2]: > + * > + * @upscale-20x20: upscale 20x20 > + * @upscale-factor-0-25: scaling factor 0.25 > + * @unity-scaling: Unity > + */ > + > +/** > + * SUBTEST: planes-%s-downscale-factor-%s > + * Description: Tests scaling (%arg[1]) and downscaling (scaling factor %arg[2]) > + * of 2 planes. > + * > + * arg[1]: > + * > + * @unity-scaling: Unity > + * @upscale-factor-0-25: scaling factor 0.25 > + * @upscale-20x20: upscale 20x20 > + * > + * arg[2]: > + * > + * @0-25: 0.25 > + * @0-5: 0.5 > + * @0-75: 0.75 > + */ > + > IGT_TEST_DESCRIPTION("Test display plane scaling"); > > enum scaler_combo_test_type { > @@ -529,48 +647,6 @@ static const uint64_t modifiers[] = { > I915_FORMAT_MOD_4_TILED > }; > > -/** > - * SUBTEST: plane-scaler-with-modifiers-unity-scaling > - * Description: Tests scaling with modifiers, unity scaling. > - * Driver requirement: i915, xe > - * Functionality: plane, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: plane-scaler-with-clipping-clamping-modifiers > - * Description: Tests scaling with clipping and clamping, modifiers. > - * Driver requirement: i915, xe > - * Functionality: plane, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: plane-upscale-with-modifiers-%s > - * Description: Tests upscaling with modifiers %arg[1]. > - * Driver requirement: i915, xe > - * Functionality: plane, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @20x20: from 20x20 fb > - * @factor-0-25: for 0.25 scaling factor > - */ > - > -/** > - * SUBTEST: plane-downscale-with-modifiers-factor-%s > - * Description: Tests downscaling with modifiers for %arg[1] scaling factor. > - * Driver requirement: i915, xe > - * Functionality: plane, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @0-25: 0.25 > - * @0-5: 0.5 > - * @0-75: 0.75 > - */ > static void test_scaler_with_modifier_pipe(data_t *d, > int width, int height, > bool is_upscale, > @@ -603,48 +679,6 @@ static void test_scaler_with_modifier_pipe(data_t *d, > } > } > > -/** > - * SUBTEST: plane-scaler-with-rotation-unity-scaling > - * Description: Tests scaling with rotation, unity scaling. > - * Driver requirement: i915, xe > - * Functionality: plane, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: plane-scaler-with-clipping-clamping-rotation > - * Description: Tests scaling with clipping and clamping, rotation. > - * Driver requirement: i915, xe > - * Functionality: plane, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: plane-upscale-with-rotation-%s > - * Description: Tests upscaling with rotation %arg[1]. > - * Driver requirement: i915, xe > - * Functionality: plane, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @20x20: from 20x20 fb > - * @factor-0-25: for 0.25 scaling factor > - */ > - > -/** > - * SUBTEST: plane-downscale-with-rotation-factor-%s > - * Description: Tests downscaling with rotation for %arg[1] scaling factor. > - * Driver requirement: i915, xe > - * Functionality: plane, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @0-25: 0.25 > - * @0-5: 0.5 > - * @0-75: 0.75 > - */ > static void test_scaler_with_rotation_pipe(data_t *d, > int width, int height, > bool is_upscale, > @@ -678,48 +712,6 @@ static void test_scaler_with_rotation_pipe(data_t *d, > } > } > > -/** > - * SUBTEST: plane-scaler-with-pixel-format-unity-scaling > - * Description: Tests scaling with pixel formats, unity scaling. > - * Driver requirement: i915, xe > - * Functionality: pixel_formats, plane, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: plane-scaler-with-clipping-clamping-pixel-formats > - * Description: Tests scaling with clipping and clamping, pixel formats. > - * Driver requirement: i915, xe > - * Functionality: pixel_formats, plane, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: plane-upscale-with-pixel-format-%s > - * Description: Tests upscaling with pixel formats %arg[1]. > - * Driver requirement: i915, xe > - * Functionality: pixel_formats, plane, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @20x20: from 20x20 fb > - * @factor-0-25: for 0.25 scaling factor > - */ > - > -/** > - * SUBTEST: plane-downscale-with-pixel-format-factor-%s > - * Description: Tests downscaling with pixel formats for %arg[1] scaling factor. > - * Driver requirement: i915, xe > - * Functionality: pixel_formats, plane, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @0-25: 0.25 > - * @0-5: 0.5 > - * @0-75: 0.75 > - */ > static void test_scaler_with_pixel_format_pipe(data_t *d, int width, int height, bool is_upscale, > enum pipe pipe, igt_output_t *output) > { > @@ -855,83 +847,6 @@ static void setup_fb(int fd, int width, int height, struct igt_fb *fb) > fb); > } > > -/** > - * SUBTEST: planes-downscale-factor-%s > - * Description: Tests downscaling of 2 planes for %arg[1] scaling factor. > - * Driver requirement: i915, xe > - * Functionality: plane, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @0-25: 0.25 > - * @0-5: 0.5 > - * @0-75: 0.75 > - */ > -/** > - * SUBTEST: planes-downscale-factor-%s-%s > - * Description: Tests downscaling (scaling factor %arg[1]) and upscaling (%arg[2]) > - * of 2 planes. > - * Driver requirement: i915, xe > - * Functionality: plane, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @0-25: 0.25 > - * @0-5: 0.5 > - * @0-75: 0.75 > - * > - * arg[2]: > - * > - * @upscale-20x20: upscale 20x20 > - * @upscale-factor-0-25: scaling factor 0.25 > - * @unity-scaling: Unity > - */ > -/** > - * SUBTEST: planes-scaler-unity-scaling > - * Description: Tests scaling of 2 planes, unity scaling. > - * Driver requirement: i915, xe > - * Functionality: plane, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: planes-upscale-%s > - * Description: Tests upscaling of 2 planes %arg[1]. > - * Driver requirement: i915, xe > - * Functionality: plane, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @20x20: from 20x20 fb > - * @factor-0-25: for 0.25 scaling factor > - */ > -/** > - * SUBTEST: planes-%s-downscale-factor-%s > - * Description: Tests scaling (%arg[1]) and downscaling (scaling factor %arg[2]) > - * of 2 planes. > - * Driver requirement: i915, xe > - * Functionality: plane, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @unity-scaling: Unity > - * @upscale-factor-0-25: scaling factor 0.25 > - * @upscale-20x20: upscale 20x20 > - * > - * arg[2]: > - * > - * @0-25: 0.25 > - * @0-5: 0.5 > - * @0-75: 0.75 > - */ > - > static void > test_planes_scaling_combo(data_t *d, int w1, int h1, int w2, int h2, > enum pipe pipe, igt_output_t *output, > @@ -990,14 +905,6 @@ test_planes_scaling_combo(data_t *d, int w1, int h1, int w2, int h2, > cleanup_fbs(d); > } > > -/** > - * SUBTEST: invalid-num-scalers > - * Description: Negative test for number of scalers per pipe. > - * Driver requirement: i915, xe > - * Functionality: plane, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void > test_invalid_num_scalers(data_t *d, enum pipe pipe, igt_output_t *output) > { > @@ -1063,14 +970,6 @@ test_invalid_num_scalers(data_t *d, enum pipe pipe, igt_output_t *output) > cleanup_fbs(d); > } > > -/** > - * SUBTEST: 2x-scaler-multi-pipe > - * Description: Tests scaling with multi-pipe. > - * Driver requirement: i915, xe > - * Functionality: plane, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void test_scaler_with_multi_pipe_plane(data_t *d) > { > igt_display_t *display = &d->display; > @@ -1155,14 +1054,6 @@ static void test_scaler_with_multi_pipe_plane(data_t *d) > igt_assert_eq(ret1 && ret2, 0); > } > > -/** > - * SUBTEST: invalid-parameters > - * Description: Test parameters which should not be accepted > - * Driver requirement: i915, xe > - * Functionality: plane, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void invalid_parameter_tests(data_t *d) > { > enum pipe pipe = PIPE_A; > @@ -1243,15 +1134,6 @@ static drmModeModeInfo *find_mode(data_t *data, igt_output_t *output, const uint > return mode; > } > > -/** > - * SUBTEST: intel-max-src-size > - * Description: Test for validating max source size. > - * Driver requirement: i915, xe > - * Functionality: plane, scaling > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > - > /* > * Max source/destination width/height for intel driver. > * These numbers are coming from > diff --git a/tests/kms_prime.c b/tests/kms_prime.c > index 14e44869d..36cb7f601 100644 > --- a/tests/kms_prime.c > +++ b/tests/kms_prime.c > @@ -21,6 +21,14 @@ > * IN THE SOFTWARE. > */ > > +/** > + * TEST: kms prime > + * Category: Display > + * Description: Prime tests, focusing on KMS side > + * Driver requirement: i915, xe > + * Mega feature: General Display Features > + * Test category: functionality test > + */ > #include "igt.h" > #include "igt_device.h" > #include "igt_debugfs.h" > @@ -30,32 +38,20 @@ > #include <sys/ioctl.h> > #include <sys/poll.h> > #include <time.h> > + > /** > - * TEST: kms prime > - * Category: Display > - * Description: Prime tests, focusing on KMS side > - * > * SUBTEST: D3hot > * Description: Validate pci state of dGPU when dGPU is idle and scanout is on iGPU > - * Driver requirement: i915, xe > * Functionality: hybrid, kms_gem_interop > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: basic-modeset-hybrid > * Description: Basic modeset on the one device when the other device is active > - * Driver requirement: i915, xe > * Functionality: hybrid, kms_gem_interop > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: basic-crc-%s > * Description: Make a dumb color buffer, export to another device and compare > * the CRCs with a buffer native to that device > - * Driver requirement: i915, xe > * Functionality: crc, hybrid, kms_gem_interop > - * Mega feature: General Display Features > - * Test category: functionality test > * > * arg[1]: > * > diff --git a/tests/kms_prop_blob.c b/tests/kms_prop_blob.c > index c92525227..8ec9a2e6a 100644 > --- a/tests/kms_prop_blob.c > +++ b/tests/kms_prop_blob.c > @@ -29,6 +29,10 @@ > * TEST: kms prop blob > * Category: Display > * Description: Tests behaviour of mass-data 'blob' properties. > + * Driver requirement: i915, xe > + * Functionality: kms_core > + * Mega feature: General Display Features > + * Test category: functionality test > */ > #include "igt.h" > #include <errno.h> > @@ -36,6 +40,37 @@ > #include <stdio.h> > #include <string.h> > > +/** > + * SUBTEST: basic > + * Description: Test to ensure property support exists > + * > + * SUBTEST: blob-multiple > + * Description: Test validates destroying multiple properties explicitly works as needed. > + * > + * SUBTEST: invalid-%s-%s > + * Description: Tests error handling when invalid properties are %ar[1] with %arg[2]. > + * > + * arg[1]: > + * > + * @get: fetched > + * @set: set > + * > + * arg[2]: > + * > + * @prop: blob object type > + * @prop-any: object of any type > + */ > + > +/** > + * SUBTEST: blob-prop-%s > + * Description: Tests validates the %arg[1] of the properties created. > + * > + * arg[1]: > + * > + * @core: validity > + * @lifetime: lifetime > + * @validate: blob size > + */ > IGT_TEST_DESCRIPTION("Tests behaviour of mass-data 'blob' properties."); > > static const struct drm_mode_modeinfo test_mode_valid = { > @@ -123,27 +158,6 @@ destroy_prop(int fd, uint32_t prop_id) > return 0; > } > > -/** > - * SUBTEST: blob-multiple > - * Description: Test validates destroying multiple properties explicitly works as needed. > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: blob-prop-%s > - * Description: Tests validates the %arg[1] of the properties created. > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @core: validity > - * @lifetime: lifetime > - * @validate: blob size > - */ > static void > test_validate(int fd) > { > @@ -264,14 +278,6 @@ test_core(int fd) > igt_assert_eq(validate_prop(fd, 0), ENOENT); > } > > -/** > - * SUBTEST: basic > - * Description: Test to ensure property support exists > - * Driver requirement: i915, xe > - * Test category: functionality test > - * Functionality: kms_core > - * Mega feature: General Display Features > - */ > static void > test_basic(int fd) > { > @@ -282,24 +288,6 @@ test_basic(int fd) > igt_assert_eq(destroy_prop(fd, prop_id), 0); > } > > -/** > - * SUBTEST: invalid-%s-%s > - * Description: Tests error handling when invalid properties are %ar[1] with %arg[2]. > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @get: fetched > - * @set: set > - * > - * arg[2]: > - * > - * @prop: blob object type > - * @prop-any: object of any type > - */ > static void prop_tests(int fd) > { > struct drm_mode_obj_get_properties get_props = {}; > diff --git a/tests/kms_properties.c b/tests/kms_properties.c > index 328436622..3b5b3c95e 100644 > --- a/tests/kms_properties.c > +++ b/tests/kms_properties.c > @@ -21,6 +21,15 @@ > * IN THE SOFTWARE. > */ > > +/** > + * TEST: kms properties > + * Category: Display > + * Description: Test to validate the properties of all planes, crtc and connectors > + * Driver requirement: i915, xe > + * Functionality: kms_core > + * Mega feature: General Display Features > + * Test category: functionality test > + */ > #include "igt.h" > #include "drmtest.h" > #include <errno.h> > @@ -28,17 +37,10 @@ > #include <stdio.h> > #include <string.h> > #include <time.h> > + > /** > - * TEST: kms properties > - * Category: Display > - * Description: Test to validate the properties of all planes, crtc and connectors > - * > * SUBTEST: %s-properties-%s > * Description: Tests %arg[1] properties with %arg[2] commit > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > * > * arg[1]: > * > @@ -53,6 +55,16 @@ > * @legacy: legacy > */ > > +/** > + * SUBTEST: get_properties-sanity-%s > + * Description: Test validates the properties of all planes, crtc and connectors > + * with %arg[1] commit > + * > + * arg[1]: > + * > + * @atomic: atomic > + * @non-atomic: legacy > + */ > > struct additional_test { > const char *name; > @@ -712,20 +724,6 @@ static void expect_no_props(int fd, uint32_t obj_type, uint32_t obj_id) > igt_assert_neq(drmIoctl(fd, DRM_IOCTL_MODE_OBJ_GETPROPERTIES, &properties), 0); > } > > -/** > - * SUBTEST: get_properties-sanity-%s > - * Description: Test validates the properties of all planes, crtc and connectors > - * with %arg[1] commit > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @atomic: atomic > - * @non-atomic: legacy > - */ > static void get_prop_sanity(igt_display_t *display, bool atomic) > { > int fd = display->drm_fd; > diff --git a/tests/kms_rmfb.c b/tests/kms_rmfb.c > index 6c6cdffba..9b135c008 100644 > --- a/tests/kms_rmfb.c > +++ b/tests/kms_rmfb.c > @@ -21,6 +21,16 @@ > * IN THE SOFTWARE. > */ > > +/** > + * TEST: kms rmfb > + * Category: Display > + * Description: This tests rmfb and close-fd behavior. In these casesthe > + * framebuffers should be removed from the crtc. > + * Driver requirement: i915, xe > + * Functionality: kms_gem_interop > + * Mega feature: General Display Features > + * Test category: functionality test > + */ > #include "igt.h" > #include "drmtest.h" > #include <errno.h> > @@ -28,27 +38,15 @@ > #include <stdio.h> > #include <string.h> > #include <time.h> > + > /** > - * TEST: kms rmfb > - * Category: Display > - * Description: This tests rmfb and close-fd behavior. In these casesthe > - * framebuffers should be removed from the crtc. > - * > * SUBTEST: close-fd > * Description: RMFB is supposed to free the framebuffers from any and all planes > * so test this and make sure it works with fd close and reopen. > - * Driver requirement: i915, xe > - * Functionality: kms_gem_interop > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: rmfb-ioctl > * Description: RMFB is supposed to free the framebuffers from any and all planes > * so test this and make sure it works. > - * Driver requirement: i915, xe > - * Functionality: kms_gem_interop > - * Mega feature: General Display Features > - * Test category: functionality test > */ > > #ifndef DRM_CAP_CURSOR_WIDTH > diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c > index f171fcd22..dec1c5619 100644 > --- a/tests/kms_rotation_crc.c > +++ b/tests/kms_rotation_crc.c > @@ -26,11 +26,98 @@ > * TEST: kms rotation crc > * Category: Display > * Description: Tests different rotations with different planes & formats > + * Driver requirement: i915, xe > + * Functionality: plane, rotation > + * Mega feature: General Display Features > + * Test category: functionality test > */ > #include "igt.h" > #include "igt_vec.h" > #include <math.h> > > +/** > + * SUBTEST: %s-rotation-180 > + * Description: Rotation test with 180 degree for %arg[1] planes > + * > + * arg[1]: > + * > + * @primary: primary > + * @sprite: sprite > + * @cursor: cursor > + */ > + > +/** > + * SUBTEST: %s-rotation-%d > + * Description: Rotation test with %arg[2] degree for %arg[1] planes of gen9+ > + * > + * arg[1]: > + * > + * @primary: primary > + * @sprite: sprite > + * > + * arg[2].values: 90, 270 > + */ > + > +/** > + * SUBTEST: bad-pixel-format > + * Description: Checking unsupported pixel format for gen9+ with 90 degree of rotation > + * > + * SUBTEST: bad-tiling > + * Description: Checking unsupported tiling for gen9+ with 90 degree of rotation > + * Functionality: plane, rotation, tiling > + */ > + > +/** > + * SUBTEST: primary-%s-tiled-reflect-x-%d > + * Description: Test for %arg[1] & %arg[2] degree rotation on primary plane > + * Functionality: plane, rotation, tiling > + * > + * arg[1]: > + * > + * @4: 4 tiling > + * @x: x tiling > + * @y: y tiling > + * @yf: yf tiling > + * > + * arg[2].values: 0, 180 > + */ > + > +/** > + * SUBTEST: sprite-rotation-90-pos-100-0 > + * Description: Rotation test with 90 degree for a plane of gen9+ with given position > + * > + * SUBTEST: primary-%s-tiled-reflect-x-%d > + * Description: Test for %arg[1] & %arg[2] degree rotation on primary plane > + * Functionality: plane, rotation, tiling > + * > + * arg[1]: > + * > + * @y: y tiling > + * @yf: yf tiling > + * > + * arg[2].values: 90, 270 > + */ > + > +/** > + * SUBTEST: multiplane-rotation > + * Description: Rotation test on both planes by making them fully visible > + * > + * SUBTEST: multiplane-rotation-cropping-%s > + * Description: Rotation test on both planes by cropping left/%arg[1] corner of > + * primary plane and right/%arg[1] corner of sprite plane > + * > + * arg[1]: > + * > + * @bottom: bottom > + * @top: top > + */ > + > +/** > + * SUBTEST: exhaust-fences > + * Description: This test intends to check for fence leaks exhaustively > + * Driver requirement: i915 > + */ > + > #define MAX_FENCES 32 > #define MAXMULTIPLANESAMOUNT 2 > #define TEST_MAX_WIDTH 640 > @@ -479,93 +566,6 @@ static bool test_format(data_t *data, > return true; > } > > -/** > - * SUBTEST: %s-rotation-180 > - * Description: Rotation test with 180 degree for %arg[1] planes > - * Driver requirement: i915, xe > - * Functionality: plane, rotation > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @primary: primary > - * @sprite: sprite > - * @cursor: cursor > - */ > - > -/** > - * SUBTEST: %s-rotation-%d > - * Description: Rotation test with %arg[2] degree for %arg[1] planes of gen9+ > - * Driver requirement: i915, xe > - * Functionality: plane, rotation > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @primary: primary > - * @sprite: sprite > - * > - * arg[2].values: 90, 270 > - */ > - > -/** > - * SUBTEST: bad-pixel-format > - * Description: Checking unsupported pixel format for gen9+ with 90 degree of rotation > - * Driver requirement: i915, xe > - * Functionality: plane, rotation > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: bad-tiling > - * Description: Checking unsupported tiling for gen9+ with 90 degree of rotation > - * Driver requirement: i915, xe > - * Functionality: plane, rotation, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > - > -/** > - * SUBTEST: primary-%s-tiled-reflect-x-%d > - * Description: Test for %arg[1] & %arg[2] degree rotation on primary plane > - * Driver requirement: i915, xe > - * Functionality: plane, rotation, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @4: 4 tiling > - * @x: x tiling > - * @y: y tiling > - * @yf: yf tiling > - * > - * arg[2].values: 0, 180 > - */ > - > -/** > - * SUBTEST: primary-%s-tiled-reflect-x-%d > - * Description: Test for %arg[1] & %arg[2] degree rotation on primary plane > - * Driver requirement: i915, xe > - * Functionality: plane, rotation, tiling > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @y: y tiling > - * @yf: yf tiling > - * > - * arg[2].values: 90, 270 > - * > - * SUBTEST: sprite-rotation-90-pos-100-0 > - * Description: Rotation test with 90 degree for a plane of gen9+ with given position > - * Driver requirement: i915, xe > - * Functionality: plane, rotation > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void test_plane_rotation(data_t *data, int plane_type, bool test_bad_format) > { > igt_display_t *display = &data->display; > @@ -885,28 +885,6 @@ static bool reusecrcfromlastround(planeinfos p[2], int lastroundp1format, > return true; > } > > -/** > - * SUBTEST: multiplane-rotation > - * Description: Rotation test on both planes by making them fully visible > - * Driver requirement: i915, xe > - * Functionality: plane, rotation > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * SUBTEST: multiplane-rotation-cropping-%s > - * Description: Rotation test on both planes by cropping left/%arg[1] corner of > - * primary plane and right/%arg[1] corner of sprite plane > - * Driver requirement: i915, xe > - * Functionality: plane, rotation > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @bottom: bottom > - * @top: top > - */ > - > /* > * Here is pipe parameter which is now used only for first pipe. > * It is left here if this test ever was wanted to be run on > @@ -1104,14 +1082,6 @@ static void test_multi_plane_rotation(data_t *data, enum pipe pipe) > igt_require_f(found, "No valid pipe/output combo found.\n"); > } > > -/** > - * SUBTEST: exhaust-fences > - * Description: This test intends to check for fence leaks exhaustively > - * Driver requirement: i915 > - * Functionality: plane, rotation > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > static void test_plane_rotation_exhaust_fences(data_t *data, > enum pipe pipe, > igt_output_t *output, > diff --git a/tests/kms_scaling_modes.c b/tests/kms_scaling_modes.c > index bd7ed7e56..cfb79e7c6 100644 > --- a/tests/kms_scaling_modes.c > +++ b/tests/kms_scaling_modes.c > @@ -24,18 +24,20 @@ > * Swati Sharma <swati2.sharma@intel.com> > */ > > -#include "igt.h" > /** > * TEST: kms scaling modes > * Category: Display > * Description: Test display scaling modes > - * > - * SUBTEST: scaling-mode-%s > - * Description: Tests %arg[1] display scaling mode > * Driver requirement: i915, xe > * Functionality: eDP, plane, scaling > * Mega feature: General Display Features > * Test category: functionality test > + */ > +#include "igt.h" > + > +/** > + * SUBTEST: scaling-mode-%s > + * Description: Tests %arg[1] display scaling mode > * > * arg[1]: > * > diff --git a/tests/kms_selftest.c b/tests/kms_selftest.c > index 080ffdf2c..a65c76cb4 100644 > --- a/tests/kms_selftest.c > +++ b/tests/kms_selftest.c > @@ -21,19 +21,21 @@ > * IN THE SOFTWARE. > */ > > -#include "igt.h" > -#include "igt_kmod.h" > /** > * TEST: kms selftest > * Category: Display > * Description: Basic sanity check of KMS selftests. > - * > - * SUBTEST: %s > - * Description: Basic sanity check of KMS selftest %arg[1]. > * Driver requirement: i915, xe > * Functionality: kms_core > * Mega feature: General Display Features > * Test category: functionality test > + */ > +#include "igt.h" > +#include "igt_kmod.h" > + > +/** > + * SUBTEST: %s > + * Description: Basic sanity check of KMS selftest %arg[1]. > * > * arg[1]: > * > diff --git a/tests/kms_sequence.c b/tests/kms_sequence.c > index 9476203e9..f1dcb13be 100644 > --- a/tests/kms_sequence.c > +++ b/tests/kms_sequence.c > @@ -31,6 +31,10 @@ > * TEST: kms sequence > * Category: Display > * Description: Test CrtcGetSequence and CrtcQueueSequence. > + * Driver requirement: i915, xe > + * Functionality: vblank > + * Mega feature: General Display Features > + * Test category: functionality test > */ > #include "igt.h" > #include <stdlib.h> > @@ -47,6 +51,28 @@ > > #include <drm.h> > > +/** > + * SUBTEST: get-%s > + * Description: This is a test of drmCrtcGetSequence with %arg[1] > + * > + * arg[1]: > + * > + * @busy: busy > + * @forked: forked bo > + * @forked-busy: forked bo & busy > + * @idle: idle > + */ > + > +/** > + * SUBTEST: queue-%s > + * Description: This is a test of drmCrtcQueueSequence with %arg[1] > + * > + * arg[1]: > + * > + * @busy: busy > + * @idle: idle > + */ > + > IGT_TEST_DESCRIPTION("Test CrtcGetSequence and CrtcQueueSequence."); > > typedef struct { > @@ -141,35 +167,6 @@ static int crtc_queue_sequence(int fd, struct drm_crtc_queue_sequence *cqs) > return err; > } > > -/** > - * SUBTEST: get-%s > - * Description: This is a test of drmCrtcGetSequence with %arg[1] > - * Driver requirement: i915, xe > - * Functionality: vblank > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @busy: busy > - * @forked: forked bo > - * @forked-busy: forked bo & busy > - * @idle: idle > - */ > - > -/** > - * SUBTEST: queue-%s > - * Description: This is a test of drmCrtcQueueSequence with %arg[1] > - * Driver requirement: i915, xe > - * Functionality: vblank > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > - * > - * @busy: busy > - * @idle: idle > - */ > static void run_test(data_t *data, int fd, void (*testfunc)(data_t *, int, int)) > { > int nchildren = > diff --git a/tests/kms_setmode.c b/tests/kms_setmode.c > index 32a6fb690..e613fb464 100644 > --- a/tests/kms_setmode.c > +++ b/tests/kms_setmode.c > @@ -20,6 +20,17 @@ > * Authors: > * Imre Deak <imre.deak@intel.com> > */ > + > +/** > + * TEST: kms setmode > + * Category: Display > + * Description: Tests the mode by iterating through all valid/invalid crtc/connector > + * combinations > + * Driver requirement: i915, xe > + * Functionality: kms_core > + * Mega feature: General Display Features > + * Test category: functionality test > + */ > #include "config.h" > > #include "igt.h" > @@ -31,59 +42,31 @@ > #include <sys/time.h> > #include <math.h> > #include "xe/xe_query.h" > + > /** > - * TEST: kms setmode > - * Category: Display > - * Description: Tests the mode by iterating through all valid/invalid crtc/connector > - * combinations > - * > * SUBTEST: basic > * Description: Tests the vblank timing by iterating through all valid crtc/connector > * combinations > - * Driver requirement: i915, xe > - * Functionality: kms_core, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: basic-clone-single-crtc > * Description: Tests the mode by cloning the single crtc by iterating through all > * valid crtc/connector combinations > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: clone-exclusive-crtc > * Description: Tests the mode by cloning the exclusive crtc by iterating through > * all valid crtc/connector combinations > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: invalid-clone-exclusive-crtc > * Description: Tests the mode by cloning the exclusive crtc by iterating through > * all invalid crtc/connector combinations > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: invalid-clone-single-crtc > * Description: Tests the mode by cloning the single crtc by iterating through all > * invalid crtc/connector combinations > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: invalid-clone-single-crtc-stealing > * Description: Tests the stealing mode by cloning the single crtc by iterating > * through all invalid crtc/connector combinations > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > */ > > #define MAX_CONNECTORS 10 > diff --git a/tests/kms_sysfs_edid_timing.c b/tests/kms_sysfs_edid_timing.c > index ee47a024e..a070bbf01 100644 > --- a/tests/kms_sysfs_edid_timing.c > +++ b/tests/kms_sysfs_edid_timing.c > @@ -20,26 +20,29 @@ > * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS > * IN THE SOFTWARE. > */ > + > +/** > + * TEST: kms sysfs edid timing > + * Category: Display > + * Description: Test to check the time it takes to reprobe each connector. > + * Driver requirement: i915, xe > + * Functionality: kms_core > + * Mega feature: General Display Features > + * Test category: functionality test > + */ > #include "igt.h" > > #include <dirent.h> > #include <fcntl.h> > #include <sys/stat.h> > + > /** > - * TEST: kms sysfs edid timing > - * Category: Display > - * Description: Test to check the time it takes to reprobe each connector. > - * > * SUBTEST: > * Description: This test checks the time it takes to reprobe each connector and > * fails if either the time it takes for 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. > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > */ > > #define THRESHOLD_PER_CONNECTOR 150 > diff --git a/tests/kms_tiled_display.c b/tests/kms_tiled_display.c > index 519c3754c..1a32574c7 100644 > --- a/tests/kms_tiled_display.c > +++ b/tests/kms_tiled_display.c > @@ -40,6 +40,9 @@ > * TEST: kms tiled display > * Category: Display > * Description: Test for Transcoder Port Sync for Display Port Tiled Displays > + * Driver requirement: i915, xe > + * Mega feature: General Display Features > + * Test category: functionality test > */ > #include "igt.h" > #include "poll.h" > @@ -51,18 +54,12 @@ > * SUBTEST: basic-test-pattern > * Description: Make sure the Tiled CRTCs are synchronized and we get page flips > * for all tiled CRTCs in one vblank (executes on real panel). > - * Driver requirement: i915, xe > * Functionality: tiled_display > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: basic-test-pattern-with-chamelium > * Description: Make sure the Tiled CRTCs are synchronized and we get page flips > * for all tiled CRTCs in one vblank (executes on chamelium). > - * Driver requirement: i915, xe > * Functionality: chamelium, tiled_display > - * Mega feature: General Display Features > - * Test category: functionality test > */ > > IGT_TEST_DESCRIPTION("Test for genlocked CRTCs with tiled displays"); > diff --git a/tests/kms_tv_load_detect.c b/tests/kms_tv_load_detect.c > index 67dbb242e..ae3a5661e 100644 > --- a/tests/kms_tv_load_detect.c > +++ b/tests/kms_tv_load_detect.c > @@ -22,19 +22,21 @@ > * > */ > > -#include "igt.h" > /** > * TEST: kms tv load detect > * Category: Display > * Description: Test to check tv load detection. > - * > - * SUBTEST: load-detect > - * Description: Check tv load detection works correctly. > * Driver requirement: i915, xe > * Functionality: obsolete > * Mega feature: General Display Features > * Test category: functionality test > */ > +#include "igt.h" > + > +/** > + * SUBTEST: load-detect > + * Description: Check tv load detection works correctly. > + */ > > IGT_TEST_DESCRIPTION("Check tv load detection works correctly."); > > diff --git a/tests/kms_universal_plane.c b/tests/kms_universal_plane.c > index 8aa43a929..8d424d6fd 100644 > --- a/tests/kms_universal_plane.c > +++ b/tests/kms_universal_plane.c > @@ -21,6 +21,15 @@ > * IN THE SOFTWARE. > */ > > +/** > + * TEST: kms universal plane > + * Category: Display > + * Description: Check pageflip & modeset on universal plane > + * Driver requirement: i915, xe > + * Functionality: plane > + * Mega feature: General Display Features > + * Test category: functionality test > + */ > #include "igt.h" > #include <errno.h> > #include <stdbool.h> > @@ -29,31 +38,16 @@ > #include <fcntl.h> > > /** > - * TEST: kms universal plane > - * Category: Display > - * Description: Check pageflip & modeset on universal plane > - * > * SUBTEST: cursor-fb-leak-pipe-%s > * Description: Check for cursor leaks after performing cursor operations on %arg[1] > - * Driver requirement: i915, xe > * Functionality: cursor, plane > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: disable-primary-vs-flip-pipe-%s > * Description: Check pageflips while primary plane is disabled before IOCTL or > * between IOCTL and pageflip execution on %arg[1] > - * Driver requirement: i915, xe > - * Functionality: plane > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: universal-plane-pageflip-windowed-pipe-%s > * Description: Check if pageflip succeeds in windowed setting on %arg[1] > - * Driver requirement: i915, xe > - * Functionality: plane > - * Mega feature: General Display Features > - * Test category: functionality test > * > * arg[1]: > * > @@ -70,10 +64,6 @@ > /** > * SUBTEST: universal-plane-pipe-%s-%s > * Description: Check %arg[2] on %arg[1] > - * Driver requirement: i915, xe > - * Functionality: plane > - * Mega feature: General Display Features > - * Test category: functionality test > * > * arg[1]: > * > diff --git a/tests/kms_vblank.c b/tests/kms_vblank.c > index 33e933c22..79cf024ed 100644 > --- a/tests/kms_vblank.c > +++ b/tests/kms_vblank.c > @@ -26,6 +26,15 @@ > * This is a test of performance of drmWaitVblank. > */ > > +/** > + * TEST: kms vblank > + * Category: Display > + * Description: Test speed of WaitVblank. > + * Driver requirement: i915, xe > + * Functionality: vblank > + * Mega feature: General Display Features > + * Test category: functionality test > + */ > #include "igt.h" > #include <stdlib.h> > #include <stdio.h> > @@ -40,97 +49,38 @@ > #include <sys/wait.h> > > #include <drm.h> > + > /** > - * TEST: kms vblank > - * Category: Display > - * Description: Test speed of WaitVblank. > - * > * SUBTEST: crtc-id > * Description: check the Vblank and flip events works with given crtc id > - * Driver requirement: i915, xe > - * Functionality: vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: invalid > * Description: Negative test for vblank request > - * Driver requirement: i915, xe > - * Functionality: vblank > - * Mega feature: General Display Features > - * Test category: functionality test > - */ > - > -/** > + * > * SUBTEST: pipe-%s-ts-continuation-dpms-rpm > * Description: Test TS continuty with DPMS & RPM while hanging by introducing > * NOHANG flag on %arg[1] > - * Driver requirement: i915, xe > * Functionality: dpms, hang, rpm, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > * > - * @A: pipe A > - * @B: pipe B > - * @C: pipe C > - * @D: pipe D > - * @E: pipe E > - * @F: pipe F > - * @G: pipe G > - * @H: pipe H > - */ > - > -/** > * SUBTEST: pipe-%s-ts-continuation-dpms-suspend > * Description: Test TS continuty with DPMS & Suspend while hanging by introducing > * NOHANG flag on %arg[1] > - * Driver requirement: i915, xe > * Functionality: dpms, hang, suspend, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > - * arg[1]: > - * > - * @A: pipe A > - * @B: pipe B > - * @C: pipe C > - * @D: pipe D > - * @E: pipe E > - * @F: pipe F > - * @G: pipe G > - * @H: pipe H > - */ > - > -/** > * SUBTEST: pipe-%s-ts-continuation-suspend > * Description: Test TS continuty with Suspend while hanging by introducing NOHANG > * flag on %arg[1] > - * Driver requirement: i915, xe > * Functionality: hang, suspend, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > - * > - * arg[1]: > * > - * @A: pipe A > - * @B: pipe B > - * @C: pipe C > - * @D: pipe D > - * @E: pipe E > - * @F: pipe F > - * @G: pipe G > - * @H: pipe H > - */ > - > -/** > * SUBTEST: pipe-%s-ts-continuation-modeset-rpm > * Description: Test TS continuty during Modeset with Suspend while hanging by > * introducing NOHANG flag on %arg[1] > - * Driver requirement: i915, xe > * Functionality: hang, rpm, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > + * > + * SUBTEST: pipe-%s-accuracy-idle > + * Description: Test Accuracy of vblank events while hanging by introducing NOHANG > + * flag on %arg[1] > + * Functionality: hang, vblank > * > * arg[1]: > * > @@ -145,27 +95,13 @@ > */ > > /** > - * SUBTEST: pipe-%s-accuracy-idle > - * Description: Test Accuracy of vblank events while hanging by introducing NOHANG > - * flag on %arg[1] > - * Driver requirement: i915, xe > - * Functionality: hang, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > - * > * SUBTEST: pipe-%s-%s > * Description: Test %arg[2] while hanging by introducing NOHANG flag on %arg[1] > - * Driver requirement: i915, xe > * Functionality: hang, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: pipe-%s-%s-hang > * Description: Test %arg[2] with injected hang is working properly on %arg[1] > - * Driver requirement: i915, xe > * Functionality: hang, vblank > - * Mega feature: General Display Features > - * Test category: functionality test > * > * arg[1]: > * > diff --git a/tests/kms_vrr.c b/tests/kms_vrr.c > index e203fd4d5..0850e5c43 100644 > --- a/tests/kms_vrr.c > +++ b/tests/kms_vrr.c > @@ -20,52 +20,40 @@ > * OTHER DEALINGS IN THE SOFTWARE. > */ > > -#include "igt.h" > -#include "sw_sync.h" > -#include <fcntl.h> > -#include <signal.h> > /** > * TEST: kms vrr > * Category: Display > * Description: Test to validate diffent features of VRR > - * > - * SUBTEST: flip-basic > - * Description: Tests that VRR is enabled and that the difference between flip > - * timestamps converges to the requested rate > * Driver requirement: i915, xe > * Functionality: adaptive_sync > * Mega feature: VRR > * Test category: functionality test > + */ > +#include "igt.h" > +#include "sw_sync.h" > +#include <fcntl.h> > +#include <signal.h> > + > +/** > + * SUBTEST: flip-basic > + * Description: Tests that VRR is enabled and that the difference between flip > + * timestamps converges to the requested rate > * > * SUBTEST: flip-dpms > * Description: Tests with DPMS that VRR is enabled and that the difference > * between flip timestamps converges to the requested rate. > - * Driver requirement: i915, xe > * Functionality: adaptive_sync, dpms > - * Mega feature: VRR > - * Test category: functionality test > * > * SUBTEST: flip-suspend > * Description: Tests that VRR is enabled and that the difference between flip > * timestamps converges to the requested rate in a suspend test > - * Driver requirement: i915, xe > * Functionality: adaptive_sync, suspend > - * Mega feature: VRR > - * Test category: functionality test > * > * SUBTEST: flipline > * Description: Make sure that flips happen at flipline decision boundary. > - * Driver requirement: i915, xe > - * Functionality: adaptive_sync > - * Mega feature: VRR > - * Test category: functionality test > * > * SUBTEST: negative-basic > * Description: Make sure that VRR should not be enabled on the Non-VRR panel. > - * Driver requirement: i915, xe > - * Functionality: adaptive_sync > - * Mega feature: VRR > - * Test category: functionality test > */ > > #define NSECS_PER_SEC (1000000000ull) > diff --git a/tests/kms_writeback.c b/tests/kms_writeback.c > index a69cf6609..469c17e2d 100644 > --- a/tests/kms_writeback.c > +++ b/tests/kms_writeback.c > @@ -22,6 +22,18 @@ > * > */ > > +/** > + * TEST: kms writeback > + * Category: Display > + * Description: This test validates the expected behavior of the writeback > + * connectors feature by checking if the target device support > + * writeback; it validates bad and good combination, check color > + * format, and check the output result by using CRC. > + * Driver requirement: i915, xe > + * Functionality: kms_core > + * Mega feature: General Display Features > + * Test category: functionality test > + */ > #include <errno.h> > #include <stdbool.h> > #include <stdio.h> > @@ -32,43 +44,21 @@ > #include "igt_core.h" > #include "igt_fb.h" > #include "sw_sync.h" > + > /** > - * TEST: kms writeback > - * Category: Display > - * Description: This test validates the expected behavior of the writeback > - * connectors feature by checking if the target device support > - * writeback; it validates bad and good combination, check color > - * format, and check the output result by using CRC. > - * > * SUBTEST: writeback-check-output > * Description: Check writeback output with CRC validation > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: writeback-fb-id > * Description: Validate WRITEBACK_FB_ID with valid and invalid options > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: writeback-invalid-parameters > * Description: Writeback has a couple of parameters linked together(output > * framebuffer and fence); this test goes throughthe combination > * of possible bad options > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > * > * SUBTEST: writeback-pixel-formats > * Description: Check the writeback format > - * Driver requirement: i915, xe > - * Functionality: kms_core > - * Mega feature: General Display Features > - * Test category: functionality test > */ > > IGT_TEST_DESCRIPTION( > -- > 2.40.0 > ^ permalink raw reply [flat|nested] 12+ messages in thread
* [igt-dev] ✓ CI.xeBAT: success for Optimize kms tesplan documentation 2023-09-14 13:19 [igt-dev] [i-g-t 0/2] Optimize kms tesplan documentation Bhanuprakash Modem 2023-09-14 13:19 ` [igt-dev] [i-g-t 1/2] tests/kms: Fix Mega Feature in testplan documentation Bhanuprakash Modem 2023-09-14 13:19 ` [igt-dev] [i-g-t 2/2] tests/kms: Optimize KMS " Bhanuprakash Modem @ 2023-09-14 14:30 ` Patchwork 2023-09-14 14:37 ` [igt-dev] ✓ Fi.CI.BAT: " Patchwork ` (4 subsequent siblings) 7 siblings, 0 replies; 12+ messages in thread From: Patchwork @ 2023-09-14 14:30 UTC (permalink / raw) To: Bhanuprakash Modem; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 1618 bytes --] == Series Details == Series: Optimize kms tesplan documentation URL : https://patchwork.freedesktop.org/series/123697/ State : success == Summary == CI Bug Log - changes from XEIGT_7487_BAT -> XEIGTPW_9787_BAT ==================================================== Summary ------- **SUCCESS** No regressions found. Participating hosts (4 -> 4) ------------------------------ No changes in participating hosts Known issues ------------ Here are the changes found in XEIGTPW_9787_BAT that come from known issues: ### IGT changes ### #### Possible fixes #### * igt@kms_flip@basic-flip-vs-wf_vblank@d-edp1: - bat-adlp-7: [FAIL][1] ([Intel XE#480]) -> [PASS][2] +2 other tests pass [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7487/bat-adlp-7/igt@kms_flip@basic-flip-vs-wf_vblank@d-edp1.html [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_9787/bat-adlp-7/igt@kms_flip@basic-flip-vs-wf_vblank@d-edp1.html [Intel XE#480]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/480 Build changes ------------- * IGT: IGT_7487 -> IGTPW_9787 * Linux: xe-372-baea10eb27d49a2b8a526d87a70532ab201d140b -> xe-373-aeac46cfaebff413254ac07837b97370c7ed3957 IGTPW_9787: 9787 IGT_7487: 77e606dea60110c869ad9f9cc88994a0048845c4 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git xe-372-baea10eb27d49a2b8a526d87a70532ab201d140b: baea10eb27d49a2b8a526d87a70532ab201d140b xe-373-aeac46cfaebff413254ac07837b97370c7ed3957: aeac46cfaebff413254ac07837b97370c7ed3957 == Logs == For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_9787/index.html [-- Attachment #2: Type: text/html, Size: 2194 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for Optimize kms tesplan documentation 2023-09-14 13:19 [igt-dev] [i-g-t 0/2] Optimize kms tesplan documentation Bhanuprakash Modem ` (2 preceding siblings ...) 2023-09-14 14:30 ` [igt-dev] ✓ CI.xeBAT: success for Optimize kms tesplan documentation Patchwork @ 2023-09-14 14:37 ` Patchwork 2023-09-14 18:37 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork ` (3 subsequent siblings) 7 siblings, 0 replies; 12+ messages in thread From: Patchwork @ 2023-09-14 14:37 UTC (permalink / raw) To: Bhanuprakash Modem; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 8838 bytes --] == Series Details == Series: Optimize kms tesplan documentation URL : https://patchwork.freedesktop.org/series/123697/ State : success == Summary == CI Bug Log - changes from CI_DRM_13632 -> IGTPW_9787 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/index.html Participating hosts (39 -> 38) ------------------------------ Additional (2): fi-hsw-4770 bat-mtlp-8 Missing (3): fi-kbl-soraka bat-dg2-9 fi-snb-2520m Known issues ------------ Here are the changes found in IGTPW_9787 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@debugfs_test@basic-hwmon: - bat-mtlp-8: NOTRUN -> [SKIP][1] ([i915#9318]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/bat-mtlp-8/igt@debugfs_test@basic-hwmon.html * igt@gem_lmem_swapping@verify-random: - bat-mtlp-8: NOTRUN -> [SKIP][2] ([i915#4613]) +3 other tests skip [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/bat-mtlp-8/igt@gem_lmem_swapping@verify-random.html * igt@gem_mmap@basic: - bat-mtlp-8: NOTRUN -> [SKIP][3] ([i915#4083]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/bat-mtlp-8/igt@gem_mmap@basic.html * igt@gem_mmap_gtt@basic: - bat-mtlp-8: NOTRUN -> [SKIP][4] ([i915#4077]) +3 other tests skip [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/bat-mtlp-8/igt@gem_mmap_gtt@basic.html * igt@gem_render_tiled_blits@basic: - bat-mtlp-8: NOTRUN -> [SKIP][5] ([i915#4079]) +1 other test skip [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/bat-mtlp-8/igt@gem_render_tiled_blits@basic.html * igt@i915_module_load@load: - bat-adlp-6: [PASS][6] -> [DMESG-WARN][7] ([i915#1982]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/bat-adlp-6/igt@i915_module_load@load.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/bat-adlp-6/igt@i915_module_load@load.html * igt@i915_pm_rps@basic-api: - bat-mtlp-8: NOTRUN -> [SKIP][8] ([i915#6621]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/bat-mtlp-8/igt@i915_pm_rps@basic-api.html * igt@i915_selftest@live@gt_engines: - bat-mtlp-8: NOTRUN -> [FAIL][9] ([i915#9278] / [i915#9290]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/bat-mtlp-8/igt@i915_selftest@live@gt_engines.html * igt@i915_selftest@live@gt_pm: - bat-mtlp-8: NOTRUN -> [DMESG-FAIL][10] ([i915#9270]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/bat-mtlp-8/igt@i915_selftest@live@gt_pm.html * igt@i915_selftest@live@requests: - bat-mtlp-8: NOTRUN -> [ABORT][11] ([i915#9262]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/bat-mtlp-8/igt@i915_selftest@live@requests.html * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy: - fi-hsw-4770: NOTRUN -> [SKIP][12] ([fdo#109271]) +13 other tests skip [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/fi-hsw-4770/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html - bat-mtlp-8: NOTRUN -> [SKIP][13] ([i915#5190]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/bat-mtlp-8/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html * igt@kms_addfb_basic@basic-y-tiled-legacy: - bat-mtlp-8: NOTRUN -> [SKIP][14] ([i915#4212]) +8 other tests skip [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/bat-mtlp-8/igt@kms_addfb_basic@basic-y-tiled-legacy.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - bat-mtlp-8: NOTRUN -> [SKIP][15] ([i915#4213]) +1 other test skip [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/bat-mtlp-8/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html * igt@kms_dsc@dsc-basic: - bat-mtlp-8: NOTRUN -> [SKIP][16] ([i915#3555] / [i915#3840] / [i915#9159]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/bat-mtlp-8/igt@kms_dsc@dsc-basic.html * igt@kms_force_connector_basic@force-load-detect: - bat-mtlp-8: NOTRUN -> [SKIP][17] ([fdo#109285]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/bat-mtlp-8/igt@kms_force_connector_basic@force-load-detect.html * igt@kms_force_connector_basic@prune-stale-modes: - bat-mtlp-8: NOTRUN -> [SKIP][18] ([i915#5274]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/bat-mtlp-8/igt@kms_force_connector_basic@prune-stale-modes.html * igt@kms_pipe_crc_basic@read-crc-frame-sequence: - bat-dg2-11: NOTRUN -> [SKIP][19] ([i915#1845]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/bat-dg2-11/igt@kms_pipe_crc_basic@read-crc-frame-sequence.html * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-vga-1: - fi-hsw-4770: NOTRUN -> [DMESG-WARN][20] ([i915#8841]) +6 other tests dmesg-warn [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/fi-hsw-4770/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-vga-1.html * igt@kms_psr@sprite_plane_onoff: - fi-hsw-4770: NOTRUN -> [SKIP][21] ([fdo#109271] / [i915#1072]) +3 other tests skip [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/fi-hsw-4770/igt@kms_psr@sprite_plane_onoff.html * igt@kms_setmode@basic-clone-single-crtc: - bat-mtlp-8: NOTRUN -> [SKIP][22] ([i915#3555] / [i915#8809]) [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/bat-mtlp-8/igt@kms_setmode@basic-clone-single-crtc.html * igt@prime_vgem@basic-fence-mmap: - bat-mtlp-8: NOTRUN -> [SKIP][23] ([i915#3708] / [i915#4077]) +1 other test skip [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/bat-mtlp-8/igt@prime_vgem@basic-fence-mmap.html * igt@prime_vgem@basic-fence-read: - bat-mtlp-8: NOTRUN -> [SKIP][24] ([i915#3708]) +2 other tests skip [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/bat-mtlp-8/igt@prime_vgem@basic-fence-read.html #### Possible fixes #### * igt@kms_hdmi_inject@inject-audio: - fi-kbl-guc: [FAIL][25] ([IGT#3] / [i915#6121]) -> [PASS][26] [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/fi-kbl-guc/igt@kms_hdmi_inject@inject-audio.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/fi-kbl-guc/igt@kms_hdmi_inject@inject-audio.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [IGT#3]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/3 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212 [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213 [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613 [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190 [i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274 [i915#6121]: https://gitlab.freedesktop.org/drm/intel/issues/6121 [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621 [i915#8809]: https://gitlab.freedesktop.org/drm/intel/issues/8809 [i915#8841]: https://gitlab.freedesktop.org/drm/intel/issues/8841 [i915#9159]: https://gitlab.freedesktop.org/drm/intel/issues/9159 [i915#9262]: https://gitlab.freedesktop.org/drm/intel/issues/9262 [i915#9270]: https://gitlab.freedesktop.org/drm/intel/issues/9270 [i915#9278]: https://gitlab.freedesktop.org/drm/intel/issues/9278 [i915#9290]: https://gitlab.freedesktop.org/drm/intel/issues/9290 [i915#9318]: https://gitlab.freedesktop.org/drm/intel/issues/9318 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7487 -> IGTPW_9787 CI-20190529: 20190529 CI_DRM_13632: 27e8bddd193db91eb95f2e962c2729e14f058ace @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_9787: 9787 IGT_7487: 77e606dea60110c869ad9f9cc88994a0048845c4 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/index.html [-- Attachment #2: Type: text/html, Size: 10303 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for Optimize kms tesplan documentation 2023-09-14 13:19 [igt-dev] [i-g-t 0/2] Optimize kms tesplan documentation Bhanuprakash Modem ` (3 preceding siblings ...) 2023-09-14 14:37 ` [igt-dev] ✓ Fi.CI.BAT: " Patchwork @ 2023-09-14 18:37 ` Patchwork 2023-09-21 7:51 ` [igt-dev] ✓ CI.xeBAT: success for Optimize kms tesplan documentation (rev2) Patchwork ` (2 subsequent siblings) 7 siblings, 0 replies; 12+ messages in thread From: Patchwork @ 2023-09-14 18:37 UTC (permalink / raw) To: Modem, Bhanuprakash; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 96650 bytes --] == Series Details == Series: Optimize kms tesplan documentation URL : https://patchwork.freedesktop.org/series/123697/ State : failure == Summary == CI Bug Log - changes from CI_DRM_13632_full -> IGTPW_9787_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with IGTPW_9787_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_9787_full, please notify your bug team (lgci.bug.filing@intel.com) to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/index.html Participating hosts (9 -> 9) ------------------------------ No changes in participating hosts Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_9787_full: ### IGT changes ### #### Possible regressions #### * igt@gem_exec_suspend@basic-s0@lmem0: - shard-dg2: [PASS][1] -> [INCOMPLETE][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-dg2-7/igt@gem_exec_suspend@basic-s0@lmem0.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-3/igt@gem_exec_suspend@basic-s0@lmem0.html * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-1: - shard-tglu: [PASS][3] -> [INCOMPLETE][4] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-tglu-5/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-1.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-8/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-1.html Known issues ------------ Here are the changes found in IGTPW_9787_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@api_intel_bb@object-reloc-keep-cache: - shard-dg2: NOTRUN -> [SKIP][5] ([i915#8411]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-11/igt@api_intel_bb@object-reloc-keep-cache.html * igt@api_intel_bb@render-ccs: - shard-dg2: NOTRUN -> [FAIL][6] ([i915#6122]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-11/igt@api_intel_bb@render-ccs.html * igt@drm_buddy@drm_buddy_test: - shard-snb: NOTRUN -> [SKIP][7] ([fdo#109271] / [i915#8661]) +1 other test skip [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-snb1/igt@drm_buddy@drm_buddy_test.html * igt@drm_fdinfo@all-busy-idle-check-all: - shard-dg2: NOTRUN -> [SKIP][8] ([i915#8414]) +1 other test skip [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-10/igt@drm_fdinfo@all-busy-idle-check-all.html * igt@drm_fdinfo@busy-idle-check-all@ccs0: - shard-mtlp: NOTRUN -> [SKIP][9] ([i915#8414]) +18 other tests skip [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-3/igt@drm_fdinfo@busy-idle-check-all@ccs0.html * igt@gem_ccs@ctrl-surf-copy-new-ctx: - shard-mtlp: NOTRUN -> [SKIP][10] ([i915#9323]) +1 other test skip [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-5/igt@gem_ccs@ctrl-surf-copy-new-ctx.html * igt@gem_ccs@suspend-resume@tile64-compressed-compfmt0-lmem0-lmem0: - shard-dg2: [PASS][11] -> [INCOMPLETE][12] ([i915#7297]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-dg2-2/igt@gem_ccs@suspend-resume@tile64-compressed-compfmt0-lmem0-lmem0.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-6/igt@gem_ccs@suspend-resume@tile64-compressed-compfmt0-lmem0-lmem0.html * igt@gem_create@create-ext-cpu-access-big: - shard-mtlp: NOTRUN -> [SKIP][13] ([i915#6335]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-7/igt@gem_create@create-ext-cpu-access-big.html * igt@gem_create@create-ext-set-pat: - shard-rkl: NOTRUN -> [SKIP][14] ([i915#8562]) [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-4/igt@gem_create@create-ext-set-pat.html * igt@gem_ctx_persistence@engines-hostile: - shard-snb: NOTRUN -> [SKIP][15] ([fdo#109271] / [i915#1099]) +2 other tests skip [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-snb2/igt@gem_ctx_persistence@engines-hostile.html * igt@gem_ctx_sseu@engines: - shard-mtlp: NOTRUN -> [SKIP][16] ([i915#280]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-4/igt@gem_ctx_sseu@engines.html * igt@gem_exec_balancer@bonded-dual: - shard-dg2: NOTRUN -> [SKIP][17] ([i915#4771]) +1 other test skip [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-5/igt@gem_exec_balancer@bonded-dual.html * igt@gem_exec_balancer@bonded-semaphore: - shard-mtlp: NOTRUN -> [SKIP][18] ([i915#4812]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-5/igt@gem_exec_balancer@bonded-semaphore.html * igt@gem_exec_balancer@noheartbeat: - shard-dg2: NOTRUN -> [SKIP][19] ([i915#8555]) +1 other test skip [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-5/igt@gem_exec_balancer@noheartbeat.html - shard-dg1: NOTRUN -> [SKIP][20] ([i915#8555]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-13/igt@gem_exec_balancer@noheartbeat.html - shard-mtlp: NOTRUN -> [SKIP][21] ([i915#8555]) +1 other test skip [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-1/igt@gem_exec_balancer@noheartbeat.html * igt@gem_exec_fair@basic-deadline: - shard-mtlp: NOTRUN -> [SKIP][22] ([i915#4473] / [i915#4771]) +3 other tests skip [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-8/igt@gem_exec_fair@basic-deadline.html * igt@gem_exec_fair@basic-none-vip: - shard-dg1: NOTRUN -> [SKIP][23] ([i915#3539] / [i915#4852]) +1 other test skip [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-13/igt@gem_exec_fair@basic-none-vip.html * igt@gem_exec_fair@basic-none-vip@rcs0: - shard-rkl: NOTRUN -> [FAIL][24] ([i915#2842]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-1/igt@gem_exec_fair@basic-none-vip@rcs0.html * igt@gem_exec_fair@basic-pace-share@rcs0: - shard-tglu: [PASS][25] -> [FAIL][26] ([i915#2842]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-tglu-3/igt@gem_exec_fair@basic-pace-share@rcs0.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-9/igt@gem_exec_fair@basic-pace-share@rcs0.html * igt@gem_exec_fence@submit3: - shard-dg2: NOTRUN -> [SKIP][27] ([i915#4812]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-1/igt@gem_exec_fence@submit3.html * igt@gem_exec_flush@basic-batch-kernel-default-cmd: - shard-mtlp: NOTRUN -> [SKIP][28] ([i915#3711]) [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-4/igt@gem_exec_flush@basic-batch-kernel-default-cmd.html * igt@gem_exec_flush@basic-wb-rw-default: - shard-dg2: NOTRUN -> [SKIP][29] ([i915#3539] / [i915#4852]) +5 other tests skip [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-11/igt@gem_exec_flush@basic-wb-rw-default.html * igt@gem_exec_gttfill@multigpu-basic: - shard-mtlp: NOTRUN -> [SKIP][30] ([i915#7697]) +1 other test skip [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-4/igt@gem_exec_gttfill@multigpu-basic.html * igt@gem_exec_params@secure-non-master: - shard-dg2: NOTRUN -> [SKIP][31] ([fdo#112283]) [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-1/igt@gem_exec_params@secure-non-master.html - shard-rkl: NOTRUN -> [SKIP][32] ([fdo#112283]) [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-4/igt@gem_exec_params@secure-non-master.html - shard-dg1: NOTRUN -> [SKIP][33] ([fdo#112283]) [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-19/igt@gem_exec_params@secure-non-master.html - shard-mtlp: NOTRUN -> [SKIP][34] ([fdo#112283]) [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-5/igt@gem_exec_params@secure-non-master.html * igt@gem_exec_reloc@basic-cpu-gtt-noreloc: - shard-dg2: NOTRUN -> [SKIP][35] ([i915#3281]) +4 other tests skip [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-7/igt@gem_exec_reloc@basic-cpu-gtt-noreloc.html - shard-rkl: NOTRUN -> [SKIP][36] ([i915#3281]) +2 other tests skip [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-1/igt@gem_exec_reloc@basic-cpu-gtt-noreloc.html - shard-dg1: NOTRUN -> [SKIP][37] ([i915#3281]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-15/igt@gem_exec_reloc@basic-cpu-gtt-noreloc.html * igt@gem_exec_reloc@basic-cpu-read-noreloc: - shard-mtlp: NOTRUN -> [SKIP][38] ([i915#3281]) +11 other tests skip [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-5/igt@gem_exec_reloc@basic-cpu-read-noreloc.html * igt@gem_exec_schedule@preempt-queue-contexts: - shard-dg2: NOTRUN -> [SKIP][39] ([i915#4537] / [i915#4812]) [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-5/igt@gem_exec_schedule@preempt-queue-contexts.html * igt@gem_exec_schedule@preemptive-hang@ccs0: - shard-mtlp: NOTRUN -> [DMESG-WARN][40] ([i915#9262]) [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-2/igt@gem_exec_schedule@preemptive-hang@ccs0.html * igt@gem_exec_schedule@reorder-wide: - shard-mtlp: NOTRUN -> [SKIP][41] ([i915#4537] / [i915#4812]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-4/igt@gem_exec_schedule@reorder-wide.html * igt@gem_fence_thrash@bo-write-verify-x: - shard-dg2: NOTRUN -> [SKIP][42] ([i915#4860]) +1 other test skip [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-10/igt@gem_fence_thrash@bo-write-verify-x.html * igt@gem_fenced_exec_thrash@no-spare-fences-interruptible: - shard-mtlp: NOTRUN -> [SKIP][43] ([i915#4860]) +3 other tests skip [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-7/igt@gem_fenced_exec_thrash@no-spare-fences-interruptible.html * igt@gem_huc_copy@huc-copy: - shard-rkl: NOTRUN -> [SKIP][44] ([i915#2190]) [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-4/igt@gem_huc_copy@huc-copy.html * igt@gem_lmem_swapping@heavy-multi: - shard-rkl: NOTRUN -> [SKIP][45] ([i915#4613]) [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-4/igt@gem_lmem_swapping@heavy-multi.html * igt@gem_lmem_swapping@heavy-verify-multi: - shard-apl: NOTRUN -> [SKIP][46] ([fdo#109271] / [i915#4613]) [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-apl4/igt@gem_lmem_swapping@heavy-verify-multi.html * igt@gem_lmem_swapping@parallel-random-verify-ccs@lmem0: - shard-dg1: NOTRUN -> [SKIP][47] ([i915#4565]) [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-16/igt@gem_lmem_swapping@parallel-random-verify-ccs@lmem0.html * igt@gem_lmem_swapping@smem-oom: - shard-tglu: NOTRUN -> [SKIP][48] ([i915#4613]) [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-10/igt@gem_lmem_swapping@smem-oom.html * igt@gem_lmem_swapping@verify-random-ccs: - shard-mtlp: NOTRUN -> [SKIP][49] ([i915#4613]) +3 other tests skip [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-5/igt@gem_lmem_swapping@verify-random-ccs.html * igt@gem_madvise@dontneed-before-pwrite: - shard-rkl: NOTRUN -> [SKIP][50] ([i915#3282]) +4 other tests skip [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-1/igt@gem_madvise@dontneed-before-pwrite.html * igt@gem_media_vme: - shard-dg2: NOTRUN -> [SKIP][51] ([i915#284]) [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-11/igt@gem_media_vme.html * igt@gem_mmap@short-mmap: - shard-dg2: NOTRUN -> [SKIP][52] ([i915#4083]) +3 other tests skip [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-2/igt@gem_mmap@short-mmap.html - shard-dg1: NOTRUN -> [SKIP][53] ([i915#4083]) +1 other test skip [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-13/igt@gem_mmap@short-mmap.html * igt@gem_mmap_gtt@cpuset-big-copy: - shard-dg1: NOTRUN -> [SKIP][54] ([i915#4077]) +2 other tests skip [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-13/igt@gem_mmap_gtt@cpuset-big-copy.html * igt@gem_mmap_gtt@cpuset-big-copy-odd: - shard-dg2: NOTRUN -> [SKIP][55] ([i915#4077]) +8 other tests skip [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-11/igt@gem_mmap_gtt@cpuset-big-copy-odd.html * igt@gem_mmap_gtt@hang-busy: - shard-mtlp: NOTRUN -> [SKIP][56] ([i915#4077]) +13 other tests skip [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-8/igt@gem_mmap_gtt@hang-busy.html * igt@gem_mmap_wc@write-read: - shard-mtlp: NOTRUN -> [SKIP][57] ([i915#4083]) +5 other tests skip [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-3/igt@gem_mmap_wc@write-read.html * igt@gem_partial_pwrite_pread@writes-after-reads-display: - shard-dg2: NOTRUN -> [SKIP][58] ([i915#3282]) +4 other tests skip [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-6/igt@gem_partial_pwrite_pread@writes-after-reads-display.html * igt@gem_pread@exhaustion: - shard-dg1: NOTRUN -> [SKIP][59] ([i915#3282]) +1 other test skip [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-18/igt@gem_pread@exhaustion.html * igt@gem_pxp@fail-invalid-protected-context: - shard-rkl: NOTRUN -> [SKIP][60] ([i915#4270]) [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-2/igt@gem_pxp@fail-invalid-protected-context.html * igt@gem_pxp@reject-modify-context-protection-off-3: - shard-tglu: NOTRUN -> [SKIP][61] ([i915#4270]) [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-4/igt@gem_pxp@reject-modify-context-protection-off-3.html * igt@gem_pxp@verify-pxp-execution-after-suspend-resume: - shard-dg2: NOTRUN -> [SKIP][62] ([i915#4270]) [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-5/igt@gem_pxp@verify-pxp-execution-after-suspend-resume.html * igt@gem_pxp@verify-pxp-stale-buf-optout-execution: - shard-mtlp: NOTRUN -> [SKIP][63] ([i915#4270]) +3 other tests skip [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-5/igt@gem_pxp@verify-pxp-stale-buf-optout-execution.html * igt@gem_readwrite@read-bad-handle: - shard-mtlp: NOTRUN -> [SKIP][64] ([i915#3282]) +6 other tests skip [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-3/igt@gem_readwrite@read-bad-handle.html * igt@gem_render_copy@linear-to-vebox-y-tiled: - shard-mtlp: NOTRUN -> [SKIP][65] ([i915#8428]) +7 other tests skip [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-3/igt@gem_render_copy@linear-to-vebox-y-tiled.html * igt@gem_softpin@evict-snoop: - shard-dg2: NOTRUN -> [SKIP][66] ([i915#4885]) [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-6/igt@gem_softpin@evict-snoop.html * igt@gem_tiled_pread_basic: - shard-mtlp: NOTRUN -> [SKIP][67] ([i915#4079]) +5 other tests skip [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-7/igt@gem_tiled_pread_basic.html * igt@gem_tiled_pread_pwrite: - shard-dg2: NOTRUN -> [SKIP][68] ([i915#4079]) [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-2/igt@gem_tiled_pread_pwrite.html * igt@gem_userptr_blits@dmabuf-sync: - shard-dg2: NOTRUN -> [SKIP][69] ([i915#3297]) [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-10/igt@gem_userptr_blits@dmabuf-sync.html - shard-rkl: NOTRUN -> [SKIP][70] ([i915#3323]) [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-6/igt@gem_userptr_blits@dmabuf-sync.html * igt@gem_userptr_blits@map-fixed-invalidate-busy: - shard-dg2: NOTRUN -> [SKIP][71] ([i915#3297] / [i915#4880]) [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-6/igt@gem_userptr_blits@map-fixed-invalidate-busy.html * igt@gem_userptr_blits@mmap-offset-banned@gtt: - shard-mtlp: NOTRUN -> [SKIP][72] ([i915#3297]) +2 other tests skip [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-8/igt@gem_userptr_blits@mmap-offset-banned@gtt.html * igt@gem_userptr_blits@readonly-pwrite-unsync: - shard-rkl: NOTRUN -> [SKIP][73] ([i915#3297]) [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-4/igt@gem_userptr_blits@readonly-pwrite-unsync.html - shard-dg1: NOTRUN -> [SKIP][74] ([i915#3297]) +1 other test skip [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-14/igt@gem_userptr_blits@readonly-pwrite-unsync.html * igt@gem_userptr_blits@sd-probe: - shard-dg2: NOTRUN -> [SKIP][75] ([i915#3297] / [i915#4958]) [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-6/igt@gem_userptr_blits@sd-probe.html - shard-dg1: NOTRUN -> [SKIP][76] ([i915#3297] / [i915#4958]) [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-14/igt@gem_userptr_blits@sd-probe.html * igt@gen7_exec_parse@basic-allocation: - shard-rkl: NOTRUN -> [SKIP][77] ([fdo#109289]) [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-2/igt@gen7_exec_parse@basic-allocation.html - shard-dg1: NOTRUN -> [SKIP][78] ([fdo#109289]) +1 other test skip [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-17/igt@gen7_exec_parse@basic-allocation.html * igt@gen9_exec_parse@secure-batches: - shard-rkl: NOTRUN -> [SKIP][79] ([i915#2527]) +1 other test skip [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-4/igt@gen9_exec_parse@secure-batches.html * igt@gen9_exec_parse@shadow-peek: - shard-dg1: NOTRUN -> [SKIP][80] ([i915#2527]) [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-18/igt@gen9_exec_parse@shadow-peek.html * igt@gen9_exec_parse@unaligned-jump: - shard-mtlp: NOTRUN -> [SKIP][81] ([i915#2856]) +2 other tests skip [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-7/igt@gen9_exec_parse@unaligned-jump.html - shard-dg2: NOTRUN -> [SKIP][82] ([i915#2856]) +1 other test skip [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-1/igt@gen9_exec_parse@unaligned-jump.html * igt@i915_hwmon@hwmon-read: - shard-mtlp: NOTRUN -> [SKIP][83] ([i915#7707]) [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-8/igt@i915_hwmon@hwmon-read.html * igt@i915_module_load@load: - shard-snb: NOTRUN -> [SKIP][84] ([fdo#109271] / [i915#6227]) [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-snb5/igt@i915_module_load@load.html * igt@i915_module_load@resize-bar: - shard-rkl: NOTRUN -> [SKIP][85] ([i915#6412]) [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-6/igt@i915_module_load@resize-bar.html * igt@i915_pm_freq_api@freq-reset: - shard-rkl: NOTRUN -> [SKIP][86] ([i915#8399]) [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-6/igt@i915_pm_freq_api@freq-reset.html * igt@i915_pm_freq_mult@media-freq@gt1: - shard-mtlp: NOTRUN -> [SKIP][87] ([i915#6590]) +1 other test skip [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-8/igt@i915_pm_freq_mult@media-freq@gt1.html * igt@i915_pm_rpm@dpms-non-lpsp: - shard-mtlp: NOTRUN -> [SKIP][88] ([i915#1397]) +2 other tests skip [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-6/igt@i915_pm_rpm@dpms-non-lpsp.html * igt@i915_pm_rpm@modeset-lpsp: - shard-dg1: [PASS][89] -> [SKIP][90] ([i915#1397]) +1 other test skip [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-dg1-19/igt@i915_pm_rpm@modeset-lpsp.html [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-13/igt@i915_pm_rpm@modeset-lpsp.html * igt@i915_pm_rps@min-max-config-idle: - shard-dg1: NOTRUN -> [SKIP][91] ([i915#6621]) [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-18/igt@i915_pm_rps@min-max-config-idle.html - shard-mtlp: NOTRUN -> [SKIP][92] ([i915#6621]) [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-3/igt@i915_pm_rps@min-max-config-idle.html * igt@i915_pm_rps@waitboost: - shard-mtlp: NOTRUN -> [FAIL][93] ([i915#8346]) [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-2/igt@i915_pm_rps@waitboost.html * igt@i915_query@hwconfig_table: - shard-rkl: NOTRUN -> [SKIP][94] ([i915#6245]) [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-2/igt@i915_query@hwconfig_table.html * igt@i915_query@query-topology-known-pci-ids: - shard-mtlp: NOTRUN -> [SKIP][95] ([fdo#109303]) [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-3/igt@i915_query@query-topology-known-pci-ids.html * igt@i915_query@query-topology-unsupported: - shard-dg2: NOTRUN -> [SKIP][96] ([fdo#109302]) [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-11/igt@i915_query@query-topology-unsupported.html * igt@i915_query@test-query-geometry-subslices: - shard-rkl: NOTRUN -> [SKIP][97] ([i915#5723]) [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-4/igt@i915_query@test-query-geometry-subslices.html * igt@i915_selftest@live@gt_engines: - shard-mtlp: NOTRUN -> [FAIL][98] ([i915#9278] / [i915#9290]) [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-4/igt@i915_selftest@live@gt_engines.html * igt@i915_selftest@live@gt_pm: - shard-mtlp: NOTRUN -> [DMESG-FAIL][99] ([i915#9270]) [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-4/igt@i915_selftest@live@gt_pm.html * igt@i915_suspend@debugfs-reader: - shard-mtlp: NOTRUN -> [ABORT][100] ([i915#7461] / [i915#9262]) [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-4/igt@i915_suspend@debugfs-reader.html * igt@kms_addfb_basic@framebuffer-vs-set-tiling: - shard-mtlp: NOTRUN -> [SKIP][101] ([i915#4212]) [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-4/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-3-4-mc_ccs: - shard-dg2: NOTRUN -> [SKIP][102] ([i915#8502] / [i915#8709]) +11 other tests skip [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-5/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-3-4-mc_ccs.html * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-3-y-rc_ccs: - shard-dg1: NOTRUN -> [SKIP][103] ([i915#8502]) +7 other tests skip [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-13/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-3-y-rc_ccs.html * igt@kms_async_flips@crc@pipe-b-hdmi-a-3: - shard-dg1: NOTRUN -> [FAIL][104] ([i915#8247]) +3 other tests fail [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-12/igt@kms_async_flips@crc@pipe-b-hdmi-a-3.html * igt@kms_async_flips@test-cursor: - shard-mtlp: NOTRUN -> [SKIP][105] ([i915#6229]) [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-3/igt@kms_async_flips@test-cursor.html * igt@kms_atomic_transition@plane-all-modeset-transition: - shard-mtlp: NOTRUN -> [SKIP][106] ([i915#1769] / [i915#3555]) [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-8/igt@kms_atomic_transition@plane-all-modeset-transition.html * igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels: - shard-rkl: NOTRUN -> [SKIP][107] ([i915#1769] / [i915#3555]) [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-7/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html * igt@kms_big_fb@4-tiled-16bpp-rotate-270: - shard-mtlp: NOTRUN -> [SKIP][108] ([fdo#111614]) +5 other tests skip [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-5/igt@kms_big_fb@4-tiled-16bpp-rotate-270.html * igt@kms_big_fb@4-tiled-32bpp-rotate-90: - shard-dg2: NOTRUN -> [SKIP][109] ([fdo#111614]) +1 other test skip [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-6/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip: - shard-rkl: NOTRUN -> [SKIP][110] ([i915#5286]) +2 other tests skip [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-7/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html - shard-dg1: NOTRUN -> [SKIP][111] ([i915#4538] / [i915#5286]) +1 other test skip [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-14/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip: - shard-mtlp: NOTRUN -> [FAIL][112] ([i915#5138]) [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-8/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html * igt@kms_big_fb@y-tiled-8bpp-rotate-90: - shard-dg2: NOTRUN -> [SKIP][113] ([i915#5190]) +10 other tests skip [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-1/igt@kms_big_fb@y-tiled-8bpp-rotate-90.html * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0: - shard-mtlp: NOTRUN -> [SKIP][114] ([fdo#111615]) +15 other tests skip [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-8/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0.html * igt@kms_big_fb@yf-tiled-16bpp-rotate-0: - shard-dg1: NOTRUN -> [SKIP][115] ([i915#4538]) +1 other test skip [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-15/igt@kms_big_fb@yf-tiled-16bpp-rotate-0.html * igt@kms_big_fb@yf-tiled-16bpp-rotate-270: - shard-rkl: NOTRUN -> [SKIP][116] ([fdo#110723]) +4 other tests skip [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-2/igt@kms_big_fb@yf-tiled-16bpp-rotate-270.html * igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow: - shard-mtlp: NOTRUN -> [SKIP][117] ([i915#6187]) [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-8/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip: - shard-tglu: NOTRUN -> [SKIP][118] ([fdo#111615]) [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-5/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip.html * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip: - shard-dg2: NOTRUN -> [SKIP][119] ([i915#4538] / [i915#5190]) +6 other tests skip [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-2/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip.html * igt@kms_big_joiner@2x-modeset: - shard-mtlp: NOTRUN -> [SKIP][120] ([i915#2705]) +1 other test skip [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-5/igt@kms_big_joiner@2x-modeset.html * igt@kms_ccs@pipe-a-bad-aux-stride-y_tiled_gen12_mc_ccs: - shard-dg1: NOTRUN -> [SKIP][121] ([i915#3689] / [i915#3886] / [i915#5354] / [i915#6095]) +3 other tests skip [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-14/igt@kms_ccs@pipe-a-bad-aux-stride-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-a-bad-pixel-format-y_tiled_gen12_rc_ccs_cc: - shard-mtlp: NOTRUN -> [SKIP][122] ([i915#3886] / [i915#6095]) +15 other tests skip [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-8/igt@kms_ccs@pipe-a-bad-pixel-format-y_tiled_gen12_rc_ccs_cc.html * igt@kms_ccs@pipe-a-bad-rotation-90-y_tiled_ccs: - shard-tglu: NOTRUN -> [SKIP][123] ([i915#3689] / [i915#5354] / [i915#6095]) +1 other test skip [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-10/igt@kms_ccs@pipe-a-bad-rotation-90-y_tiled_ccs.html * igt@kms_ccs@pipe-a-crc-primary-rotation-180-4_tiled_dg2_rc_ccs: - shard-apl: NOTRUN -> [SKIP][124] ([fdo#109271]) +42 other tests skip [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-apl4/igt@kms_ccs@pipe-a-crc-primary-rotation-180-4_tiled_dg2_rc_ccs.html - shard-mtlp: NOTRUN -> [SKIP][125] ([i915#5354] / [i915#6095]) [125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-7/igt@kms_ccs@pipe-a-crc-primary-rotation-180-4_tiled_dg2_rc_ccs.html * igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_mc_ccs: - shard-tglu: NOTRUN -> [SKIP][126] ([i915#3689] / [i915#3886] / [i915#5354] / [i915#6095]) +1 other test skip [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-4/igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-b-bad-pixel-format-4_tiled_mtl_rc_ccs: - shard-rkl: NOTRUN -> [SKIP][127] ([i915#5354] / [i915#6095]) +13 other tests skip [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-6/igt@kms_ccs@pipe-b-bad-pixel-format-4_tiled_mtl_rc_ccs.html - shard-dg1: NOTRUN -> [SKIP][128] ([i915#5354] / [i915#6095]) +7 other tests skip [128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-15/igt@kms_ccs@pipe-b-bad-pixel-format-4_tiled_mtl_rc_ccs.html * igt@kms_ccs@pipe-b-bad-rotation-90-4_tiled_dg2_rc_ccs: - shard-dg1: NOTRUN -> [SKIP][129] ([i915#3689] / [i915#5354] / [i915#6095]) +6 other tests skip [129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-19/igt@kms_ccs@pipe-b-bad-rotation-90-4_tiled_dg2_rc_ccs.html * igt@kms_ccs@pipe-b-ccs-on-another-bo-yf_tiled_ccs: - shard-tglu: NOTRUN -> [SKIP][130] ([fdo#111615] / [i915#3689] / [i915#5354] / [i915#6095]) [130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-7/igt@kms_ccs@pipe-b-ccs-on-another-bo-yf_tiled_ccs.html * igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_gen12_mc_ccs: - shard-rkl: NOTRUN -> [SKIP][131] ([i915#3886] / [i915#5354] / [i915#6095]) [131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-4/igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-b-crc-sprite-planes-basic-4_tiled_mtl_mc_ccs: - shard-tglu: NOTRUN -> [SKIP][132] ([i915#5354] / [i915#6095]) +3 other tests skip [132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-10/igt@kms_ccs@pipe-b-crc-sprite-planes-basic-4_tiled_mtl_mc_ccs.html * igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_ccs: - shard-mtlp: NOTRUN -> [SKIP][133] ([i915#6095]) +40 other tests skip [133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-5/igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_ccs.html * igt@kms_ccs@pipe-c-bad-rotation-90-y_tiled_gen12_rc_ccs_cc: - shard-dg2: NOTRUN -> [SKIP][134] ([i915#3689] / [i915#3886] / [i915#5354]) +6 other tests skip [134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-11/igt@kms_ccs@pipe-c-bad-rotation-90-y_tiled_gen12_rc_ccs_cc.html - shard-rkl: NOTRUN -> [SKIP][135] ([i915#5354]) +18 other tests skip [135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-6/igt@kms_ccs@pipe-c-bad-rotation-90-y_tiled_gen12_rc_ccs_cc.html * igt@kms_ccs@pipe-d-bad-aux-stride-y_tiled_gen12_mc_ccs: - shard-dg2: NOTRUN -> [SKIP][136] ([i915#3689] / [i915#5354]) +13 other tests skip [136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-5/igt@kms_ccs@pipe-d-bad-aux-stride-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-d-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs: - shard-dg2: NOTRUN -> [SKIP][137] ([i915#5354]) +37 other tests skip [137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-1/igt@kms_ccs@pipe-d-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs.html * igt@kms_cdclk@mode-transition-all-outputs: - shard-mtlp: NOTRUN -> [SKIP][138] ([i915#7213] / [i915#9010]) [138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-7/igt@kms_cdclk@mode-transition-all-outputs.html * igt@kms_cdclk@plane-scaling: - shard-rkl: NOTRUN -> [SKIP][139] ([i915#3742]) [139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-7/igt@kms_cdclk@plane-scaling.html - shard-dg1: NOTRUN -> [SKIP][140] ([i915#3742]) [140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-12/igt@kms_cdclk@plane-scaling.html * igt@kms_cdclk@plane-scaling@pipe-b-dp-4: - shard-dg2: NOTRUN -> [SKIP][141] ([i915#4087]) +3 other tests skip [141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-11/igt@kms_cdclk@plane-scaling@pipe-b-dp-4.html * igt@kms_cdclk@plane-scaling@pipe-c-edp-1: - shard-mtlp: NOTRUN -> [SKIP][142] ([i915#4087]) +3 other tests skip [142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-2/igt@kms_cdclk@plane-scaling@pipe-c-edp-1.html * igt@kms_chamelium_color@ctm-0-50: - shard-tglu: NOTRUN -> [SKIP][143] ([fdo#111827]) [143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-9/igt@kms_chamelium_color@ctm-0-50.html * igt@kms_chamelium_color@ctm-green-to-red: - shard-dg2: NOTRUN -> [SKIP][144] ([fdo#111827]) [144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-10/igt@kms_chamelium_color@ctm-green-to-red.html - shard-mtlp: NOTRUN -> [SKIP][145] ([fdo#111827]) +2 other tests skip [145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-6/igt@kms_chamelium_color@ctm-green-to-red.html * igt@kms_chamelium_color@ctm-limited-range: - shard-rkl: NOTRUN -> [SKIP][146] ([fdo#111827]) [146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-1/igt@kms_chamelium_color@ctm-limited-range.html * igt@kms_chamelium_edid@dp-edid-read: - shard-dg1: NOTRUN -> [SKIP][147] ([i915#7828]) +1 other test skip [147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-18/igt@kms_chamelium_edid@dp-edid-read.html * igt@kms_chamelium_frames@hdmi-crc-multiple: - shard-dg2: NOTRUN -> [SKIP][148] ([i915#7828]) +5 other tests skip [148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-1/igt@kms_chamelium_frames@hdmi-crc-multiple.html * igt@kms_chamelium_hpd@dp-hpd-enable-disable-mode: - shard-rkl: NOTRUN -> [SKIP][149] ([i915#7828]) +3 other tests skip [149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-2/igt@kms_chamelium_hpd@dp-hpd-enable-disable-mode.html * igt@kms_chamelium_hpd@dp-hpd-storm: - shard-tglu: NOTRUN -> [SKIP][150] ([i915#7828]) +1 other test skip [150]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-10/igt@kms_chamelium_hpd@dp-hpd-storm.html * igt@kms_chamelium_hpd@vga-hpd-enable-disable-mode: - shard-mtlp: NOTRUN -> [SKIP][151] ([i915#7828]) +12 other tests skip [151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-3/igt@kms_chamelium_hpd@vga-hpd-enable-disable-mode.html * igt@kms_color@deep-color@pipe-b-edp-1-degamma: - shard-mtlp: NOTRUN -> [FAIL][152] ([i915#6892]) +3 other tests fail [152]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-6/igt@kms_color@deep-color@pipe-b-edp-1-degamma.html * igt@kms_concurrent@pipe-d: - shard-rkl: NOTRUN -> [SKIP][153] ([i915#4070] / [i915#533] / [i915#6768]) +4 other tests skip [153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-2/igt@kms_concurrent@pipe-d.html * igt@kms_content_protection@legacy: - shard-dg2: NOTRUN -> [SKIP][154] ([i915#7118]) [154]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-7/igt@kms_content_protection@legacy.html * igt@kms_content_protection@mei_interface: - shard-mtlp: NOTRUN -> [SKIP][155] ([i915#8063]) [155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-8/igt@kms_content_protection@mei_interface.html * igt@kms_content_protection@type1: - shard-rkl: NOTRUN -> [SKIP][156] ([i915#7118]) +1 other test skip [156]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-2/igt@kms_content_protection@type1.html * igt@kms_content_protection@uevent: - shard-mtlp: NOTRUN -> [SKIP][157] ([i915#6944]) +1 other test skip [157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-6/igt@kms_content_protection@uevent.html * igt@kms_cursor_crc@cursor-offscreen-512x170: - shard-dg2: NOTRUN -> [SKIP][158] ([i915#3359]) [158]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-2/igt@kms_cursor_crc@cursor-offscreen-512x170.html - shard-rkl: NOTRUN -> [SKIP][159] ([fdo#109279] / [i915#3359]) [159]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-4/igt@kms_cursor_crc@cursor-offscreen-512x170.html - shard-dg1: NOTRUN -> [SKIP][160] ([i915#3359]) [160]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-12/igt@kms_cursor_crc@cursor-offscreen-512x170.html * igt@kms_cursor_crc@cursor-onscreen-512x170: - shard-mtlp: NOTRUN -> [SKIP][161] ([i915#3359]) +2 other tests skip [161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-3/igt@kms_cursor_crc@cursor-onscreen-512x170.html * igt@kms_cursor_crc@cursor-onscreen-max-size: - shard-tglu: NOTRUN -> [SKIP][162] ([i915#3555]) +2 other tests skip [162]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-7/igt@kms_cursor_crc@cursor-onscreen-max-size.html * igt@kms_cursor_crc@cursor-random-32x10: - shard-rkl: NOTRUN -> [SKIP][163] ([i915#3555]) +2 other tests skip [163]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-7/igt@kms_cursor_crc@cursor-random-32x10.html * igt@kms_cursor_crc@cursor-rapid-movement-32x10: - shard-mtlp: NOTRUN -> [SKIP][164] ([i915#3555] / [i915#8814]) +4 other tests skip [164]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-8/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html * igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic: - shard-rkl: NOTRUN -> [SKIP][165] ([fdo#111767] / [fdo#111825]) [165]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-2/igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic.html * igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic: - shard-mtlp: NOTRUN -> [SKIP][166] ([i915#3546]) +1 other test skip [166]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-3/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size: - shard-rkl: NOTRUN -> [SKIP][167] ([i915#4103]) +1 other test skip [167]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html - shard-dg1: NOTRUN -> [SKIP][168] ([i915#4103] / [i915#4213]) [168]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-12/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html * igt@kms_cursor_legacy@cursor-vs-flip-toggle: - shard-mtlp: NOTRUN -> [FAIL][169] ([i915#8248]) [169]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-3/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html * igt@kms_cursor_legacy@cursora-vs-flipb-varying-size: - shard-dg1: NOTRUN -> [SKIP][170] ([fdo#111825]) +10 other tests skip [170]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-15/igt@kms_cursor_legacy@cursora-vs-flipb-varying-size.html * igt@kms_cursor_legacy@cursorb-vs-flipa-legacy: - shard-rkl: NOTRUN -> [SKIP][171] ([fdo#111825]) +11 other tests skip [171]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-4/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html * igt@kms_cursor_legacy@cursorb-vs-flipa-toggle: - shard-dg2: NOTRUN -> [SKIP][172] ([fdo#109274] / [i915#5354]) +3 other tests skip [172]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-6/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions: - shard-mtlp: NOTRUN -> [SKIP][173] ([fdo#111767] / [i915#3546]) [173]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-8/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions.html * igt@kms_cursor_legacy@cursorb-vs-flipb-legacy: - shard-tglu: NOTRUN -> [SKIP][174] ([fdo#109274]) [174]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-7/igt@kms_cursor_legacy@cursorb-vs-flipb-legacy.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions: - shard-apl: [PASS][175] -> [FAIL][176] ([i915#2346]) [175]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-apl2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html [176]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-apl1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size: - shard-glk: [PASS][177] -> [FAIL][178] ([i915#2346]) [177]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-glk4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html [178]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-glk6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions: - shard-dg2: NOTRUN -> [SKIP][179] ([i915#4103] / [i915#4213]) +1 other test skip [179]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-1/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html * igt@kms_cursor_legacy@single-move@all-pipes: - shard-mtlp: NOTRUN -> [DMESG-WARN][180] ([i915#2017]) [180]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-4/igt@kms_cursor_legacy@single-move@all-pipes.html * igt@kms_dirtyfb@dirtyfb-ioctl@fbc-hdmi-a-1: - shard-tglu: NOTRUN -> [SKIP][181] ([i915#9227]) [181]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-3/igt@kms_dirtyfb@dirtyfb-ioctl@fbc-hdmi-a-1.html * igt@kms_dirtyfb@dirtyfb-ioctl@fbc-hdmi-a-4: - shard-dg1: NOTRUN -> [SKIP][182] ([i915#9227]) [182]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-17/igt@kms_dirtyfb@dirtyfb-ioctl@fbc-hdmi-a-4.html * igt@kms_dirtyfb@dirtyfb-ioctl@psr-hdmi-a-1: - shard-tglu: NOTRUN -> [SKIP][183] ([i915#9226] / [i915#9261]) +1 other test skip [183]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-3/igt@kms_dirtyfb@dirtyfb-ioctl@psr-hdmi-a-1.html * igt@kms_dirtyfb@dirtyfb-ioctl@psr-hdmi-a-4: - shard-dg1: NOTRUN -> [SKIP][184] ([i915#9226] / [i915#9261]) +1 other test skip [184]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-17/igt@kms_dirtyfb@dirtyfb-ioctl@psr-hdmi-a-4.html * igt@kms_display_modes@extended-mode-basic: - shard-mtlp: NOTRUN -> [SKIP][185] ([i915#3555] / [i915#8827]) [185]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-3/igt@kms_display_modes@extended-mode-basic.html * igt@kms_display_modes@mst-extended-mode-negative: - shard-mtlp: NOTRUN -> [SKIP][186] ([i915#8588]) [186]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-8/igt@kms_display_modes@mst-extended-mode-negative.html * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2: - shard-rkl: NOTRUN -> [SKIP][187] ([i915#3804]) [187]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-2/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2.html * igt@kms_dither@fb-8bpc-vs-panel-8bpc: - shard-dg2: NOTRUN -> [SKIP][188] ([i915#3555]) +5 other tests skip [188]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-3/igt@kms_dither@fb-8bpc-vs-panel-8bpc.html * igt@kms_draw_crc@draw-method-mmap-gtt: - shard-dg2: NOTRUN -> [SKIP][189] ([i915#8812]) [189]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-11/igt@kms_draw_crc@draw-method-mmap-gtt.html * igt@kms_dsc@dsc-with-bpc: - shard-rkl: NOTRUN -> [SKIP][190] ([i915#3555] / [i915#3840]) [190]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-6/igt@kms_dsc@dsc-with-bpc.html * igt@kms_dsc@dsc-with-bpc-formats: - shard-dg1: NOTRUN -> [SKIP][191] ([i915#3555] / [i915#3840]) [191]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-12/igt@kms_dsc@dsc-with-bpc-formats.html * igt@kms_fbcon_fbt@psr-suspend: - shard-tglu: NOTRUN -> [SKIP][192] ([i915#3469]) [192]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-10/igt@kms_fbcon_fbt@psr-suspend.html * igt@kms_flip@2x-absolute-wf_vblank: - shard-tglu: NOTRUN -> [SKIP][193] ([fdo#109274] / [i915#3637] / [i915#3966]) [193]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-8/igt@kms_flip@2x-absolute-wf_vblank.html * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible: - shard-mtlp: NOTRUN -> [SKIP][194] ([fdo#111767] / [i915#3637]) [194]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-5/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html - shard-apl: NOTRUN -> [SKIP][195] ([fdo#109271] / [fdo#111767]) [195]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-apl3/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html * igt@kms_flip@2x-flip-vs-fences-interruptible: - shard-dg2: NOTRUN -> [SKIP][196] ([i915#8381]) +1 other test skip [196]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-10/igt@kms_flip@2x-flip-vs-fences-interruptible.html * igt@kms_flip@2x-flip-vs-suspend: - shard-mtlp: NOTRUN -> [SKIP][197] ([i915#3637]) +8 other tests skip [197]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-2/igt@kms_flip@2x-flip-vs-suspend.html * igt@kms_flip@2x-flip-vs-wf_vblank-interruptible: - shard-dg2: NOTRUN -> [SKIP][198] ([fdo#109274]) +9 other tests skip [198]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-5/igt@kms_flip@2x-flip-vs-wf_vblank-interruptible.html * igt@kms_flip@flip-vs-fences: - shard-mtlp: NOTRUN -> [SKIP][199] ([i915#8381]) [199]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-6/igt@kms_flip@flip-vs-fences.html - shard-dg1: NOTRUN -> [SKIP][200] ([i915#8381]) [200]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-16/igt@kms_flip@flip-vs-fences.html * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode: - shard-mtlp: NOTRUN -> [SKIP][201] ([i915#2672]) +6 other tests skip [201]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-7/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode.html * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling@pipe-a-valid-mode: - shard-dg2: NOTRUN -> [SKIP][202] ([i915#2672]) +2 other tests skip [202]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-1/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling@pipe-a-valid-mode.html - shard-rkl: NOTRUN -> [SKIP][203] ([i915#2672]) [203]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-2/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling@pipe-a-valid-mode.html - shard-dg1: NOTRUN -> [SKIP][204] ([i915#2587] / [i915#2672]) [204]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-18/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling@pipe-a-valid-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling@pipe-a-valid-mode: - shard-tglu: NOTRUN -> [SKIP][205] ([i915#2587] / [i915#2672]) [205]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-3/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling@pipe-a-valid-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling@pipe-a-default-mode: - shard-mtlp: NOTRUN -> [SKIP][206] ([i915#3555] / [i915#8810]) [206]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-5/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling@pipe-a-default-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-default-mode: - shard-mtlp: NOTRUN -> [SKIP][207] ([i915#2672] / [i915#3555]) +1 other test skip [207]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-4/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-default-mode.html * igt@kms_force_connector_basic@force-load-detect: - shard-mtlp: NOTRUN -> [SKIP][208] ([fdo#109285]) [208]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-8/igt@kms_force_connector_basic@force-load-detect.html * igt@kms_frontbuffer_tracking@fbc-2p-indfb-fliptrack-mmap-gtt: - shard-mtlp: NOTRUN -> [SKIP][209] ([i915#8708]) +8 other tests skip [209]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-7/igt@kms_frontbuffer_tracking@fbc-2p-indfb-fliptrack-mmap-gtt.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-blt: - shard-mtlp: NOTRUN -> [SKIP][210] ([i915#1825]) +47 other tests skip [210]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-4/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-pwrite: - shard-tglu: NOTRUN -> [SKIP][211] ([fdo#109280]) +6 other tests skip [211]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-3/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-pwrite.html * igt@kms_frontbuffer_tracking@fbc-rgb565-draw-mmap-cpu: - shard-dg2: [PASS][212] -> [FAIL][213] ([i915#6880]) +1 other test fail [212]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-dg2-5/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-mmap-cpu.html [213]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-5/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-indfb-fliptrack-mmap-gtt: - shard-dg2: NOTRUN -> [SKIP][214] ([i915#8708]) +18 other tests skip [214]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsr-1p-indfb-fliptrack-mmap-gtt.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-move: - shard-rkl: NOTRUN -> [SKIP][215] ([i915#3023]) +14 other tests skip [215]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-move.html * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt: - shard-dg1: NOTRUN -> [SKIP][216] ([i915#3458]) +5 other tests skip [216]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-15/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move: - shard-dg2: NOTRUN -> [SKIP][217] ([i915#3458]) +20 other tests skip [217]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-2/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html * igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-render: - shard-rkl: NOTRUN -> [SKIP][218] ([fdo#111825] / [i915#1825]) +19 other tests skip [218]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-render.html * igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-wc: - shard-dg1: NOTRUN -> [SKIP][219] ([i915#8708]) +10 other tests skip [219]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-15/igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary: - shard-tglu: NOTRUN -> [SKIP][220] ([fdo#110189]) +5 other tests skip [220]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-3/igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary.html * igt@kms_hdr@bpc-switch: - shard-tglu: NOTRUN -> [SKIP][221] ([i915#3555] / [i915#8228]) [221]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-9/igt@kms_hdr@bpc-switch.html * igt@kms_hdr@invalid-metadata-sizes: - shard-dg2: NOTRUN -> [SKIP][222] ([i915#3555] / [i915#8228]) [222]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-1/igt@kms_hdr@invalid-metadata-sizes.html * igt@kms_hdr@static-swap: - shard-rkl: NOTRUN -> [SKIP][223] ([i915#3555] / [i915#8228]) +2 other tests skip [223]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-2/igt@kms_hdr@static-swap.html * igt@kms_hdr@static-toggle-suspend: - shard-mtlp: NOTRUN -> [SKIP][224] ([i915#3555] / [i915#8228]) +1 other test skip [224]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-3/igt@kms_hdr@static-toggle-suspend.html * igt@kms_invalid_mode@clock-too-high@edp-1-pipe-d: - shard-mtlp: NOTRUN -> [SKIP][225] ([i915#6403]) +3 other tests skip [225]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-7/igt@kms_invalid_mode@clock-too-high@edp-1-pipe-d.html * igt@kms_multipipe_modeset@basic-max-pipe-crc-check: - shard-mtlp: NOTRUN -> [SKIP][226] ([i915#4816]) [226]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-5/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html * igt@kms_panel_fitting@legacy: - shard-dg2: NOTRUN -> [SKIP][227] ([i915#6301]) [227]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-10/igt@kms_panel_fitting@legacy.html * igt@kms_pipe_b_c_ivb@pipe-b-double-modeset-then-modeset-pipe-c: - shard-dg2: NOTRUN -> [SKIP][228] ([fdo#109289]) +2 other tests skip [228]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-11/igt@kms_pipe_b_c_ivb@pipe-b-double-modeset-then-modeset-pipe-c.html * igt@kms_pipe_b_c_ivb@pipe-b-dpms-off-modeset-pipe-c: - shard-mtlp: NOTRUN -> [SKIP][229] ([fdo#109289]) +3 other tests skip [229]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-5/igt@kms_pipe_b_c_ivb@pipe-b-dpms-off-modeset-pipe-c.html * igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-2: - shard-rkl: NOTRUN -> [FAIL][230] ([i915#8292]) [230]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-6/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-2.html * igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-d-hdmi-a-3: - shard-dg2: NOTRUN -> [SKIP][231] ([i915#5176]) +7 other tests skip [231]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-7/igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-d-hdmi-a-3.html * igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-25@pipe-c-edp-1: - shard-mtlp: NOTRUN -> [SKIP][232] ([i915#5176]) +5 other tests skip [232]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-3/igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-25@pipe-c-edp-1.html * igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-75@pipe-a-hdmi-a-4: - shard-dg1: NOTRUN -> [SKIP][233] ([i915#5176]) +19 other tests skip [233]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-14/igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-75@pipe-a-hdmi-a-4.html * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-b-hdmi-a-2: - shard-rkl: NOTRUN -> [SKIP][234] ([i915#5176]) +1 other test skip [234]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-6/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-b-hdmi-a-2.html * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-a-hdmi-a-3: - shard-dg1: NOTRUN -> [SKIP][235] ([i915#5235]) +11 other tests skip [235]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-13/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-a-hdmi-a-3.html * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-b-hdmi-a-2: - shard-rkl: NOTRUN -> [SKIP][236] ([i915#5235]) +3 other tests skip [236]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-4/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-b-hdmi-a-2.html * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-d-edp-1: - shard-mtlp: NOTRUN -> [SKIP][237] ([i915#5235]) +15 other tests skip [237]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-1/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-d-edp-1.html * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-dp-4: - shard-dg2: NOTRUN -> [SKIP][238] ([i915#5235]) +11 other tests skip [238]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-11/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-dp-4.html * igt@kms_prime@basic-modeset-hybrid: - shard-dg2: NOTRUN -> [SKIP][239] ([i915#6524] / [i915#6805]) [239]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-2/igt@kms_prime@basic-modeset-hybrid.html - shard-rkl: NOTRUN -> [SKIP][240] ([i915#6524]) [240]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-4/igt@kms_prime@basic-modeset-hybrid.html * igt@kms_prime@d3hot: - shard-mtlp: NOTRUN -> [SKIP][241] ([i915#6524]) [241]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-3/igt@kms_prime@d3hot.html * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area: - shard-rkl: NOTRUN -> [SKIP][242] ([fdo#111068] / [i915#658]) [242]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-6/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area.html * igt@kms_psr2_su@frontbuffer-xrgb8888: - shard-tglu: NOTRUN -> [SKIP][243] ([fdo#109642] / [fdo#111068] / [i915#658]) [243]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-3/igt@kms_psr2_su@frontbuffer-xrgb8888.html * igt@kms_psr2_su@page_flip-nv12: - shard-mtlp: NOTRUN -> [SKIP][244] ([i915#4348]) [244]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-7/igt@kms_psr2_su@page_flip-nv12.html * igt@kms_psr2_su@page_flip-xrgb8888: - shard-dg2: NOTRUN -> [SKIP][245] ([i915#658]) [245]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-11/igt@kms_psr2_su@page_flip-xrgb8888.html * igt@kms_psr@psr2_cursor_plane_onoff: - shard-rkl: NOTRUN -> [SKIP][246] ([i915#1072]) +6 other tests skip [246]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-6/igt@kms_psr@psr2_cursor_plane_onoff.html - shard-dg1: NOTRUN -> [SKIP][247] ([i915#1072]) +3 other tests skip [247]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-17/igt@kms_psr@psr2_cursor_plane_onoff.html * igt@kms_psr@psr2_dpms: - shard-dg2: NOTRUN -> [SKIP][248] ([i915#1072]) +9 other tests skip [248]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-6/igt@kms_psr@psr2_dpms.html * igt@kms_psr@suspend: - shard-mtlp: [PASS][249] -> [ABORT][250] ([i915#9262]) [249]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-mtlp-2/igt@kms_psr@suspend.html [250]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-1/igt@kms_psr@suspend.html * igt@kms_psr_stress_test@flip-primary-invalidate-overlay: - shard-tglu: NOTRUN -> [SKIP][251] ([i915#5461] / [i915#658]) [251]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-4/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html * igt@kms_rotation_crc@bad-pixel-format: - shard-snb: NOTRUN -> [SKIP][252] ([fdo#109271]) +239 other tests skip [252]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-snb2/igt@kms_rotation_crc@bad-pixel-format.html * igt@kms_rotation_crc@exhaust-fences: - shard-dg1: NOTRUN -> [SKIP][253] ([i915#4884]) [253]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-12/igt@kms_rotation_crc@exhaust-fences.html * igt@kms_rotation_crc@primary-rotation-90: - shard-mtlp: NOTRUN -> [SKIP][254] ([i915#4235]) +2 other tests skip [254]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-8/igt@kms_rotation_crc@primary-rotation-90.html * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180: - shard-mtlp: NOTRUN -> [SKIP][255] ([i915#5289]) +1 other test skip [255]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-7/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html * igt@kms_rotation_crc@sprite-rotation-270: - shard-dg2: NOTRUN -> [SKIP][256] ([i915#4235]) [256]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-5/igt@kms_rotation_crc@sprite-rotation-270.html * igt@kms_rotation_crc@sprite-rotation-90: - shard-rkl: [PASS][257] -> [INCOMPLETE][258] ([i915#8875]) [257]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-rkl-2/igt@kms_rotation_crc@sprite-rotation-90.html [258]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-2/igt@kms_rotation_crc@sprite-rotation-90.html * igt@kms_selftest@drm_cmdline: - shard-mtlp: NOTRUN -> [SKIP][259] ([i915#8661]) +2 other tests skip [259]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-4/igt@kms_selftest@drm_cmdline.html * igt@kms_selftest@drm_dp_mst: - shard-dg2: NOTRUN -> [SKIP][260] ([i915#8661]) [260]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-10/igt@kms_selftest@drm_dp_mst.html * igt@kms_setmode@invalid-clone-single-crtc: - shard-rkl: NOTRUN -> [SKIP][261] ([i915#3555] / [i915#4098]) [261]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-2/igt@kms_setmode@invalid-clone-single-crtc.html * igt@kms_sysfs_edid_timing: - shard-dg2: NOTRUN -> [FAIL][262] ([IGT#2]) [262]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-2/igt@kms_sysfs_edid_timing.html * igt@kms_tv_load_detect@load-detect: - shard-mtlp: NOTRUN -> [SKIP][263] ([fdo#109309]) [263]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-2/igt@kms_tv_load_detect@load-detect.html * igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend: - shard-snb: NOTRUN -> [DMESG-WARN][264] ([i915#8841]) +3 other tests dmesg-warn [264]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-snb4/igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend.html - shard-apl: [PASS][265] -> [INCOMPLETE][266] ([i915#180]) [265]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-apl2/igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend.html [266]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-apl3/igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend.html * igt@kms_vblank@pipe-c-ts-continuation-suspend: - shard-mtlp: NOTRUN -> [ABORT][267] ([i915#9262]) +11 other tests abort [267]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-2/igt@kms_vblank@pipe-c-ts-continuation-suspend.html * igt@kms_vblank@pipe-c-wait-forked-hang: - shard-rkl: NOTRUN -> [SKIP][268] ([i915#4070] / [i915#6768]) [268]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-6/igt@kms_vblank@pipe-c-wait-forked-hang.html * igt@kms_vrr@flip-suspend: - shard-mtlp: NOTRUN -> [SKIP][269] ([i915#3555] / [i915#8808]) [269]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-4/igt@kms_vrr@flip-suspend.html * igt@kms_writeback@writeback-pixel-formats: - shard-mtlp: NOTRUN -> [SKIP][270] ([i915#2437]) +1 other test skip [270]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-2/igt@kms_writeback@writeback-pixel-formats.html * igt@perf@blocking@1-vcs1: - shard-mtlp: NOTRUN -> [FAIL][271] ([i915#9259]) [271]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-6/igt@perf@blocking@1-vcs1.html * igt@perf@global-sseu-config: - shard-mtlp: NOTRUN -> [SKIP][272] ([i915#7387]) [272]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-5/igt@perf@global-sseu-config.html * igt@perf@per-context-mode-unprivileged: - shard-tglu: NOTRUN -> [SKIP][273] ([fdo#109289]) +1 other test skip [273]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-3/igt@perf@per-context-mode-unprivileged.html * igt@perf_pmu@busy-check-all@rcs0: - shard-mtlp: NOTRUN -> [FAIL][274] ([i915#4521]) +2 other tests fail [274]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-3/igt@perf_pmu@busy-check-all@rcs0.html * igt@perf_pmu@busy-idle-check-all@ccs3: - shard-dg2: [PASS][275] -> [FAIL][276] ([i915#4521]) +3 other tests fail [275]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-dg2-5/igt@perf_pmu@busy-idle-check-all@ccs3.html [276]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-11/igt@perf_pmu@busy-idle-check-all@ccs3.html * igt@perf_pmu@cpu-hotplug: - shard-mtlp: NOTRUN -> [SKIP][277] ([i915#8850]) [277]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-3/igt@perf_pmu@cpu-hotplug.html * igt@perf_pmu@multi-client@ccs0: - shard-mtlp: NOTRUN -> [FAIL][278] ([i915#4349]) +20 other tests fail [278]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-3/igt@perf_pmu@multi-client@ccs0.html * igt@perf_pmu@rc6-suspend: - shard-mtlp: NOTRUN -> [ABORT][279] ([i915#9262] / [i915#9268]) [279]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-1/igt@perf_pmu@rc6-suspend.html - shard-dg2: [PASS][280] -> [FAIL][281] ([fdo#103375]) [280]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-dg2-6/igt@perf_pmu@rc6-suspend.html [281]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-5/igt@perf_pmu@rc6-suspend.html * igt@perf_pmu@rc6@gt0: - shard-mtlp: NOTRUN -> [ABORT][282] ([i915#9268] / [i915#9335]) [282]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-4/igt@perf_pmu@rc6@gt0.html * igt@perf_pmu@rc6@other-idle-gt1: - shard-mtlp: NOTRUN -> [INCOMPLETE][283] ([i915#9268]) [283]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-4/igt@perf_pmu@rc6@other-idle-gt1.html * igt@perf_pmu@rc6@runtime-pm-long-gt1: - shard-mtlp: NOTRUN -> [DMESG-WARN][284] ([i915#9335]) +5 other tests dmesg-warn [284]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-4/igt@perf_pmu@rc6@runtime-pm-long-gt1.html * igt@prime_udl: - shard-dg2: NOTRUN -> [SKIP][285] ([fdo#109291]) [285]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-2/igt@prime_udl.html - shard-rkl: NOTRUN -> [SKIP][286] ([fdo#109291]) [286]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-1/igt@prime_udl.html - shard-dg1: NOTRUN -> [SKIP][287] ([fdo#109291]) [287]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-13/igt@prime_udl.html * igt@prime_vgem@basic-blt: - shard-mtlp: NOTRUN -> [FAIL][288] ([i915#8445]) [288]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-6/igt@prime_vgem@basic-blt.html * igt@prime_vgem@basic-fence-mmap: - shard-mtlp: NOTRUN -> [SKIP][289] ([i915#3708] / [i915#4077]) [289]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-7/igt@prime_vgem@basic-fence-mmap.html * igt@prime_vgem@basic-read: - shard-rkl: NOTRUN -> [SKIP][290] ([fdo#109295] / [i915#3291] / [i915#3708]) [290]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-1/igt@prime_vgem@basic-read.html * igt@prime_vgem@fence-write-hang: - shard-dg2: NOTRUN -> [SKIP][291] ([i915#3708]) [291]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-3/igt@prime_vgem@fence-write-hang.html - shard-rkl: NOTRUN -> [SKIP][292] ([fdo#109295] / [i915#3708]) [292]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-1/igt@prime_vgem@fence-write-hang.html * igt@tools_test@sysfs_l3_parity: - shard-dg1: NOTRUN -> [SKIP][293] ([fdo#109307] / [i915#4818]) [293]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-15/igt@tools_test@sysfs_l3_parity.html * igt@v3d/v3d_get_param@base-params: - shard-dg2: NOTRUN -> [SKIP][294] ([i915#2575]) +6 other tests skip [294]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-2/igt@v3d/v3d_get_param@base-params.html * igt@v3d/v3d_submit_cl@bad-multisync-in-sync: - shard-rkl: NOTRUN -> [SKIP][295] ([fdo#109315]) +8 other tests skip [295]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-1/igt@v3d/v3d_submit_cl@bad-multisync-in-sync.html * igt@v3d/v3d_submit_cl@valid-submission: - shard-tglu: NOTRUN -> [SKIP][296] ([fdo#109315] / [i915#2575]) +1 other test skip [296]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-4/igt@v3d/v3d_submit_cl@valid-submission.html * igt@v3d/v3d_submit_csd@bad-bo: - shard-mtlp: NOTRUN -> [SKIP][297] ([i915#2575]) +16 other tests skip [297]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-4/igt@v3d/v3d_submit_csd@bad-bo.html * igt@v3d/v3d_submit_csd@bad-multisync-extension: - shard-dg1: NOTRUN -> [SKIP][298] ([i915#2575]) +4 other tests skip [298]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-13/igt@v3d/v3d_submit_csd@bad-multisync-extension.html * igt@vc4/vc4_purgeable_bo@mark-purgeable-twice: - shard-mtlp: NOTRUN -> [SKIP][299] ([i915#7711]) +15 other tests skip [299]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-3/igt@vc4/vc4_purgeable_bo@mark-purgeable-twice.html * igt@vc4/vc4_purgeable_bo@mark-unpurgeable-twice: - shard-tglu: NOTRUN -> [SKIP][300] ([i915#2575]) +1 other test skip [300]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-5/igt@vc4/vc4_purgeable_bo@mark-unpurgeable-twice.html * igt@vc4/vc4_tiling@get-bad-modifier: - shard-dg2: NOTRUN -> [SKIP][301] ([i915#7711]) +6 other tests skip [301]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-3/igt@vc4/vc4_tiling@get-bad-modifier.html * igt@vc4/vc4_wait_bo@unused-bo-1ns: - shard-rkl: NOTRUN -> [SKIP][302] ([i915#7711]) +3 other tests skip [302]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-2/igt@vc4/vc4_wait_bo@unused-bo-1ns.html - shard-dg1: NOTRUN -> [SKIP][303] ([i915#7711]) +3 other tests skip [303]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-18/igt@vc4/vc4_wait_bo@unused-bo-1ns.html #### Possible fixes #### * igt@gem_eio@in-flight-suspend: - shard-dg2: [FAIL][304] ([fdo#103375]) -> [PASS][305] [304]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-dg2-11/igt@gem_eio@in-flight-suspend.html [305]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-11/igt@gem_eio@in-flight-suspend.html * igt@gem_eio@unwedge-stress: - shard-dg1: [FAIL][306] ([i915#5784]) -> [PASS][307] +1 other test pass [306]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-dg1-12/igt@gem_eio@unwedge-stress.html [307]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-18/igt@gem_eio@unwedge-stress.html * igt@gem_exec_fair@basic-flow@rcs0: - shard-tglu: [FAIL][308] ([i915#2842]) -> [PASS][309] [308]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-tglu-8/igt@gem_exec_fair@basic-flow@rcs0.html [309]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-5/igt@gem_exec_fair@basic-flow@rcs0.html * igt@gem_exec_fair@basic-pace-solo@rcs0: - shard-rkl: [FAIL][310] ([i915#2842]) -> [PASS][311] +1 other test pass [310]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-rkl-2/igt@gem_exec_fair@basic-pace-solo@rcs0.html [311]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-6/igt@gem_exec_fair@basic-pace-solo@rcs0.html * igt@gem_exec_flush@basic-batch-kernel-default-uc: - shard-mtlp: [DMESG-FAIL][312] ([i915#8962] / [i915#9121]) -> [PASS][313] [312]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-mtlp-4/igt@gem_exec_flush@basic-batch-kernel-default-uc.html [313]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-8/igt@gem_exec_flush@basic-batch-kernel-default-uc.html * igt@gem_exec_params@no-vebox: - shard-mtlp: [ABORT][314] ([i915#9262]) -> [PASS][315] +3 other tests pass [314]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-mtlp-5/igt@gem_exec_params@no-vebox.html [315]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-4/igt@gem_exec_params@no-vebox.html * igt@gem_exec_suspend@basic-s4-devices@lmem0: - shard-dg1: [ABORT][316] ([i915#7975] / [i915#8213]) -> [PASS][317] [316]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-dg1-14/igt@gem_exec_suspend@basic-s4-devices@lmem0.html [317]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-18/igt@gem_exec_suspend@basic-s4-devices@lmem0.html * igt@gen9_exec_parse@allowed-single: - shard-glk: [INCOMPLETE][318] -> [PASS][319] [318]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-glk6/igt@gen9_exec_parse@allowed-single.html [319]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-glk6/igt@gen9_exec_parse@allowed-single.html * igt@i915_hangman@engine-engine-error@vcs0: - shard-mtlp: [FAIL][320] ([i915#7069]) -> [PASS][321] [320]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-mtlp-2/igt@i915_hangman@engine-engine-error@vcs0.html [321]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-mtlp-5/igt@i915_hangman@engine-engine-error@vcs0.html * igt@i915_module_load@reload-with-fault-injection: - shard-dg2: [DMESG-WARN][322] ([i915#7061] / [i915#8617]) -> [PASS][323] [322]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-dg2-3/igt@i915_module_load@reload-with-fault-injection.html [323]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-6/igt@i915_module_load@reload-with-fault-injection.html * igt@i915_pm_rpm@dpms-lpsp: - shard-rkl: [SKIP][324] ([i915#1397]) -> [PASS][325] +2 other tests pass [324]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-rkl-2/igt@i915_pm_rpm@dpms-lpsp.html [325]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-7/igt@i915_pm_rpm@dpms-lpsp.html * igt@i915_pm_rpm@modeset-lpsp-stress-no-wait: - shard-dg2: [SKIP][326] ([i915#1397]) -> [PASS][327] [326]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-dg2-6/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html [327]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-10/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html * igt@i915_pm_rpm@modeset-non-lpsp: - shard-dg1: [SKIP][328] ([i915#1397]) -> [PASS][329] +1 other test pass [328]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-dg1-19/igt@i915_pm_rpm@modeset-non-lpsp.html [329]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-16/igt@i915_pm_rpm@modeset-non-lpsp.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions: - shard-glk: [FAIL][330] ([i915#2346]) -> [PASS][331] [330]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-glk4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html [331]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-glk8/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-dp-1: - shard-apl: [INCOMPLETE][332] ([i915#180]) -> [PASS][333] [332]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-apl3/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-dp-1.html [333]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-apl6/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-dp-1.html * {igt@kms_pm_dc@dc9-dpms}: - shard-apl: [SKIP][334] ([fdo#109271]) -> [PASS][335] [334]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-apl2/igt@kms_pm_dc@dc9-dpms.html [335]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-apl3/igt@kms_pm_dc@dc9-dpms.html * igt@kms_rotation_crc@primary-y-tiled-reflect-x-270: - shard-rkl: [INCOMPLETE][336] ([i915#8875]) -> [PASS][337] [336]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-rkl-1/igt@kms_rotation_crc@primary-y-tiled-reflect-x-270.html [337]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-7/igt@kms_rotation_crc@primary-y-tiled-reflect-x-270.html * igt@kms_universal_plane@cursor-fb-leak-pipe-a: - shard-snb: [FAIL][338] ([i915#9196]) -> [PASS][339] [338]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-snb5/igt@kms_universal_plane@cursor-fb-leak-pipe-a.html [339]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-snb5/igt@kms_universal_plane@cursor-fb-leak-pipe-a.html * igt@kms_universal_plane@cursor-fb-leak-pipe-b: - shard-tglu: [FAIL][340] ([i915#9196]) -> [PASS][341] [340]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-tglu-6/igt@kms_universal_plane@cursor-fb-leak-pipe-b.html [341]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-2/igt@kms_universal_plane@cursor-fb-leak-pipe-b.html #### Warnings #### * igt@gem_create@create-ext-cpu-access-big: - shard-dg2: [INCOMPLETE][342] ([i915#9283]) -> [ABORT][343] ([i915#7461]) [342]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-dg2-10/igt@gem_create@create-ext-cpu-access-big.html [343]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-7/igt@gem_create@create-ext-cpu-access-big.html * igt@i915_pm_rc6_residency@rc6-idle@rcs0: - shard-tglu: [WARN][344] ([i915#2681]) -> [FAIL][345] ([i915#2681] / [i915#3591]) [344]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-tglu-7/igt@i915_pm_rc6_residency@rc6-idle@rcs0.html [345]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-3/igt@i915_pm_rc6_residency@rc6-idle@rcs0.html * igt@kms_content_protection@mei_interface: - shard-rkl: [SKIP][346] ([i915#7118]) -> [SKIP][347] ([fdo#109300]) [346]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-rkl-6/igt@kms_content_protection@mei_interface.html [347]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-rkl-1/igt@kms_content_protection@mei_interface.html - shard-tglu: [SKIP][348] ([i915#6944] / [i915#7116] / [i915#7118]) -> [SKIP][349] ([fdo#109300]) [348]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-tglu-3/igt@kms_content_protection@mei_interface.html [349]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-tglu-10/igt@kms_content_protection@mei_interface.html * igt@kms_content_protection@type1: - shard-dg2: [SKIP][350] ([i915#7118]) -> [SKIP][351] ([i915#7118] / [i915#7162]) [350]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-dg2-7/igt@kms_content_protection@type1.html [351]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-11/igt@kms_content_protection@type1.html * igt@kms_psr@cursor_plane_move: - shard-dg1: [SKIP][352] ([i915#1072] / [i915#4078]) -> [SKIP][353] ([i915#1072]) [352]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-dg1-12/igt@kms_psr@cursor_plane_move.html [353]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg1-19/igt@kms_psr@cursor_plane_move.html * igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem: - shard-dg2: [CRASH][354] ([i915#7331]) -> [INCOMPLETE][355] ([i915#5493]) [354]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13632/shard-dg2-1/igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem.html [355]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/shard-dg2-10/igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2 [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274 [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279 [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289 [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291 [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295 [fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300 [fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302 [fdo#109303]: https://bugs.freedesktop.org/show_bug.cgi?id=109303 [fdo#109307]: https://bugs.freedesktop.org/show_bug.cgi?id=109307 [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309 [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315 [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642 [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189 [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614 [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615 [fdo#111767]: https://bugs.freedesktop.org/show_bug.cgi?id=111767 [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#1099]: https://gitlab.freedesktop.org/drm/intel/issues/1099 [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397 [i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825 [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839 [i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937 [i915#2017]: https://gitlab.freedesktop.org/drm/intel/issues/2017 [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437 [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527 [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575 [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587 [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672 [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681 [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705 [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280 [i915#284]: https://gitlab.freedesktop.org/drm/intel/issues/284 [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842 [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856 [i915#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023 [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281 [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282 [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291 [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297 [i915#3323]: https://gitlab.freedesktop.org/drm/intel/issues/3323 [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359 [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458 [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469 [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539 [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591 [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637 [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#3711]: https://gitlab.freedesktop.org/drm/intel/issues/3711 [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742 [i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804 [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840 [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886 [i915#3966]: https://gitlab.freedesktop.org/drm/intel/issues/3966 [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078 [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4087]: https://gitlab.freedesktop.org/drm/intel/issues/4087 [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212 [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213 [i915#4235]: https://gitlab.freedesktop.org/drm/intel/issues/4235 [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270 [i915#4348]: https://gitlab.freedesktop.org/drm/intel/issues/4348 [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349 [i915#4473]: https://gitlab.freedesktop.org/drm/intel/issues/4473 [i915#4521]: https://gitlab.freedesktop.org/drm/intel/issues/4521 [i915#4537]: https://gitlab.freedesktop.org/drm/intel/issues/4537 [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538 [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565 [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613 [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771 [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812 [i915#4816]: https://gitlab.freedesktop.org/drm/intel/issues/4816 [i915#4818]: https://gitlab.freedesktop.org/drm/intel/issues/4818 [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852 [i915#4854]: https://gitlab.freedesktop.org/drm/intel/issues/4854 [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860 [i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880 [i915#4884]: https://gitlab.freedesktop.org/drm/intel/issues/4884 [i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885 [i915#4958]: https://gitlab.freedesktop.org/drm/intel/issues/4958 [i915#5138]: https://gitlab.freedesktop.org/drm/intel/issues/5138 [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176 [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190 [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235 [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286 [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289 [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533 [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354 [i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461 [i915#5493]: https://gitlab.freedesktop.org/drm/intel/issues/5493 [i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723 [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784 [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095 [i915#6122]: https://gitlab.freedesktop.org/drm/intel/issues/6122 [i915#6187]: https://gitlab.freedesktop.org/drm/intel/issues/6187 [i915#6227]: https://gitlab.freedesktop.org/drm/intel/issues/6227 [i915#6229]: https://gitlab.freedesktop.org/drm/intel/issues/6229 [i915#6245]: https://gitlab.freedesktop.org/drm/intel/issues/6245 [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301 [i915#6335]: https://gitlab.freedesktop.org/drm/intel/issues/6335 [i915#6403]: https://gitlab.freedesktop.org/drm/intel/issues/6403 [i915#6412]: https://gitlab.freedesktop.org/drm/intel/issues/6412 [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524 [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [i915#6590]: https://gitlab.freedesktop.org/drm/intel/issues/6590 [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621 [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768 [i915#6805]: https://gitlab.freedesktop.org/drm/intel/issues/6805 [i915#6880]: https://gitlab.freedesktop.org/drm/intel/issues/6880 [i915#6892]: https://gitlab.freedesktop.org/drm/intel/issues/6892 [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944 [i915#7061]: https://gitlab.freedesktop.org/drm/intel/issues/7061 [i915#7069]: https://gitlab.freedesktop.org/drm/intel/issues/7069 [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116 [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118 [i915#7162]: https://gitlab.freedesktop.org/drm/intel/issues/7162 [i915#7213]: https://gitlab.freedesktop.org/drm/intel/issues/7213 [i915#7297]: https://gitlab.freedesktop.org/drm/intel/issues/7297 [i915#7331]: https://gitlab.freedesktop.org/drm/intel/issues/7331 [i915#7387]: https://gitlab.freedesktop.org/drm/intel/issues/7387 [i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461 [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697 [i915#7707]: https://gitlab.freedesktop.org/drm/intel/issues/7707 [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975 [i915#8063]: https://gitlab.freedesktop.org/drm/intel/issues/8063 [i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213 [i915#8228]: https://gitlab.freedesktop.org/drm/intel/issues/8228 [i915#8247]: https://gitlab.freedesktop.org/drm/intel/issues/8247 [i915#8248]: https://gitlab.freedesktop.org/drm/intel/issues/8248 [i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292 [i915#8346]: https://gitlab.freedesktop.org/drm/intel/issues/8346 [i915#8381]: https://gitlab.freedesktop.org/drm/intel/issues/8381 [i915#8399]: https://gitlab.freedesktop.org/drm/intel/issues/8399 [i915#8411]: https://gitlab.freedesktop.org/drm/intel/issues/8411 [i915#8414]: https://gitlab.freedesktop.org/drm/intel/issues/8414 [i915#8428]: https://gitlab.freedesktop.org/drm/intel/issues/8428 [i915#8445]: https://gitlab.freedesktop.org/drm/intel/issues/8445 [i915#8502]: https://gitlab.freedesktop.org/drm/intel/issues/8502 [i915#8555]: https://gitlab.freedesktop.org/drm/intel/issues/8555 [i915#8562]: https://gitlab.freedesktop.org/drm/intel/issues/8562 [i915#8588]: https://gitlab.freedesktop.org/drm/intel/issues/8588 [i915#8617]: https://gitlab.freedesktop.org/drm/intel/issues/8617 [i915#8661]: https://gitlab.freedesktop.org/drm/intel/issues/8661 [i915#8708]: https://gitlab.freedesktop.org/drm/intel/issues/8708 [i915#8709]: https://gitlab.freedesktop.org/drm/intel/issues/8709 [i915#8808]: https://gitlab.freedesktop.org/drm/intel/issues/8808 [i915#8810]: https://gitlab.freedesktop.org/drm/intel/issues/8810 [i915#8812]: https://gitlab.freedesktop.org/drm/intel/issues/8812 [i915#8814]: https://gitlab.freedesktop.org/drm/intel/issues/8814 [i915#8827]: https://gitlab.freedesktop.org/drm/intel/issues/8827 [i915#8841]: https://gitlab.freedesktop.org/drm/intel/issues/8841 [i915#8850]: https://gitlab.freedesktop.org/drm/intel/issues/8850 [i915#8875]: https://gitlab.freedesktop.org/drm/intel/issues/8875 [i915#8962]: https://gitlab.freedesktop.org/drm/intel/issues/8962 [i915#9010]: https://gitlab.freedesktop.org/drm/intel/issues/9010 [i915#9121]: https://gitlab.freedesktop.org/drm/intel/issues/9121 [i915#9196]: https://gitlab.freedesktop.org/drm/intel/issues/9196 [i915#9226]: https://gitlab.freedesktop.org/drm/intel/issues/9226 [i915#9227]: https://gitlab.freedesktop.org/drm/intel/issues/9227 [i915#9259]: https://gitlab.freedesktop.org/drm/intel/issues/9259 [i915#9261]: https://gitlab.freedesktop.org/drm/intel/issues/9261 [i915#9262]: https://gitlab.freedesktop.org/drm/intel/issues/9262 [i915#9268]: https://gitlab.freedesktop.org/drm/intel/issues/9268 [i915#9270]: https://gitlab.freedesktop.org/drm/intel/issues/9270 [i915#9278]: https://gitlab.freedesktop.org/drm/intel/issues/9278 [i915#9283]: https://gitlab.freedesktop.org/drm/intel/issues/9283 [i915#9290]: https://gitlab.freedesktop.org/drm/intel/issues/9290 [i915#9310]: https://gitlab.freedesktop.org/drm/intel/issues/9310 [i915#9323]: https://gitlab.freedesktop.org/drm/intel/issues/9323 [i915#9335]: https://gitlab.freedesktop.org/drm/intel/issues/9335 [i915#9337]: https://gitlab.freedesktop.org/drm/intel/issues/9337 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7487 -> IGTPW_9787 * Piglit: piglit_4509 -> None CI-20190529: 20190529 CI_DRM_13632: 27e8bddd193db91eb95f2e962c2729e14f058ace @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_9787: 9787 IGT_7487: 77e606dea60110c869ad9f9cc88994a0048845c4 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9787/index.html [-- Attachment #2: Type: text/html, Size: 119284 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* [igt-dev] ✓ CI.xeBAT: success for Optimize kms tesplan documentation (rev2) 2023-09-14 13:19 [igt-dev] [i-g-t 0/2] Optimize kms tesplan documentation Bhanuprakash Modem ` (4 preceding siblings ...) 2023-09-14 18:37 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork @ 2023-09-21 7:51 ` Patchwork 2023-09-21 7:54 ` [igt-dev] ✓ Fi.CI.BAT: " Patchwork 2023-09-21 18:29 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork 7 siblings, 0 replies; 12+ messages in thread From: Patchwork @ 2023-09-21 7:51 UTC (permalink / raw) To: Bhanuprakash Modem; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 1964 bytes --] == Series Details == Series: Optimize kms tesplan documentation (rev2) URL : https://patchwork.freedesktop.org/series/123697/ State : success == Summary == CI Bug Log - changes from XEIGT_7495_BAT -> XEIGTPW_9834_BAT ==================================================== Summary ------- **SUCCESS** No regressions found. Participating hosts (4 -> 4) ------------------------------ No changes in participating hosts Known issues ------------ Here are the changes found in XEIGTPW_9834_BAT that come from known issues: ### IGT changes ### #### Possible fixes #### * igt@kms_flip@basic-flip-vs-wf_vblank@d-edp1: - bat-adlp-7: [FAIL][1] ([Intel XE#480]) -> [PASS][2] [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7495/bat-adlp-7/igt@kms_flip@basic-flip-vs-wf_vblank@d-edp1.html [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_9834/bat-adlp-7/igt@kms_flip@basic-flip-vs-wf_vblank@d-edp1.html * {igt@xe_create@create-execqueues-leak}: - bat-atsm-2: [FAIL][3] ([Intel XE#524]) -> [PASS][4] [3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7495/bat-atsm-2/igt@xe_create@create-execqueues-leak.html [4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_9834/bat-atsm-2/igt@xe_create@create-execqueues-leak.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [Intel XE#480]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/480 [Intel XE#524]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/524 Build changes ------------- * IGT: IGT_7495 -> IGTPW_9834 IGTPW_9834: 9834 IGT_7495: 7ed6190bc4f8a3ebc3f0b8b334e8ae6abae03031 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git xe-387-6e4a4aa0279d8de30726606ccf74de109af20e6c: 6e4a4aa0279d8de30726606ccf74de109af20e6c == Logs == For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_9834/index.html [-- Attachment #2: Type: text/html, Size: 2571 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for Optimize kms tesplan documentation (rev2) 2023-09-14 13:19 [igt-dev] [i-g-t 0/2] Optimize kms tesplan documentation Bhanuprakash Modem ` (5 preceding siblings ...) 2023-09-21 7:51 ` [igt-dev] ✓ CI.xeBAT: success for Optimize kms tesplan documentation (rev2) Patchwork @ 2023-09-21 7:54 ` Patchwork 2023-09-21 18:29 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork 7 siblings, 0 replies; 12+ messages in thread From: Patchwork @ 2023-09-21 7:54 UTC (permalink / raw) To: Bhanuprakash Modem; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 10222 bytes --] == Series Details == Series: Optimize kms tesplan documentation (rev2) URL : https://patchwork.freedesktop.org/series/123697/ State : success == Summary == CI Bug Log - changes from CI_DRM_13660 -> IGTPW_9834 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/index.html Participating hosts (39 -> 38) ------------------------------ Additional (1): bat-dg2-9 Missing (2): fi-kbl-soraka fi-snb-2520m Known issues ------------ Here are the changes found in IGTPW_9834 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_mmap@basic: - bat-dg2-9: NOTRUN -> [SKIP][1] ([i915#4083]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/bat-dg2-9/igt@gem_mmap@basic.html * igt@gem_mmap_gtt@basic: - bat-dg2-9: NOTRUN -> [SKIP][2] ([i915#4077]) +2 other tests skip [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/bat-dg2-9/igt@gem_mmap_gtt@basic.html * igt@gem_render_tiled_blits@basic: - bat-dg2-9: NOTRUN -> [SKIP][3] ([i915#4079]) +1 other test skip [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/bat-dg2-9/igt@gem_render_tiled_blits@basic.html * igt@i915_pm_rps@basic-api: - bat-dg2-9: NOTRUN -> [SKIP][4] ([i915#6621]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/bat-dg2-9/igt@i915_pm_rps@basic-api.html * igt@i915_selftest@live@requests: - bat-mtlp-8: [PASS][5] -> [ABORT][6] ([i915#9262]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/bat-mtlp-8/igt@i915_selftest@live@requests.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/bat-mtlp-8/igt@i915_selftest@live@requests.html * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy: - bat-dg2-9: NOTRUN -> [SKIP][7] ([i915#5190]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/bat-dg2-9/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html - fi-hsw-4770: NOTRUN -> [SKIP][8] ([fdo#109271]) +13 other tests skip [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/fi-hsw-4770/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html * igt@kms_addfb_basic@basic-y-tiled-legacy: - bat-dg2-9: NOTRUN -> [SKIP][9] ([i915#4215] / [i915#5190]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/bat-dg2-9/igt@kms_addfb_basic@basic-y-tiled-legacy.html * igt@kms_addfb_basic@framebuffer-vs-set-tiling: - bat-dg2-9: NOTRUN -> [SKIP][10] ([i915#4212]) +6 other tests skip [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/bat-dg2-9/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html * igt@kms_addfb_basic@tile-pitch-mismatch: - bat-dg2-9: NOTRUN -> [SKIP][11] ([i915#4212] / [i915#5608]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/bat-dg2-9/igt@kms_addfb_basic@tile-pitch-mismatch.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - bat-dg2-9: NOTRUN -> [SKIP][12] ([i915#4103] / [i915#4213] / [i915#5608]) +1 other test skip [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/bat-dg2-9/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html * igt@kms_force_connector_basic@force-load-detect: - bat-dg2-9: NOTRUN -> [SKIP][13] ([fdo#109285]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/bat-dg2-9/igt@kms_force_connector_basic@force-load-detect.html * igt@kms_force_connector_basic@prune-stale-modes: - bat-dg2-9: NOTRUN -> [SKIP][14] ([i915#5274]) [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/bat-dg2-9/igt@kms_force_connector_basic@prune-stale-modes.html * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-vga-1: - fi-hsw-4770: NOTRUN -> [DMESG-WARN][15] ([i915#8841]) +6 other tests dmesg-warn [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/fi-hsw-4770/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-vga-1.html * igt@kms_psr@sprite_plane_onoff: - bat-dg2-9: NOTRUN -> [SKIP][16] ([i915#1072]) +3 other tests skip [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/bat-dg2-9/igt@kms_psr@sprite_plane_onoff.html - fi-hsw-4770: NOTRUN -> [SKIP][17] ([fdo#109271] / [i915#1072]) +3 other tests skip [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/fi-hsw-4770/igt@kms_psr@sprite_plane_onoff.html * igt@kms_setmode@basic-clone-single-crtc: - bat-dg2-9: NOTRUN -> [SKIP][18] ([i915#3555]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/bat-dg2-9/igt@kms_setmode@basic-clone-single-crtc.html * igt@prime_vgem@basic-fence-flip: - bat-dg2-9: NOTRUN -> [SKIP][19] ([i915#3708]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/bat-dg2-9/igt@prime_vgem@basic-fence-flip.html * igt@prime_vgem@basic-fence-mmap: - bat-dg2-9: NOTRUN -> [SKIP][20] ([i915#3708] / [i915#4077]) +1 other test skip [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/bat-dg2-9/igt@prime_vgem@basic-fence-mmap.html * igt@prime_vgem@basic-write: - bat-dg2-9: NOTRUN -> [SKIP][21] ([i915#3291] / [i915#3708]) +2 other tests skip [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/bat-dg2-9/igt@prime_vgem@basic-write.html #### Possible fixes #### * igt@gem_busy@busy@all-engines: - bat-mtlp-8: [DMESG-FAIL][22] ([i915#8962]) -> [PASS][23] [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/bat-mtlp-8/igt@gem_busy@busy@all-engines.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/bat-mtlp-8/igt@gem_busy@busy@all-engines.html #### Warnings #### * igt@kms_hdmi_inject@inject-audio: - fi-kbl-guc: [FAIL][24] ([IGT#3] / [i915#6121]) -> [FAIL][25] ([IGT#3]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/fi-kbl-guc/igt@kms_hdmi_inject@inject-audio.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/fi-kbl-guc/igt@kms_hdmi_inject@inject-audio.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [IGT#3]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/3 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212 [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213 [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215 [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190 [i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274 [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354 [i915#5608]: https://gitlab.freedesktop.org/drm/intel/issues/5608 [i915#6121]: https://gitlab.freedesktop.org/drm/intel/issues/6121 [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621 [i915#8841]: https://gitlab.freedesktop.org/drm/intel/issues/8841 [i915#8962]: https://gitlab.freedesktop.org/drm/intel/issues/8962 [i915#9262]: https://gitlab.freedesktop.org/drm/intel/issues/9262 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7495 -> IGTPW_9834 CI-20190529: 20190529 CI_DRM_13660: 19fa823abcf5b1c12de99ad1978ce650a1d29b39 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_9834: 9834 IGT_7495: 7ed6190bc4f8a3ebc3f0b8b334e8ae6abae03031 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Testlist changes ---------------- +igt@i915_pm_rpm@basic-pci-d3-state +igt@i915_pm_rpm@basic-rte +igt@i915_pm_rpm@cursor +igt@i915_pm_rpm@cursor-dpms +igt@i915_pm_rpm@dpms-lpsp +igt@i915_pm_rpm@dpms-mode-unset-lpsp +igt@i915_pm_rpm@dpms-mode-unset-non-lpsp +igt@i915_pm_rpm@dpms-non-lpsp +igt@i915_pm_rpm@drm-resources-equal +igt@i915_pm_rpm@fences +igt@i915_pm_rpm@fences-dpms +igt@i915_pm_rpm@i2c +igt@i915_pm_rpm@legacy-planes +igt@i915_pm_rpm@legacy-planes-dpms +igt@i915_pm_rpm@modeset-lpsp +igt@i915_pm_rpm@modeset-lpsp-stress +igt@i915_pm_rpm@modeset-lpsp-stress-no-wait +igt@i915_pm_rpm@modeset-non-lpsp +igt@i915_pm_rpm@modeset-non-lpsp-stress +igt@i915_pm_rpm@modeset-non-lpsp-stress-no-wait +igt@i915_pm_rpm@modeset-pc8-residency-stress +igt@i915_pm_rpm@modeset-stress-extra-wait +igt@i915_pm_rpm@pc8-residency +igt@i915_pm_rpm@pm-caching +igt@i915_pm_rpm@pm-tiling +igt@i915_pm_rpm@system-suspend-modeset +igt@i915_pm_rpm@universal-planes +igt@i915_pm_rpm@universal-planes-dpms -igt@kms_pm_rpm@basic-pci-d3-state -igt@kms_pm_rpm@basic-rte -igt@kms_pm_rpm@cursor -igt@kms_pm_rpm@cursor-dpms -igt@kms_pm_rpm@dpms-lpsp -igt@kms_pm_rpm@dpms-mode-unset-lpsp -igt@kms_pm_rpm@dpms-mode-unset-non-lpsp -igt@kms_pm_rpm@dpms-non-lpsp -igt@kms_pm_rpm@drm-resources-equal -igt@kms_pm_rpm@fences -igt@kms_pm_rpm@fences-dpms -igt@kms_pm_rpm@i2c -igt@kms_pm_rpm@legacy-planes -igt@kms_pm_rpm@legacy-planes-dpms -igt@kms_pm_rpm@modeset-lpsp -igt@kms_pm_rpm@modeset-lpsp-stress -igt@kms_pm_rpm@modeset-lpsp-stress-no-wait -igt@kms_pm_rpm@modeset-non-lpsp -igt@kms_pm_rpm@modeset-non-lpsp-stress -igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait -igt@kms_pm_rpm@modeset-pc8-residency-stress -igt@kms_pm_rpm@modeset-stress-extra-wait -igt@kms_pm_rpm@module-reload -igt@kms_pm_rpm@pc8-residency -igt@kms_pm_rpm@pm-caching -igt@kms_pm_rpm@pm-tiling -igt@kms_pm_rpm@system-suspend-modeset -igt@kms_pm_rpm@universal-planes -igt@kms_pm_rpm@universal-planes-dpms == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/index.html [-- Attachment #2: Type: text/html, Size: 12228 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for Optimize kms tesplan documentation (rev2) 2023-09-14 13:19 [igt-dev] [i-g-t 0/2] Optimize kms tesplan documentation Bhanuprakash Modem ` (6 preceding siblings ...) 2023-09-21 7:54 ` [igt-dev] ✓ Fi.CI.BAT: " Patchwork @ 2023-09-21 18:29 ` Patchwork 7 siblings, 0 replies; 12+ messages in thread From: Patchwork @ 2023-09-21 18:29 UTC (permalink / raw) To: Bhanuprakash Modem; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 91943 bytes --] == Series Details == Series: Optimize kms tesplan documentation (rev2) URL : https://patchwork.freedesktop.org/series/123697/ State : failure == Summary == CI Bug Log - changes from CI_DRM_13660_full -> IGTPW_9834_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with IGTPW_9834_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_9834_full, please notify your bug team (lgci.bug.filing@intel.com) to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/index.html Participating hosts (9 -> 9) ------------------------------ No changes in participating hosts Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_9834_full: ### IGT changes ### #### Possible regressions #### * igt@gem_exec_flush@basic-uc-ro-default: - shard-mtlp: NOTRUN -> [DMESG-FAIL][1] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-4/igt@gem_exec_flush@basic-uc-ro-default.html * igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a3: - shard-dg2: [PASS][2] -> [INCOMPLETE][3] [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-dg2-6/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a3.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-6/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a3.html * igt@kms_frontbuffer_tracking@fbc-1p-indfb-fliptrack-mmap-gtt: - shard-mtlp: NOTRUN -> [SKIP][4] +14 other tests skip [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-8/igt@kms_frontbuffer_tracking@fbc-1p-indfb-fliptrack-mmap-gtt.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-wc: - shard-dg2: NOTRUN -> [SKIP][5] +23 other tests skip [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc: - shard-dg1: NOTRUN -> [SKIP][6] +3 other tests skip [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-15/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc.html New tests --------- New tests have been introduced between CI_DRM_13660_full and IGTPW_9834_full: ### New IGT tests (2) ### * igt@kms_lease@page_flip_implicit_plane@pipe-a-vga-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_lease@page_flip_implicit_plane@pipe-b-vga-1: - Statuses : 1 pass(s) - Exec time: [0.0] s Known issues ------------ Here are the changes found in IGTPW_9834_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@api_intel_bb@blit-reloc-purge-cache: - shard-dg2: NOTRUN -> [SKIP][7] ([i915#8411]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-11/igt@api_intel_bb@blit-reloc-purge-cache.html * igt@api_intel_bb@object-reloc-purge-cache: - shard-mtlp: NOTRUN -> [SKIP][8] ([i915#8411]) +1 other test skip [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-7/igt@api_intel_bb@object-reloc-purge-cache.html * igt@core_hotunplug@unbind-rebind: - shard-dg1: [PASS][9] -> [DMESG-WARN][10] ([i915#4391] / [i915#4423]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-dg1-19/igt@core_hotunplug@unbind-rebind.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-15/igt@core_hotunplug@unbind-rebind.html * igt@device_reset@cold-reset-bound: - shard-mtlp: NOTRUN -> [SKIP][11] ([i915#7701]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-2/igt@device_reset@cold-reset-bound.html * igt@device_reset@unbind-cold-reset-rebind: - shard-dg2: NOTRUN -> [SKIP][12] ([i915#7701]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-3/igt@device_reset@unbind-cold-reset-rebind.html * igt@drm_fdinfo@all-busy-check-all: - shard-dg1: NOTRUN -> [SKIP][13] ([i915#8414]) +1 other test skip [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-15/igt@drm_fdinfo@all-busy-check-all.html * igt@drm_fdinfo@busy-idle-check-all@vcs0: - shard-dg2: NOTRUN -> [SKIP][14] ([i915#8414]) +13 other tests skip [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@drm_fdinfo@busy-idle-check-all@vcs0.html * igt@drm_fdinfo@most-busy-idle-check-all@ccs0: - shard-mtlp: NOTRUN -> [SKIP][15] ([i915#8414]) +12 other tests skip [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-2/igt@drm_fdinfo@most-busy-idle-check-all@ccs0.html * igt@drm_fdinfo@most-busy-idle-check-all@rcs0: - shard-rkl: [PASS][16] -> [FAIL][17] ([i915#7742]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-rkl-1/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-4/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html * igt@gem_ccs@block-multicopy-compressed: - shard-dg1: NOTRUN -> [SKIP][18] ([i915#9323]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-19/igt@gem_ccs@block-multicopy-compressed.html * igt@gem_ccs@ctrl-surf-copy: - shard-mtlp: NOTRUN -> [SKIP][19] ([i915#3555]) +1 other test skip [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-3/igt@gem_ccs@ctrl-surf-copy.html * igt@gem_close_race@multigpu-basic-process: - shard-mtlp: NOTRUN -> [SKIP][20] ([i915#7697]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-4/igt@gem_close_race@multigpu-basic-process.html * igt@gem_close_race@multigpu-basic-threads: - shard-dg2: NOTRUN -> [SKIP][21] ([i915#7697]) +1 other test skip [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-3/igt@gem_close_race@multigpu-basic-threads.html * igt@gem_ctx_exec@basic-nohangcheck: - shard-rkl: [PASS][22] -> [FAIL][23] ([i915#6268]) [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-rkl-1/igt@gem_ctx_exec@basic-nohangcheck.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-7/igt@gem_ctx_exec@basic-nohangcheck.html * igt@gem_ctx_isolation@preservation-s3@vcs1: - shard-mtlp: NOTRUN -> [DMESG-WARN][24] ([i915#9262]) +2 other tests dmesg-warn [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-6/igt@gem_ctx_isolation@preservation-s3@vcs1.html * igt@gem_ctx_param@set-priority-not-supported: - shard-dg1: NOTRUN -> [SKIP][25] ([fdo#109314]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-14/igt@gem_ctx_param@set-priority-not-supported.html * igt@gem_ctx_persistence@hang: - shard-mtlp: NOTRUN -> [SKIP][26] ([i915#8555]) +1 other test skip [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-3/igt@gem_ctx_persistence@hang.html * igt@gem_ctx_persistence@heartbeat-hang: - shard-dg2: NOTRUN -> [SKIP][27] ([i915#8555]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-6/igt@gem_ctx_persistence@heartbeat-hang.html * igt@gem_ctx_persistence@legacy-engines-hang@bsd1: - shard-mtlp: NOTRUN -> [FAIL][28] ([i915#2410]) [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-8/igt@gem_ctx_persistence@legacy-engines-hang@bsd1.html * igt@gem_ctx_persistence@legacy-engines-mixed: - shard-snb: NOTRUN -> [SKIP][29] ([fdo#109271] / [i915#1099]) +2 other tests skip [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-snb5/igt@gem_ctx_persistence@legacy-engines-mixed.html * igt@gem_ctx_sseu@invalid-sseu: - shard-dg2: NOTRUN -> [SKIP][30] ([i915#280]) +1 other test skip [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-3/igt@gem_ctx_sseu@invalid-sseu.html * igt@gem_eio@hibernate: - shard-dg2: NOTRUN -> [ABORT][31] ([i915#7975] / [i915#8213]) [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@gem_eio@hibernate.html * igt@gem_eio@kms: - shard-dg2: NOTRUN -> [FAIL][32] ([i915#5784]) [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-2/igt@gem_eio@kms.html * igt@gem_exec_balancer@bonded-dual: - shard-mtlp: NOTRUN -> [SKIP][33] ([i915#4771]) [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-3/igt@gem_exec_balancer@bonded-dual.html * igt@gem_exec_balancer@bonded-sync: - shard-dg2: NOTRUN -> [SKIP][34] ([i915#4771]) +1 other test skip [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@gem_exec_balancer@bonded-sync.html * igt@gem_exec_balancer@bonded-true-hang: - shard-dg2: NOTRUN -> [SKIP][35] ([i915#4812]) +2 other tests skip [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-3/igt@gem_exec_balancer@bonded-true-hang.html - shard-mtlp: NOTRUN -> [SKIP][36] ([i915#4812]) +1 other test skip [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-8/igt@gem_exec_balancer@bonded-true-hang.html * igt@gem_exec_balancer@invalid-bonds: - shard-dg2: NOTRUN -> [SKIP][37] ([i915#4036]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-7/igt@gem_exec_balancer@invalid-bonds.html * igt@gem_exec_fair@basic-none-share@rcs0: - shard-glk: [PASS][38] -> [FAIL][39] ([i915#2842]) [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-glk5/igt@gem_exec_fair@basic-none-share@rcs0.html [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-glk2/igt@gem_exec_fair@basic-none-share@rcs0.html * igt@gem_exec_fair@basic-pace: - shard-dg2: NOTRUN -> [SKIP][40] ([i915#3539]) [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-1/igt@gem_exec_fair@basic-pace.html - shard-mtlp: NOTRUN -> [SKIP][41] ([i915#4473] / [i915#4771]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-2/igt@gem_exec_fair@basic-pace.html * igt@gem_exec_fair@basic-pace-solo@rcs0: - shard-rkl: [PASS][42] -> [FAIL][43] ([i915#2842]) +1 other test fail [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-rkl-2/igt@gem_exec_fair@basic-pace-solo@rcs0.html [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-7/igt@gem_exec_fair@basic-pace-solo@rcs0.html * igt@gem_exec_fair@basic-pace@vecs0: - shard-rkl: NOTRUN -> [FAIL][44] ([i915#2842]) +3 other tests fail [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-4/igt@gem_exec_fair@basic-pace@vecs0.html * igt@gem_exec_fair@basic-sync: - shard-dg1: NOTRUN -> [SKIP][45] ([i915#3539]) +1 other test skip [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-13/igt@gem_exec_fair@basic-sync.html * igt@gem_exec_fence@parallel@vcs0: - shard-mtlp: NOTRUN -> [DMESG-FAIL][46] ([i915#8962]) +2 other tests dmesg-fail [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-4/igt@gem_exec_fence@parallel@vcs0.html * igt@gem_exec_fence@parallel@vecs0: - shard-mtlp: NOTRUN -> [FAIL][47] ([i915#8957]) +2 other tests fail [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-4/igt@gem_exec_fence@parallel@vecs0.html * igt@gem_exec_flush@basic-uc-ro-default: - shard-dg2: NOTRUN -> [SKIP][48] ([i915#3539] / [i915#4852]) +4 other tests skip [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-7/igt@gem_exec_flush@basic-uc-ro-default.html * igt@gem_exec_flush@basic-wb-prw-default: - shard-dg1: NOTRUN -> [SKIP][49] ([i915#3539] / [i915#4852]) [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-14/igt@gem_exec_flush@basic-wb-prw-default.html * igt@gem_exec_params@rsvd2-dirt: - shard-mtlp: NOTRUN -> [SKIP][50] ([i915#5107]) [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-7/igt@gem_exec_params@rsvd2-dirt.html * igt@gem_exec_params@secure-non-master: - shard-dg1: NOTRUN -> [SKIP][51] ([fdo#112283]) [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-13/igt@gem_exec_params@secure-non-master.html * igt@gem_exec_params@secure-non-root: - shard-tglu: NOTRUN -> [SKIP][52] ([fdo#112283]) [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-tglu-9/igt@gem_exec_params@secure-non-root.html * igt@gem_exec_reloc@basic-gtt-cpu-noreloc: - shard-mtlp: NOTRUN -> [SKIP][53] ([i915#3281]) +12 other tests skip [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-1/igt@gem_exec_reloc@basic-gtt-cpu-noreloc.html * igt@gem_exec_reloc@basic-gtt-wc-active: - shard-rkl: NOTRUN -> [SKIP][54] ([i915#3281]) +1 other test skip [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-4/igt@gem_exec_reloc@basic-gtt-wc-active.html * igt@gem_exec_reloc@basic-softpin: - shard-dg2: NOTRUN -> [SKIP][55] ([i915#3281]) +9 other tests skip [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-6/igt@gem_exec_reloc@basic-softpin.html * igt@gem_exec_reloc@basic-write-read: - shard-dg1: NOTRUN -> [SKIP][56] ([i915#3281]) [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-15/igt@gem_exec_reloc@basic-write-read.html * igt@gem_exec_schedule@preempt-queue-chain: - shard-mtlp: NOTRUN -> [SKIP][57] ([i915#4537] / [i915#4812]) +2 other tests skip [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-4/igt@gem_exec_schedule@preempt-queue-chain.html * igt@gem_exec_whisper@basic-queues: - shard-snb: NOTRUN -> [SKIP][58] ([fdo#109271]) +178 other tests skip [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-snb4/igt@gem_exec_whisper@basic-queues.html * igt@gem_fenced_exec_thrash@no-spare-fences-busy: - shard-mtlp: NOTRUN -> [SKIP][59] ([i915#4860]) [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-2/igt@gem_fenced_exec_thrash@no-spare-fences-busy.html * igt@gem_fenced_exec_thrash@no-spare-fences-busy-interruptible: - shard-dg2: NOTRUN -> [SKIP][60] ([i915#4860]) +2 other tests skip [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-3/igt@gem_fenced_exec_thrash@no-spare-fences-busy-interruptible.html * igt@gem_lmem_swapping@parallel-random-verify: - shard-glk: NOTRUN -> [SKIP][61] ([fdo#109271] / [i915#4613]) [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-glk4/igt@gem_lmem_swapping@parallel-random-verify.html * igt@gem_lmem_swapping@smem-oom@lmem0: - shard-dg1: [PASS][62] -> [TIMEOUT][63] ([i915#5493]) [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-dg1-17/igt@gem_lmem_swapping@smem-oom@lmem0.html [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-16/igt@gem_lmem_swapping@smem-oom@lmem0.html * igt@gem_lmem_swapping@verify: - shard-rkl: NOTRUN -> [SKIP][64] ([i915#4613]) [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-4/igt@gem_lmem_swapping@verify.html * igt@gem_lmem_swapping@verify-random-ccs: - shard-mtlp: NOTRUN -> [SKIP][65] ([i915#4613]) +4 other tests skip [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-7/igt@gem_lmem_swapping@verify-random-ccs.html * igt@gem_madvise@dontneed-before-exec: - shard-mtlp: NOTRUN -> [SKIP][66] ([i915#3282]) +6 other tests skip [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-8/igt@gem_madvise@dontneed-before-exec.html * igt@gem_media_fill@media-fill: - shard-mtlp: NOTRUN -> [SKIP][67] ([i915#8289]) [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-4/igt@gem_media_fill@media-fill.html * igt@gem_mmap_gtt@basic-wc: - shard-mtlp: NOTRUN -> [SKIP][68] ([i915#4077]) +14 other tests skip [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-7/igt@gem_mmap_gtt@basic-wc.html * igt@gem_mmap_gtt@cpuset-medium-copy: - shard-dg1: NOTRUN -> [SKIP][69] ([i915#4077]) [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-18/igt@gem_mmap_gtt@cpuset-medium-copy.html * igt@gem_mmap_gtt@zero-extend: - shard-dg2: NOTRUN -> [SKIP][70] ([i915#4077]) +8 other tests skip [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@gem_mmap_gtt@zero-extend.html * igt@gem_mmap_wc@bad-object: - shard-dg2: NOTRUN -> [SKIP][71] ([i915#4083]) +4 other tests skip [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-7/igt@gem_mmap_wc@bad-object.html * igt@gem_mmap_wc@write-cpu-read-wc: - shard-dg1: NOTRUN -> [SKIP][72] ([i915#4083]) [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-18/igt@gem_mmap_wc@write-cpu-read-wc.html * igt@gem_mmap_wc@write-read: - shard-mtlp: NOTRUN -> [SKIP][73] ([i915#4083]) +5 other tests skip [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-4/igt@gem_mmap_wc@write-read.html * igt@gem_partial_pwrite_pread@reads-display: - shard-dg1: NOTRUN -> [SKIP][74] ([i915#3282]) [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-14/igt@gem_partial_pwrite_pread@reads-display.html * igt@gem_pread@snoop: - shard-dg2: NOTRUN -> [SKIP][75] ([i915#3282]) +4 other tests skip [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@gem_pread@snoop.html * igt@gem_pxp@reject-modify-context-protection-off-2: - shard-dg1: NOTRUN -> [SKIP][76] ([i915#4270]) [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-15/igt@gem_pxp@reject-modify-context-protection-off-2.html * igt@gem_pxp@verify-pxp-stale-buf-optout-execution: - shard-mtlp: NOTRUN -> [SKIP][77] ([i915#4270]) +6 other tests skip [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-8/igt@gem_pxp@verify-pxp-stale-buf-optout-execution.html * igt@gem_pxp@verify-pxp-stale-ctx-execution: - shard-dg2: NOTRUN -> [SKIP][78] ([i915#4270]) +1 other test skip [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-11/igt@gem_pxp@verify-pxp-stale-ctx-execution.html * igt@gem_render_copy@y-tiled-ccs-to-yf-tiled: - shard-mtlp: NOTRUN -> [SKIP][79] ([i915#8428]) +10 other tests skip [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-7/igt@gem_render_copy@y-tiled-ccs-to-yf-tiled.html * igt@gem_render_tiled_blits@basic: - shard-dg2: NOTRUN -> [SKIP][80] ([i915#4079]) +3 other tests skip [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-3/igt@gem_render_tiled_blits@basic.html * igt@gem_set_tiling_vs_gtt: - shard-dg1: NOTRUN -> [SKIP][81] ([i915#4079]) [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-18/igt@gem_set_tiling_vs_gtt.html * igt@gem_softpin@evict-snoop-interruptible: - shard-dg2: NOTRUN -> [SKIP][82] ([i915#4885]) [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-3/igt@gem_softpin@evict-snoop-interruptible.html * igt@gem_spin_batch@spin-all-new: - shard-dg2: NOTRUN -> [FAIL][83] ([i915#5889]) [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-2/igt@gem_spin_batch@spin-all-new.html * igt@gem_userptr_blits@create-destroy-unsync: - shard-dg2: NOTRUN -> [SKIP][84] ([i915#3297]) +1 other test skip [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@gem_userptr_blits@create-destroy-unsync.html * igt@gem_userptr_blits@dmabuf-sync: - shard-mtlp: NOTRUN -> [SKIP][85] ([i915#3297]) +4 other tests skip [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-2/igt@gem_userptr_blits@dmabuf-sync.html * igt@gem_userptr_blits@map-fixed-invalidate: - shard-dg2: NOTRUN -> [SKIP][86] ([i915#3297] / [i915#4880]) [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-6/igt@gem_userptr_blits@map-fixed-invalidate.html * igt@gem_userptr_blits@nohangcheck: - shard-mtlp: [PASS][87] -> [FAIL][88] ([i915#9353]) [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-mtlp-2/igt@gem_userptr_blits@nohangcheck.html [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-2/igt@gem_userptr_blits@nohangcheck.html * igt@gem_userptr_blits@sd-probe: - shard-dg2: NOTRUN -> [SKIP][89] ([i915#3297] / [i915#4958]) [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-7/igt@gem_userptr_blits@sd-probe.html * igt@gen7_exec_parse@basic-allocation: - shard-mtlp: NOTRUN -> [SKIP][90] ([fdo#109289]) +3 other tests skip [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-3/igt@gen7_exec_parse@basic-allocation.html * igt@gen7_exec_parse@load-register-reg: - shard-rkl: NOTRUN -> [SKIP][91] ([fdo#109289]) [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-7/igt@gen7_exec_parse@load-register-reg.html * igt@gen9_exec_parse@allowed-single: - shard-apl: [PASS][92] -> [INCOMPLETE][93] ([i915#5566]) [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-apl6/igt@gen9_exec_parse@allowed-single.html [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-apl4/igt@gen9_exec_parse@allowed-single.html * igt@gen9_exec_parse@basic-rejected: - shard-dg1: NOTRUN -> [SKIP][94] ([i915#2527]) [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-19/igt@gen9_exec_parse@basic-rejected.html * igt@gen9_exec_parse@batch-zero-length: - shard-mtlp: NOTRUN -> [SKIP][95] ([i915#2856]) +5 other tests skip [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-7/igt@gen9_exec_parse@batch-zero-length.html * igt@gen9_exec_parse@bb-chained: - shard-tglu: NOTRUN -> [SKIP][96] ([i915#2527] / [i915#2856]) [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-tglu-2/igt@gen9_exec_parse@bb-chained.html * igt@gen9_exec_parse@shadow-peek: - shard-dg2: NOTRUN -> [SKIP][97] ([i915#2856]) +3 other tests skip [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-1/igt@gen9_exec_parse@shadow-peek.html * igt@i915_hangman@gt-engine-hang@vcs0: - shard-mtlp: [PASS][98] -> [FAIL][99] ([i915#7069]) [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-mtlp-3/igt@i915_hangman@gt-engine-hang@vcs0.html [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-4/igt@i915_hangman@gt-engine-hang@vcs0.html * igt@i915_hwmon@hwmon-write: - shard-mtlp: NOTRUN -> [SKIP][100] ([i915#7707]) [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-1/igt@i915_hwmon@hwmon-write.html * igt@i915_pm_freq_api@freq-reset: - shard-rkl: NOTRUN -> [SKIP][101] ([i915#8399]) [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-4/igt@i915_pm_freq_api@freq-reset.html * igt@i915_pm_rpm@dpms-lpsp: - shard-dg2: NOTRUN -> [SKIP][102] ([i915#1397]) [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-3/igt@i915_pm_rpm@dpms-lpsp.html * igt@i915_pm_rpm@dpms-mode-unset-non-lpsp: - shard-mtlp: NOTRUN -> [SKIP][103] ([i915#1397]) [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-4/igt@i915_pm_rpm@dpms-mode-unset-non-lpsp.html * igt@i915_pm_rpm@dpms-non-lpsp: - shard-dg1: [PASS][104] -> [SKIP][105] ([i915#1397]) +3 other tests skip [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-dg1-17/igt@i915_pm_rpm@dpms-non-lpsp.html [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-19/igt@i915_pm_rpm@dpms-non-lpsp.html * igt@i915_pm_rpm@gem-execbuf-stress-pc8: - shard-tglu: NOTRUN -> [SKIP][106] ([fdo#109506]) [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-tglu-10/igt@i915_pm_rpm@gem-execbuf-stress-pc8.html - shard-mtlp: NOTRUN -> [SKIP][107] ([fdo#109293]) +1 other test skip [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-7/igt@i915_pm_rpm@gem-execbuf-stress-pc8.html * igt@i915_pm_rpm@modeset-non-lpsp: - shard-rkl: [PASS][108] -> [SKIP][109] ([i915#1397]) [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-rkl-4/igt@i915_pm_rpm@modeset-non-lpsp.html [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-7/igt@i915_pm_rpm@modeset-non-lpsp.html * igt@i915_pm_rpm@modeset-pc8-residency-stress: - shard-dg2: NOTRUN -> [SKIP][110] ([fdo#109506]) [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-6/igt@i915_pm_rpm@modeset-pc8-residency-stress.html * igt@i915_pm_rpm@system-suspend-modeset: - shard-mtlp: [PASS][111] -> [ABORT][112] ([i915#9262]) [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-mtlp-6/igt@i915_pm_rpm@system-suspend-modeset.html [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-7/igt@i915_pm_rpm@system-suspend-modeset.html * igt@i915_pm_rps@min-max-config-idle: - shard-mtlp: NOTRUN -> [SKIP][113] ([i915#6621]) +1 other test skip [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-1/igt@i915_pm_rps@min-max-config-idle.html * igt@i915_pm_rps@min-max-config-loaded: - shard-dg2: NOTRUN -> [SKIP][114] ([i915#6621]) [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@i915_pm_rps@min-max-config-loaded.html * igt@i915_pm_rps@reset: - shard-snb: [PASS][115] -> [INCOMPLETE][116] ([i915#7790]) [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-snb6/igt@i915_pm_rps@reset.html [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-snb5/igt@i915_pm_rps@reset.html - shard-mtlp: NOTRUN -> [FAIL][117] ([i915#8346]) [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-7/igt@i915_pm_rps@reset.html * igt@i915_pm_rps@thresholds-idle@gt1: - shard-mtlp: NOTRUN -> [SKIP][118] ([i915#8925]) +3 other tests skip [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-3/igt@i915_pm_rps@thresholds-idle@gt1.html * igt@i915_pm_sseu@full-enable: - shard-mtlp: NOTRUN -> [SKIP][119] ([i915#8437]) [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-2/igt@i915_pm_sseu@full-enable.html * igt@i915_query@query-topology-unsupported: - shard-dg2: NOTRUN -> [SKIP][120] ([fdo#109302]) [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@i915_query@query-topology-unsupported.html * igt@i915_suspend@basic-s3-without-i915: - shard-rkl: [PASS][121] -> [FAIL][122] ([fdo#103375]) +1 other test fail [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-rkl-7/igt@i915_suspend@basic-s3-without-i915.html [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-6/igt@i915_suspend@basic-s3-without-i915.html * igt@i915_suspend@debugfs-reader: - shard-mtlp: NOTRUN -> [ABORT][123] ([i915#7461] / [i915#9262]) [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-1/igt@i915_suspend@debugfs-reader.html * igt@i915_suspend@fence-restore-tiled2untiled: - shard-snb: NOTRUN -> [DMESG-WARN][124] ([i915#8841]) +4 other tests dmesg-warn [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-snb6/igt@i915_suspend@fence-restore-tiled2untiled.html * igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy: - shard-mtlp: NOTRUN -> [SKIP][125] ([i915#4212]) +2 other tests skip [125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-7/igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy.html - shard-dg2: NOTRUN -> [SKIP][126] ([i915#4212]) [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-6/igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy.html * igt@kms_addfb_basic@clobberred-modifier: - shard-dg1: NOTRUN -> [SKIP][127] ([i915#4212]) +1 other test skip [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-18/igt@kms_addfb_basic@clobberred-modifier.html * igt@kms_addfb_basic@invalid-smem-bo-on-discrete: - shard-mtlp: NOTRUN -> [SKIP][128] ([i915#3826]) [128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-2/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-2-y-rc_ccs: - shard-rkl: NOTRUN -> [SKIP][129] ([i915#8502]) +3 other tests skip [129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-4/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-2-y-rc_ccs.html * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-3-4-mc_ccs: - shard-dg2: NOTRUN -> [SKIP][130] ([i915#8502] / [i915#8709]) +11 other tests skip [130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-1/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-3-4-mc_ccs.html * igt@kms_async_flips@crc@pipe-a-hdmi-a-3: - shard-dg2: NOTRUN -> [FAIL][131] ([i915#8247]) +3 other tests fail [131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-7/igt@kms_async_flips@crc@pipe-a-hdmi-a-3.html * igt@kms_async_flips@test-cursor: - shard-mtlp: NOTRUN -> [SKIP][132] ([i915#6229]) [132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-8/igt@kms_async_flips@test-cursor.html * igt@kms_big_fb@4-tiled-16bpp-rotate-90: - shard-mtlp: NOTRUN -> [SKIP][133] ([fdo#111614]) +5 other tests skip [133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-6/igt@kms_big_fb@4-tiled-16bpp-rotate-90.html * igt@kms_big_fb@4-tiled-32bpp-rotate-270: - shard-dg2: NOTRUN -> [SKIP][134] ([fdo#111614]) +4 other tests skip [134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-7/igt@kms_big_fb@4-tiled-32bpp-rotate-270.html * igt@kms_big_fb@4-tiled-8bpp-rotate-0: - shard-dg1: NOTRUN -> [SKIP][135] ([i915#4538] / [i915#5286]) [135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-13/igt@kms_big_fb@4-tiled-8bpp-rotate-0.html * igt@kms_big_fb@4-tiled-addfb-size-overflow: - shard-tglu: NOTRUN -> [SKIP][136] ([i915#5286]) [136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-tglu-10/igt@kms_big_fb@4-tiled-addfb-size-overflow.html * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip: - shard-rkl: NOTRUN -> [SKIP][137] ([i915#5286]) [137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-7/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip: - shard-mtlp: NOTRUN -> [FAIL][138] ([i915#5138]) [138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html * igt@kms_big_fb@linear-16bpp-rotate-90: - shard-tglu: NOTRUN -> [SKIP][139] ([fdo#111614]) [139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-tglu-7/igt@kms_big_fb@linear-16bpp-rotate-90.html * igt@kms_big_fb@x-tiled-32bpp-rotate-90: - shard-rkl: NOTRUN -> [SKIP][140] ([fdo#111614] / [i915#3638]) [140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-6/igt@kms_big_fb@x-tiled-32bpp-rotate-90.html * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip: - shard-tglu: [PASS][141] -> [FAIL][142] ([i915#3743]) +2 other tests fail [141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-tglu-5/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html [142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-tglu-10/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip: - shard-dg2: NOTRUN -> [SKIP][143] ([i915#5190]) +17 other tests skip [143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-7/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html * igt@kms_big_fb@yf-tiled-32bpp-rotate-90: - shard-dg2: NOTRUN -> [SKIP][144] ([i915#4538] / [i915#5190]) +5 other tests skip [144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-11/igt@kms_big_fb@yf-tiled-32bpp-rotate-90.html * igt@kms_big_fb@yf-tiled-64bpp-rotate-270: - shard-dg1: NOTRUN -> [SKIP][145] ([i915#4538]) [145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-16/igt@kms_big_fb@yf-tiled-64bpp-rotate-270.html * igt@kms_big_fb@yf-tiled-8bpp-rotate-90: - shard-rkl: NOTRUN -> [SKIP][146] ([fdo#110723]) [146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-4/igt@kms_big_fb@yf-tiled-8bpp-rotate-90.html * igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow: - shard-mtlp: NOTRUN -> [SKIP][147] ([i915#6187]) +2 other tests skip [147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-5/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0: - shard-tglu: NOTRUN -> [SKIP][148] ([fdo#111615]) [148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-tglu-10/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0.html * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip: - shard-mtlp: NOTRUN -> [SKIP][149] ([fdo#111615]) +23 other tests skip [149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-1/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html * igt@kms_big_joiner@2x-modeset: - shard-dg2: NOTRUN -> [SKIP][150] ([i915#2705]) [150]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@kms_big_joiner@2x-modeset.html * igt@kms_big_joiner@basic: - shard-mtlp: NOTRUN -> [SKIP][151] ([i915#2705]) [151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-1/igt@kms_big_joiner@basic.html * igt@kms_ccs@pipe-a-bad-pixel-format-y_tiled_gen12_rc_ccs_cc: - shard-mtlp: NOTRUN -> [SKIP][152] ([i915#3886] / [i915#6095]) +12 other tests skip [152]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-3/igt@kms_ccs@pipe-a-bad-pixel-format-y_tiled_gen12_rc_ccs_cc.html * igt@kms_ccs@pipe-a-crc-primary-basic-4_tiled_dg2_rc_ccs_cc: - shard-tglu: NOTRUN -> [SKIP][153] ([i915#5354] / [i915#6095]) +1 other test skip [153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-tglu-5/igt@kms_ccs@pipe-a-crc-primary-basic-4_tiled_dg2_rc_ccs_cc.html * igt@kms_ccs@pipe-a-crc-primary-basic-y_tiled_gen12_mc_ccs: - shard-rkl: NOTRUN -> [SKIP][154] ([i915#3886] / [i915#5354] / [i915#6095]) +1 other test skip [154]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-4/igt@kms_ccs@pipe-a-crc-primary-basic-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc: - shard-mtlp: NOTRUN -> [SKIP][155] ([i915#3886] / [i915#5354] / [i915#6095]) [155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-2/igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc.html * igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_ccs: - shard-rkl: NOTRUN -> [SKIP][156] ([i915#3734] / [i915#5354] / [i915#6095]) [156]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-4/igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_ccs.html - shard-dg1: NOTRUN -> [SKIP][157] ([i915#3689] / [i915#5354] / [i915#6095]) +8 other tests skip [157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-18/igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_ccs.html * igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_mc_ccs: - shard-dg1: NOTRUN -> [SKIP][158] ([i915#3689] / [i915#3886] / [i915#5354] / [i915#6095]) [158]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-15/igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-b-bad-pixel-format-4_tiled_mtl_rc_ccs_cc: - shard-rkl: NOTRUN -> [SKIP][159] ([i915#5354] / [i915#6095]) +3 other tests skip [159]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-6/igt@kms_ccs@pipe-b-bad-pixel-format-4_tiled_mtl_rc_ccs_cc.html * igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc: - shard-dg2: NOTRUN -> [SKIP][160] ([i915#3689] / [i915#3886] / [i915#5354]) +8 other tests skip [160]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-6/igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc.html - shard-rkl: NOTRUN -> [SKIP][161] ([i915#5354]) +10 other tests skip [161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-7/igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc.html * igt@kms_ccs@pipe-d-crc-primary-basic-yf_tiled_ccs: - shard-dg2: NOTRUN -> [SKIP][162] ([i915#3689] / [i915#5354]) +24 other tests skip [162]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@kms_ccs@pipe-d-crc-primary-basic-yf_tiled_ccs.html * igt@kms_ccs@pipe-d-random-ccs-data-4_tiled_dg2_rc_ccs: - shard-dg1: NOTRUN -> [SKIP][163] ([i915#5354] / [i915#6095]) +7 other tests skip [163]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-18/igt@kms_ccs@pipe-d-random-ccs-data-4_tiled_dg2_rc_ccs.html * igt@kms_ccs@pipe-d-random-ccs-data-y_tiled_ccs: - shard-mtlp: NOTRUN -> [SKIP][164] ([i915#6095]) +50 other tests skip [164]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-6/igt@kms_ccs@pipe-d-random-ccs-data-y_tiled_ccs.html * igt@kms_cdclk@mode-transition-all-outputs: - shard-mtlp: NOTRUN -> [SKIP][165] ([i915#7213] / [i915#9010]) [165]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-7/igt@kms_cdclk@mode-transition-all-outputs.html * igt@kms_chamelium_color@ctm-green-to-red: - shard-dg2: NOTRUN -> [SKIP][166] ([fdo#111827]) +1 other test skip [166]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-7/igt@kms_chamelium_color@ctm-green-to-red.html * igt@kms_chamelium_color@ctm-limited-range: - shard-mtlp: NOTRUN -> [SKIP][167] ([fdo#111827]) [167]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-5/igt@kms_chamelium_color@ctm-limited-range.html * igt@kms_chamelium_color@ctm-negative: - shard-dg1: NOTRUN -> [SKIP][168] ([fdo#111827]) [168]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-15/igt@kms_chamelium_color@ctm-negative.html * igt@kms_chamelium_edid@hdmi-edid-read: - shard-rkl: NOTRUN -> [SKIP][169] ([i915#7828]) +3 other tests skip [169]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-4/igt@kms_chamelium_edid@hdmi-edid-read.html * igt@kms_chamelium_frames@dp-crc-fast: - shard-dg2: NOTRUN -> [SKIP][170] ([i915#7828]) +10 other tests skip [170]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-1/igt@kms_chamelium_frames@dp-crc-fast.html - shard-mtlp: NOTRUN -> [SKIP][171] ([i915#7828]) +12 other tests skip [171]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-2/igt@kms_chamelium_frames@dp-crc-fast.html * igt@kms_chamelium_frames@dp-crc-single: - shard-dg1: NOTRUN -> [SKIP][172] ([i915#7828]) +2 other tests skip [172]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-19/igt@kms_chamelium_frames@dp-crc-single.html * igt@kms_color@deep-color: - shard-dg2: NOTRUN -> [SKIP][173] ([i915#3555]) +5 other tests skip [173]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-3/igt@kms_color@deep-color.html * igt@kms_content_protection@atomic-dpms@pipe-a-dp-4: - shard-dg2: NOTRUN -> [TIMEOUT][174] ([i915#7173]) [174]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-11/igt@kms_content_protection@atomic-dpms@pipe-a-dp-4.html * igt@kms_content_protection@content_type_change: - shard-rkl: NOTRUN -> [SKIP][175] ([i915#7118]) [175]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-1/igt@kms_content_protection@content_type_change.html * igt@kms_content_protection@dp-mst-type-1: - shard-dg1: NOTRUN -> [SKIP][176] ([i915#3299]) [176]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-16/igt@kms_content_protection@dp-mst-type-1.html * igt@kms_content_protection@legacy: - shard-mtlp: NOTRUN -> [SKIP][177] ([i915#6944]) [177]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-5/igt@kms_content_protection@legacy.html * igt@kms_content_protection@uevent: - shard-dg1: NOTRUN -> [SKIP][178] ([i915#7116]) [178]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-19/igt@kms_content_protection@uevent.html * igt@kms_cursor_crc@cursor-offscreen-512x170: - shard-rkl: NOTRUN -> [SKIP][179] ([fdo#109279] / [i915#3359]) [179]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-7/igt@kms_cursor_crc@cursor-offscreen-512x170.html * igt@kms_cursor_crc@cursor-offscreen-512x512: - shard-mtlp: NOTRUN -> [SKIP][180] ([i915#3359]) +2 other tests skip [180]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-5/igt@kms_cursor_crc@cursor-offscreen-512x512.html * igt@kms_cursor_crc@cursor-random-512x170: - shard-dg1: NOTRUN -> [SKIP][181] ([i915#3359]) [181]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-13/igt@kms_cursor_crc@cursor-random-512x170.html * igt@kms_cursor_crc@cursor-rapid-movement-512x170: - shard-dg2: NOTRUN -> [SKIP][182] ([i915#3359]) +1 other test skip [182]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-7/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html * igt@kms_cursor_crc@cursor-rapid-movement-max-size: - shard-tglu: NOTRUN -> [SKIP][183] ([i915#3555]) [183]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-tglu-3/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html * igt@kms_cursor_crc@cursor-sliding-32x32: - shard-mtlp: NOTRUN -> [SKIP][184] ([i915#3555] / [i915#8814]) +3 other tests skip [184]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-7/igt@kms_cursor_crc@cursor-sliding-32x32.html * igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy: - shard-rkl: NOTRUN -> [SKIP][185] ([fdo#111825]) +3 other tests skip [185]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-7/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html * igt@kms_cursor_legacy@cursora-vs-flipb-atomic: - shard-mtlp: NOTRUN -> [SKIP][186] ([i915#3546]) +8 other tests skip [186]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-5/igt@kms_cursor_legacy@cursora-vs-flipb-atomic.html * igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size: - shard-dg2: NOTRUN -> [SKIP][187] ([fdo#109274] / [i915#5354]) +1 other test skip [187]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size.html * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions: - shard-mtlp: NOTRUN -> [SKIP][188] ([fdo#111767] / [i915#3546]) [188]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-7/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size: - shard-apl: [PASS][189] -> [FAIL][190] ([i915#2346]) [189]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-apl6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html [190]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-apl6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html * igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle: - shard-dg2: NOTRUN -> [SKIP][191] ([i915#4103] / [i915#4213]) +1 other test skip [191]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html * igt@kms_dirtyfb@dirtyfb-ioctl@fbc-hdmi-a-4: - shard-dg1: NOTRUN -> [SKIP][192] ([i915#9227]) [192]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-18/igt@kms_dirtyfb@dirtyfb-ioctl@fbc-hdmi-a-4.html * igt@kms_dirtyfb@dirtyfb-ioctl@psr-hdmi-a-4: - shard-dg1: NOTRUN -> [SKIP][193] ([i915#9226] / [i915#9261]) +1 other test skip [193]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-18/igt@kms_dirtyfb@dirtyfb-ioctl@psr-hdmi-a-4.html * igt@kms_display_modes@mst-extended-mode-negative: - shard-dg2: NOTRUN -> [SKIP][194] ([i915#8588]) [194]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-7/igt@kms_display_modes@mst-extended-mode-negative.html - shard-rkl: NOTRUN -> [SKIP][195] ([i915#8588]) [195]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-6/igt@kms_display_modes@mst-extended-mode-negative.html - shard-dg1: NOTRUN -> [SKIP][196] ([i915#8588]) [196]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-19/igt@kms_display_modes@mst-extended-mode-negative.html - shard-mtlp: NOTRUN -> [SKIP][197] ([i915#8588]) [197]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-4/igt@kms_display_modes@mst-extended-mode-negative.html * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1: - shard-rkl: NOTRUN -> [SKIP][198] ([i915#3804]) [198]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-7/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html * igt@kms_draw_crc@draw-method-mmap-wc: - shard-dg2: NOTRUN -> [SKIP][199] ([i915#8812]) [199]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-6/igt@kms_draw_crc@draw-method-mmap-wc.html * igt@kms_dsc@dsc-with-formats: - shard-mtlp: NOTRUN -> [SKIP][200] ([i915#3555] / [i915#3840]) [200]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-8/igt@kms_dsc@dsc-with-formats.html * igt@kms_dsc@dsc-with-output-formats: - shard-rkl: NOTRUN -> [SKIP][201] ([i915#3555] / [i915#3840]) [201]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-4/igt@kms_dsc@dsc-with-output-formats.html * igt@kms_fbcon_fbt@psr-suspend: - shard-dg2: NOTRUN -> [SKIP][202] ([i915#3469]) [202]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@kms_fbcon_fbt@psr-suspend.html * igt@kms_fence_pin_leak: - shard-dg1: NOTRUN -> [SKIP][203] ([i915#4881]) [203]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-13/igt@kms_fence_pin_leak.html * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible: - shard-mtlp: NOTRUN -> [SKIP][204] ([fdo#111767] / [i915#3637]) [204]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-1/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html - shard-dg2: NOTRUN -> [SKIP][205] ([fdo#109274] / [fdo#111767]) [205]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html - shard-snb: NOTRUN -> [SKIP][206] ([fdo#109271] / [fdo#111767]) +1 other test skip [206]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-snb6/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html * igt@kms_flip@2x-flip-vs-fences: - shard-dg2: NOTRUN -> [SKIP][207] ([i915#8381]) [207]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-3/igt@kms_flip@2x-flip-vs-fences.html * igt@kms_flip@2x-flip-vs-fences-interruptible: - shard-dg1: NOTRUN -> [SKIP][208] ([i915#8381]) [208]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-13/igt@kms_flip@2x-flip-vs-fences-interruptible.html * igt@kms_flip@2x-flip-vs-suspend: - shard-mtlp: NOTRUN -> [SKIP][209] ([i915#3637]) +12 other tests skip [209]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-7/igt@kms_flip@2x-flip-vs-suspend.html * igt@kms_flip@2x-plain-flip-ts-check: - shard-dg2: NOTRUN -> [SKIP][210] ([fdo#109274]) +6 other tests skip [210]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-1/igt@kms_flip@2x-plain-flip-ts-check.html * igt@kms_flip@flip-vs-fences: - shard-mtlp: NOTRUN -> [SKIP][211] ([i915#8381]) +1 other test skip [211]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-3/igt@kms_flip@flip-vs-fences.html * igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling@pipe-a-default-mode: - shard-mtlp: NOTRUN -> [SKIP][212] ([i915#3555] / [i915#8810]) +1 other test skip [212]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-6/igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling@pipe-a-default-mode.html * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-valid-mode: - shard-dg1: NOTRUN -> [SKIP][213] ([i915#2587] / [i915#2672]) [213]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-19/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-valid-mode.html * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling@pipe-a-default-mode: - shard-mtlp: NOTRUN -> [SKIP][214] ([i915#2672]) +5 other tests skip [214]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-7/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling@pipe-a-default-mode.html * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling@pipe-a-valid-mode: - shard-dg2: NOTRUN -> [SKIP][215] ([i915#2672]) +4 other tests skip [215]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-11/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling@pipe-a-valid-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling@pipe-a-default-mode: - shard-mtlp: NOTRUN -> [SKIP][216] ([i915#8810]) [216]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-7/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling@pipe-a-default-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode: - shard-rkl: NOTRUN -> [SKIP][217] ([i915#2672]) +1 other test skip [217]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-1/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-default-mode: - shard-mtlp: NOTRUN -> [SKIP][218] ([i915#2672] / [i915#3555]) [218]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-1/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-default-mode.html * igt@kms_force_connector_basic@prune-stale-modes: - shard-mtlp: NOTRUN -> [SKIP][219] ([i915#5274]) [219]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-4/igt@kms_force_connector_basic@prune-stale-modes.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt: - shard-dg2: [PASS][220] -> [FAIL][221] ([i915#6880]) +4 other tests fail [220]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-dg2-11/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html [221]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt: - shard-dg2: NOTRUN -> [SKIP][222] ([i915#5354]) +55 other tests skip [222]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-pgflip-blt: - shard-dg1: NOTRUN -> [SKIP][223] ([fdo#111825]) +15 other tests skip [223]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-14/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-pgflip-blt.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-cpu: - shard-rkl: NOTRUN -> [SKIP][224] ([fdo#111825] / [i915#1825]) +8 other tests skip [224]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-4/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt: - shard-tglu: NOTRUN -> [SKIP][225] ([fdo#109280]) +2 other tests skip [225]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-tglu-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html * igt@kms_frontbuffer_tracking@fbcpsr-tiling-y: - shard-dg2: NOTRUN -> [SKIP][226] ([i915#5460]) [226]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move: - shard-dg2: NOTRUN -> [SKIP][227] ([i915#3458]) +17 other tests skip [227]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html - shard-rkl: NOTRUN -> [SKIP][228] ([i915#3023]) +8 other tests skip [228]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html - shard-dg1: NOTRUN -> [SKIP][229] ([i915#3458]) +5 other tests skip [229]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-19/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-render: - shard-mtlp: NOTRUN -> [SKIP][230] ([i915#1825]) +53 other tests skip [230]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-7/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-render.html * igt@kms_hdr@invalid-metadata-sizes: - shard-tglu: NOTRUN -> [SKIP][231] ([i915#3555] / [i915#8228]) [231]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-tglu-4/igt@kms_hdr@invalid-metadata-sizes.html * igt@kms_hdr@static-swap: - shard-dg2: NOTRUN -> [SKIP][232] ([i915#3555] / [i915#8228]) +1 other test skip [232]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-3/igt@kms_hdr@static-swap.html * igt@kms_hdr@static-toggle: - shard-rkl: NOTRUN -> [SKIP][233] ([i915#3555] / [i915#8228]) +2 other tests skip [233]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-4/igt@kms_hdr@static-toggle.html * igt@kms_hdr@static-toggle-dpms: - shard-mtlp: NOTRUN -> [SKIP][234] ([i915#3555] / [i915#8228]) +1 other test skip [234]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-2/igt@kms_hdr@static-toggle-dpms.html * igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes: - shard-mtlp: NOTRUN -> [ABORT][235] ([i915#9262]) +8 other tests abort [235]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-6/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes.html * igt@kms_plane_multiple@tiling-yf: - shard-mtlp: NOTRUN -> [SKIP][236] ([i915#3555] / [i915#8806]) [236]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-2/igt@kms_plane_multiple@tiling-yf.html * igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-1: - shard-rkl: NOTRUN -> [FAIL][237] ([i915#8292]) [237]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-7/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-1.html * igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-a-hdmi-a-4: - shard-dg1: NOTRUN -> [SKIP][238] ([i915#5176]) +3 other tests skip [238]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-18/igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-a-hdmi-a-4.html * igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-25@pipe-a-hdmi-a-3: - shard-dg2: NOTRUN -> [SKIP][239] ([i915#5176]) +7 other tests skip [239]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-3/igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-25@pipe-a-hdmi-a-3.html * igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-5@pipe-c-edp-1: - shard-mtlp: NOTRUN -> [SKIP][240] ([i915#5176]) +3 other tests skip [240]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-2/igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-5@pipe-c-edp-1.html * igt@kms_plane_scaling@plane-upscale-with-rotation-factor-0-25@pipe-a-hdmi-a-2: - shard-rkl: NOTRUN -> [SKIP][241] ([i915#5176]) +7 other tests skip [241]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-2/igt@kms_plane_scaling@plane-upscale-with-rotation-factor-0-25@pipe-a-hdmi-a-2.html * igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-b-hdmi-a-2: - shard-rkl: NOTRUN -> [SKIP][242] ([i915#5235]) +3 other tests skip [242]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-6/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-b-hdmi-a-2.html * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-d-hdmi-a-4: - shard-dg1: NOTRUN -> [SKIP][243] ([i915#5235]) +11 other tests skip [243]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-16/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-d-hdmi-a-4.html * igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-b-edp-1: - shard-mtlp: NOTRUN -> [SKIP][244] ([i915#5235]) +35 other tests skip [244]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-8/igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-b-edp-1.html * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-3: - shard-dg2: NOTRUN -> [SKIP][245] ([i915#5235]) +19 other tests skip [245]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-1/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-3.html * igt@kms_prime@basic-crc-hybrid: - shard-mtlp: NOTRUN -> [SKIP][246] ([i915#6524]) +1 other test skip [246]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-7/igt@kms_prime@basic-crc-hybrid.html * igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf: - shard-dg1: NOTRUN -> [SKIP][247] ([i915#658]) [247]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-19/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf.html * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area: - shard-dg1: NOTRUN -> [SKIP][248] ([fdo#111068] / [i915#658]) [248]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-15/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area.html * igt@kms_psr2_su@page_flip-p010: - shard-rkl: NOTRUN -> [SKIP][249] ([fdo#111068] / [i915#658]) [249]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-2/igt@kms_psr2_su@page_flip-p010.html - shard-tglu: NOTRUN -> [SKIP][250] ([fdo#109642] / [fdo#111068] / [i915#658]) [250]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-tglu-9/igt@kms_psr2_su@page_flip-p010.html * igt@kms_psr2_su@page_flip-xrgb8888: - shard-dg2: NOTRUN -> [SKIP][251] ([i915#658]) +2 other tests skip [251]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-3/igt@kms_psr2_su@page_flip-xrgb8888.html - shard-mtlp: NOTRUN -> [SKIP][252] ([i915#4348]) +1 other test skip [252]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-8/igt@kms_psr2_su@page_flip-xrgb8888.html * igt@kms_psr@dpms: - shard-dg2: NOTRUN -> [SKIP][253] ([i915#1072]) +5 other tests skip [253]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@kms_psr@dpms.html * igt@kms_psr@psr2_sprite_blt: - shard-rkl: NOTRUN -> [SKIP][254] ([i915#1072]) +1 other test skip [254]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-2/igt@kms_psr@psr2_sprite_blt.html * igt@kms_psr@sprite_plane_onoff: - shard-dg1: NOTRUN -> [SKIP][255] ([i915#1072]) +1 other test skip [255]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-14/igt@kms_psr@sprite_plane_onoff.html * igt@kms_rotation_crc@bad-pixel-format: - shard-mtlp: NOTRUN -> [SKIP][256] ([i915#4235]) +3 other tests skip [256]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-4/igt@kms_rotation_crc@bad-pixel-format.html * igt@kms_rotation_crc@primary-rotation-270: - shard-dg2: NOTRUN -> [SKIP][257] ([i915#4235]) +2 other tests skip [257]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-3/igt@kms_rotation_crc@primary-rotation-270.html * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180: - shard-rkl: NOTRUN -> [SKIP][258] ([fdo#111615] / [i915#5289]) [258]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-6/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html - shard-dg1: NOTRUN -> [SKIP][259] ([fdo#111615] / [i915#5289]) [259]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-15/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html - shard-mtlp: NOTRUN -> [SKIP][260] ([i915#5289]) +1 other test skip [260]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-5/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270: - shard-dg2: NOTRUN -> [SKIP][261] ([i915#4235] / [i915#5190]) +1 other test skip [261]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-11/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html * igt@kms_scaling_modes@scaling-mode-none@edp-1-pipe-d: - shard-mtlp: NOTRUN -> [SKIP][262] ([i915#5030]) +3 other tests skip [262]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-5/igt@kms_scaling_modes@scaling-mode-none@edp-1-pipe-d.html * igt@kms_setmode@basic-clone-single-crtc: - shard-dg1: NOTRUN -> [SKIP][263] ([i915#3555]) +3 other tests skip [263]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-13/igt@kms_setmode@basic-clone-single-crtc.html - shard-mtlp: NOTRUN -> [SKIP][264] ([i915#3555] / [i915#8809]) [264]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-2/igt@kms_setmode@basic-clone-single-crtc.html * igt@kms_tiled_display@basic-test-pattern: - shard-rkl: NOTRUN -> [SKIP][265] ([i915#8623]) [265]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-1/igt@kms_tiled_display@basic-test-pattern.html * igt@kms_universal_plane@cursor-fb-leak-pipe-d: - shard-mtlp: NOTRUN -> [FAIL][266] ([i915#9196]) [266]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-2/igt@kms_universal_plane@cursor-fb-leak-pipe-d.html * igt@kms_universal_plane@universal-plane-pipe-c-functional: - shard-rkl: NOTRUN -> [SKIP][267] ([i915#4070] / [i915#6768]) +3 other tests skip [267]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-2/igt@kms_universal_plane@universal-plane-pipe-c-functional.html * igt@kms_vrr@flip-basic: - shard-mtlp: NOTRUN -> [SKIP][268] ([i915#3555] / [i915#8808]) [268]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-4/igt@kms_vrr@flip-basic.html * igt@kms_vrr@negative-basic: - shard-rkl: NOTRUN -> [SKIP][269] ([i915#3555]) +2 other tests skip [269]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-1/igt@kms_vrr@negative-basic.html * igt@kms_writeback@writeback-check-output: - shard-mtlp: NOTRUN -> [SKIP][270] ([i915#2437]) [270]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-1/igt@kms_writeback@writeback-check-output.html * igt@kms_writeback@writeback-fb-id: - shard-dg2: NOTRUN -> [SKIP][271] ([i915#2437]) +2 other tests skip [271]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-1/igt@kms_writeback@writeback-fb-id.html * igt@perf@global-sseu-config: - shard-mtlp: NOTRUN -> [SKIP][272] ([i915#7387]) [272]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-6/igt@perf@global-sseu-config.html * igt@perf@mi-rpc: - shard-dg2: NOTRUN -> [SKIP][273] ([i915#2434]) [273]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-1/igt@perf@mi-rpc.html - shard-mtlp: NOTRUN -> [SKIP][274] ([i915#2434]) [274]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-2/igt@perf@mi-rpc.html * igt@perf@per-context-mode-unprivileged: - shard-dg2: NOTRUN -> [SKIP][275] ([fdo#109289]) +3 other tests skip [275]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-7/igt@perf@per-context-mode-unprivileged.html - shard-rkl: NOTRUN -> [SKIP][276] ([i915#2435]) [276]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-6/igt@perf@per-context-mode-unprivileged.html - shard-dg1: NOTRUN -> [SKIP][277] ([fdo#109289] / [i915#2433]) [277]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-19/igt@perf@per-context-mode-unprivileged.html * igt@perf_pmu@busy-double-start@vecs1: - shard-dg2: [PASS][278] -> [FAIL][279] ([i915#4349]) +3 other tests fail [278]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-dg2-11/igt@perf_pmu@busy-double-start@vecs1.html [279]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@perf_pmu@busy-double-start@vecs1.html * igt@perf_pmu@cpu-hotplug: - shard-dg2: NOTRUN -> [SKIP][280] ([i915#8850]) [280]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@perf_pmu@cpu-hotplug.html * igt@perf_pmu@rc6-all-gts: - shard-mtlp: NOTRUN -> [ABORT][281] ([i915#9268] / [i915#9335]) [281]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-1/igt@perf_pmu@rc6-all-gts.html * igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem: - shard-dg2: NOTRUN -> [INCOMPLETE][282] ([i915#5493]) [282]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-3/igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem.html * igt@prime_vgem@basic-fence-mmap: - shard-dg2: NOTRUN -> [SKIP][283] ([i915#3708] / [i915#4077]) [283]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-11/igt@prime_vgem@basic-fence-mmap.html * igt@prime_vgem@coherency-blt: - shard-mtlp: NOTRUN -> [FAIL][284] ([i915#8445]) [284]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-7/igt@prime_vgem@coherency-blt.html * igt@prime_vgem@coherency-gtt: - shard-mtlp: NOTRUN -> [SKIP][285] ([i915#3708] / [i915#4077]) [285]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-6/igt@prime_vgem@coherency-gtt.html * igt@prime_vgem@fence-read-hang: - shard-dg2: NOTRUN -> [SKIP][286] ([i915#3708]) +2 other tests skip [286]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-7/igt@prime_vgem@fence-read-hang.html * igt@prime_vgem@fence-write-hang: - shard-mtlp: NOTRUN -> [SKIP][287] ([i915#3708]) +1 other test skip [287]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-4/igt@prime_vgem@fence-write-hang.html * igt@sysfs_heartbeat_interval@mixed@vecs0: - shard-mtlp: [PASS][288] -> [FAIL][289] ([i915#1731]) [288]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-mtlp-8/igt@sysfs_heartbeat_interval@mixed@vecs0.html [289]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-7/igt@sysfs_heartbeat_interval@mixed@vecs0.html * igt@v3d/v3d_mmap@mmap-bo: - shard-mtlp: NOTRUN -> [SKIP][290] ([i915#2575]) +18 other tests skip [290]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-8/igt@v3d/v3d_mmap@mmap-bo.html * igt@v3d/v3d_perfmon@create-perfmon-invalid-counters: - shard-tglu: NOTRUN -> [SKIP][291] ([fdo#109315] / [i915#2575]) [291]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-tglu-8/igt@v3d/v3d_perfmon@create-perfmon-invalid-counters.html * igt@v3d/v3d_perfmon@get-values-invalid-pad: - shard-dg1: NOTRUN -> [SKIP][292] ([i915#2575]) +2 other tests skip [292]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-18/igt@v3d/v3d_perfmon@get-values-invalid-pad.html * igt@v3d/v3d_submit_csd@bad-multisync-pad: - shard-rkl: NOTRUN -> [SKIP][293] ([fdo#109315]) +3 other tests skip [293]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-6/igt@v3d/v3d_submit_csd@bad-multisync-pad.html * igt@v3d/v3d_wait_bo@unused-bo-0ns: - shard-dg2: NOTRUN -> [SKIP][294] ([i915#2575]) +12 other tests skip [294]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@v3d/v3d_wait_bo@unused-bo-0ns.html * igt@vc4/vc4_create_bo@create-bo-4096: - shard-dg1: NOTRUN -> [SKIP][295] ([i915#7711]) +2 other tests skip [295]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-19/igt@vc4/vc4_create_bo@create-bo-4096.html * igt@vc4/vc4_label_bo@set-kernel-name: - shard-dg2: NOTRUN -> [SKIP][296] ([i915#7711]) +9 other tests skip [296]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-11/igt@vc4/vc4_label_bo@set-kernel-name.html * igt@vc4/vc4_perfmon@create-single-perfmon: - shard-mtlp: NOTRUN -> [SKIP][297] ([i915#7711]) +9 other tests skip [297]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-2/igt@vc4/vc4_perfmon@create-single-perfmon.html * igt@vc4/vc4_purgeable_bo@mark-willneed: - shard-tglu: NOTRUN -> [SKIP][298] ([i915#2575]) [298]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-tglu-4/igt@vc4/vc4_purgeable_bo@mark-willneed.html * igt@vc4/vc4_wait_seqno@bad-seqno-0ns: - shard-glk: NOTRUN -> [SKIP][299] ([fdo#109271]) +17 other tests skip [299]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-glk3/igt@vc4/vc4_wait_seqno@bad-seqno-0ns.html * igt@vc4/vc4_wait_seqno@bad-seqno-1ns: - shard-rkl: NOTRUN -> [SKIP][300] ([i915#7711]) +3 other tests skip [300]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-7/igt@vc4/vc4_wait_seqno@bad-seqno-1ns.html #### Possible fixes #### * igt@gem_ctx_exec@basic-nohangcheck: - shard-tglu: [FAIL][301] ([i915#6268]) -> [PASS][302] [301]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-tglu-3/igt@gem_ctx_exec@basic-nohangcheck.html [302]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-tglu-3/igt@gem_ctx_exec@basic-nohangcheck.html * igt@gem_eio@hibernate: - shard-tglu: [ABORT][303] ([i915#7975] / [i915#8213] / [i915#8398]) -> [PASS][304] [303]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-tglu-10/igt@gem_eio@hibernate.html [304]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-tglu-5/igt@gem_eio@hibernate.html * igt@gem_eio@unwedge-stress: - shard-dg1: [FAIL][305] ([i915#5784]) -> [PASS][306] [305]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-dg1-16/igt@gem_eio@unwedge-stress.html [306]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-14/igt@gem_eio@unwedge-stress.html * igt@gem_exec_fair@basic-none-solo@rcs0: - shard-apl: [FAIL][307] ([i915#2842]) -> [PASS][308] [307]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-apl4/igt@gem_exec_fair@basic-none-solo@rcs0.html [308]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-apl7/igt@gem_exec_fair@basic-none-solo@rcs0.html * igt@gem_exec_suspend@basic-s3@smem: - shard-mtlp: [ABORT][309] ([i915#9262]) -> [PASS][310] [309]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-mtlp-3/igt@gem_exec_suspend@basic-s3@smem.html [310]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-2/igt@gem_exec_suspend@basic-s3@smem.html * igt@gem_exec_suspend@basic-s4-devices@lmem0: - shard-dg1: [ABORT][311] ([i915#7975] / [i915#8213]) -> [PASS][312] [311]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-dg1-14/igt@gem_exec_suspend@basic-s4-devices@lmem0.html [312]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-13/igt@gem_exec_suspend@basic-s4-devices@lmem0.html * igt@gen9_exec_parse@allowed-single: - shard-glk: [INCOMPLETE][313] -> [PASS][314] [313]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-glk6/igt@gen9_exec_parse@allowed-single.html [314]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-glk9/igt@gen9_exec_parse@allowed-single.html * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip: - shard-tglu: [FAIL][315] ([i915#3743]) -> [PASS][316] [315]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-tglu-3/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html [316]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-tglu-10/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html * {igt@kms_pm_dc@dc6-dpms}: - shard-tglu: [FAIL][317] ([i915#9295]) -> [PASS][318] [317]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-tglu-3/igt@kms_pm_dc@dc6-dpms.html [318]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-tglu-4/igt@kms_pm_dc@dc6-dpms.html * igt@kms_rotation_crc@primary-y-tiled-reflect-x-270: - shard-rkl: [INCOMPLETE][319] ([i915#8875]) -> [PASS][320] [319]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-rkl-4/igt@kms_rotation_crc@primary-y-tiled-reflect-x-270.html [320]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-rkl-2/igt@kms_rotation_crc@primary-y-tiled-reflect-x-270.html * igt@kms_universal_plane@cursor-fb-leak-pipe-b: - shard-apl: [FAIL][321] ([i915#9196]) -> [PASS][322] [321]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-apl7/igt@kms_universal_plane@cursor-fb-leak-pipe-b.html [322]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-apl1/igt@kms_universal_plane@cursor-fb-leak-pipe-b.html * igt@perf_pmu@busy-double-start@bcs0: - shard-mtlp: [FAIL][323] ([i915#4349]) -> [PASS][324] +2 other tests pass [323]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-mtlp-4/igt@perf_pmu@busy-double-start@bcs0.html [324]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-mtlp-3/igt@perf_pmu@busy-double-start@bcs0.html * igt@perf_pmu@semaphore-busy@vcs1: - shard-dg1: [FAIL][325] ([i915#4349]) -> [PASS][326] +1 other test pass [325]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-dg1-14/igt@perf_pmu@semaphore-busy@vcs1.html [326]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-19/igt@perf_pmu@semaphore-busy@vcs1.html * igt@perf_pmu@semaphore-busy@vecs0: - shard-dg2: [FAIL][327] ([i915#4349]) -> [PASS][328] +6 other tests pass [327]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-dg2-3/igt@perf_pmu@semaphore-busy@vecs0.html [328]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg2-10/igt@perf_pmu@semaphore-busy@vecs0.html #### Warnings #### * igt@drm_fdinfo@all-busy-idle-check-all: - shard-dg1: [SKIP][329] ([i915#8414]) -> [SKIP][330] ([i915#4423] / [i915#8414]) [329]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-dg1-18/igt@drm_fdinfo@all-busy-idle-check-all.html [330]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-15/igt@drm_fdinfo@all-busy-idle-check-all.html * igt@i915_pm_rc6_residency@rc6-idle@bcs0: - shard-tglu: [FAIL][331] ([i915#2681] / [i915#3591]) -> [WARN][332] ([i915#2681]) [331]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-tglu-5/igt@i915_pm_rc6_residency@rc6-idle@bcs0.html [332]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-tglu-7/igt@i915_pm_rc6_residency@rc6-idle@bcs0.html * igt@i915_pm_rc6_residency@rc6-idle@vcs0: - shard-tglu: [WARN][333] ([i915#2681]) -> [FAIL][334] ([i915#2681] / [i915#3591]) [333]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-tglu-5/igt@i915_pm_rc6_residency@rc6-idle@vcs0.html [334]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-tglu-7/igt@i915_pm_rc6_residency@rc6-idle@vcs0.html * igt@kms_content_protection@mei_interface: - shard-dg1: [SKIP][335] ([i915#7116]) -> [SKIP][336] ([fdo#109300]) [335]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-dg1-18/igt@kms_content_protection@mei_interface.html [336]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-13/igt@kms_content_protection@mei_interface.html * igt@kms_psr@cursor_plane_move: - shard-dg1: [SKIP][337] ([i915#1072] / [i915#4078]) -> [SKIP][338] ([i915#1072]) [337]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13660/shard-dg1-18/igt@kms_psr@cursor_plane_move.html [338]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/shard-dg1-17/igt@kms_psr@cursor_plane_move.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274 [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279 [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280 [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289 [fdo#109293]: https://bugs.freedesktop.org/show_bug.cgi?id=109293 [fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300 [fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302 [fdo#109314]: https://bugs.freedesktop.org/show_bug.cgi?id=109314 [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315 [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506 [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642 [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614 [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615 [fdo#111767]: https://bugs.freedesktop.org/show_bug.cgi?id=111767 [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#1099]: https://gitlab.freedesktop.org/drm/intel/issues/1099 [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397 [i915#1731]: https://gitlab.freedesktop.org/drm/intel/issues/1731 [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2410]: https://gitlab.freedesktop.org/drm/intel/issues/2410 [i915#2433]: https://gitlab.freedesktop.org/drm/intel/issues/2433 [i915#2434]: https://gitlab.freedesktop.org/drm/intel/issues/2434 [i915#2435]: https://gitlab.freedesktop.org/drm/intel/issues/2435 [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437 [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527 [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575 [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587 [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672 [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681 [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705 [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280 [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842 [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856 [i915#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023 [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281 [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282 [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297 [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299 [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359 [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458 [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469 [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539 [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591 [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637 [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638 [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734 [i915#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743 [i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804 [i915#3826]: https://gitlab.freedesktop.org/drm/intel/issues/3826 [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840 [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886 [i915#4036]: https://gitlab.freedesktop.org/drm/intel/issues/4036 [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078 [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212 [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213 [i915#4235]: https://gitlab.freedesktop.org/drm/intel/issues/4235 [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270 [i915#4348]: https://gitlab.freedesktop.org/drm/intel/issues/4348 [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349 [i915#4391]: https://gitlab.freedesktop.org/drm/intel/issues/4391 [i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423 [i915#4473]: https://gitlab.freedesktop.org/drm/intel/issues/4473 [i915#4537]: https://gitlab.freedesktop.org/drm/intel/issues/4537 [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538 [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613 [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771 [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812 [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852 [i915#4854]: https://gitlab.freedesktop.org/drm/intel/issues/4854 [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860 [i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880 [i915#4881]: https://gitlab.freedesktop.org/drm/intel/issues/4881 [i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885 [i915#4958]: https://gitlab.freedesktop.org/drm/intel/issues/4958 [i915#5030]: https://gitlab.freedesktop.org/drm/intel/issues/5030 [i915#5107]: https://gitlab.freedesktop.org/drm/intel/issues/5107 [i915#5138]: https://gitlab.freedesktop.org/drm/intel/issues/5138 [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176 [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190 [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235 [i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274 [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286 [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289 [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354 [i915#5460]: https://gitlab.freedesktop.org/drm/intel/issues/5460 [i915#5493]: https://gitlab.freedesktop.org/drm/intel/issues/5493 [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566 [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784 [i915#5889]: https://gitlab.freedesktop.org/drm/intel/issues/5889 [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095 [i915#6187]: https://gitlab.freedesktop.org/drm/intel/issues/6187 [i915#6229]: https://gitlab.freedesktop.org/drm/intel/issues/6229 [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268 [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524 [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621 [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768 [i915#6880]: https://gitlab.freedesktop.org/drm/intel/issues/6880 [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944 [i915#7069]: https://gitlab.freedesktop.org/drm/intel/issues/7069 [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116 [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118 [i915#7173]: https://gitlab.freedesktop.org/drm/intel/issues/7173 [i915#7213]: https://gitlab.freedesktop.org/drm/intel/issues/7213 [i915#7387]: https://gitlab.freedesktop.org/drm/intel/issues/7387 [i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461 [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697 [i915#7701]: https://gitlab.freedesktop.org/drm/intel/issues/7701 [i915#7707]: https://gitlab.freedesktop.org/drm/intel/issues/7707 [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711 [i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742 [i915#7790]: https://gitlab.freedesktop.org/drm/intel/issues/7790 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975 [i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213 [i915#8228]: https://gitlab.freedesktop.org/drm/intel/issues/8228 [i915#8247]: https://gitlab.freedesktop.org/drm/intel/issues/8247 [i915#8289]: https://gitlab.freedesktop.org/drm/intel/issues/8289 [i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292 [i915#8346]: https://gitlab.freedesktop.org/drm/intel/issues/8346 [i915#8381]: https://gitlab.freedesktop.org/drm/intel/issues/8381 [i915#8398]: https://gitlab.freedesktop.org/drm/intel/issues/8398 [i915#8399]: https://gitlab.freedesktop.org/drm/intel/issues/8399 [i915#8411]: https://gitlab.freedesktop.org/drm/intel/issues/8411 [i915#8414]: https://gitlab.freedesktop.org/drm/intel/issues/8414 [i915#8428]: https://gitlab.freedesktop.org/drm/intel/issues/8428 [i915#8430]: https://gitlab.freedesktop.org/drm/intel/issues/8430 [i915#8437]: https://gitlab.freedesktop.org/drm/intel/issues/8437 [i915#8445]: https://gitlab.freedesktop.org/drm/intel/issues/8445 [i915#8502]: https://gitlab.freedesktop.org/drm/intel/issues/8502 [i915#8555]: https://gitlab.freedesktop.org/drm/intel/issues/8555 [i915#8588]: https://gitlab.freedesktop.org/drm/intel/issues/8588 [i915#8623]: https://gitlab.freedesktop.org/drm/intel/issues/8623 [i915#8709]: https://gitlab.freedesktop.org/drm/intel/issues/8709 [i915#8806]: https://gitlab.freedesktop.org/drm/intel/issues/8806 [i915#8808]: https://gitlab.freedesktop.org/drm/intel/issues/8808 [i915#8809]: https://gitlab.freedesktop.org/drm/intel/issues/8809 [i915#8810]: https://gitlab.freedesktop.org/drm/intel/issues/8810 [i915#8812]: https://gitlab.freedesktop.org/drm/intel/issues/8812 [i915#8814]: https://gitlab.freedesktop.org/drm/intel/issues/8814 [i915#8841]: https://gitlab.freedesktop.org/drm/intel/issues/8841 [i915#8850]: https://gitlab.freedesktop.org/drm/intel/issues/8850 [i915#8875]: https://gitlab.freedesktop.org/drm/intel/issues/8875 [i915#8925]: https://gitlab.freedesktop.org/drm/intel/issues/8925 [i915#8957]: https://gitlab.freedesktop.org/drm/intel/issues/8957 [i915#8962]: https://gitlab.freedesktop.org/drm/intel/issues/8962 [i915#9010]: https://gitlab.freedesktop.org/drm/intel/issues/9010 [i915#9053]: https://gitlab.freedesktop.org/drm/intel/issues/9053 [i915#9196]: https://gitlab.freedesktop.org/drm/intel/issues/9196 [i915#9226]: https://gitlab.freedesktop.org/drm/intel/issues/9226 [i915#9227]: https://gitlab.freedesktop.org/drm/intel/issues/9227 [i915#9261]: https://gitlab.freedesktop.org/drm/intel/issues/9261 [i915#9262]: https://gitlab.freedesktop.org/drm/intel/issues/9262 [i915#9268]: https://gitlab.freedesktop.org/drm/intel/issues/9268 [i915#9295]: https://gitlab.freedesktop.org/drm/intel/issues/9295 [i915#9298]: https://gitlab.freedesktop.org/drm/intel/issues/9298 [i915#9323]: https://gitlab.freedesktop.org/drm/intel/issues/9323 [i915#9335]: https://gitlab.freedesktop.org/drm/intel/issues/9335 [i915#9353]: https://gitlab.freedesktop.org/drm/intel/issues/9353 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7495 -> IGTPW_9834 * Piglit: piglit_4509 -> None CI-20190529: 20190529 CI_DRM_13660: 19fa823abcf5b1c12de99ad1978ce650a1d29b39 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_9834: 9834 IGT_7495: 7ed6190bc4f8a3ebc3f0b8b334e8ae6abae03031 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9834/index.html [-- Attachment #2: Type: text/html, Size: 112969 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2023-10-26 7:48 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-09-14 13:19 [igt-dev] [i-g-t 0/2] Optimize kms tesplan documentation Bhanuprakash Modem 2023-09-14 13:19 ` [igt-dev] [i-g-t 1/2] tests/kms: Fix Mega Feature in testplan documentation Bhanuprakash Modem 2023-10-26 7:47 ` Sharma, Swati2 2023-09-14 13:19 ` [igt-dev] [i-g-t 2/2] tests/kms: Optimize KMS " Bhanuprakash Modem 2023-09-21 6:48 ` [igt-dev] [i-g-t V2 " Bhanuprakash Modem 2023-09-21 8:15 ` Kamil Konieczny 2023-09-14 14:30 ` [igt-dev] ✓ CI.xeBAT: success for Optimize kms tesplan documentation Patchwork 2023-09-14 14:37 ` [igt-dev] ✓ Fi.CI.BAT: " Patchwork 2023-09-14 18:37 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork 2023-09-21 7:51 ` [igt-dev] ✓ CI.xeBAT: success for Optimize kms tesplan documentation (rev2) Patchwork 2023-09-21 7:54 ` [igt-dev] ✓ Fi.CI.BAT: " Patchwork 2023-09-21 18:29 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox