[igt-dev] [i-g-t V6 09/81] tests/chamelium/kms_chamelium_hpd: Document each subtest for testplan
Bhanuprakash Modem
bhanuprakash.modem at intel.com
Fri Aug 11 18:45:43 UTC 2023
Add documentation for all kms tests which is used by IGT testplan
documentation.
V2: - Add chamelium & hotplug to the Functionality
Cc: Kunal Joshi <kunal1.joshi at intel.com>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
---
tests/chamelium/kms_chamelium_hpd.c | 216 +++++++++++++++++++++++++++-
1 file changed, 211 insertions(+), 5 deletions(-)
diff --git a/tests/chamelium/kms_chamelium_hpd.c b/tests/chamelium/kms_chamelium_hpd.c
index 8b3189ca0..8cd958c3d 100644
--- a/tests/chamelium/kms_chamelium_hpd.c
+++ b/tests/chamelium/kms_chamelium_hpd.c
@@ -25,8 +25,9 @@
*/
/**
- * TEST: Tests behaviour of hpd using chamelium
+ * TEST: kms chamelium hpd
* Category: Display
+ * Description: Testing HPD with a Chamelium board
*/
#include "kms_chamelium_helper.h"
@@ -115,24 +116,86 @@ static void try_suspend_resume_hpd(chamelium_data_t *data,
* hotplug and unplug
* Test category: functionality test
* Run type: BAT
- * Functionality: dp_hotplug
+ * Functionality: chamelium, hotplug
* Mega feature: DP
+ * Driver requirement: any
*
* SUBTEST: hdmi-hpd-fast
* Description: Check that we get uevents and updated connector status on
* hotplug and unplug
* Test category: functionality test
* Run type: BAT
- * Functionality: hdmi_hotplug
+ * Functionality: chamelium, hotplug
* Mega feature: HDMI
+ * Driver requirement: any
*
* SUBTEST: vga-hpd-fast
* Description: Check that we get uevents and updated connector status on
* hotplug and unplug
* Test category: functionality test
* Run type: BAT
- * Functionality: vga_hotplug
+ * Functionality: chamelium, hotplug
* Mega feature: VGA
+ * Driver requirement: any
+ *
+ * SUBTEST: dp-hpd
+ * Description: Check that we get uevents and updated connector status on
+ * hotplug and unplug
+ * Test category: functionality test
+ * Run type: FULL
+ * Functionality: chamelium, hotplug
+ * Mega feature: DP
+ * Driver requirement: any
+ *
+ * SUBTEST: hdmi-hpd
+ * Description: Check that we get uevents and updated connector status on
+ * hotplug and unplug
+ * Test category: functionality test
+ * Run type: FULL
+ * Functionality: chamelium, hotplug
+ * Mega feature: HDMI
+ * Driver requirement: any
+ *
+ * SUBTEST: vga-hpd
+ * Description: Check that we get uevents and updated connector status on
+ * hotplug and unplug
+ * Test category: functionality test
+ * Run type: FULL
+ * Functionality: chamelium, hotplug
+ * Mega feature: VGA
+ * Driver requirement: any
+ *
+ * SUBTEST: dp-hpd-%s
+ * Description: Check that we get uevents and updated connector status on
+ * hotplug and unplug
+ * Test category: functionality test
+ * Run type: FULL
+ * Functionality: chamelium, hotplug
+ * Mega feature: DP
+ * Driver requirement: any
+ *
+ * SUBTEST: hdmi-hpd-%s
+ * Description: Check that we get uevents and updated connector status on
+ * hotplug and unplug
+ * Test category: functionality test
+ * Run type: FULL
+ * Functionality: chamelium, hotplug
+ * Mega feature: HDMI
+ * Driver requirement: any
+ *
+ * SUBTEST: vga-hpd-%s
+ * Description: Check that we get uevents and updated connector status on
+ * hotplug and unplug
+ * Test category: functionality test
+ * Run type: FULL
+ * Functionality: chamelium, hotplug
+ * Mega feature: VGA
+ * Driver requirement: any
+ *
+ * arg[1]:
+ *
+ * @enable-disable-mode: Toggle the mode
+ * @with-enabled-mode: Enabling the mode
*/
static const char test_basic_hotplug_desc[] =
"Check that we get uevents and updated connector status on "
@@ -200,6 +263,34 @@ static void test_hotplug(chamelium_data_t *data, struct chamelium_port *port,
igt_remove_fb(data->drm_fd, &fb);
}
+/**
+ * SUBTEST: dp-hpd-for-each-pipe
+ * Description: Check that we get uevents and updated connector status on
+ * hotplug and unplug for each pipe with valid output
+ * Test category: functionality test
+ * Run type: FULL
+ * Functionality: chamelium, hotplug
+ * Mega feature: DP
+ * Driver requirement: any
+ *
+ * SUBTEST: hdmi-hpd-for-each-pipe
+ * Description: Check that we get uevents and updated connector status on
+ * hotplug and unplug for each pipe with valid output
+ * Test category: functionality test
+ * Run type: FULL
+ * Functionality: chamelium, hotplug
+ * Mega feature: HDMI
+ * Driver requirement: any
+ *
+ * SUBTEST: vga-hpd-for-each-pipe
+ * Description: Check that we get uevents and updated connector status on
+ * hotplug and unplug for each pipe with valid output
+ * Test category: functionality test
+ * Run type: FULL
+ * Functionality: chamelium, hotplug
+ * Mega feature: VGA
+ * Driver requirement: any
+ */
static const char test_hotplug_for_each_pipe_desc[] =
"Check that we get uevents and updated connector status on "
"hotplug and unplug for each pipe with valid output";
@@ -245,6 +336,61 @@ static void test_hotplug_for_each_pipe(chamelium_data_t *data,
igt_hpd_storm_reset(data->drm_fd);
}
+/**
+ * SUBTEST: dp-hpd-after-hibernate
+ * Description: Toggle HPD during Hibernation, check that uevents are sent and
+ * connector status is updated
+ * Test category: functionality test
+ * Run type: FULL
+ * Functionality: chamelium, hotplug, hibernation
+ * Mega feature: DP
+ * Driver requirement: any
+ *
+ * SUBTEST: hdmi-hpd-after-hibernate
+ * Description: Toggle HPD during Hibernation, check that uevents are sent and
+ * connector status is updated
+ * Test category: functionality test
+ * Run type: FULL
+ * Functionality: chamelium, hotplug, hibernation
+ * Mega feature: HDMI
+ * Driver requirement: any
+ *
+ * SUBTEST: vga-hpd-after-hibernate
+ * Description: Toggle HPD during Hibernation, check that uevents are sent and
+ * connector status is updated
+ * Test category: functionality test
+ * Run type: FULL
+ * Functionality: chamelium, hotplug, hibernation
+ * Mega feature: VGA
+ * Driver requirement: any
+ *
+ * SUBTEST: dp-hpd-after-suspend
+ * Description: Toggle HPD during Suspend, check that uevents are sent and
+ * connector status is updated
+ * Test category: functionality test
+ * Run type: FULL
+ * Functionality: chamelium, hotplug, suspend
+ * Mega feature: DP
+ * Driver requirement: any
+ *
+ * SUBTEST: hdmi-hpd-after-suspend
+ * Description: Toggle HPD during Suspend, check that uevents are sent and
+ * connector status is updated
+ * Test category: functionality test
+ * Run type: FULL
+ * Functionality: chamelium, hotplug, suspend
+ * Mega feature: HDMI
+ * Driver requirement: any
+ *
+ * SUBTEST: vga-hpd-after-suspend
+ * Description: Toggle HPD during Suspend, check that uevents are sent and
+ * connector status is updated
+ * Test category: functionality test
+ * Run type: FULL
+ * Functionality: chamelium, hotplug, suspend
+ * Mega feature: VGA
+ * Driver requirement: any
+ */
static const char test_suspend_resume_hpd_desc[] =
"Toggle HPD during suspend, check that uevents are sent and connector "
"status is updated";
@@ -274,8 +420,18 @@ static void test_suspend_resume_hpd(chamelium_data_t *data,
* are sent and connector status is updated
* Test category: functionality test
* Run type: BAT
- * Functionality: hotplug
+ * Functionality: chamelium, hotplug, suspend
+ * Mega feature: General Display Features
+ * Driver requirement: any
+ *
+ * SUBTEST: common-hpd-after-hibernate
+ * Description: Toggle HPD during suspend on all connectors, check that uevents
+ * are sent and connector status is updated
+ * Test category: functionality test
+ * Run type: FULL
+ * Functionality: chamelium, hotplug, hibernation
* Mega feature: General Display Features
+ * Driver requirement: any
*/
static const char test_suspend_resume_hpd_common_desc[] =
"Toggle HPD during suspend on all connectors, check that uevents are "
@@ -306,6 +462,16 @@ static void test_suspend_resume_hpd_common(chamelium_data_t *data,
igt_cleanup_uevents(mon);
}
+/**
+ * SUBTEST: vga-hpd-without-ddc
+ * Description: Disable DDC on a VGA connector, check we still get a uevent on
+ * hotplug
+ * Test category: functionality test
+ * Run type: FULL
+ * Functionality: chamelium, hotplug
+ * Mega feature: VGA
+ * Driver requirement: any
+ */
static const char test_hpd_without_ddc_desc[] =
"Disable DDC on a VGA connector, check we still get a uevent on hotplug";
static void test_hpd_without_ddc(chamelium_data_t *data,
@@ -332,6 +498,27 @@ static void test_hpd_without_ddc(chamelium_data_t *data,
igt_cleanup_uevents(mon);
}
+/**
+ * SUBTEST: dp-hpd-storm
+ * Description: Trigger a series of hotplugs in a very small timeframe to
+ * simulate abad cable, check the kernel falls back to polling
+ * to avoid a hotplug storm
+ * Test category: functionality test
+ * Run type: FULL
+ * Functionality: chamelium, hotplug
+ * Mega feature: DP
+ * Driver requirement: any
+ *
+ * SUBTEST: hdmi-hpd-storm
+ * Description: Trigger a series of hotplugs in a very small timeframe to
+ * simulate abad cable, check the kernel falls back to polling
+ * to avoid a hotplug storm
+ * Test category: functionality test
+ * Run type: FULL
+ * Functionality: chamelium, hotplug
+ * Mega feature: HDMI
+ * Driver requirement: any
+ */
static const char test_hpd_storm_detect_desc[] =
"Trigger a series of hotplugs in a very small timeframe to simulate a"
"bad cable, check the kernel falls back to polling to avoid a hotplug "
@@ -366,6 +553,25 @@ static void test_hpd_storm_detect(chamelium_data_t *data,
igt_hpd_storm_reset(data->drm_fd);
}
+/**
+ * SUBTEST: dp-hpd-storm-disable
+ * Description: Disable HPD storm detection, trigger a storm and check the
+ * kernel doesn't detect one
+ * Test category: functionality test
+ * Run type: FULL
+ * Functionality: chamelium, hotplug
+ * Mega feature: DP
+ * Driver requirement: any
+ *
+ * SUBTEST: hdmi-hpd-storm-disable
+ * Description: Disable HPD storm detection, trigger a storm and check the
+ * kernel doesn't detect one
+ * Test category: functionality test
+ * Run type: FULL
+ * Functionality: chamelium, hotplug
+ * Mega feature: HDMI
+ * Driver requirement: any
+ */
static const char test_hpd_storm_disable_desc[] =
"Disable HPD storm detection, trigger a storm and check the kernel "
"doesn't detect one";
--
2.40.0
More information about the igt-dev
mailing list