* [igt-dev] [PATCH i-g-t] tests/kms_chamelium: add test descriptions
@ 2019-09-05 13:36 Simon Ser
2019-09-05 14:09 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Simon Ser @ 2019-09-05 13:36 UTC (permalink / raw)
To: igt-dev
Add test descriptions to all subtest groups and subtests.
Each connector type has its own group, with a different set of subtests.
To avoid duplication, descriptions are defined at the test function level.
Signed-off-by: Simon Ser <simon.ser@intel.com>
---
tests/kms_chamelium.c | 121 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 121 insertions(+)
diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c
index 6b6292497cd7..fe3cbe57daf3 100644
--- a/tests/kms_chamelium.c
+++ b/tests/kms_chamelium.c
@@ -242,6 +242,9 @@ reset_state(data_t *data, struct chamelium_port *port)
}
}
+static const char test_basic_hotplug_desc[] =
+ "Check that we get uevents and updated connector status on "
+ "hotplug and unplug";
static void
test_basic_hotplug(data_t *data, struct chamelium_port *port, int toggle_count)
{
@@ -290,6 +293,8 @@ static void set_edid(data_t *data, struct chamelium_port *port,
chamelium_port_set_edid(data->chamelium, port, data->edids[edid]);
}
+static const char test_edid_read_desc[] = "Make sure reading a simple EDID "
+ "gives the correct blob";
static void
test_edid_read(data_t *data, struct chamelium_port *port, enum test_edid edid)
{
@@ -400,6 +405,9 @@ try_suspend_resume_hpd(data_t *data, struct chamelium_port *port,
}
}
+static const char test_suspend_resume_hpd_desc[] =
+ "Toggle HPD during suspend, check that uevents are sent and connector "
+ "status is updated";
static void
test_suspend_resume_hpd(data_t *data, struct chamelium_port *port,
enum igt_suspend_state state,
@@ -418,6 +426,9 @@ test_suspend_resume_hpd(data_t *data, struct chamelium_port *port,
igt_cleanup_hotplug(mon);
}
+static const char test_suspend_resume_hpd_common_desc[] =
+ "Toggle HPD during suspend on all connectors, check that uevents are "
+ "sent and connector status is updated";
static void
test_suspend_resume_hpd_common(data_t *data, enum igt_suspend_state state,
enum igt_suspend_test test)
@@ -442,6 +453,10 @@ test_suspend_resume_hpd_common(data_t *data, enum igt_suspend_state state,
igt_cleanup_hotplug(mon);
}
+static const char test_suspend_resume_edid_change_desc[] =
+ "Simulate a screen being unplugged and another screen being plugged "
+ "during suspend, check that a uevent is sent and connector status is "
+ "updated";
static void
test_suspend_resume_edid_change(data_t *data, struct chamelium_port *port,
enum igt_suspend_state state,
@@ -600,6 +615,10 @@ static bool are_fallback_modes(const drmModeModeInfo *modes, size_t modes_len)
return modes[0].hdisplay <= 1024 && modes[0].vdisplay <= 768;
}
+static const char test_link_status_desc[] =
+ "Simulate a series of link failures, check we get a uevent each time "
+ "with the link-status property set to BAD and the list of modes "
+ "shrinks (or stays the same), until we reach fallback modes";
static void
test_link_status(data_t *data, struct chamelium_port *port)
{
@@ -812,6 +831,9 @@ static void do_test_display(data_t *data, struct chamelium_port *port,
igt_remove_fb(data->drm_fd, &fb);
}
+static const char test_display_one_mode_desc[] =
+ "Pick the first mode of the IGT base EDID, display and capture a few "
+ "frames, then check captured frames are correct";
static void test_display_one_mode(data_t *data, struct chamelium_port *port,
uint32_t fourcc, enum chamelium_check check,
int count)
@@ -842,6 +864,9 @@ static void test_display_one_mode(data_t *data, struct chamelium_port *port,
drmModeFreeConnector(connector);
}
+static const char test_display_all_modes_desc[] =
+ "For each mode of the IGT base EDID, display and capture a few "
+ "frames, then check captured frames are correct";
static void test_display_all_modes(data_t *data, struct chamelium_port *port,
uint32_t fourcc, enum chamelium_check check,
int count)
@@ -876,6 +901,10 @@ static void test_display_all_modes(data_t *data, struct chamelium_port *port,
drmModeFreeConnector(connector);
}
+static const char test_display_frame_dump_desc[] =
+ "For each mode of the IGT base EDID, display and capture a few "
+ "frames, then check captured frames are pixel-by-pixel equal to "
+ "sent frames";
static void
test_display_frame_dump(data_t *data, struct chamelium_port *port)
{
@@ -983,6 +1012,9 @@ static void check_mode(struct chamelium *chamelium, struct chamelium_port *port,
igt_assert(video_params.vsync_polarity == mode_vsync_polarity);
}
+static const char test_mode_timings_desc[] =
+ "For each mode of the IGT base EDID, perform a modeset and check the "
+ "mode detected by the Chamelium receiver matches the mode we set";
static void test_mode_timings(data_t *data, struct chamelium_port *port)
{
igt_output_t *output;
@@ -1113,6 +1145,10 @@ static const struct edid *get_aspect_ratio_edid(void)
return edid;
}
+static const char test_display_aspect_ratio_desc[] =
+ "Pick a mode with a picture aspect-ratio, capture AVI InfoFrames and "
+ "check the InfoFrame correctly includes the aspect-ratio and VIC we "
+ "requested";
static void test_display_aspect_ratio(data_t *data, struct chamelium_port *port)
{
igt_output_t *output;
@@ -1825,6 +1861,9 @@ static bool check_audio_configuration(struct alsa *alsa, snd_pcm_format_t format
return true;
}
+static const char test_display_audio_desc[] =
+ "Playback various audio signals with various audio formats/rates, "
+ "capture them and check they are correct";
static void
test_display_audio(data_t *data, struct chamelium_port *port,
const char *audio_device, enum test_edid edid)
@@ -1914,6 +1953,9 @@ test_display_audio(data_t *data, struct chamelium_port *port,
free(alsa);
}
+static const char test_display_audio_edid_desc[] =
+ "Plug a connector with an EDID suitable for audio, check ALSA's "
+ "EDID-Like Data reports the correct audio parameters";
static void
test_display_audio_edid(data_t *data, struct chamelium_port *port,
enum test_edid edid)
@@ -2327,6 +2369,9 @@ static void prepare_randomized_plane(data_t *data,
igt_remove_fb(data->drm_fd, &pattern_fb);
}
+static const char test_display_planes_random_desc[] =
+ "Setup a few overlay planes with random parameters, capture the frame "
+ "and check it's correct";
static void test_display_planes_random(data_t *data,
struct chamelium_port *port,
enum chamelium_check check)
@@ -2460,6 +2505,8 @@ static void test_display_planes_random(data_t *data,
igt_remove_fb(data->drm_fd, &result_fb);
}
+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(data_t *data, struct chamelium_port *port)
{
@@ -2480,6 +2527,9 @@ test_hpd_without_ddc(data_t *data, struct chamelium_port *port)
igt_cleanup_hotplug(mon);
}
+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";
static void
test_hpd_storm_detect(data_t *data, struct chamelium_port *port, int width)
{
@@ -2508,6 +2558,9 @@ test_hpd_storm_detect(data_t *data, struct chamelium_port *port, int width)
igt_hpd_storm_reset(data->drm_fd);
}
+static const char test_hpd_storm_disable_desc[] =
+ "Disable HPD storm detection, trigger a storm and check the kernel "
+ "doesn't detect one";
static void
test_hpd_storm_disable(data_t *data, struct chamelium_port *port, int width)
{
@@ -2552,6 +2605,7 @@ static const struct edid *get_edid(enum test_edid edid)
static data_t data;
+IGT_TEST_DESCRIPTION("Tests requiring a Chamelium board");
igt_main
{
struct chamelium_port *port;
@@ -2580,46 +2634,56 @@ igt_main
igt_require(data.display.is_atomic);
}
+ igt_describe("DisplayPort tests");
igt_subtest_group {
igt_fixture {
require_connector_present(
&data, DRM_MODE_CONNECTOR_DisplayPort);
}
+ igt_describe(test_basic_hotplug_desc);
connector_subtest("dp-hpd", DisplayPort)
test_basic_hotplug(&data, port,
HPD_TOGGLE_COUNT_DP_HDMI);
+ igt_describe(test_basic_hotplug_desc);
connector_subtest("dp-hpd-fast", DisplayPort)
test_basic_hotplug(&data, port,
HPD_TOGGLE_COUNT_FAST);
+ igt_describe(test_edid_read_desc);
connector_subtest("dp-edid-read", DisplayPort) {
test_edid_read(&data, port, TEST_EDID_BASE);
test_edid_read(&data, port, TEST_EDID_ALT);
}
+ igt_describe(test_suspend_resume_hpd_desc);
connector_subtest("dp-hpd-after-suspend", DisplayPort)
test_suspend_resume_hpd(&data, port,
SUSPEND_STATE_MEM,
SUSPEND_TEST_NONE);
+ igt_describe(test_suspend_resume_hpd_desc);
connector_subtest("dp-hpd-after-hibernate", DisplayPort)
test_suspend_resume_hpd(&data, port,
SUSPEND_STATE_DISK,
SUSPEND_TEST_DEVICES);
+ igt_describe(test_hpd_storm_detect_desc);
connector_subtest("dp-hpd-storm", DisplayPort)
test_hpd_storm_detect(&data, port,
HPD_STORM_PULSE_INTERVAL_DP);
+ igt_describe(test_hpd_storm_disable_desc);
connector_subtest("dp-hpd-storm-disable", DisplayPort)
test_hpd_storm_disable(&data, port,
HPD_STORM_PULSE_INTERVAL_DP);
+ igt_describe(test_link_status_desc);
connector_subtest("dp-link-status", DisplayPort)
test_link_status(&data, port);
+ igt_describe(test_suspend_resume_edid_change_desc);
connector_subtest("dp-edid-change-during-suspend", DisplayPort)
test_suspend_resume_edid_change(&data, port,
SUSPEND_STATE_MEM,
@@ -2627,6 +2691,7 @@ igt_main
TEST_EDID_BASE,
TEST_EDID_ALT);
+ igt_describe(test_suspend_resume_edid_change_desc);
connector_subtest("dp-edid-change-during-hibernate", DisplayPort)
test_suspend_resume_edid_change(&data, port,
SUSPEND_STATE_DISK,
@@ -2634,70 +2699,86 @@ igt_main
TEST_EDID_BASE,
TEST_EDID_ALT);
+ igt_describe(test_display_all_modes_desc);
connector_subtest("dp-crc-single", DisplayPort)
test_display_all_modes(&data, port, DRM_FORMAT_XRGB8888,
CHAMELIUM_CHECK_CRC, 1);
+ igt_describe(test_display_one_mode_desc);
connector_subtest("dp-crc-fast", DisplayPort)
test_display_one_mode(&data, port, DRM_FORMAT_XRGB8888,
CHAMELIUM_CHECK_CRC, 1);
+ igt_describe(test_display_all_modes_desc);
connector_subtest("dp-crc-multiple", DisplayPort)
test_display_all_modes(&data, port, DRM_FORMAT_XRGB8888,
CHAMELIUM_CHECK_CRC, 3);
+ igt_describe(test_display_frame_dump_desc);
connector_subtest("dp-frame-dump", DisplayPort)
test_display_frame_dump(&data, port);
+ igt_describe(test_mode_timings_desc);
connector_subtest("dp-mode-timings", DisplayPort)
test_mode_timings(&data, port);
+ igt_describe(test_display_audio_desc);
connector_subtest("dp-audio", DisplayPort)
test_display_audio(&data, port, "HDMI",
TEST_EDID_DP_AUDIO);
+ igt_describe(test_display_audio_edid_desc);
connector_subtest("dp-audio-edid", DisplayPort)
test_display_audio_edid(&data, port,
TEST_EDID_DP_AUDIO);
}
+ igt_describe("HDMI tests");
igt_subtest_group {
igt_fixture {
require_connector_present(
&data, DRM_MODE_CONNECTOR_HDMIA);
}
+ igt_describe(test_basic_hotplug_desc);
connector_subtest("hdmi-hpd", HDMIA)
test_basic_hotplug(&data, port,
HPD_TOGGLE_COUNT_DP_HDMI);
+ igt_describe(test_basic_hotplug_desc);
connector_subtest("hdmi-hpd-fast", HDMIA)
test_basic_hotplug(&data, port,
HPD_TOGGLE_COUNT_FAST);
+ igt_describe(test_edid_read_desc);
connector_subtest("hdmi-edid-read", HDMIA) {
test_edid_read(&data, port, TEST_EDID_BASE);
test_edid_read(&data, port, TEST_EDID_ALT);
}
+ igt_describe(test_suspend_resume_hpd_desc);
connector_subtest("hdmi-hpd-after-suspend", HDMIA)
test_suspend_resume_hpd(&data, port,
SUSPEND_STATE_MEM,
SUSPEND_TEST_NONE);
+ igt_describe(test_suspend_resume_hpd_desc);
connector_subtest("hdmi-hpd-after-hibernate", HDMIA)
test_suspend_resume_hpd(&data, port,
SUSPEND_STATE_DISK,
SUSPEND_TEST_DEVICES);
+ igt_describe(test_hpd_storm_detect_desc);
connector_subtest("hdmi-hpd-storm", HDMIA)
test_hpd_storm_detect(&data, port,
HPD_STORM_PULSE_INTERVAL_HDMI);
+ igt_describe(test_hpd_storm_disable_desc);
connector_subtest("hdmi-hpd-storm-disable", HDMIA)
test_hpd_storm_disable(&data, port,
HPD_STORM_PULSE_INTERVAL_HDMI);
+ igt_describe(test_suspend_resume_edid_change_desc);
connector_subtest("hdmi-edid-change-during-suspend", HDMIA)
test_suspend_resume_edid_change(&data, port,
SUSPEND_STATE_MEM,
@@ -2705,6 +2786,7 @@ igt_main
TEST_EDID_BASE,
TEST_EDID_ALT);
+ igt_describe(test_suspend_resume_edid_change_desc);
connector_subtest("hdmi-edid-change-during-hibernate", HDMIA)
test_suspend_resume_edid_change(&data, port,
SUSPEND_STATE_DISK,
@@ -2712,157 +2794,196 @@ igt_main
TEST_EDID_BASE,
TEST_EDID_ALT);
+ igt_describe(test_display_all_modes_desc);
connector_subtest("hdmi-crc-single", HDMIA)
test_display_all_modes(&data, port, DRM_FORMAT_XRGB8888,
CHAMELIUM_CHECK_CRC, 1);
+ igt_describe(test_display_one_mode_desc);
connector_subtest("hdmi-crc-fast", HDMIA)
test_display_one_mode(&data, port, DRM_FORMAT_XRGB8888,
CHAMELIUM_CHECK_CRC, 1);
+ igt_describe(test_display_all_modes_desc);
connector_subtest("hdmi-crc-multiple", HDMIA)
test_display_all_modes(&data, port, DRM_FORMAT_XRGB8888,
CHAMELIUM_CHECK_CRC, 3);
+ igt_describe(test_display_one_mode_desc);
connector_subtest("hdmi-crc-argb8888", HDMIA)
test_display_one_mode(&data, port, DRM_FORMAT_ARGB8888,
CHAMELIUM_CHECK_CRC, 1);
+ igt_describe(test_display_one_mode_desc);
connector_subtest("hdmi-crc-abgr8888", HDMIA)
test_display_one_mode(&data, port, DRM_FORMAT_ABGR8888,
CHAMELIUM_CHECK_CRC, 1);
+ igt_describe(test_display_one_mode_desc);
connector_subtest("hdmi-crc-xrgb8888", HDMIA)
test_display_one_mode(&data, port, DRM_FORMAT_XRGB8888,
CHAMELIUM_CHECK_CRC, 1);
+ igt_describe(test_display_one_mode_desc);
connector_subtest("hdmi-crc-xbgr8888", HDMIA)
test_display_one_mode(&data, port, DRM_FORMAT_XBGR8888,
CHAMELIUM_CHECK_CRC, 1);
+ igt_describe(test_display_one_mode_desc);
connector_subtest("hdmi-crc-rgb888", HDMIA)
test_display_one_mode(&data, port, DRM_FORMAT_RGB888,
CHAMELIUM_CHECK_CRC, 1);
+ igt_describe(test_display_one_mode_desc);
connector_subtest("hdmi-crc-bgr888", HDMIA)
test_display_one_mode(&data, port, DRM_FORMAT_BGR888,
CHAMELIUM_CHECK_CRC, 1);
+ igt_describe(test_display_one_mode_desc);
connector_subtest("hdmi-crc-rgb565", HDMIA)
test_display_one_mode(&data, port, DRM_FORMAT_RGB565,
CHAMELIUM_CHECK_CRC, 1);
+ igt_describe(test_display_one_mode_desc);
connector_subtest("hdmi-crc-bgr565", HDMIA)
test_display_one_mode(&data, port, DRM_FORMAT_BGR565,
CHAMELIUM_CHECK_CRC, 1);
+ igt_describe(test_display_one_mode_desc);
connector_subtest("hdmi-crc-argb1555", HDMIA)
test_display_one_mode(&data, port, DRM_FORMAT_ARGB1555,
CHAMELIUM_CHECK_CRC, 1);
+ igt_describe(test_display_one_mode_desc);
connector_subtest("hdmi-crc-xrgb1555", HDMIA)
test_display_one_mode(&data, port, DRM_FORMAT_XRGB1555,
CHAMELIUM_CHECK_CRC, 1);
+ igt_describe(test_display_planes_random_desc);
connector_subtest("hdmi-crc-planes-random", HDMIA)
test_display_planes_random(&data, port,
CHAMELIUM_CHECK_CRC);
+ igt_describe(test_display_one_mode_desc);
connector_subtest("hdmi-cmp-nv12", HDMIA)
test_display_one_mode(&data, port, DRM_FORMAT_NV12,
CHAMELIUM_CHECK_CHECKERBOARD, 1);
+ igt_describe(test_display_one_mode_desc);
connector_subtest("hdmi-cmp-nv16", HDMIA)
test_display_one_mode(&data, port, DRM_FORMAT_NV16,
CHAMELIUM_CHECK_CHECKERBOARD, 1);
+ igt_describe(test_display_one_mode_desc);
connector_subtest("hdmi-cmp-nv21", HDMIA)
test_display_one_mode(&data, port, DRM_FORMAT_NV21,
CHAMELIUM_CHECK_CHECKERBOARD, 1);
+ igt_describe(test_display_one_mode_desc);
connector_subtest("hdmi-cmp-nv61", HDMIA)
test_display_one_mode(&data, port, DRM_FORMAT_NV61,
CHAMELIUM_CHECK_CHECKERBOARD, 1);
+ igt_describe(test_display_one_mode_desc);
connector_subtest("hdmi-cmp-yu12", HDMIA)
test_display_one_mode(&data, port, DRM_FORMAT_YUV420,
CHAMELIUM_CHECK_CHECKERBOARD, 1);
+ igt_describe(test_display_one_mode_desc);
connector_subtest("hdmi-cmp-yu16", HDMIA)
test_display_one_mode(&data, port, DRM_FORMAT_YUV422,
CHAMELIUM_CHECK_CHECKERBOARD, 1);
+ igt_describe(test_display_one_mode_desc);
connector_subtest("hdmi-cmp-yv12", HDMIA)
test_display_one_mode(&data, port, DRM_FORMAT_YVU420,
CHAMELIUM_CHECK_CHECKERBOARD, 1);
+ igt_describe(test_display_one_mode_desc);
connector_subtest("hdmi-cmp-yv16", HDMIA)
test_display_one_mode(&data, port, DRM_FORMAT_YVU422,
CHAMELIUM_CHECK_CHECKERBOARD, 1);
+ igt_describe(test_display_planes_random_desc);
connector_subtest("hdmi-cmp-planes-random", HDMIA)
test_display_planes_random(&data, port,
CHAMELIUM_CHECK_CHECKERBOARD);
+ igt_describe(test_display_frame_dump_desc);
connector_subtest("hdmi-frame-dump", HDMIA)
test_display_frame_dump(&data, port);
+ igt_describe(test_mode_timings_desc);
connector_subtest("hdmi-mode-timings", HDMIA)
test_mode_timings(&data, port);
+ igt_describe(test_display_audio_desc);
connector_subtest("hdmi-audio", HDMIA)
test_display_audio(&data, port, "HDMI",
TEST_EDID_HDMI_AUDIO);
+ igt_describe(test_display_audio_edid_desc);
connector_subtest("hdmi-audio-edid", HDMIA)
test_display_audio_edid(&data, port,
TEST_EDID_HDMI_AUDIO);
+ igt_describe(test_display_aspect_ratio_desc);
connector_subtest("hdmi-aspect-ratio", HDMIA)
test_display_aspect_ratio(&data, port);
}
+ igt_describe("VGA tests");
igt_subtest_group {
igt_fixture {
require_connector_present(
&data, DRM_MODE_CONNECTOR_VGA);
}
+ igt_describe(test_basic_hotplug_desc);
connector_subtest("vga-hpd", VGA)
test_basic_hotplug(&data, port, HPD_TOGGLE_COUNT_VGA);
+ igt_describe(test_basic_hotplug_desc);
connector_subtest("vga-hpd-fast", VGA)
test_basic_hotplug(&data, port, HPD_TOGGLE_COUNT_FAST);
+ igt_describe(test_edid_read_desc);
connector_subtest("vga-edid-read", VGA) {
test_edid_read(&data, port, TEST_EDID_BASE);
test_edid_read(&data, port, TEST_EDID_ALT);
}
+ igt_describe(test_suspend_resume_hpd_desc);
connector_subtest("vga-hpd-after-suspend", VGA)
test_suspend_resume_hpd(&data, port,
SUSPEND_STATE_MEM,
SUSPEND_TEST_NONE);
+ igt_describe(test_suspend_resume_hpd_desc);
connector_subtest("vga-hpd-after-hibernate", VGA)
test_suspend_resume_hpd(&data, port,
SUSPEND_STATE_DISK,
SUSPEND_TEST_DEVICES);
+ igt_describe(test_hpd_without_ddc_desc);
connector_subtest("vga-hpd-without-ddc", VGA)
test_hpd_without_ddc(&data, port);
+ igt_describe(test_display_all_modes_desc);
connector_subtest("vga-frame-dump", VGA)
test_display_all_modes(&data, port, DRM_FORMAT_XRGB8888,
CHAMELIUM_CHECK_ANALOG, 1);
}
+ igt_describe("Tests that operate on all connectors");
igt_subtest_group {
+ igt_describe(test_suspend_resume_hpd_common_desc);
igt_subtest("common-hpd-after-suspend")
test_suspend_resume_hpd_common(&data,
SUSPEND_STATE_MEM,
SUSPEND_TEST_NONE);
+ igt_describe(test_suspend_resume_hpd_common_desc);
igt_subtest("common-hpd-after-hibernate")
test_suspend_resume_hpd_common(&data,
SUSPEND_STATE_DISK,
--
2.23.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 7+ messages in thread* [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_chamelium: add test descriptions 2019-09-05 13:36 [igt-dev] [PATCH i-g-t] tests/kms_chamelium: add test descriptions Simon Ser @ 2019-09-05 14:09 ` Patchwork 2019-09-05 18:14 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork 2019-09-06 14:23 ` [igt-dev] [PATCH i-g-t] " Martin Peres 2 siblings, 0 replies; 7+ messages in thread From: Patchwork @ 2019-09-05 14:09 UTC (permalink / raw) To: Simon Ser; +Cc: igt-dev == Series Details == Series: tests/kms_chamelium: add test descriptions URL : https://patchwork.freedesktop.org/series/66284/ State : success == Summary == CI Bug Log - changes from CI_DRM_6838 -> IGTPW_3421 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/66284/revisions/1/mbox/ Known issues ------------ Here are the changes found in IGTPW_3421 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@kms_chamelium@hdmi-hpd-fast: - fi-kbl-7500u: [PASS][1] -> [FAIL][2] ([fdo#111407]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html #### Possible fixes #### * igt@gem_mmap_gtt@basic: - fi-glk-dsi: [INCOMPLETE][3] ([fdo#103359] / [k.org#198133]) -> [PASS][4] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/fi-glk-dsi/igt@gem_mmap_gtt@basic.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-glk-dsi/igt@gem_mmap_gtt@basic.html * igt@kms_busy@basic-flip-c: - fi-skl-6770hq: [SKIP][5] ([fdo#109271] / [fdo#109278]) -> [PASS][6] +2 similar issues [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/fi-skl-6770hq/igt@kms_busy@basic-flip-c.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-skl-6770hq/igt@kms_busy@basic-flip-c.html * igt@kms_chamelium@dp-edid-read: - fi-kbl-7500u: [WARN][7] ([fdo#109483]) -> [PASS][8] [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/fi-kbl-7500u/igt@kms_chamelium@dp-edid-read.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-kbl-7500u/igt@kms_chamelium@dp-edid-read.html * igt@kms_flip@basic-flip-vs-dpms: - fi-skl-6770hq: [SKIP][9] ([fdo#109271]) -> [PASS][10] +23 similar issues [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/fi-skl-6770hq/igt@kms_flip@basic-flip-vs-dpms.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-skl-6770hq/igt@kms_flip@basic-flip-vs-dpms.html * igt@kms_frontbuffer_tracking@basic: - fi-hsw-peppy: [DMESG-WARN][11] ([fdo#102614]) -> [PASS][12] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html - fi-icl-u2: [FAIL][13] ([fdo#103167]) -> [PASS][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/fi-icl-u2/igt@kms_frontbuffer_tracking@basic.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-icl-u2/igt@kms_frontbuffer_tracking@basic.html * igt@vgem_basic@debugfs: - fi-icl-u3: [DMESG-WARN][15] ([fdo#107724]) -> [PASS][16] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/fi-icl-u3/igt@vgem_basic@debugfs.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-icl-u3/igt@vgem_basic@debugfs.html [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614 [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167 [fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359 [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278 [fdo#109483]: https://bugs.freedesktop.org/show_bug.cgi?id=109483 [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407 [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133 Participating hosts (53 -> 47) ------------------------------ Additional (1): fi-pnv-d510 Missing (7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-icl-y fi-byt-clapper fi-bdw-samus Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_5171 -> IGTPW_3421 CI-20190529: 20190529 CI_DRM_6838: 8e907b7591b620dba402c7ada493a31ca0320c99 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_3421: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/ IGT_5171: 1911564805fe454919e8a5846534a0c1ef376a33 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/ _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 7+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for tests/kms_chamelium: add test descriptions 2019-09-05 13:36 [igt-dev] [PATCH i-g-t] tests/kms_chamelium: add test descriptions Simon Ser 2019-09-05 14:09 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork @ 2019-09-05 18:14 ` Patchwork 2019-09-06 14:23 ` [igt-dev] [PATCH i-g-t] " Martin Peres 2 siblings, 0 replies; 7+ messages in thread From: Patchwork @ 2019-09-05 18:14 UTC (permalink / raw) To: Simon Ser; +Cc: igt-dev == Series Details == Series: tests/kms_chamelium: add test descriptions URL : https://patchwork.freedesktop.org/series/66284/ State : success == Summary == CI Bug Log - changes from CI_DRM_6838_full -> IGTPW_3421_full ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/66284/revisions/1/mbox/ Known issues ------------ Here are the changes found in IGTPW_3421_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_ctx_shared@q-in-order-bsd2: - shard-iclb: [PASS][1] -> [SKIP][2] ([fdo#109276]) +14 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb1/igt@gem_ctx_shared@q-in-order-bsd2.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb6/igt@gem_ctx_shared@q-in-order-bsd2.html * igt@gem_exec_schedule@independent-bsd: - shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#111325]) +1 similar issue [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb6/igt@gem_exec_schedule@independent-bsd.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb2/igt@gem_exec_schedule@independent-bsd.html * igt@gem_workarounds@suspend-resume: - shard-apl: [PASS][5] -> [DMESG-WARN][6] ([fdo#108566]) +10 similar issues [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-apl8/igt@gem_workarounds@suspend-resume.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-apl7/igt@gem_workarounds@suspend-resume.html * igt@i915_pm_backlight@fade_with_suspend: - shard-iclb: [PASS][7] -> [FAIL][8] ([fdo#103375]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb8/igt@i915_pm_backlight@fade_with_suspend.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb4/igt@i915_pm_backlight@fade_with_suspend.html * igt@i915_pm_rpm@system-suspend-execbuf: - shard-hsw: [PASS][9] -> [FAIL][10] ([fdo#111548]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-hsw6/igt@i915_pm_rpm@system-suspend-execbuf.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-hsw7/igt@i915_pm_rpm@system-suspend-execbuf.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-blt: - shard-iclb: [PASS][11] -> [FAIL][12] ([fdo#103167]) +4 similar issues [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-blt.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-blt.html * igt@kms_psr@psr2_primary_mmap_cpu: - shard-iclb: [PASS][13] -> [SKIP][14] ([fdo#109441]) +1 similar issue [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb4/igt@kms_psr@psr2_primary_mmap_cpu.html * igt@kms_setmode@basic: - shard-hsw: [PASS][15] -> [FAIL][16] ([fdo#99912]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-hsw7/igt@kms_setmode@basic.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-hsw4/igt@kms_setmode@basic.html #### Possible fixes #### * igt@gem_exec_schedule@deep-bsd: - shard-iclb: [SKIP][17] ([fdo#111325]) -> [PASS][18] +3 similar issues [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb2/igt@gem_exec_schedule@deep-bsd.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb3/igt@gem_exec_schedule@deep-bsd.html * igt@gem_exec_schedule@independent-bsd1: - shard-iclb: [SKIP][19] ([fdo#109276]) -> [PASS][20] +12 similar issues [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb8/igt@gem_exec_schedule@independent-bsd1.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb4/igt@gem_exec_schedule@independent-bsd1.html * igt@i915_pm_rc6_residency@rc6-accuracy: - shard-snb: [SKIP][21] ([fdo#109271]) -> [PASS][22] [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-snb4/igt@i915_pm_rc6_residency@rc6-accuracy.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-snb6/igt@i915_pm_rc6_residency@rc6-accuracy.html * igt@i915_pm_rpm@modeset-stress-extra-wait: - shard-hsw: [FAIL][23] ([fdo#111548]) -> [PASS][24] +3 similar issues [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-hsw2/igt@i915_pm_rpm@modeset-stress-extra-wait.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-hsw4/igt@i915_pm_rpm@modeset-stress-extra-wait.html * igt@kms_big_fb@x-tiled-16bpp-rotate-180: - shard-apl: [INCOMPLETE][25] ([fdo#103927]) -> [PASS][26] +3 similar issues [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-apl7/igt@kms_big_fb@x-tiled-16bpp-rotate-180.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-apl6/igt@kms_big_fb@x-tiled-16bpp-rotate-180.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move: - shard-iclb: [FAIL][27] ([fdo#103167]) -> [PASS][28] +5 similar issues [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move.html * igt@kms_frontbuffer_tracking@fbc-suspend: - shard-apl: [DMESG-WARN][29] ([fdo#108566]) -> [PASS][30] +2 similar issues [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-apl5/igt@kms_frontbuffer_tracking@fbc-suspend.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-apl1/igt@kms_frontbuffer_tracking@fbc-suspend.html * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a: - shard-snb: [FAIL][31] ([fdo#103375]) -> [PASS][32] +2 similar issues [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-snb7/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-snb4/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c: - shard-hsw: [FAIL][33] ([fdo#103375]) -> [PASS][34] +5 similar issues [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-hsw2/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-hsw4/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes: - shard-kbl: [INCOMPLETE][35] ([fdo#103665]) -> [PASS][36] [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-kbl3/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-kbl3/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc: - shard-iclb: [INCOMPLETE][37] ([fdo#107713]) -> [PASS][38] +1 similar issue [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb7/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb6/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html * igt@kms_psr2_su@page_flip: - shard-iclb: [SKIP][39] ([fdo#109642] / [fdo#111068]) -> [PASS][40] [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb3/igt@kms_psr2_su@page_flip.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb2/igt@kms_psr2_su@page_flip.html * igt@kms_psr@psr2_sprite_mmap_gtt: - shard-iclb: [SKIP][41] ([fdo#109441]) -> [PASS][42] +1 similar issue [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb7/igt@kms_psr@psr2_sprite_mmap_gtt.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html * igt@kms_setmode@basic: - shard-apl: [FAIL][43] ([fdo#99912]) -> [PASS][44] [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-apl8/igt@kms_setmode@basic.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-apl7/igt@kms_setmode@basic.html * igt@perf_pmu@busy-idle-vcs0: - shard-apl: [FAIL][45] ([fdo#111545]) -> [PASS][46] +1 similar issue [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-apl3/igt@perf_pmu@busy-idle-vcs0.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-apl8/igt@perf_pmu@busy-idle-vcs0.html #### Warnings #### * igt@gem_ctx_isolation@vcs1-nonpriv: - shard-iclb: [FAIL][47] ([fdo#111329]) -> [SKIP][48] ([fdo#109276]) [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb2/igt@gem_ctx_isolation@vcs1-nonpriv.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb3/igt@gem_ctx_isolation@vcs1-nonpriv.html * igt@gem_mocs_settings@mocs-settings-bsd2: - shard-iclb: [SKIP][49] ([fdo#109276]) -> [FAIL][50] ([fdo#111330]) +2 similar issues [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb6/igt@gem_mocs_settings@mocs-settings-bsd2.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb4/igt@gem_mocs_settings@mocs-settings-bsd2.html * igt@i915_pm_rpm@modeset-lpsp: - shard-hsw: [FAIL][51] ([fdo#111548]) -> [SKIP][52] ([fdo#109271]) [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-hsw2/igt@i915_pm_rpm@modeset-lpsp.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-hsw7/igt@i915_pm_rpm@modeset-lpsp.html [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167 [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375 [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665 [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927 [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713 [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [fdo#111325]: https://bugs.freedesktop.org/show_bug.cgi?id=111325 [fdo#111329]: https://bugs.freedesktop.org/show_bug.cgi?id=111329 [fdo#111330]: https://bugs.freedesktop.org/show_bug.cgi?id=111330 [fdo#111545]: https://bugs.freedesktop.org/show_bug.cgi?id=111545 [fdo#111548]: https://bugs.freedesktop.org/show_bug.cgi?id=111548 [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912 Participating hosts (10 -> 6) ------------------------------ Missing (4): pig-skl-6260u shard-skl pig-hsw-4770r pig-glk-j5005 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_5171 -> IGTPW_3421 * Piglit: piglit_4509 -> None CI-20190529: 20190529 CI_DRM_6838: 8e907b7591b620dba402c7ada493a31ca0320c99 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_3421: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/ IGT_5171: 1911564805fe454919e8a5846534a0c1ef376a33 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/ _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [igt-dev] [PATCH i-g-t] tests/kms_chamelium: add test descriptions 2019-09-05 13:36 [igt-dev] [PATCH i-g-t] tests/kms_chamelium: add test descriptions Simon Ser 2019-09-05 14:09 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork 2019-09-05 18:14 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork @ 2019-09-06 14:23 ` Martin Peres 2019-09-10 12:27 ` Ser, Simon 2 siblings, 1 reply; 7+ messages in thread From: Martin Peres @ 2019-09-06 14:23 UTC (permalink / raw) To: Simon Ser, igt-dev On 05/09/2019 16:36, Simon Ser wrote: > Add test descriptions to all subtest groups and subtests. > > Each connector type has its own group, with a different set of subtests. > To avoid duplication, descriptions are defined at the test function level. > > Signed-off-by: Simon Ser <simon.ser@intel.com> > --- > tests/kms_chamelium.c | 121 ++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 121 insertions(+) > > diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c > index 6b6292497cd7..fe3cbe57daf3 100644 > --- a/tests/kms_chamelium.c > +++ b/tests/kms_chamelium.c > @@ -242,6 +242,9 @@ reset_state(data_t *data, struct chamelium_port *port) > } > } > > +static const char test_basic_hotplug_desc[] = > + "Check that we get uevents and updated connector status on " > + "hotplug and unplug"; > static void > test_basic_hotplug(data_t *data, struct chamelium_port *port, int toggle_count) > { > @@ -290,6 +293,8 @@ static void set_edid(data_t *data, struct chamelium_port *port, > chamelium_port_set_edid(data->chamelium, port, data->edids[edid]); > } > > +static const char test_edid_read_desc[] = "Make sure reading a simple EDID " > + "gives the correct blob"; Whitespace problem? Not sure if the description is clear-enough. How about "Make sure the reported EDID is the same as the screen's". > static void > test_edid_read(data_t *data, struct chamelium_port *port, enum test_edid edid) > { > @@ -400,6 +405,9 @@ try_suspend_resume_hpd(data_t *data, struct chamelium_port *port, > } > } > > +static const char test_suspend_resume_hpd_desc[] = > + "Toggle HPD during suspend, check that uevents are sent and connector " > + "status is updated"; > static void > test_suspend_resume_hpd(data_t *data, struct chamelium_port *port, > enum igt_suspend_state state, > @@ -418,6 +426,9 @@ test_suspend_resume_hpd(data_t *data, struct chamelium_port *port, > igt_cleanup_hotplug(mon); > } > > +static const char test_suspend_resume_hpd_common_desc[] = > + "Toggle HPD during suspend on all connectors, check that uevents are " > + "sent and connector status is updated"; > static void > test_suspend_resume_hpd_common(data_t *data, enum igt_suspend_state state, > enum igt_suspend_test test) > @@ -442,6 +453,10 @@ test_suspend_resume_hpd_common(data_t *data, enum igt_suspend_state state, > igt_cleanup_hotplug(mon); > } > > +static const char test_suspend_resume_edid_change_desc[] = > + "Simulate a screen being unplugged and another screen being plugged " > + "during suspend, check that a uevent is sent and connector status is " > + "updated"; > static void > test_suspend_resume_edid_change(data_t *data, struct chamelium_port *port, > enum igt_suspend_state state, > @@ -600,6 +615,10 @@ static bool are_fallback_modes(const drmModeModeInfo *modes, size_t modes_len) > return modes[0].hdisplay <= 1024 && modes[0].vdisplay <= 768; > } > > +static const char test_link_status_desc[] = > + "Simulate a series of link failures, check we get a uevent each time " > + "with the link-status property set to BAD and the list of modes " > + "shrinks (or stays the same), until we reach fallback modes"; > static void > test_link_status(data_t *data, struct chamelium_port *port) > { > @@ -812,6 +831,9 @@ static void do_test_display(data_t *data, struct chamelium_port *port, > igt_remove_fb(data->drm_fd, &fb); > } > > +static const char test_display_one_mode_desc[] = > + "Pick the first mode of the IGT base EDID, display and capture a few " > + "frames, then check captured frames are correct"; s/correct/have the expected CRC/. > static void test_display_one_mode(data_t *data, struct chamelium_port *port, > uint32_t fourcc, enum chamelium_check check, > int count) > @@ -842,6 +864,9 @@ static void test_display_one_mode(data_t *data, struct chamelium_port *port, > drmModeFreeConnector(connector); > } > > +static const char test_display_all_modes_desc[] = > + "For each mode of the IGT base EDID, display and capture a few " > + "frames, then check captured frames are correct"; Ditto. > static void test_display_all_modes(data_t *data, struct chamelium_port *port, > uint32_t fourcc, enum chamelium_check check, > int count) > @@ -876,6 +901,10 @@ static void test_display_all_modes(data_t *data, struct chamelium_port *port, > drmModeFreeConnector(connector); > } > > +static const char test_display_frame_dump_desc[] = > + "For each mode of the IGT base EDID, display and capture a few " > + "frames, then check captured frames are pixel-by-pixel equal to " > + "sent frames"; "then download the frame and compare them bit-by-bit to the sent frames." > static void > test_display_frame_dump(data_t *data, struct chamelium_port *port) > { > @@ -983,6 +1012,9 @@ static void check_mode(struct chamelium *chamelium, struct chamelium_port *port, > igt_assert(video_params.vsync_polarity == mode_vsync_polarity); > } > > +static const char test_mode_timings_desc[] = > + "For each mode of the IGT base EDID, perform a modeset and check the " > + "mode detected by the Chamelium receiver matches the mode we set"; > static void test_mode_timings(data_t *data, struct chamelium_port *port) > { > igt_output_t *output; > @@ -1113,6 +1145,10 @@ static const struct edid *get_aspect_ratio_edid(void) > return edid; > } > > +static const char test_display_aspect_ratio_desc[] = > + "Pick a mode with a picture aspect-ratio, capture AVI InfoFrames and " > + "check the InfoFrame correctly includes the aspect-ratio and VIC we " > + "requested"; That might be a bit too much of details. How about "includes the relevant fields"? > static void test_display_aspect_ratio(data_t *data, struct chamelium_port *port) > { > igt_output_t *output; > @@ -1825,6 +1861,9 @@ static bool check_audio_configuration(struct alsa *alsa, snd_pcm_format_t format > return true; > } > > +static const char test_display_audio_desc[] = > + "Playback various audio signals with various audio formats/rates, " > + "capture them and check they are correct"; > static void > test_display_audio(data_t *data, struct chamelium_port *port, > const char *audio_device, enum test_edid edid) > @@ -1914,6 +1953,9 @@ test_display_audio(data_t *data, struct chamelium_port *port, > free(alsa); > } > > +static const char test_display_audio_edid_desc[] = > + "Plug a connector with an EDID suitable for audio, check ALSA's " > + "EDID-Like Data reports the correct audio parameters"; > static void > test_display_audio_edid(data_t *data, struct chamelium_port *port, > enum test_edid edid) > @@ -2327,6 +2369,9 @@ static void prepare_randomized_plane(data_t *data, > igt_remove_fb(data->drm_fd, &pattern_fb); > } > > +static const char test_display_planes_random_desc[] = > + "Setup a few overlay planes with random parameters, capture the frame " > + "and check it's correct"; "and check it matches the expected output."? > static void test_display_planes_random(data_t *data, > struct chamelium_port *port, > enum chamelium_check check) > @@ -2460,6 +2505,8 @@ static void test_display_planes_random(data_t *data, > igt_remove_fb(data->drm_fd, &result_fb); > } > > +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(data_t *data, struct chamelium_port *port) > { > @@ -2480,6 +2527,9 @@ test_hpd_without_ddc(data_t *data, struct chamelium_port *port) > igt_cleanup_hotplug(mon); > } > > +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"; "falls back to polling to avoid an irq storm" Thanks a lot for doing this! My comments are merely proposals for improvements, so feel free to land put my R-b even without changing anything. Martin > static void > test_hpd_storm_detect(data_t *data, struct chamelium_port *port, int width) > { > @@ -2508,6 +2558,9 @@ test_hpd_storm_detect(data_t *data, struct chamelium_port *port, int width) > igt_hpd_storm_reset(data->drm_fd); > } > > +static const char test_hpd_storm_disable_desc[] = > + "Disable HPD storm detection, trigger a storm and check the kernel " > + "doesn't detect one"; > static void > test_hpd_storm_disable(data_t *data, struct chamelium_port *port, int width) > { > @@ -2552,6 +2605,7 @@ static const struct edid *get_edid(enum test_edid edid) > > static data_t data; > > +IGT_TEST_DESCRIPTION("Tests requiring a Chamelium board"); > igt_main > { > struct chamelium_port *port; > @@ -2580,46 +2634,56 @@ igt_main > igt_require(data.display.is_atomic); > } > > + igt_describe("DisplayPort tests"); > igt_subtest_group { > igt_fixture { > require_connector_present( > &data, DRM_MODE_CONNECTOR_DisplayPort); > } > > + igt_describe(test_basic_hotplug_desc); > connector_subtest("dp-hpd", DisplayPort) > test_basic_hotplug(&data, port, > HPD_TOGGLE_COUNT_DP_HDMI); > > + igt_describe(test_basic_hotplug_desc); > connector_subtest("dp-hpd-fast", DisplayPort) > test_basic_hotplug(&data, port, > HPD_TOGGLE_COUNT_FAST); > > + igt_describe(test_edid_read_desc); > connector_subtest("dp-edid-read", DisplayPort) { > test_edid_read(&data, port, TEST_EDID_BASE); > test_edid_read(&data, port, TEST_EDID_ALT); > } > > + igt_describe(test_suspend_resume_hpd_desc); > connector_subtest("dp-hpd-after-suspend", DisplayPort) > test_suspend_resume_hpd(&data, port, > SUSPEND_STATE_MEM, > SUSPEND_TEST_NONE); > > + igt_describe(test_suspend_resume_hpd_desc); > connector_subtest("dp-hpd-after-hibernate", DisplayPort) > test_suspend_resume_hpd(&data, port, > SUSPEND_STATE_DISK, > SUSPEND_TEST_DEVICES); > > + igt_describe(test_hpd_storm_detect_desc); > connector_subtest("dp-hpd-storm", DisplayPort) > test_hpd_storm_detect(&data, port, > HPD_STORM_PULSE_INTERVAL_DP); > > + igt_describe(test_hpd_storm_disable_desc); > connector_subtest("dp-hpd-storm-disable", DisplayPort) > test_hpd_storm_disable(&data, port, > HPD_STORM_PULSE_INTERVAL_DP); > > + igt_describe(test_link_status_desc); > connector_subtest("dp-link-status", DisplayPort) > test_link_status(&data, port); > > + igt_describe(test_suspend_resume_edid_change_desc); > connector_subtest("dp-edid-change-during-suspend", DisplayPort) > test_suspend_resume_edid_change(&data, port, > SUSPEND_STATE_MEM, > @@ -2627,6 +2691,7 @@ igt_main > TEST_EDID_BASE, > TEST_EDID_ALT); > > + igt_describe(test_suspend_resume_edid_change_desc); > connector_subtest("dp-edid-change-during-hibernate", DisplayPort) > test_suspend_resume_edid_change(&data, port, > SUSPEND_STATE_DISK, > @@ -2634,70 +2699,86 @@ igt_main > TEST_EDID_BASE, > TEST_EDID_ALT); > > + igt_describe(test_display_all_modes_desc); > connector_subtest("dp-crc-single", DisplayPort) > test_display_all_modes(&data, port, DRM_FORMAT_XRGB8888, > CHAMELIUM_CHECK_CRC, 1); > > + igt_describe(test_display_one_mode_desc); > connector_subtest("dp-crc-fast", DisplayPort) > test_display_one_mode(&data, port, DRM_FORMAT_XRGB8888, > CHAMELIUM_CHECK_CRC, 1); > > + igt_describe(test_display_all_modes_desc); > connector_subtest("dp-crc-multiple", DisplayPort) > test_display_all_modes(&data, port, DRM_FORMAT_XRGB8888, > CHAMELIUM_CHECK_CRC, 3); > > + igt_describe(test_display_frame_dump_desc); > connector_subtest("dp-frame-dump", DisplayPort) > test_display_frame_dump(&data, port); > > + igt_describe(test_mode_timings_desc); > connector_subtest("dp-mode-timings", DisplayPort) > test_mode_timings(&data, port); > > + igt_describe(test_display_audio_desc); > connector_subtest("dp-audio", DisplayPort) > test_display_audio(&data, port, "HDMI", > TEST_EDID_DP_AUDIO); > > + igt_describe(test_display_audio_edid_desc); > connector_subtest("dp-audio-edid", DisplayPort) > test_display_audio_edid(&data, port, > TEST_EDID_DP_AUDIO); > } > > + igt_describe("HDMI tests"); > igt_subtest_group { > igt_fixture { > require_connector_present( > &data, DRM_MODE_CONNECTOR_HDMIA); > } > > + igt_describe(test_basic_hotplug_desc); > connector_subtest("hdmi-hpd", HDMIA) > test_basic_hotplug(&data, port, > HPD_TOGGLE_COUNT_DP_HDMI); > > + igt_describe(test_basic_hotplug_desc); > connector_subtest("hdmi-hpd-fast", HDMIA) > test_basic_hotplug(&data, port, > HPD_TOGGLE_COUNT_FAST); > > + igt_describe(test_edid_read_desc); > connector_subtest("hdmi-edid-read", HDMIA) { > test_edid_read(&data, port, TEST_EDID_BASE); > test_edid_read(&data, port, TEST_EDID_ALT); > } > > + igt_describe(test_suspend_resume_hpd_desc); > connector_subtest("hdmi-hpd-after-suspend", HDMIA) > test_suspend_resume_hpd(&data, port, > SUSPEND_STATE_MEM, > SUSPEND_TEST_NONE); > > + igt_describe(test_suspend_resume_hpd_desc); > connector_subtest("hdmi-hpd-after-hibernate", HDMIA) > test_suspend_resume_hpd(&data, port, > SUSPEND_STATE_DISK, > SUSPEND_TEST_DEVICES); > > + igt_describe(test_hpd_storm_detect_desc); > connector_subtest("hdmi-hpd-storm", HDMIA) > test_hpd_storm_detect(&data, port, > HPD_STORM_PULSE_INTERVAL_HDMI); > > + igt_describe(test_hpd_storm_disable_desc); > connector_subtest("hdmi-hpd-storm-disable", HDMIA) > test_hpd_storm_disable(&data, port, > HPD_STORM_PULSE_INTERVAL_HDMI); > > + igt_describe(test_suspend_resume_edid_change_desc); > connector_subtest("hdmi-edid-change-during-suspend", HDMIA) > test_suspend_resume_edid_change(&data, port, > SUSPEND_STATE_MEM, > @@ -2705,6 +2786,7 @@ igt_main > TEST_EDID_BASE, > TEST_EDID_ALT); > > + igt_describe(test_suspend_resume_edid_change_desc); > connector_subtest("hdmi-edid-change-during-hibernate", HDMIA) > test_suspend_resume_edid_change(&data, port, > SUSPEND_STATE_DISK, > @@ -2712,157 +2794,196 @@ igt_main > TEST_EDID_BASE, > TEST_EDID_ALT); > > + igt_describe(test_display_all_modes_desc); > connector_subtest("hdmi-crc-single", HDMIA) > test_display_all_modes(&data, port, DRM_FORMAT_XRGB8888, > CHAMELIUM_CHECK_CRC, 1); > > + igt_describe(test_display_one_mode_desc); > connector_subtest("hdmi-crc-fast", HDMIA) > test_display_one_mode(&data, port, DRM_FORMAT_XRGB8888, > CHAMELIUM_CHECK_CRC, 1); > > + igt_describe(test_display_all_modes_desc); > connector_subtest("hdmi-crc-multiple", HDMIA) > test_display_all_modes(&data, port, DRM_FORMAT_XRGB8888, > CHAMELIUM_CHECK_CRC, 3); > > + igt_describe(test_display_one_mode_desc); > connector_subtest("hdmi-crc-argb8888", HDMIA) > test_display_one_mode(&data, port, DRM_FORMAT_ARGB8888, > CHAMELIUM_CHECK_CRC, 1); > > + igt_describe(test_display_one_mode_desc); > connector_subtest("hdmi-crc-abgr8888", HDMIA) > test_display_one_mode(&data, port, DRM_FORMAT_ABGR8888, > CHAMELIUM_CHECK_CRC, 1); > > + igt_describe(test_display_one_mode_desc); > connector_subtest("hdmi-crc-xrgb8888", HDMIA) > test_display_one_mode(&data, port, DRM_FORMAT_XRGB8888, > CHAMELIUM_CHECK_CRC, 1); > > + igt_describe(test_display_one_mode_desc); > connector_subtest("hdmi-crc-xbgr8888", HDMIA) > test_display_one_mode(&data, port, DRM_FORMAT_XBGR8888, > CHAMELIUM_CHECK_CRC, 1); > > + igt_describe(test_display_one_mode_desc); > connector_subtest("hdmi-crc-rgb888", HDMIA) > test_display_one_mode(&data, port, DRM_FORMAT_RGB888, > CHAMELIUM_CHECK_CRC, 1); > > + igt_describe(test_display_one_mode_desc); > connector_subtest("hdmi-crc-bgr888", HDMIA) > test_display_one_mode(&data, port, DRM_FORMAT_BGR888, > CHAMELIUM_CHECK_CRC, 1); > > + igt_describe(test_display_one_mode_desc); > connector_subtest("hdmi-crc-rgb565", HDMIA) > test_display_one_mode(&data, port, DRM_FORMAT_RGB565, > CHAMELIUM_CHECK_CRC, 1); > > + igt_describe(test_display_one_mode_desc); > connector_subtest("hdmi-crc-bgr565", HDMIA) > test_display_one_mode(&data, port, DRM_FORMAT_BGR565, > CHAMELIUM_CHECK_CRC, 1); > > + igt_describe(test_display_one_mode_desc); > connector_subtest("hdmi-crc-argb1555", HDMIA) > test_display_one_mode(&data, port, DRM_FORMAT_ARGB1555, > CHAMELIUM_CHECK_CRC, 1); > > + igt_describe(test_display_one_mode_desc); > connector_subtest("hdmi-crc-xrgb1555", HDMIA) > test_display_one_mode(&data, port, DRM_FORMAT_XRGB1555, > CHAMELIUM_CHECK_CRC, 1); > > + igt_describe(test_display_planes_random_desc); > connector_subtest("hdmi-crc-planes-random", HDMIA) > test_display_planes_random(&data, port, > CHAMELIUM_CHECK_CRC); > > + igt_describe(test_display_one_mode_desc); > connector_subtest("hdmi-cmp-nv12", HDMIA) > test_display_one_mode(&data, port, DRM_FORMAT_NV12, > CHAMELIUM_CHECK_CHECKERBOARD, 1); > > + igt_describe(test_display_one_mode_desc); > connector_subtest("hdmi-cmp-nv16", HDMIA) > test_display_one_mode(&data, port, DRM_FORMAT_NV16, > CHAMELIUM_CHECK_CHECKERBOARD, 1); > > + igt_describe(test_display_one_mode_desc); > connector_subtest("hdmi-cmp-nv21", HDMIA) > test_display_one_mode(&data, port, DRM_FORMAT_NV21, > CHAMELIUM_CHECK_CHECKERBOARD, 1); > > + igt_describe(test_display_one_mode_desc); > connector_subtest("hdmi-cmp-nv61", HDMIA) > test_display_one_mode(&data, port, DRM_FORMAT_NV61, > CHAMELIUM_CHECK_CHECKERBOARD, 1); > > + igt_describe(test_display_one_mode_desc); > connector_subtest("hdmi-cmp-yu12", HDMIA) > test_display_one_mode(&data, port, DRM_FORMAT_YUV420, > CHAMELIUM_CHECK_CHECKERBOARD, 1); > > + igt_describe(test_display_one_mode_desc); > connector_subtest("hdmi-cmp-yu16", HDMIA) > test_display_one_mode(&data, port, DRM_FORMAT_YUV422, > CHAMELIUM_CHECK_CHECKERBOARD, 1); > > + igt_describe(test_display_one_mode_desc); > connector_subtest("hdmi-cmp-yv12", HDMIA) > test_display_one_mode(&data, port, DRM_FORMAT_YVU420, > CHAMELIUM_CHECK_CHECKERBOARD, 1); > > + igt_describe(test_display_one_mode_desc); > connector_subtest("hdmi-cmp-yv16", HDMIA) > test_display_one_mode(&data, port, DRM_FORMAT_YVU422, > CHAMELIUM_CHECK_CHECKERBOARD, 1); > > + igt_describe(test_display_planes_random_desc); > connector_subtest("hdmi-cmp-planes-random", HDMIA) > test_display_planes_random(&data, port, > CHAMELIUM_CHECK_CHECKERBOARD); > > + igt_describe(test_display_frame_dump_desc); > connector_subtest("hdmi-frame-dump", HDMIA) > test_display_frame_dump(&data, port); > > + igt_describe(test_mode_timings_desc); > connector_subtest("hdmi-mode-timings", HDMIA) > test_mode_timings(&data, port); > > + igt_describe(test_display_audio_desc); > connector_subtest("hdmi-audio", HDMIA) > test_display_audio(&data, port, "HDMI", > TEST_EDID_HDMI_AUDIO); > > + igt_describe(test_display_audio_edid_desc); > connector_subtest("hdmi-audio-edid", HDMIA) > test_display_audio_edid(&data, port, > TEST_EDID_HDMI_AUDIO); > > + igt_describe(test_display_aspect_ratio_desc); > connector_subtest("hdmi-aspect-ratio", HDMIA) > test_display_aspect_ratio(&data, port); > } > > + igt_describe("VGA tests"); > igt_subtest_group { > igt_fixture { > require_connector_present( > &data, DRM_MODE_CONNECTOR_VGA); > } > > + igt_describe(test_basic_hotplug_desc); > connector_subtest("vga-hpd", VGA) > test_basic_hotplug(&data, port, HPD_TOGGLE_COUNT_VGA); > > + igt_describe(test_basic_hotplug_desc); > connector_subtest("vga-hpd-fast", VGA) > test_basic_hotplug(&data, port, HPD_TOGGLE_COUNT_FAST); > > + igt_describe(test_edid_read_desc); > connector_subtest("vga-edid-read", VGA) { > test_edid_read(&data, port, TEST_EDID_BASE); > test_edid_read(&data, port, TEST_EDID_ALT); > } > > + igt_describe(test_suspend_resume_hpd_desc); > connector_subtest("vga-hpd-after-suspend", VGA) > test_suspend_resume_hpd(&data, port, > SUSPEND_STATE_MEM, > SUSPEND_TEST_NONE); > > + igt_describe(test_suspend_resume_hpd_desc); > connector_subtest("vga-hpd-after-hibernate", VGA) > test_suspend_resume_hpd(&data, port, > SUSPEND_STATE_DISK, > SUSPEND_TEST_DEVICES); > > + igt_describe(test_hpd_without_ddc_desc); > connector_subtest("vga-hpd-without-ddc", VGA) > test_hpd_without_ddc(&data, port); > > + igt_describe(test_display_all_modes_desc); > connector_subtest("vga-frame-dump", VGA) > test_display_all_modes(&data, port, DRM_FORMAT_XRGB8888, > CHAMELIUM_CHECK_ANALOG, 1); > } > > + igt_describe("Tests that operate on all connectors"); > igt_subtest_group { > + igt_describe(test_suspend_resume_hpd_common_desc); > igt_subtest("common-hpd-after-suspend") > test_suspend_resume_hpd_common(&data, > SUSPEND_STATE_MEM, > SUSPEND_TEST_NONE); > > + igt_describe(test_suspend_resume_hpd_common_desc); > igt_subtest("common-hpd-after-hibernate") > test_suspend_resume_hpd_common(&data, > SUSPEND_STATE_DISK, > -- > 2.23.0 > _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [igt-dev] [PATCH i-g-t] tests/kms_chamelium: add test descriptions 2019-09-06 14:23 ` [igt-dev] [PATCH i-g-t] " Martin Peres @ 2019-09-10 12:27 ` Ser, Simon 2019-09-11 6:45 ` Martin Peres 0 siblings, 1 reply; 7+ messages in thread From: Ser, Simon @ 2019-09-10 12:27 UTC (permalink / raw) To: igt-dev@lists.freedesktop.org, martin.peres@linux.intel.com On Fri, 2019-09-06 at 17:23 +0300, Martin Peres wrote: > > On 05/09/2019 16:36, Simon Ser wrote: > > Add test descriptions to all subtest groups and subtests. > > > > Each connector type has its own group, with a different set of > > subtests. > > To avoid duplication, descriptions are defined at the test function > > level. > > > > Signed-off-by: Simon Ser <simon.ser@intel.com> > > --- > > tests/kms_chamelium.c | 121 > > ++++++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 121 insertions(+) > > > > diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c > > index 6b6292497cd7..fe3cbe57daf3 100644 > > --- a/tests/kms_chamelium.c > > +++ b/tests/kms_chamelium.c > > @@ -242,6 +242,9 @@ reset_state(data_t *data, struct chamelium_port > > *port) > > } > > } > > > > +static const char test_basic_hotplug_desc[] = > > + "Check that we get uevents and updated connector status on " > > + "hotplug and unplug"; > > static void > > test_basic_hotplug(data_t *data, struct chamelium_port *port, int > > toggle_count) > > { > > @@ -290,6 +293,8 @@ static void set_edid(data_t *data, struct > > chamelium_port *port, > > chamelium_port_set_edid(data->chamelium, port, data- > > >edids[edid]); > > } > > > > +static const char test_edid_read_desc[] = "Make sure reading a > > simple EDID " > > + "gives the correct blob"; > > Whitespace problem? https://sr.ht/kd7t.png I never understood why. My guess is that the "+" added by git-format- patch and the "> " added when replying break the tabbed alignment. Anyway, I find aligning things very annoying so this is a good excuse to just format it like other descriptions with a single tab. > Not sure if the description is clear-enough. How about "Make sure the > reported EDID is the same as the screen's". Good point. Changed to: "Make sure the EDID exposed by KMS is the same as the screen's" > > static void > > test_edid_read(data_t *data, struct chamelium_port *port, enum > > test_edid edid) > > { > > @@ -400,6 +405,9 @@ try_suspend_resume_hpd(data_t *data, struct > > chamelium_port *port, > > } > > } > > > > +static const char test_suspend_resume_hpd_desc[] = > > + "Toggle HPD during suspend, check that uevents are sent and > > connector " > > + "status is updated"; > > static void > > test_suspend_resume_hpd(data_t *data, struct chamelium_port *port, > > enum igt_suspend_state state, > > @@ -418,6 +426,9 @@ test_suspend_resume_hpd(data_t *data, struct > > chamelium_port *port, > > igt_cleanup_hotplug(mon); > > } > > > > +static const char test_suspend_resume_hpd_common_desc[] = > > + "Toggle HPD during suspend on all connectors, check that > > uevents are " > > + "sent and connector status is updated"; > > static void > > test_suspend_resume_hpd_common(data_t *data, enum > > igt_suspend_state state, > > enum igt_suspend_test test) > > @@ -442,6 +453,10 @@ test_suspend_resume_hpd_common(data_t *data, > > enum igt_suspend_state state, > > igt_cleanup_hotplug(mon); > > } > > > > +static const char test_suspend_resume_edid_change_desc[] = > > + "Simulate a screen being unplugged and another screen being > > plugged " > > + "during suspend, check that a uevent is sent and connector > > status is " > > + "updated"; > > static void > > test_suspend_resume_edid_change(data_t *data, struct > > chamelium_port *port, > > enum igt_suspend_state state, > > @@ -600,6 +615,10 @@ static bool are_fallback_modes(const > > drmModeModeInfo *modes, size_t modes_len) > > return modes[0].hdisplay <= 1024 && modes[0].vdisplay <= 768; > > } > > > > +static const char test_link_status_desc[] = > > + "Simulate a series of link failures, check we get a uevent each > > time " > > + "with the link-status property set to BAD and the list of modes > > " > > + "shrinks (or stays the same), until we reach fallback modes"; > > static void > > test_link_status(data_t *data, struct chamelium_port *port) > > { > > @@ -812,6 +831,9 @@ static void do_test_display(data_t *data, > > struct chamelium_port *port, > > igt_remove_fb(data->drm_fd, &fb); > > } > > > > +static const char test_display_one_mode_desc[] = > > + "Pick the first mode of the IGT base EDID, display and capture > > a few " > > + "frames, then check captured frames are correct"; > > s/correct/have the expected CRC/. Well, that's not quite right. Some tests check the CRC, some tests download the frame to check it via CHAMELIUM_CHECK_CHECKERBOARD (e.g. hdmi-cmp-nv12). I didn't want to do more fine-grained descriptions, so I just went with something vague enough. > > static void test_display_one_mode(data_t *data, struct > > chamelium_port *port, > > uint32_t fourcc, enum chamelium_check > > check, > > int count) > > @@ -842,6 +864,9 @@ static void test_display_one_mode(data_t *data, > > struct chamelium_port *port, > > drmModeFreeConnector(connector); > > } > > > > +static const char test_display_all_modes_desc[] = > > + "For each mode of the IGT base EDID, display and capture a few > > " > > + "frames, then check captured frames are correct"; > > Ditto. > > > static void test_display_all_modes(data_t *data, struct > > chamelium_port *port, > > uint32_t fourcc, enum > > chamelium_check check, > > int count) > > @@ -876,6 +901,10 @@ static void test_display_all_modes(data_t > > *data, struct chamelium_port *port, > > drmModeFreeConnector(connector); > > } > > > > +static const char test_display_frame_dump_desc[] = > > + "For each mode of the IGT base EDID, display and capture a few > > " > > + "frames, then check captured frames are pixel-by-pixel equal to > > " > > + "sent frames"; > > "then download the frame and compare them bit-by-bit to the sent > frames." Ack > > static void > > test_display_frame_dump(data_t *data, struct chamelium_port *port) > > { > > @@ -983,6 +1012,9 @@ static void check_mode(struct chamelium > > *chamelium, struct chamelium_port *port, > > igt_assert(video_params.vsync_polarity == mode_vsync_polarity); > > } > > > > +static const char test_mode_timings_desc[] = > > + "For each mode of the IGT base EDID, perform a modeset and > > check the " > > + "mode detected by the Chamelium receiver matches the mode we > > set"; > > static void test_mode_timings(data_t *data, struct chamelium_port > > *port) > > { > > igt_output_t *output; > > @@ -1113,6 +1145,10 @@ static const struct edid > > *get_aspect_ratio_edid(void) > > return edid; > > } > > > > +static const char test_display_aspect_ratio_desc[] = > > + "Pick a mode with a picture aspect-ratio, capture AVI > > InfoFrames and " > > + "check the InfoFrame correctly includes the aspect-ratio and > > VIC we " > > + "requested"; > > That might be a bit too much of details. How about "includes the > relevant fields"? Good point > > static void test_display_aspect_ratio(data_t *data, struct > > chamelium_port *port) > > { > > igt_output_t *output; > > @@ -1825,6 +1861,9 @@ static bool check_audio_configuration(struct > > alsa *alsa, snd_pcm_format_t format > > return true; > > } > > > > +static const char test_display_audio_desc[] = > > + "Playback various audio signals with various audio > > formats/rates, " > > + "capture them and check they are correct"; > > static void > > test_display_audio(data_t *data, struct chamelium_port *port, > > const char *audio_device, enum test_edid edid) > > @@ -1914,6 +1953,9 @@ test_display_audio(data_t *data, struct > > chamelium_port *port, > > free(alsa); > > } > > > > +static const char test_display_audio_edid_desc[] = > > + "Plug a connector with an EDID suitable for audio, check ALSA's > > " > > + "EDID-Like Data reports the correct audio parameters"; > > static void > > test_display_audio_edid(data_t *data, struct chamelium_port *port, > > enum test_edid edid) > > @@ -2327,6 +2369,9 @@ static void prepare_randomized_plane(data_t > > *data, > > igt_remove_fb(data->drm_fd, &pattern_fb); > > } > > > > +static const char test_display_planes_random_desc[] = > > + "Setup a few overlay planes with random parameters, capture the > > frame " > > + "and check it's correct"; > > "and check it matches the expected output."? Ack > > static void test_display_planes_random(data_t *data, > > struct chamelium_port *port, > > enum chamelium_check check) > > @@ -2460,6 +2505,8 @@ static void test_display_planes_random(data_t > > *data, > > igt_remove_fb(data->drm_fd, &result_fb); > > } > > > > +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(data_t *data, struct chamelium_port *port) > > { > > @@ -2480,6 +2527,9 @@ test_hpd_without_ddc(data_t *data, struct > > chamelium_port *port) > > igt_cleanup_hotplug(mon); > > } > > > > +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"; > > "falls back to polling to avoid an irq storm" irq → hotplug But yes, ack :) > Thanks a lot for doing this! My comments are merely proposals for > improvements, so feel free to land put my R-b even without changing > anything. Thanks for the suggestions! > Martin > > > static void > > test_hpd_storm_detect(data_t *data, struct chamelium_port *port, > > int width) > > { > > @@ -2508,6 +2558,9 @@ test_hpd_storm_detect(data_t *data, struct > > chamelium_port *port, int width) > > igt_hpd_storm_reset(data->drm_fd); > > } > > > > +static const char test_hpd_storm_disable_desc[] = > > + "Disable HPD storm detection, trigger a storm and check the > > kernel " > > + "doesn't detect one"; > > static void > > test_hpd_storm_disable(data_t *data, struct chamelium_port *port, > > int width) > > { > > @@ -2552,6 +2605,7 @@ static const struct edid *get_edid(enum > > test_edid edid) > > > > static data_t data; > > > > +IGT_TEST_DESCRIPTION("Tests requiring a Chamelium board"); > > igt_main > > { > > struct chamelium_port *port; > > @@ -2580,46 +2634,56 @@ igt_main > > igt_require(data.display.is_atomic); > > } > > > > + igt_describe("DisplayPort tests"); > > igt_subtest_group { > > igt_fixture { > > require_connector_present( > > &data, DRM_MODE_CONNECTOR_DisplayPort); > > } > > > > + igt_describe(test_basic_hotplug_desc); > > connector_subtest("dp-hpd", DisplayPort) > > test_basic_hotplug(&data, port, > > HPD_TOGGLE_COUNT_DP_HDMI); > > > > + igt_describe(test_basic_hotplug_desc); > > connector_subtest("dp-hpd-fast", DisplayPort) > > test_basic_hotplug(&data, port, > > HPD_TOGGLE_COUNT_FAST); > > > > + igt_describe(test_edid_read_desc); > > connector_subtest("dp-edid-read", DisplayPort) { > > test_edid_read(&data, port, TEST_EDID_BASE); > > test_edid_read(&data, port, TEST_EDID_ALT); > > } > > > > + igt_describe(test_suspend_resume_hpd_desc); > > connector_subtest("dp-hpd-after-suspend", DisplayPort) > > test_suspend_resume_hpd(&data, port, > > SUSPEND_STATE_MEM, > > SUSPEND_TEST_NONE); > > > > + igt_describe(test_suspend_resume_hpd_desc); > > connector_subtest("dp-hpd-after-hibernate", > > DisplayPort) > > test_suspend_resume_hpd(&data, port, > > SUSPEND_STATE_DISK, > > SUSPEND_TEST_DEVICES); > > > > + igt_describe(test_hpd_storm_detect_desc); > > connector_subtest("dp-hpd-storm", DisplayPort) > > test_hpd_storm_detect(&data, port, > > HPD_STORM_PULSE_INTERVAL_ > > DP); > > > > + igt_describe(test_hpd_storm_disable_desc); > > connector_subtest("dp-hpd-storm-disable", DisplayPort) > > test_hpd_storm_disable(&data, port, > > HPD_STORM_PULSE_INTERVAL > > _DP); > > > > + igt_describe(test_link_status_desc); > > connector_subtest("dp-link-status", DisplayPort) > > test_link_status(&data, port); > > > > + igt_describe(test_suspend_resume_edid_change_desc); > > connector_subtest("dp-edid-change-during-suspend", > > DisplayPort) > > test_suspend_resume_edid_change(&data, port, > > SUSPEND_STATE_M > > EM, > > @@ -2627,6 +2691,7 @@ igt_main > > TEST_EDID_BASE, > > TEST_EDID_ALT); > > > > + igt_describe(test_suspend_resume_edid_change_desc); > > connector_subtest("dp-edid-change-during-hibernate", > > DisplayPort) > > test_suspend_resume_edid_change(&data, port, > > SUSPEND_STATE_D > > ISK, > > @@ -2634,70 +2699,86 @@ igt_main > > TEST_EDID_BASE, > > TEST_EDID_ALT); > > > > + igt_describe(test_display_all_modes_desc); > > connector_subtest("dp-crc-single", DisplayPort) > > test_display_all_modes(&data, port, > > DRM_FORMAT_XRGB8888, > > CHAMELIUM_CHECK_CRC, 1); > > > > + igt_describe(test_display_one_mode_desc); > > connector_subtest("dp-crc-fast", DisplayPort) > > test_display_one_mode(&data, port, > > DRM_FORMAT_XRGB8888, > > CHAMELIUM_CHECK_CRC, 1); > > > > + igt_describe(test_display_all_modes_desc); > > connector_subtest("dp-crc-multiple", DisplayPort) > > test_display_all_modes(&data, port, > > DRM_FORMAT_XRGB8888, > > CHAMELIUM_CHECK_CRC, 3); > > > > + igt_describe(test_display_frame_dump_desc); > > connector_subtest("dp-frame-dump", DisplayPort) > > test_display_frame_dump(&data, port); > > > > + igt_describe(test_mode_timings_desc); > > connector_subtest("dp-mode-timings", DisplayPort) > > test_mode_timings(&data, port); > > > > + igt_describe(test_display_audio_desc); > > connector_subtest("dp-audio", DisplayPort) > > test_display_audio(&data, port, "HDMI", > > TEST_EDID_DP_AUDIO); > > > > + igt_describe(test_display_audio_edid_desc); > > connector_subtest("dp-audio-edid", DisplayPort) > > test_display_audio_edid(&data, port, > > TEST_EDID_DP_AUDIO); > > } > > > > + igt_describe("HDMI tests"); > > igt_subtest_group { > > igt_fixture { > > require_connector_present( > > &data, DRM_MODE_CONNECTOR_HDMIA); > > } > > > > + igt_describe(test_basic_hotplug_desc); > > connector_subtest("hdmi-hpd", HDMIA) > > test_basic_hotplug(&data, port, > > HPD_TOGGLE_COUNT_DP_HDMI); > > > > + igt_describe(test_basic_hotplug_desc); > > connector_subtest("hdmi-hpd-fast", HDMIA) > > test_basic_hotplug(&data, port, > > HPD_TOGGLE_COUNT_FAST); > > > > + igt_describe(test_edid_read_desc); > > connector_subtest("hdmi-edid-read", HDMIA) { > > test_edid_read(&data, port, TEST_EDID_BASE); > > test_edid_read(&data, port, TEST_EDID_ALT); > > } > > > > + igt_describe(test_suspend_resume_hpd_desc); > > connector_subtest("hdmi-hpd-after-suspend", HDMIA) > > test_suspend_resume_hpd(&data, port, > > SUSPEND_STATE_MEM, > > SUSPEND_TEST_NONE); > > > > + igt_describe(test_suspend_resume_hpd_desc); > > connector_subtest("hdmi-hpd-after-hibernate", HDMIA) > > test_suspend_resume_hpd(&data, port, > > SUSPEND_STATE_DISK, > > SUSPEND_TEST_DEVICES); > > > > + igt_describe(test_hpd_storm_detect_desc); > > connector_subtest("hdmi-hpd-storm", HDMIA) > > test_hpd_storm_detect(&data, port, > > HPD_STORM_PULSE_INTERVAL_ > > HDMI); > > > > + igt_describe(test_hpd_storm_disable_desc); > > connector_subtest("hdmi-hpd-storm-disable", HDMIA) > > test_hpd_storm_disable(&data, port, > > HPD_STORM_PULSE_INTERVAL > > _HDMI); > > > > + igt_describe(test_suspend_resume_edid_change_desc); > > connector_subtest("hdmi-edid-change-during-suspend", > > HDMIA) > > test_suspend_resume_edid_change(&data, port, > > SUSPEND_STATE_M > > EM, > > @@ -2705,6 +2786,7 @@ igt_main > > TEST_EDID_BASE, > > TEST_EDID_ALT); > > > > + igt_describe(test_suspend_resume_edid_change_desc); > > connector_subtest("hdmi-edid-change-during-hibernate", > > HDMIA) > > test_suspend_resume_edid_change(&data, port, > > SUSPEND_STATE_D > > ISK, > > @@ -2712,157 +2794,196 @@ igt_main > > TEST_EDID_BASE, > > TEST_EDID_ALT); > > > > + igt_describe(test_display_all_modes_desc); > > connector_subtest("hdmi-crc-single", HDMIA) > > test_display_all_modes(&data, port, > > DRM_FORMAT_XRGB8888, > > CHAMELIUM_CHECK_CRC, 1); > > > > + igt_describe(test_display_one_mode_desc); > > connector_subtest("hdmi-crc-fast", HDMIA) > > test_display_one_mode(&data, port, > > DRM_FORMAT_XRGB8888, > > CHAMELIUM_CHECK_CRC, 1); > > > > + igt_describe(test_display_all_modes_desc); > > connector_subtest("hdmi-crc-multiple", HDMIA) > > test_display_all_modes(&data, port, > > DRM_FORMAT_XRGB8888, > > CHAMELIUM_CHECK_CRC, 3); > > > > + igt_describe(test_display_one_mode_desc); > > connector_subtest("hdmi-crc-argb8888", HDMIA) > > test_display_one_mode(&data, port, > > DRM_FORMAT_ARGB8888, > > CHAMELIUM_CHECK_CRC, 1); > > > > + igt_describe(test_display_one_mode_desc); > > connector_subtest("hdmi-crc-abgr8888", HDMIA) > > test_display_one_mode(&data, port, > > DRM_FORMAT_ABGR8888, > > CHAMELIUM_CHECK_CRC, 1); > > > > + igt_describe(test_display_one_mode_desc); > > connector_subtest("hdmi-crc-xrgb8888", HDMIA) > > test_display_one_mode(&data, port, > > DRM_FORMAT_XRGB8888, > > CHAMELIUM_CHECK_CRC, 1); > > > > + igt_describe(test_display_one_mode_desc); > > connector_subtest("hdmi-crc-xbgr8888", HDMIA) > > test_display_one_mode(&data, port, > > DRM_FORMAT_XBGR8888, > > CHAMELIUM_CHECK_CRC, 1); > > > > + igt_describe(test_display_one_mode_desc); > > connector_subtest("hdmi-crc-rgb888", HDMIA) > > test_display_one_mode(&data, port, > > DRM_FORMAT_RGB888, > > CHAMELIUM_CHECK_CRC, 1); > > > > + igt_describe(test_display_one_mode_desc); > > connector_subtest("hdmi-crc-bgr888", HDMIA) > > test_display_one_mode(&data, port, > > DRM_FORMAT_BGR888, > > CHAMELIUM_CHECK_CRC, 1); > > > > + igt_describe(test_display_one_mode_desc); > > connector_subtest("hdmi-crc-rgb565", HDMIA) > > test_display_one_mode(&data, port, > > DRM_FORMAT_RGB565, > > CHAMELIUM_CHECK_CRC, 1); > > > > + igt_describe(test_display_one_mode_desc); > > connector_subtest("hdmi-crc-bgr565", HDMIA) > > test_display_one_mode(&data, port, > > DRM_FORMAT_BGR565, > > CHAMELIUM_CHECK_CRC, 1); > > > > + igt_describe(test_display_one_mode_desc); > > connector_subtest("hdmi-crc-argb1555", HDMIA) > > test_display_one_mode(&data, port, > > DRM_FORMAT_ARGB1555, > > CHAMELIUM_CHECK_CRC, 1); > > > > + igt_describe(test_display_one_mode_desc); > > connector_subtest("hdmi-crc-xrgb1555", HDMIA) > > test_display_one_mode(&data, port, > > DRM_FORMAT_XRGB1555, > > CHAMELIUM_CHECK_CRC, 1); > > > > + igt_describe(test_display_planes_random_desc); > > connector_subtest("hdmi-crc-planes-random", HDMIA) > > test_display_planes_random(&data, port, > > CHAMELIUM_CHECK_CRC) > > ; > > > > + igt_describe(test_display_one_mode_desc); > > connector_subtest("hdmi-cmp-nv12", HDMIA) > > test_display_one_mode(&data, port, > > DRM_FORMAT_NV12, > > CHAMELIUM_CHECK_CHECKERBO > > ARD, 1); > > > > + igt_describe(test_display_one_mode_desc); > > connector_subtest("hdmi-cmp-nv16", HDMIA) > > test_display_one_mode(&data, port, > > DRM_FORMAT_NV16, > > CHAMELIUM_CHECK_CHECKERBO > > ARD, 1); > > > > + igt_describe(test_display_one_mode_desc); > > connector_subtest("hdmi-cmp-nv21", HDMIA) > > test_display_one_mode(&data, port, > > DRM_FORMAT_NV21, > > CHAMELIUM_CHECK_CHECKERBO > > ARD, 1); > > > > + igt_describe(test_display_one_mode_desc); > > connector_subtest("hdmi-cmp-nv61", HDMIA) > > test_display_one_mode(&data, port, > > DRM_FORMAT_NV61, > > CHAMELIUM_CHECK_CHECKERBO > > ARD, 1); > > > > + igt_describe(test_display_one_mode_desc); > > connector_subtest("hdmi-cmp-yu12", HDMIA) > > test_display_one_mode(&data, port, > > DRM_FORMAT_YUV420, > > CHAMELIUM_CHECK_CHECKERBO > > ARD, 1); > > > > + igt_describe(test_display_one_mode_desc); > > connector_subtest("hdmi-cmp-yu16", HDMIA) > > test_display_one_mode(&data, port, > > DRM_FORMAT_YUV422, > > CHAMELIUM_CHECK_CHECKERBO > > ARD, 1); > > > > + igt_describe(test_display_one_mode_desc); > > connector_subtest("hdmi-cmp-yv12", HDMIA) > > test_display_one_mode(&data, port, > > DRM_FORMAT_YVU420, > > CHAMELIUM_CHECK_CHECKERBO > > ARD, 1); > > > > + igt_describe(test_display_one_mode_desc); > > connector_subtest("hdmi-cmp-yv16", HDMIA) > > test_display_one_mode(&data, port, > > DRM_FORMAT_YVU422, > > CHAMELIUM_CHECK_CHECKERBO > > ARD, 1); > > > > + igt_describe(test_display_planes_random_desc); > > connector_subtest("hdmi-cmp-planes-random", HDMIA) > > test_display_planes_random(&data, port, > > CHAMELIUM_CHECK_CHEC > > KERBOARD); > > > > + igt_describe(test_display_frame_dump_desc); > > connector_subtest("hdmi-frame-dump", HDMIA) > > test_display_frame_dump(&data, port); > > > > + igt_describe(test_mode_timings_desc); > > connector_subtest("hdmi-mode-timings", HDMIA) > > test_mode_timings(&data, port); > > > > + igt_describe(test_display_audio_desc); > > connector_subtest("hdmi-audio", HDMIA) > > test_display_audio(&data, port, "HDMI", > > TEST_EDID_HDMI_AUDIO); > > > > + igt_describe(test_display_audio_edid_desc); > > connector_subtest("hdmi-audio-edid", HDMIA) > > test_display_audio_edid(&data, port, > > TEST_EDID_HDMI_AUDIO); > > > > + igt_describe(test_display_aspect_ratio_desc); > > connector_subtest("hdmi-aspect-ratio", HDMIA) > > test_display_aspect_ratio(&data, port); > > } > > > > + igt_describe("VGA tests"); > > igt_subtest_group { > > igt_fixture { > > require_connector_present( > > &data, DRM_MODE_CONNECTOR_VGA); > > } > > > > + igt_describe(test_basic_hotplug_desc); > > connector_subtest("vga-hpd", VGA) > > test_basic_hotplug(&data, port, > > HPD_TOGGLE_COUNT_VGA); > > > > + igt_describe(test_basic_hotplug_desc); > > connector_subtest("vga-hpd-fast", VGA) > > test_basic_hotplug(&data, port, > > HPD_TOGGLE_COUNT_FAST); > > > > + igt_describe(test_edid_read_desc); > > connector_subtest("vga-edid-read", VGA) { > > test_edid_read(&data, port, TEST_EDID_BASE); > > test_edid_read(&data, port, TEST_EDID_ALT); > > } > > > > + igt_describe(test_suspend_resume_hpd_desc); > > connector_subtest("vga-hpd-after-suspend", VGA) > > test_suspend_resume_hpd(&data, port, > > SUSPEND_STATE_MEM, > > SUSPEND_TEST_NONE); > > > > + igt_describe(test_suspend_resume_hpd_desc); > > connector_subtest("vga-hpd-after-hibernate", VGA) > > test_suspend_resume_hpd(&data, port, > > SUSPEND_STATE_DISK, > > SUSPEND_TEST_DEVICES); > > > > + igt_describe(test_hpd_without_ddc_desc); > > connector_subtest("vga-hpd-without-ddc", VGA) > > test_hpd_without_ddc(&data, port); > > > > + igt_describe(test_display_all_modes_desc); > > connector_subtest("vga-frame-dump", VGA) > > test_display_all_modes(&data, port, > > DRM_FORMAT_XRGB8888, > > CHAMELIUM_CHECK_ANALOG, > > 1); > > } > > > > + igt_describe("Tests that operate on all connectors"); > > igt_subtest_group { > > + igt_describe(test_suspend_resume_hpd_common_desc); > > igt_subtest("common-hpd-after-suspend") > > test_suspend_resume_hpd_common(&data, > > SUSPEND_STATE_ME > > M, > > SUSPEND_TEST_NON > > E); > > > > + igt_describe(test_suspend_resume_hpd_common_desc); > > igt_subtest("common-hpd-after-hibernate") > > test_suspend_resume_hpd_common(&data, > > SUSPEND_STATE_DI > > SK, > > -- > > 2.23.0 > > _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [igt-dev] [PATCH i-g-t] tests/kms_chamelium: add test descriptions 2019-09-10 12:27 ` Ser, Simon @ 2019-09-11 6:45 ` Martin Peres 2019-09-11 10:02 ` Ser, Simon 0 siblings, 1 reply; 7+ messages in thread From: Martin Peres @ 2019-09-11 6:45 UTC (permalink / raw) To: Ser, Simon, igt-dev@lists.freedesktop.org On 10/09/2019 15:27, Ser, Simon wrote: > On Fri, 2019-09-06 at 17:23 +0300, Martin Peres wrote: >> >> On 05/09/2019 16:36, Simon Ser wrote: >>> >>> +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"; >> >> "falls back to polling to avoid an irq storm" > > irq → hotplug I really meant IRQ storm. That was the bug we got (a machine was slow as heck because the connector was lose and the HW was sending thousands of hotplug IRQs per second). If you want to say hotplug IRQ storm, that can work too :) Martin _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [igt-dev] [PATCH i-g-t] tests/kms_chamelium: add test descriptions 2019-09-11 6:45 ` Martin Peres @ 2019-09-11 10:02 ` Ser, Simon 0 siblings, 0 replies; 7+ messages in thread From: Ser, Simon @ 2019-09-11 10:02 UTC (permalink / raw) To: igt-dev@lists.freedesktop.org, martin.peres@linux.intel.com On Wed, 2019-09-11 at 09:45 +0300, Martin Peres wrote: > On 10/09/2019 15:27, Ser, Simon wrote: > > On Fri, 2019-09-06 at 17:23 +0300, Martin Peres wrote: > > > On 05/09/2019 16:36, Simon Ser wrote: > > > > +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"; > > > > > > "falls back to polling to avoid an irq storm" > > > > irq → hotplug > > I really meant IRQ storm. That was the bug we got (a machine was slow as > heck because the connector was lose and the HW was sending thousands of > hotplug IRQs per second). > > If you want to say hotplug IRQ storm, that can work too :) Userspace doesn't see IRQs. The IRQ storm won't be avoided, it will really happen. What we want to avoid though is a storm of hotplug uevents. Hence I still think "to avoid a hotplug uevent storm" is a better wording :) > Martin _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2019-09-11 10:02 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-09-05 13:36 [igt-dev] [PATCH i-g-t] tests/kms_chamelium: add test descriptions Simon Ser 2019-09-05 14:09 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork 2019-09-05 18:14 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork 2019-09-06 14:23 ` [igt-dev] [PATCH i-g-t] " Martin Peres 2019-09-10 12:27 ` Ser, Simon 2019-09-11 6:45 ` Martin Peres 2019-09-11 10:02 ` Ser, Simon
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox