[igt-dev] [i-g-t V6 33/81] tests/kms_async_flips: Document each subtest for testplan
Bhanuprakash Modem
bhanuprakash.modem at intel.com
Fri Aug 11 18:46:07 UTC 2023
Add documentation for all kms tests which is used by IGT testplan
documentation.
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
Reviewed-by: Karthik B S <karthik.b.s at intel.com>
---
tests/kms_async_flips.c | 62 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)
diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index ebdc4c0b6..b807d12bf 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -25,6 +25,11 @@
* Karthik B S <karthik.b.s at intel.com>
*/
+/**
+ * TEST: kms async flips
+ * Category: Display
+ * Description: Test asynchronous page flips.
+ */
#include "igt.h"
#include "igt_aux.h"
#include "igt_psr.h"
@@ -198,6 +203,25 @@ 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: any
+ * Functionality: async_flips, vblank
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * 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: any
+ * Functionality: async_flips, vblank
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ */
static void test_async_flip(data_t *data)
{
int ret, frame;
@@ -293,6 +317,17 @@ 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: any
+ * Functionality: async_flips, vblank
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ */
static void test_timestamp(data_t *data)
{
int flags = DRM_MODE_PAGE_FLIP_ASYNC | DRM_MODE_PAGE_FLIP_EVENT;
@@ -337,6 +372,15 @@ 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: any
+ * Functionality: async_flips, cursor, vblank
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ */
static void test_cursor(data_t *data)
{
int flags = DRM_MODE_PAGE_FLIP_ASYNC | DRM_MODE_PAGE_FLIP_EVENT;
@@ -489,6 +533,15 @@ 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: any
+ * Functionality: async_flips, crc, vblank
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ */
static void test_crc(data_t *data)
{
unsigned int frame = 0;
@@ -551,6 +604,15 @@ 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: any
+ * Functionality: async_flips, vblank
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ */
static void run_test(data_t *data, void (*test)(data_t *))
{
igt_display_t *display = &data->display;
--
2.40.0
More information about the igt-dev
mailing list