From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
To: igt-dev@lists.freedesktop.org
Subject: [igt-dev] [i-g-t V4 35/82] tests/kms_atomic: Document each subtest for testplan
Date: Mon, 29 May 2023 10:57:48 +0530 [thread overview]
Message-ID: <20230529052835.860047-36-bhanuprakash.modem@intel.com> (raw)
In-Reply-To: <20230529052835.860047-1-bhanuprakash.modem@intel.com>
Add documentation for all kms tests which is used by IGT testplan
documentation.
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
tests/kms_atomic.c | 102 ++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 100 insertions(+), 2 deletions(-)
diff --git a/tests/kms_atomic.c b/tests/kms_atomic.c
index 037db2d36..27c0e6368 100644
--- a/tests/kms_atomic.c
+++ b/tests/kms_atomic.c
@@ -27,8 +27,10 @@
* Pekka Paalanen <pekka.paalanen@collabora.co.uk>
*/
-/*
- * Testcase: testing atomic modesetting API
+/**
+ * TEST: kms atomic
+ * Category: Display
+ * Description: Test atomic modesetting API
*/
#include <unistd.h>
@@ -287,6 +289,16 @@ 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: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * 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,
@@ -369,6 +381,16 @@ 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: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ */
static void
plane_immutable_zpos(igt_display_t *display, igt_pipe_t *pipe,
igt_output_t *output)
@@ -505,6 +527,22 @@ 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: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * 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);
@@ -579,6 +617,17 @@ 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: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ */
+
/* test to ensure that DRM_MODE_ATOMIC_TEST_ONLY really only touches the
* free-standing state objects and nothing else.
*/
@@ -687,6 +736,20 @@ 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: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * 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,
@@ -776,6 +839,20 @@ 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: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * 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,
@@ -923,6 +1000,18 @@ 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: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * 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,
@@ -1064,6 +1153,15 @@ 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: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * 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];
--
2.40.0
next prev parent reply other threads:[~2023-05-29 5:34 UTC|newest]
Thread overview: 95+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-29 5:27 [igt-dev] [i-g-t V4 00/82] Document KMS tests Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 01/82] tests/chamelium: Move chamelium helpers to lib Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 02/82] tests/dsc: Move dsc " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 03/82] tests/color: Move color " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 04/82] testplan/kms: Include testdisplay to kms testplan config Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 05/82] testplan/kms: Add support to differentiate b/w drivers Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 06/82] tests/chamelium/kms_chamelium_audio: Document each subtest for testplan Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 07/82] tests/chamelium/kms_chamelium_color: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 08/82] tests/chamelium/kms_chamelium_edid: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 09/82] tests/chamelium/kms_chamelium_frames: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 10/82] tests/chamelium/kms_chamelium_hpd: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 11/82] tests/i915/kms_big_fb: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 12/82] tests/i915/kms_big_joiner: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 13/82] tests/i915/kms_busy: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 14/82] tests/i915/kms_ccs: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 15/82] tests/i915/kms_cdclk: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 16/82] tests/i915/kms_draw_crc: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 17/82] tests/i915/kms_dsc: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 18/82] tests/i915/kms_fb_coherency: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 19/82] tests/i915/kms_fbcon_fbt: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 20/82] tests/i915/kms_fence_pin_leak: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 21/82] tests/i915/kms_flip_scaled_crc: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 22/82] tests/i915/kms_flip_tiling: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 23/82] tests/i915/kms_frontbuffer_tracking: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 24/82] tests/i915/kms_legacy_colorkey: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 25/82] tests/i915/kms_mmap_write_crc: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 26/82] tests/i915/kms_pipe_b_c_ivb: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 27/82] tests/i915/kms_psr: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 28/82] tests/i915/kms_psr2_sf: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 29/82] tests/i915/kms_psr2_su: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 30/82] tests/i915/kms_psr_stress_test: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 31/82] tests/i915/kms_pwrite_crc: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 32/82] tests/kms_3d: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 33/82] tests/kms_addfb_basic: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 34/82] tests/kms_async_flips: " Bhanuprakash Modem
2023-05-29 5:27 ` Bhanuprakash Modem [this message]
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 36/82] tests/kms_atomic_interruptible: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 37/82] tests/kms_atomic_transition: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 38/82] tests/kms_bw: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 39/82] tests/kms_color: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 40/82] tests/kms_concurrent: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 41/82] tests/kms_content_protection: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 42/82] tests/kms_cursor_crc: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 43/82] tests/kms_cursor_edge_walk: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 44/82] tests/kms_cursor_legacy: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 45/82] tests/kms_display_modes: " Bhanuprakash Modem
2023-05-29 5:27 ` [igt-dev] [i-g-t V4 46/82] tests/kms_dither: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 47/82] tests/kms_dp_aux_dev: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 48/82] tests/kms_dp_tiled_display: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 49/82] tests/kms_flip: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 50/82] tests/kms_flip_event_leak: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 51/82] tests/kms_force_connector_basic: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 52/82] tests/kms_getfb: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 53/82] tests/kms_hdmi_inject: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 54/82] tests/kms_hdr: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 55/82] tests/kms_invalid_mode: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 56/82] tests/kms_lease: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 57/82] tests/kms_multipipe_modeset: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 58/82] tests/kms_panel_fitting: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 59/82] tests/kms_pipe_crc_basic: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 60/82] tests/kms_plane: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 61/82] tests/kms_plane_alpha_blend: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 62/82] tests/kms_plane_cursor: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 63/82] tests/kms_plane_lowres: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 64/82] tests/kms_plane_multiple: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 65/82] tests/kms_plane_scaling: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 66/82] tests/kms_prime: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 67/82] tests/kms_prop_blob: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 68/82] tests/kms_properties: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 69/82] tests/kms_rmfb: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 70/82] tests/kms_rotation_crc: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 71/82] tests/kms_scaling_modes: " Bhanuprakash Modem
2023-05-30 16:44 ` Sharma, Swati2
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 72/82] tests/kms_selftest: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 73/82] tests/kms_sequence: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 74/82] tests/kms_setmode: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 75/82] tests/kms_sysfs_edid_timing: " Bhanuprakash Modem
2023-05-30 16:40 ` Sharma, Swati2
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 76/82] tests/kms_tv_load_detect: " Bhanuprakash Modem
2023-05-30 16:38 ` Sharma, Swati2
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 77/82] tests/kms_universal_plane: " Bhanuprakash Modem
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 78/82] tests/kms_vblank: " Bhanuprakash Modem
2023-05-30 16:10 ` Sharma, Swati2
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 79/82] tests/kms_vrr: " Bhanuprakash Modem
2023-05-30 15:17 ` Sharma, Swati2
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 80/82] tests/kms_writeback: " Bhanuprakash Modem
2023-05-30 15:06 ` Sharma, Swati2
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 81/82] tests/testdisplay: " Bhanuprakash Modem
2023-05-30 15:11 ` Sharma, Swati2
2023-05-29 5:28 ` [igt-dev] [i-g-t V4 82/82] testplan/kms: Make documentation is mandatory for all kms subtests Bhanuprakash Modem
2023-05-29 6:08 ` [igt-dev] ✗ GitLab.Pipeline: warning for Document KMS tests (rev11) Patchwork
2023-05-29 6:38 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
2023-05-29 8:07 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2023-05-30 15:00 ` [igt-dev] [i-g-t V4 00/82] Document KMS tests Sharma, Swati2
2023-05-31 6:52 ` Mauro Carvalho Chehab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230529052835.860047-36-bhanuprakash.modem@intel.com \
--to=bhanuprakash.modem@intel.com \
--cc=igt-dev@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox