* [igt-dev] [PATCH] [i-g-t] tests/amdgpu/amd_vrr_range: add vrr range check for display connected
@ 2023-05-31 18:36 Hersen Wu
2023-05-31 19:09 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Hersen Wu @ 2023-05-31 18:36 UTC (permalink / raw)
To: igt-dev, rodrigo.siqueira, aurabindo.pillai, alex.hung,
stylon.wang, hamza.mahfooz
Cc: Hersen Wu
Add VRR test for display connected by removing hard coded connector type.
Add debugfs to allow read eDP EDID for each display detection. AMD Linux
kernel read eDP EDID only one time by default.
Optimize hard coded EDID to let 2 DP lanes meet timing requirement. Timing
of current hard coded DP EDID supports 4k@60hz, it needs 4 DP lanes. With
2 lane DP display connected, VRR test fails due to number of DP lane
not meet 4 lanes.
Signed-off-by: Hersen Wu <hersenxs.wu@amd.com>
---
lib/igt_amd.c | 31 ++++
lib/igt_amd.h | 2 +
tests/amdgpu/amd_vrr_range.c | 298 ++++++++++++++++++++++-------------
3 files changed, 221 insertions(+), 110 deletions(-)
diff --git a/lib/igt_amd.c b/lib/igt_amd.c
index 09923101f..8837714f7 100644
--- a/lib/igt_amd.c
+++ b/lib/igt_amd.c
@@ -1111,6 +1111,37 @@ int igt_amd_read_psr_state(int drm_fd, char *connector_name)
return strtol(buf, NULL, 10);
}
+/**
+ * igt_amd_allow_edp_hotplug_detect: notify kernel read edp edid all the time
+ * @drm_fd: DRM file descriptor
+ * @connector_name: The connector's name
+ * @enable: allow or disable kernel read eDP EDID for each display detection
+ * example usage: echo 0x1 >
+ * /sys/kernel/debug/dri/0/eDP-1/allow_edp_hotplug_detection
+ */
+void igt_amd_allow_edp_hotplug_detect(int drm_fd, char *connector_name, bool enable)
+{
+ int fd, hpd_fd, wr_len;
+ const char *allow_hotplug_detect = "1";
+ const char *dis_allow_hotplug_detect = "0";
+
+ fd = igt_debugfs_connector_dir(drm_fd, connector_name, O_RDONLY);
+ igt_assert(fd >= 0);
+ hpd_fd = openat(fd, DEBUGFS_ALLOW_EDP_HOTPLUG_DETECT, O_WRONLY);
+ close(fd);
+ igt_assert(hpd_fd >= 0);
+
+ if (enable) {
+ wr_len = write(hpd_fd, allow_hotplug_detect, strlen(allow_hotplug_detect));
+ igt_assert_eq(wr_len, strlen(allow_hotplug_detect));
+ } else {
+ wr_len = write(hpd_fd, dis_allow_hotplug_detect, strlen(dis_allow_hotplug_detect));
+ igt_assert_eq(wr_len, strlen(dis_allow_hotplug_detect));
+ }
+
+ close(hpd_fd);
+}
+
/**
* @brief check if AMDGPU DM visual confirm debugfs interface entry exist and defined
*
diff --git a/lib/igt_amd.h b/lib/igt_amd.h
index 428bfe6f7..d57390405 100644
--- a/lib/igt_amd.h
+++ b/lib/igt_amd.h
@@ -48,6 +48,7 @@
#define MAX_SUPPORTED_ILR 8
#define DEBUGFS_EDP_PSR_CAP "psr_capability"
#define DEBUGFS_EDP_PSR_STATE "psr_state"
+#define DEBUGFS_ALLOW_EDP_HOTPLUG_DETECT "allow_edp_hotplug_detection"
/* amdgpu DM interface entries */
#define DEBUGFS_DM_VISUAL_CONFIRM "amdgpu_dm_visual_confirm"
@@ -187,6 +188,7 @@ bool igt_amd_psr_support_sink(int drm_fd, char *connector_name, enum psr_mode mo
bool igt_amd_psr_support_drv(int drm_fd, char *connector_name, enum psr_mode mode);
bool igt_amd_output_has_psr_state(int drm_fd, char *connector_name);
int igt_amd_read_psr_state(int drm_fd, char *connector_name);
+void igt_amd_allow_edp_hotplug_detect(int drm_fd, char *connector_name, bool enable);
/* DM interface helpers */
bool igt_amd_has_visual_confirm(int drm_fd);
diff --git a/tests/amdgpu/amd_vrr_range.c b/tests/amdgpu/amd_vrr_range.c
index 2f27296dd..3f8f23e9a 100644
--- a/tests/amdgpu/amd_vrr_range.c
+++ b/tests/amdgpu/amd_vrr_range.c
@@ -27,11 +27,14 @@
IGT_TEST_DESCRIPTION("Test EDID parsing and debugfs reporting on Freesync displays");
+/* Maximumm pipes on any AMD ASIC. */
+#define MAX_PIPES 6
+
/* Common test data. */
typedef struct data {
igt_display_t display;
igt_plane_t *primary;
- igt_output_t *output;
+ igt_output_t *output[MAX_PIPES];
int fd;
} data_t;
@@ -53,45 +56,46 @@ struct {
const range_t range;
} edid_database[] = {
{
- /* DP EDID from Benq EL-2870u */
- "Benq EL-2870u DP",
+ /* EDID Version 1.4. Timing requires 2 DP lanes. */
+ "External DP",
DRM_MODE_CONNECTOR_DisplayPort,
{
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
- 0x09, 0xd1, 0x49, 0x79, 0x45, 0x54, 0x00, 0x00,
- 0x0c, 0x1e, 0x01, 0x04, 0xb5, 0x3e, 0x22, 0x78,
- 0x3f, 0x08, 0xa5, 0xa2, 0x57, 0x4f, 0xa2, 0x28,
- 0x0f, 0x50, 0x54, 0xa5, 0x6b, 0x80, 0xd1, 0xc0,
- 0x81, 0xc0, 0x81, 0x00, 0x81, 0x80, 0xa9, 0xc0,
- 0xb3, 0x00, 0xa9, 0x40, 0x01, 0x01, 0x4d, 0xd0,
- 0x00, 0xa0, 0xf0, 0x70, 0x3e, 0x80, 0x30, 0x20,
- 0x35, 0x00, 0x6d, 0x55, 0x21, 0x00, 0x00, 0x1a,
- 0x00, 0x00, 0x00, 0xff, 0x00, 0x46, 0x33, 0x4c,
- 0x30, 0x34, 0x33, 0x33, 0x33, 0x53, 0x4c, 0x30,
- 0x0a, 0x20, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x28,
- 0x3c, 0x87, 0x87, 0x3c, 0x01, 0x0a, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xfc,
- 0x00, 0x42, 0x65, 0x6e, 0x51, 0x20, 0x45, 0x4c,
- 0x32, 0x38, 0x37, 0x30, 0x55, 0x0a, 0x01, 0xa8,
- 0x02, 0x03, 0x2e, 0xf1, 0x56, 0x61, 0x60, 0x5d,
- 0x5e, 0x5f, 0x10, 0x05, 0x04, 0x03, 0x02, 0x07,
- 0x06, 0x0f, 0x1f, 0x20, 0x21, 0x22, 0x14, 0x13,
- 0x12, 0x16, 0x01, 0x23, 0x09, 0x07, 0x07, 0x83,
- 0x01, 0x00, 0x00, 0xe3, 0x05, 0xc0, 0x00, 0xe6,
- 0x06, 0x05, 0x01, 0x5a, 0x53, 0x44, 0x02, 0x3a,
+ 0x06, 0xb3, 0xaf, 0x24, 0x01, 0x01, 0x01, 0x01,
+ 0x00, 0x1d, 0x01, 0x04, 0x80, 0x35, 0x1e, 0x78,
+ 0x2b, 0x51, 0xb5, 0xa4, 0x54, 0x4f, 0xa0, 0x26,
+ 0x0d, 0x50, 0x54, 0xbf, 0xcf, 0x00, 0x81, 0x40,
+ 0x81, 0x80, 0x95, 0x00, 0x71, 0x4f, 0x81, 0xc0,
+ 0xb3, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x3a,
0x80, 0x18, 0x71, 0x38, 0x2d, 0x40, 0x58, 0x2c,
- 0x45, 0x00, 0x6d, 0x55, 0x21, 0x00, 0x00, 0x1e,
- 0x56, 0x5e, 0x00, 0xa0, 0xa0, 0xa0, 0x29, 0x50,
- 0x30, 0x20, 0x35, 0x00, 0x6d, 0x55, 0x21, 0x00,
- 0x00, 0x1a, 0x8c, 0x64, 0x00, 0x50, 0xf0, 0x70,
- 0x1f, 0x80, 0x08, 0x20, 0x18, 0x04, 0x6d, 0x55,
- 0x21, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00,
+ 0x45, 0x00, 0x0f, 0x28, 0x21, 0x00, 0x00, 0x1e,
+ 0xfc, 0x7e, 0x80, 0x88, 0x70, 0x38, 0x12, 0x40,
+ 0x18, 0x20, 0x35, 0x00, 0x0f, 0x28, 0x21, 0x00,
+ 0x00, 0x1e, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x30,
+ 0x90, 0x1e, 0xb4, 0x22, 0x01, 0x0a, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xfc,
+ 0x00, 0x41, 0x53, 0x55, 0x53, 0x20, 0x56, 0x50,
+ 0x32, 0x34, 0x39, 0x0a, 0x20, 0x20, 0x01, 0x91,
+ 0x02, 0x03, 0x2d, 0xf1, 0x4f, 0x01, 0x03, 0x04,
+ 0x13, 0x1f, 0x12, 0x02, 0x11, 0x90, 0x0e, 0x0f,
+ 0x1d, 0x1e, 0x3f, 0x40, 0x23, 0x09, 0x07, 0x07,
+ 0x83, 0x01, 0x00, 0x00, 0x67, 0x03, 0x0c, 0x00,
+ 0x10, 0x00, 0x00, 0x44, 0x68, 0x1a, 0x00, 0x00,
+ 0x01, 0x01, 0x30, 0x90, 0xe6, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16
},
- {40, 60},
+ {48, 144},
},
+
{
/* HDMI EDID from ASUS VP249QGR */
"ASUS VP249QGR HDMI",
@@ -132,29 +136,63 @@ struct {
},
{48, 144},
},
+
+ {
+ /* EDID Version 1.4. Timing requires 2 DP lanes. */
+ "eDP",
+ DRM_MODE_CONNECTOR_eDP,
+ {
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x06, 0xb3, 0xaf, 0x24, 0x01, 0x01, 0x01, 0x01,
+ 0x00, 0x1d, 0x01, 0x04, 0x80, 0x35, 0x1e, 0x78,
+ 0x2b, 0x51, 0xb5, 0xa4, 0x54, 0x4f, 0xa0, 0x26,
+ 0x0d, 0x50, 0x54, 0xbf, 0xcf, 0x00, 0x81, 0x40,
+ 0x81, 0x80, 0x95, 0x00, 0x71, 0x4f, 0x81, 0xc0,
+ 0xb3, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x3a,
+ 0x80, 0x18, 0x71, 0x38, 0x2d, 0x40, 0x58, 0x2c,
+ 0x45, 0x00, 0x0f, 0x28, 0x21, 0x00, 0x00, 0x1e,
+ 0xfc, 0x7e, 0x80, 0x88, 0x70, 0x38, 0x12, 0x40,
+ 0x18, 0x20, 0x35, 0x00, 0x0f, 0x28, 0x21, 0x00,
+ 0x00, 0x1e, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x30,
+ 0x90, 0x1e, 0xb4, 0x22, 0x01, 0x0a, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xfc,
+ 0x00, 0x41, 0x53, 0x55, 0x53, 0x20, 0x56, 0x50,
+ 0x32, 0x34, 0x39, 0x0a, 0x20, 0x20, 0x01, 0x91,
+ 0x02, 0x03, 0x2d, 0xf1, 0x4f, 0x01, 0x03, 0x04,
+ 0x13, 0x1f, 0x12, 0x02, 0x11, 0x90, 0x0e, 0x0f,
+ 0x1d, 0x1e, 0x3f, 0x40, 0x23, 0x09, 0x07, 0x07,
+ 0x83, 0x01, 0x00, 0x00, 0x67, 0x03, 0x0c, 0x00,
+ 0x10, 0x00, 0x00, 0x44, 0x68, 0x1a, 0x00, 0x00,
+ 0x01, 0x01, 0x30, 0x90, 0xe6, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16
+ },
+ {48, 144},
+ },
};
-/* Common test setup. */
-static void test_init(data_t *data, uint32_t connector_type)
+static void test_init(data_t *data)
{
igt_display_t *display = &data->display;
+ int i;
- igt_display_reset(display);
+ for_each_pipe(display, i) {
+ igt_output_t *output = &display->outputs[i];
- /* find connected outputs */
- data->output = NULL;
- for (int i=0; i < data->display.n_outputs; ++i) {
- drmModeConnector *connector = data->display.outputs[i].config.connector;
- if (connector->connection == DRM_MODE_CONNECTED &&
- connector->connector_type == connector_type) {
- data->output = &data->display.outputs[i];
- }
+ data->output[i] = output;
}
- igt_assert_f(data->output, "Requires connected output\n");
+ igt_display_reset(display);
}
-/* Common test cleanup. */
static void test_fini(data_t *data)
{
igt_display_reset(&data->display);
@@ -185,6 +223,7 @@ static range_t get_freesync_range(data_t *data, igt_output_t *output)
fd = igt_debugfs_connector_dir(data->fd, output->name, O_RDONLY);
igt_assert(fd >= 0);
+ /* example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range */
res = igt_debugfs_simple_read(fd, "vrr_range", buf, sizeof(buf));
igt_require(res > 0);
@@ -199,56 +238,86 @@ static range_t get_freesync_range(data_t *data, igt_output_t *output)
return range;
}
-static void trigger_edid_parse(data_t *data, uint32_t test_flags)
+static void trigger_edid_parse(data_t *data, igt_output_t *output, uint32_t test_flags)
{
if (test_flags & TEST_SUSPEND)
igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
SUSPEND_TEST_NONE);
else
- igt_amd_trigger_hotplug(data->fd, data->output->name);
+ igt_amd_trigger_hotplug(data->fd, output->name);
/* more safe margin until resume and hotplug is completed */
usleep(1500000);
}
/* Check if EDID parsing is correctly reporting Freesync capability
- * by overriding EDID with ones from golden sample. Display under test
- * must still support Freesync.
+ * by overriding EDID with ones from golden sample.
*/
-static void test_freesync_parsing(data_t *data, uint32_t connector_type,
- uint32_t test_flags)
+static void test_freesync_parsing_base(data_t *data, uint32_t test_flags)
{
const struct edid *edid;
range_t range, expected_range;
- int i;
+ igt_output_t *output;
+ int i, j, test_conn_cnt = 0;
- test_init(data, connector_type);
+ test_init(data);
igt_amd_require_hpd(&data->display, data->fd);
- /* find a test EDID */
- i = find_test_edid_index(connector_type);
- edid = (const struct edid *)edid_database[i].edid;
- expected_range = edid_database[i].range;
+ for_each_pipe(&data->display, i) {
+ /* setup the output */
+ output = data->output[i];
+ if (!output || !igt_output_is_connected(output))
+ continue;
+
+ /* find a test EDID */
+ j = find_test_edid_index(output->config.connector->connector_type);
+
+ edid = (const struct edid *)edid_database[j].edid;
+ expected_range = edid_database[j].range;
+
+ /* eDP allow read edid for each display detection */
+ if (output->config.connector->connector_type == DRM_MODE_CONNECTOR_eDP)
+ igt_amd_allow_edp_hotplug_detect(data->fd, output->name, true);
+
+ /* force to use hard coded VRR EDID */
+ kmstest_force_edid(data->fd, output->config.connector, edid);
- kmstest_force_edid(data->fd, data->output->config.connector, edid);
+ trigger_edid_parse(data, output, test_flags);
- trigger_edid_parse(data, test_flags);
+ range = get_freesync_range(data, output);
- range = get_freesync_range(data, data->output);
+ /* undo EDID override. re-parse EDID of display */
+ kmstest_force_edid(data->fd, output->config.connector, NULL);
- /* undo EDID override and trigger a re-parsing of EDID */
- kmstest_force_edid(data->fd, data->output->config.connector, NULL);
- igt_amd_trigger_hotplug(data->fd, data->output->name);
+ igt_amd_trigger_hotplug(data->fd, output->name);
+
+ /* eDP dis-allow read edid for each display detection */
+ if (output->config.connector->connector_type == DRM_MODE_CONNECTOR_eDP)
+ igt_amd_allow_edp_hotplug_detect(data->fd, output->name, false);
+
+ test_conn_cnt++;
+
+ igt_assert_f(range.min == expected_range.min &&
+ range.max == expected_range.max,
+ "Expecting Freesync range %d-%d, got %d-%d\n",
+ expected_range.min, expected_range.max,
+ range.min, range.max);
+ igt_info("%s Freesync range: %d-%d\n", output->name, range.min, range.max);
+ }
test_fini(data);
+ igt_skip_on(test_conn_cnt == 0);
+}
+
+static inline void test_freesync_parsing(data_t *data)
+{
+ test_freesync_parsing_base(data, TEST_NONE);
+}
- igt_assert_f(range.min == expected_range.min &&
- range.max == expected_range.max,
- "Expecting Freesync range %d-%d, got %d-%d\n",
- expected_range.min, expected_range.max,
- range.min, range.max);
- igt_info("Freesync range: %d-%d\n", range.min, range.max);
+static inline void test_freesync_parsing_suspend(data_t *data)
+{
+ test_freesync_parsing_base(data, TEST_SUSPEND);
}
/* Returns true if an output supports VRR. */
@@ -260,32 +329,57 @@ static bool has_vrr(igt_output_t *output)
/* More relaxed checking on Freesync capability.
* Only checks if frame rate range is within legal range.
+ * Display under test MUST be VRR capable.
*/
-static void test_freesync_range(data_t *data, uint32_t connector_type,
- uint32_t test_flags)
+static void test_freesync_range_base(data_t *data, uint32_t test_flags)
{
range_t range;
+ igt_output_t *output;
+ int i, test_conn_cnt = 0;
- test_init(data, connector_type);
+ test_init(data);
igt_amd_require_hpd(&data->display, data->fd);
- igt_assert_f(has_vrr(data->output),
- "connector %s is not VRR capable\n",
- data->output->name);
+ for_each_pipe(&data->display, i) {
+ /* setup the output */
+ output = data->output[i];
+ if (!output || !igt_output_is_connected(output))
+ continue;
+
+ igt_debug_on_f(!has_vrr(output), "Requires output supports VRR\n");
+
+ if (!has_vrr(output)) {
+ igt_info("connector %s is not VRR capable\n", output->name);
+ continue;
+ }
+
+ trigger_edid_parse(data, output, test_flags);
+
+ range = get_freesync_range(data, output);
- trigger_edid_parse(data, test_flags);
+ igt_assert_f(range.min != 0 &&
+ range.max != 0 &&
+ range.max - range.min > 10,
+ "Invalid Freesync range %d-%d\n",
+ range.min, range.max);
+ igt_info("%s Freesync range: %d-%d\n", output->name, range.min, range.max);
- range = get_freesync_range(data, data->output);
+ test_conn_cnt++;
+ }
test_fini(data);
+ igt_skip_on(test_conn_cnt == 0);
+}
+
+static inline void test_freesync_range(data_t *data)
+{
+ test_freesync_range_base(data, TEST_NONE);
+}
- igt_assert_f(range.min != 0 &&
- range.max != 0 &&
- range.max - range.min > 10,
- "Invalid Freesync range %d-%d\n",
- range.min, range.max);
- igt_info("Freesync range: %d-%d\n", range.min, range.max);
+static inline void test_freesync_range_suspend(data_t *data)
+{
+ test_freesync_range_base(data, TEST_SUSPEND);
}
igt_main
@@ -307,33 +401,17 @@ igt_main
igt_display_require_output(&data.display);
}
- igt_describe("Freesync EDID parsing on HDMI");
- igt_subtest("freesync-parsing-hdmi") test_freesync_parsing(&data,
- DRM_MODE_CONNECTOR_HDMIA, TEST_NONE);
- igt_describe("Freesync EDID parsing on DP");
- igt_subtest("freesync-parsing-dp") test_freesync_parsing(&data,
- DRM_MODE_CONNECTOR_DisplayPort, TEST_NONE);
-
- igt_describe("Freesync EDID parsing on HDMI after suspend");
- igt_subtest("freesync-parsing-hdmi-suspend") test_freesync_parsing(&data,
- DRM_MODE_CONNECTOR_HDMIA, TEST_SUSPEND);
- igt_describe("Freesync EDID parsing on DP after suspend");
- igt_subtest("freesync-parsing-dp-suspend") test_freesync_parsing(&data,
- DRM_MODE_CONNECTOR_DisplayPort, TEST_SUSPEND);
-
- igt_describe("Freesync range on HDMI");
- igt_subtest("freesync-range-hdmi") test_freesync_range(&data,
- DRM_MODE_CONNECTOR_HDMIA, TEST_NONE);
- igt_describe("Freesync range on DP");
- igt_subtest("freesync-range-dp") test_freesync_range(&data,
- DRM_MODE_CONNECTOR_DisplayPort, TEST_NONE);
-
- igt_describe("Freesync range on HDMI after suspend");
- igt_subtest("freesync-range-hdmi-suspend") test_freesync_range(&data,
- DRM_MODE_CONNECTOR_HDMIA, TEST_SUSPEND);
- igt_describe("Freesync range on DP after suspend");
- igt_subtest("freesync-range-dp-suspend") test_freesync_range(&data,
- DRM_MODE_CONNECTOR_DisplayPort, TEST_SUSPEND);
+ igt_describe("Hard coded Freesync EDID parsing");
+ igt_subtest("freesync-parsing") test_freesync_parsing(&data);
+
+ igt_describe("Hard coded Freesync EDID parsing after suspend");
+ igt_subtest("freesync-parsing-suspend") test_freesync_parsing_suspend(&data);
+
+ igt_describe("Freesync range from display");
+ igt_subtest("freesync-range") test_freesync_range(&data);
+
+ igt_describe("Freesync range from display after suspend");
+ igt_subtest("freesync-range-suspend") test_freesync_range_suspend(&data);
igt_fixture
{
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for tests/amdgpu/amd_vrr_range: add vrr range check for display connected
2023-05-31 18:36 [igt-dev] [PATCH] [i-g-t] tests/amdgpu/amd_vrr_range: add vrr range check for display connected Hersen Wu
@ 2023-05-31 19:09 ` Patchwork
2023-05-31 23:05 ` [igt-dev] [PATCH] [i-g-t] " Alex Hung
2023-06-02 9:21 ` [igt-dev] ✓ Fi.CI.IGT: success for " Patchwork
2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2023-05-31 19:09 UTC (permalink / raw)
To: Hersen Wu; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 10505 bytes --]
== Series Details ==
Series: tests/amdgpu/amd_vrr_range: add vrr range check for display connected
URL : https://patchwork.freedesktop.org/series/118667/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_13208 -> IGTPW_9083
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/index.html
Participating hosts (36 -> 37)
------------------------------
Additional (1): bat-dg1-5
Known issues
------------
Here are the changes found in IGTPW_9083 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_mmap@basic:
- bat-dg1-5: NOTRUN -> [SKIP][1] ([i915#4083])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-dg1-5/igt@gem_mmap@basic.html
* igt@gem_tiled_fence_blits@basic:
- bat-dg1-5: NOTRUN -> [SKIP][2] ([i915#4077]) +2 similar issues
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-dg1-5/igt@gem_tiled_fence_blits@basic.html
* igt@gem_tiled_pread_basic:
- bat-dg1-5: NOTRUN -> [SKIP][3] ([i915#4079]) +1 similar issue
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-dg1-5/igt@gem_tiled_pread_basic.html
* igt@i915_pm_backlight@basic-brightness:
- bat-dg1-5: NOTRUN -> [SKIP][4] ([i915#7561])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-dg1-5/igt@i915_pm_backlight@basic-brightness.html
* igt@i915_pm_backlight@basic-brightness@edp-1:
- bat-rplp-1: NOTRUN -> [ABORT][5] ([i915#7077])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-rplp-1/igt@i915_pm_backlight@basic-brightness@edp-1.html
* igt@i915_pm_rps@basic-api:
- bat-dg1-5: NOTRUN -> [SKIP][6] ([i915#6621])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-dg1-5/igt@i915_pm_rps@basic-api.html
* igt@i915_selftest@live@gt_heartbeat:
- fi-apl-guc: [PASS][7] -> [DMESG-FAIL][8] ([i915#5334])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13208/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html
* igt@i915_selftest@live@slpc:
- bat-rpls-2: NOTRUN -> [DMESG-WARN][9] ([i915#6367])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-rpls-2/igt@i915_selftest@live@slpc.html
* igt@i915_suspend@basic-s2idle-without-i915:
- bat-rpls-2: NOTRUN -> [ABORT][10] ([i915#6687])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-rpls-2/igt@i915_suspend@basic-s2idle-without-i915.html
* igt@kms_addfb_basic@basic-x-tiled-legacy:
- bat-dg1-5: NOTRUN -> [SKIP][11] ([i915#4212]) +7 similar issues
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-dg1-5/igt@kms_addfb_basic@basic-x-tiled-legacy.html
* igt@kms_addfb_basic@basic-y-tiled-legacy:
- bat-dg1-5: NOTRUN -> [SKIP][12] ([i915#4215])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-dg1-5/igt@kms_addfb_basic@basic-y-tiled-legacy.html
* igt@kms_chamelium_hpd@common-hpd-after-suspend:
- bat-dg2-11: NOTRUN -> [SKIP][13] ([i915#7828])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-dg2-11/igt@kms_chamelium_hpd@common-hpd-after-suspend.html
* igt@kms_chamelium_hpd@vga-hpd-fast:
- bat-dg1-5: NOTRUN -> [SKIP][14] ([i915#7828]) +8 similar issues
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-dg1-5/igt@kms_chamelium_hpd@vga-hpd-fast.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
- bat-dg1-5: NOTRUN -> [SKIP][15] ([i915#4103] / [i915#4213]) +1 similar issue
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-dg1-5/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
* igt@kms_force_connector_basic@force-load-detect:
- bat-dg1-5: NOTRUN -> [SKIP][16] ([fdo#109285])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-dg1-5/igt@kms_force_connector_basic@force-load-detect.html
* igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-d-dp-1:
- bat-dg2-8: [PASS][17] -> [FAIL][18] ([i915#7932])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13208/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-d-dp-1.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-d-dp-1.html
* igt@kms_psr@sprite_plane_onoff:
- bat-dg1-5: NOTRUN -> [SKIP][19] ([i915#1072] / [i915#4078]) +3 similar issues
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-dg1-5/igt@kms_psr@sprite_plane_onoff.html
* igt@kms_setmode@basic-clone-single-crtc:
- bat-dg1-5: NOTRUN -> [SKIP][20] ([i915#3555] / [i915#4579])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-dg1-5/igt@kms_setmode@basic-clone-single-crtc.html
* igt@prime_vgem@basic-fence-read:
- bat-dg1-5: NOTRUN -> [SKIP][21] ([i915#3708]) +3 similar issues
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-dg1-5/igt@prime_vgem@basic-fence-read.html
* igt@prime_vgem@basic-gtt:
- bat-dg1-5: NOTRUN -> [SKIP][22] ([i915#3708] / [i915#4077]) +1 similar issue
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-dg1-5/igt@prime_vgem@basic-gtt.html
#### Possible fixes ####
* igt@i915_pm_rpm@basic-rte:
- {bat-mtlp-8}: [ABORT][23] ([i915#7953]) -> [PASS][24]
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13208/bat-mtlp-8/igt@i915_pm_rpm@basic-rte.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-mtlp-8/igt@i915_pm_rpm@basic-rte.html
* igt@i915_selftest@live@reset:
- bat-rpls-2: [ABORT][25] ([i915#4983] / [i915#7461] / [i915#7913] / [i915#8347]) -> [PASS][26]
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13208/bat-rpls-2/igt@i915_selftest@live@reset.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-rpls-2/igt@i915_selftest@live@reset.html
* igt@i915_selftest@live@slpc:
- bat-rpls-1: [DMESG-WARN][27] ([i915#6367]) -> [PASS][28]
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13208/bat-rpls-1/igt@i915_selftest@live@slpc.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-rpls-1/igt@i915_selftest@live@slpc.html
* igt@i915_selftest@live@workarounds:
- bat-dg2-11: [INCOMPLETE][29] ([i915#7913]) -> [PASS][30]
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13208/bat-dg2-11/igt@i915_selftest@live@workarounds.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-dg2-11/igt@i915_selftest@live@workarounds.html
* igt@kms_pipe_crc_basic@nonblocking-crc@pipe-d-dp-1:
- bat-dg2-8: [FAIL][31] ([i915#7932]) -> [PASS][32]
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13208/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc@pipe-d-dp-1.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc@pipe-d-dp-1.html
#### Warnings ####
* igt@kms_setmode@basic-clone-single-crtc:
- bat-rplp-1: [ABORT][33] ([i915#4579] / [i915#8260]) -> [SKIP][34] ([i915#3555] / [i915#4579])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13208/bat-rplp-1/igt@kms_setmode@basic-clone-single-crtc.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/bat-rplp-1/igt@kms_setmode@basic-clone-single-crtc.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
[i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
[i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
[i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
[i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
[i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
[i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
[i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
[i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
[i915#6645]: https://gitlab.freedesktop.org/drm/intel/issues/6645
[i915#6687]: https://gitlab.freedesktop.org/drm/intel/issues/6687
[i915#7059]: https://gitlab.freedesktop.org/drm/intel/issues/7059
[i915#7077]: https://gitlab.freedesktop.org/drm/intel/issues/7077
[i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461
[i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
[i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
[i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
[i915#7932]: https://gitlab.freedesktop.org/drm/intel/issues/7932
[i915#7953]: https://gitlab.freedesktop.org/drm/intel/issues/7953
[i915#8260]: https://gitlab.freedesktop.org/drm/intel/issues/8260
[i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7314 -> IGTPW_9083
CI-20190529: 20190529
CI_DRM_13208: fa006f7737d7eebd38030e06310ba773d95a5960 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_9083: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/index.html
IGT_7314: ab70dfcdecf93a17fcaddb774855f726325fa0dd @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Testlist changes
----------------
+igt@kms_vrr@flipline
+igt@kms_vrr@flip-basic
+igt@kms_vrr@flip-dpms
+igt@kms_vrr@flip-suspend
+igt@kms_vrr@negative-basic
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/index.html
[-- Attachment #2: Type: text/html, Size: 12167 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [igt-dev] [PATCH] [i-g-t] tests/amdgpu/amd_vrr_range: add vrr range check for display connected
2023-05-31 18:36 [igt-dev] [PATCH] [i-g-t] tests/amdgpu/amd_vrr_range: add vrr range check for display connected Hersen Wu
2023-05-31 19:09 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
@ 2023-05-31 23:05 ` Alex Hung
2023-06-02 9:21 ` [igt-dev] ✓ Fi.CI.IGT: success for " Patchwork
2 siblings, 0 replies; 4+ messages in thread
From: Alex Hung @ 2023-05-31 23:05 UTC (permalink / raw)
To: Hersen Wu, igt-dev, rodrigo.siqueira, aurabindo.pillai,
stylon.wang, hamza.mahfooz
Reviewed-by: Alex Hung <alex.hung@amd.com>
On 2023-05-31 12:36, Hersen Wu wrote:
> Add VRR test for display connected by removing hard coded connector type.
>
> Add debugfs to allow read eDP EDID for each display detection. AMD Linux
> kernel read eDP EDID only one time by default.
>
> Optimize hard coded EDID to let 2 DP lanes meet timing requirement. Timing
> of current hard coded DP EDID supports 4k@60hz, it needs 4 DP lanes. With
> 2 lane DP display connected, VRR test fails due to number of DP lane
> not meet 4 lanes.
>
> Signed-off-by: Hersen Wu <hersenxs.wu@amd.com>
> ---
> lib/igt_amd.c | 31 ++++
> lib/igt_amd.h | 2 +
> tests/amdgpu/amd_vrr_range.c | 298 ++++++++++++++++++++++-------------
> 3 files changed, 221 insertions(+), 110 deletions(-)
>
> diff --git a/lib/igt_amd.c b/lib/igt_amd.c
> index 09923101f..8837714f7 100644
> --- a/lib/igt_amd.c
> +++ b/lib/igt_amd.c
> @@ -1111,6 +1111,37 @@ int igt_amd_read_psr_state(int drm_fd, char *connector_name)
> return strtol(buf, NULL, 10);
> }
>
> +/**
> + * igt_amd_allow_edp_hotplug_detect: notify kernel read edp edid all the time
> + * @drm_fd: DRM file descriptor
> + * @connector_name: The connector's name
> + * @enable: allow or disable kernel read eDP EDID for each display detection
> + * example usage: echo 0x1 >
> + * /sys/kernel/debug/dri/0/eDP-1/allow_edp_hotplug_detection
> + */
> +void igt_amd_allow_edp_hotplug_detect(int drm_fd, char *connector_name, bool enable)
> +{
> + int fd, hpd_fd, wr_len;
> + const char *allow_hotplug_detect = "1";
> + const char *dis_allow_hotplug_detect = "0";
> +
> + fd = igt_debugfs_connector_dir(drm_fd, connector_name, O_RDONLY);
> + igt_assert(fd >= 0);
> + hpd_fd = openat(fd, DEBUGFS_ALLOW_EDP_HOTPLUG_DETECT, O_WRONLY);
> + close(fd);
> + igt_assert(hpd_fd >= 0);
> +
> + if (enable) {
> + wr_len = write(hpd_fd, allow_hotplug_detect, strlen(allow_hotplug_detect));
> + igt_assert_eq(wr_len, strlen(allow_hotplug_detect));
> + } else {
> + wr_len = write(hpd_fd, dis_allow_hotplug_detect, strlen(dis_allow_hotplug_detect));
> + igt_assert_eq(wr_len, strlen(dis_allow_hotplug_detect));
> + }
> +
> + close(hpd_fd);
> +}
> +
> /**
> * @brief check if AMDGPU DM visual confirm debugfs interface entry exist and defined
> *
> diff --git a/lib/igt_amd.h b/lib/igt_amd.h
> index 428bfe6f7..d57390405 100644
> --- a/lib/igt_amd.h
> +++ b/lib/igt_amd.h
> @@ -48,6 +48,7 @@
> #define MAX_SUPPORTED_ILR 8
> #define DEBUGFS_EDP_PSR_CAP "psr_capability"
> #define DEBUGFS_EDP_PSR_STATE "psr_state"
> +#define DEBUGFS_ALLOW_EDP_HOTPLUG_DETECT "allow_edp_hotplug_detection"
>
> /* amdgpu DM interface entries */
> #define DEBUGFS_DM_VISUAL_CONFIRM "amdgpu_dm_visual_confirm"
> @@ -187,6 +188,7 @@ bool igt_amd_psr_support_sink(int drm_fd, char *connector_name, enum psr_mode mo
> bool igt_amd_psr_support_drv(int drm_fd, char *connector_name, enum psr_mode mode);
> bool igt_amd_output_has_psr_state(int drm_fd, char *connector_name);
> int igt_amd_read_psr_state(int drm_fd, char *connector_name);
> +void igt_amd_allow_edp_hotplug_detect(int drm_fd, char *connector_name, bool enable);
>
> /* DM interface helpers */
> bool igt_amd_has_visual_confirm(int drm_fd);
> diff --git a/tests/amdgpu/amd_vrr_range.c b/tests/amdgpu/amd_vrr_range.c
> index 2f27296dd..3f8f23e9a 100644
> --- a/tests/amdgpu/amd_vrr_range.c
> +++ b/tests/amdgpu/amd_vrr_range.c
> @@ -27,11 +27,14 @@
>
> IGT_TEST_DESCRIPTION("Test EDID parsing and debugfs reporting on Freesync displays");
>
> +/* Maximumm pipes on any AMD ASIC. */
> +#define MAX_PIPES 6
> +
> /* Common test data. */
> typedef struct data {
> igt_display_t display;
> igt_plane_t *primary;
> - igt_output_t *output;
> + igt_output_t *output[MAX_PIPES];
> int fd;
> } data_t;
>
> @@ -53,45 +56,46 @@ struct {
> const range_t range;
> } edid_database[] = {
> {
> - /* DP EDID from Benq EL-2870u */
> - "Benq EL-2870u DP",
> + /* EDID Version 1.4. Timing requires 2 DP lanes. */
> + "External DP",
> DRM_MODE_CONNECTOR_DisplayPort,
> {
> 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
> - 0x09, 0xd1, 0x49, 0x79, 0x45, 0x54, 0x00, 0x00,
> - 0x0c, 0x1e, 0x01, 0x04, 0xb5, 0x3e, 0x22, 0x78,
> - 0x3f, 0x08, 0xa5, 0xa2, 0x57, 0x4f, 0xa2, 0x28,
> - 0x0f, 0x50, 0x54, 0xa5, 0x6b, 0x80, 0xd1, 0xc0,
> - 0x81, 0xc0, 0x81, 0x00, 0x81, 0x80, 0xa9, 0xc0,
> - 0xb3, 0x00, 0xa9, 0x40, 0x01, 0x01, 0x4d, 0xd0,
> - 0x00, 0xa0, 0xf0, 0x70, 0x3e, 0x80, 0x30, 0x20,
> - 0x35, 0x00, 0x6d, 0x55, 0x21, 0x00, 0x00, 0x1a,
> - 0x00, 0x00, 0x00, 0xff, 0x00, 0x46, 0x33, 0x4c,
> - 0x30, 0x34, 0x33, 0x33, 0x33, 0x53, 0x4c, 0x30,
> - 0x0a, 0x20, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x28,
> - 0x3c, 0x87, 0x87, 0x3c, 0x01, 0x0a, 0x20, 0x20,
> - 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xfc,
> - 0x00, 0x42, 0x65, 0x6e, 0x51, 0x20, 0x45, 0x4c,
> - 0x32, 0x38, 0x37, 0x30, 0x55, 0x0a, 0x01, 0xa8,
> - 0x02, 0x03, 0x2e, 0xf1, 0x56, 0x61, 0x60, 0x5d,
> - 0x5e, 0x5f, 0x10, 0x05, 0x04, 0x03, 0x02, 0x07,
> - 0x06, 0x0f, 0x1f, 0x20, 0x21, 0x22, 0x14, 0x13,
> - 0x12, 0x16, 0x01, 0x23, 0x09, 0x07, 0x07, 0x83,
> - 0x01, 0x00, 0x00, 0xe3, 0x05, 0xc0, 0x00, 0xe6,
> - 0x06, 0x05, 0x01, 0x5a, 0x53, 0x44, 0x02, 0x3a,
> + 0x06, 0xb3, 0xaf, 0x24, 0x01, 0x01, 0x01, 0x01,
> + 0x00, 0x1d, 0x01, 0x04, 0x80, 0x35, 0x1e, 0x78,
> + 0x2b, 0x51, 0xb5, 0xa4, 0x54, 0x4f, 0xa0, 0x26,
> + 0x0d, 0x50, 0x54, 0xbf, 0xcf, 0x00, 0x81, 0x40,
> + 0x81, 0x80, 0x95, 0x00, 0x71, 0x4f, 0x81, 0xc0,
> + 0xb3, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x3a,
> 0x80, 0x18, 0x71, 0x38, 0x2d, 0x40, 0x58, 0x2c,
> - 0x45, 0x00, 0x6d, 0x55, 0x21, 0x00, 0x00, 0x1e,
> - 0x56, 0x5e, 0x00, 0xa0, 0xa0, 0xa0, 0x29, 0x50,
> - 0x30, 0x20, 0x35, 0x00, 0x6d, 0x55, 0x21, 0x00,
> - 0x00, 0x1a, 0x8c, 0x64, 0x00, 0x50, 0xf0, 0x70,
> - 0x1f, 0x80, 0x08, 0x20, 0x18, 0x04, 0x6d, 0x55,
> - 0x21, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00,
> + 0x45, 0x00, 0x0f, 0x28, 0x21, 0x00, 0x00, 0x1e,
> + 0xfc, 0x7e, 0x80, 0x88, 0x70, 0x38, 0x12, 0x40,
> + 0x18, 0x20, 0x35, 0x00, 0x0f, 0x28, 0x21, 0x00,
> + 0x00, 0x1e, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x30,
> + 0x90, 0x1e, 0xb4, 0x22, 0x01, 0x0a, 0x20, 0x20,
> + 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xfc,
> + 0x00, 0x41, 0x53, 0x55, 0x53, 0x20, 0x56, 0x50,
> + 0x32, 0x34, 0x39, 0x0a, 0x20, 0x20, 0x01, 0x91,
> + 0x02, 0x03, 0x2d, 0xf1, 0x4f, 0x01, 0x03, 0x04,
> + 0x13, 0x1f, 0x12, 0x02, 0x11, 0x90, 0x0e, 0x0f,
> + 0x1d, 0x1e, 0x3f, 0x40, 0x23, 0x09, 0x07, 0x07,
> + 0x83, 0x01, 0x00, 0x00, 0x67, 0x03, 0x0c, 0x00,
> + 0x10, 0x00, 0x00, 0x44, 0x68, 0x1a, 0x00, 0x00,
> + 0x01, 0x01, 0x30, 0x90, 0xe6, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16
> },
> - {40, 60},
> + {48, 144},
> },
> +
> {
> /* HDMI EDID from ASUS VP249QGR */
> "ASUS VP249QGR HDMI",
> @@ -132,29 +136,63 @@ struct {
> },
> {48, 144},
> },
> +
> + {
> + /* EDID Version 1.4. Timing requires 2 DP lanes. */
> + "eDP",
> + DRM_MODE_CONNECTOR_eDP,
> + {
> + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
> + 0x06, 0xb3, 0xaf, 0x24, 0x01, 0x01, 0x01, 0x01,
> + 0x00, 0x1d, 0x01, 0x04, 0x80, 0x35, 0x1e, 0x78,
> + 0x2b, 0x51, 0xb5, 0xa4, 0x54, 0x4f, 0xa0, 0x26,
> + 0x0d, 0x50, 0x54, 0xbf, 0xcf, 0x00, 0x81, 0x40,
> + 0x81, 0x80, 0x95, 0x00, 0x71, 0x4f, 0x81, 0xc0,
> + 0xb3, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x3a,
> + 0x80, 0x18, 0x71, 0x38, 0x2d, 0x40, 0x58, 0x2c,
> + 0x45, 0x00, 0x0f, 0x28, 0x21, 0x00, 0x00, 0x1e,
> + 0xfc, 0x7e, 0x80, 0x88, 0x70, 0x38, 0x12, 0x40,
> + 0x18, 0x20, 0x35, 0x00, 0x0f, 0x28, 0x21, 0x00,
> + 0x00, 0x1e, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x30,
> + 0x90, 0x1e, 0xb4, 0x22, 0x01, 0x0a, 0x20, 0x20,
> + 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xfc,
> + 0x00, 0x41, 0x53, 0x55, 0x53, 0x20, 0x56, 0x50,
> + 0x32, 0x34, 0x39, 0x0a, 0x20, 0x20, 0x01, 0x91,
> + 0x02, 0x03, 0x2d, 0xf1, 0x4f, 0x01, 0x03, 0x04,
> + 0x13, 0x1f, 0x12, 0x02, 0x11, 0x90, 0x0e, 0x0f,
> + 0x1d, 0x1e, 0x3f, 0x40, 0x23, 0x09, 0x07, 0x07,
> + 0x83, 0x01, 0x00, 0x00, 0x67, 0x03, 0x0c, 0x00,
> + 0x10, 0x00, 0x00, 0x44, 0x68, 0x1a, 0x00, 0x00,
> + 0x01, 0x01, 0x30, 0x90, 0xe6, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16
> + },
> + {48, 144},
> + },
> };
>
> -/* Common test setup. */
> -static void test_init(data_t *data, uint32_t connector_type)
> +static void test_init(data_t *data)
> {
> igt_display_t *display = &data->display;
> + int i;
>
> - igt_display_reset(display);
> + for_each_pipe(display, i) {
> + igt_output_t *output = &display->outputs[i];
>
> - /* find connected outputs */
> - data->output = NULL;
> - for (int i=0; i < data->display.n_outputs; ++i) {
> - drmModeConnector *connector = data->display.outputs[i].config.connector;
> - if (connector->connection == DRM_MODE_CONNECTED &&
> - connector->connector_type == connector_type) {
> - data->output = &data->display.outputs[i];
> - }
> + data->output[i] = output;
> }
> - igt_assert_f(data->output, "Requires connected output\n");
>
> + igt_display_reset(display);
> }
>
> -/* Common test cleanup. */
> static void test_fini(data_t *data)
> {
> igt_display_reset(&data->display);
> @@ -185,6 +223,7 @@ static range_t get_freesync_range(data_t *data, igt_output_t *output)
> fd = igt_debugfs_connector_dir(data->fd, output->name, O_RDONLY);
> igt_assert(fd >= 0);
>
> + /* example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range */
> res = igt_debugfs_simple_read(fd, "vrr_range", buf, sizeof(buf));
> igt_require(res > 0);
>
> @@ -199,56 +238,86 @@ static range_t get_freesync_range(data_t *data, igt_output_t *output)
> return range;
> }
>
> -static void trigger_edid_parse(data_t *data, uint32_t test_flags)
> +static void trigger_edid_parse(data_t *data, igt_output_t *output, uint32_t test_flags)
> {
> if (test_flags & TEST_SUSPEND)
> igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
> SUSPEND_TEST_NONE);
> else
> - igt_amd_trigger_hotplug(data->fd, data->output->name);
> + igt_amd_trigger_hotplug(data->fd, output->name);
>
> /* more safe margin until resume and hotplug is completed */
> usleep(1500000);
> }
>
> /* Check if EDID parsing is correctly reporting Freesync capability
> - * by overriding EDID with ones from golden sample. Display under test
> - * must still support Freesync.
> + * by overriding EDID with ones from golden sample.
> */
> -static void test_freesync_parsing(data_t *data, uint32_t connector_type,
> - uint32_t test_flags)
> +static void test_freesync_parsing_base(data_t *data, uint32_t test_flags)
> {
> const struct edid *edid;
> range_t range, expected_range;
> - int i;
> + igt_output_t *output;
> + int i, j, test_conn_cnt = 0;
>
> - test_init(data, connector_type);
> + test_init(data);
>
> igt_amd_require_hpd(&data->display, data->fd);
>
> - /* find a test EDID */
> - i = find_test_edid_index(connector_type);
> - edid = (const struct edid *)edid_database[i].edid;
> - expected_range = edid_database[i].range;
> + for_each_pipe(&data->display, i) {
> + /* setup the output */
> + output = data->output[i];
> + if (!output || !igt_output_is_connected(output))
> + continue;
> +
> + /* find a test EDID */
> + j = find_test_edid_index(output->config.connector->connector_type);
> +
> + edid = (const struct edid *)edid_database[j].edid;
> + expected_range = edid_database[j].range;
> +
> + /* eDP allow read edid for each display detection */
> + if (output->config.connector->connector_type == DRM_MODE_CONNECTOR_eDP)
> + igt_amd_allow_edp_hotplug_detect(data->fd, output->name, true);
> +
> + /* force to use hard coded VRR EDID */
> + kmstest_force_edid(data->fd, output->config.connector, edid);
>
> - kmstest_force_edid(data->fd, data->output->config.connector, edid);
> + trigger_edid_parse(data, output, test_flags);
>
> - trigger_edid_parse(data, test_flags);
> + range = get_freesync_range(data, output);
>
> - range = get_freesync_range(data, data->output);
> + /* undo EDID override. re-parse EDID of display */
> + kmstest_force_edid(data->fd, output->config.connector, NULL);
>
> - /* undo EDID override and trigger a re-parsing of EDID */
> - kmstest_force_edid(data->fd, data->output->config.connector, NULL);
> - igt_amd_trigger_hotplug(data->fd, data->output->name);
> + igt_amd_trigger_hotplug(data->fd, output->name);
> +
> + /* eDP dis-allow read edid for each display detection */
> + if (output->config.connector->connector_type == DRM_MODE_CONNECTOR_eDP)
> + igt_amd_allow_edp_hotplug_detect(data->fd, output->name, false);
> +
> + test_conn_cnt++;
> +
> + igt_assert_f(range.min == expected_range.min &&
> + range.max == expected_range.max,
> + "Expecting Freesync range %d-%d, got %d-%d\n",
> + expected_range.min, expected_range.max,
> + range.min, range.max);
> + igt_info("%s Freesync range: %d-%d\n", output->name, range.min, range.max);
> + }
>
> test_fini(data);
> + igt_skip_on(test_conn_cnt == 0);
> +}
> +
> +static inline void test_freesync_parsing(data_t *data)
> +{
> + test_freesync_parsing_base(data, TEST_NONE);
> +}
>
> - igt_assert_f(range.min == expected_range.min &&
> - range.max == expected_range.max,
> - "Expecting Freesync range %d-%d, got %d-%d\n",
> - expected_range.min, expected_range.max,
> - range.min, range.max);
> - igt_info("Freesync range: %d-%d\n", range.min, range.max);
> +static inline void test_freesync_parsing_suspend(data_t *data)
> +{
> + test_freesync_parsing_base(data, TEST_SUSPEND);
> }
>
> /* Returns true if an output supports VRR. */
> @@ -260,32 +329,57 @@ static bool has_vrr(igt_output_t *output)
>
> /* More relaxed checking on Freesync capability.
> * Only checks if frame rate range is within legal range.
> + * Display under test MUST be VRR capable.
> */
> -static void test_freesync_range(data_t *data, uint32_t connector_type,
> - uint32_t test_flags)
> +static void test_freesync_range_base(data_t *data, uint32_t test_flags)
> {
> range_t range;
> + igt_output_t *output;
> + int i, test_conn_cnt = 0;
>
> - test_init(data, connector_type);
> + test_init(data);
>
> igt_amd_require_hpd(&data->display, data->fd);
>
> - igt_assert_f(has_vrr(data->output),
> - "connector %s is not VRR capable\n",
> - data->output->name);
> + for_each_pipe(&data->display, i) {
> + /* setup the output */
> + output = data->output[i];
> + if (!output || !igt_output_is_connected(output))
> + continue;
> +
> + igt_debug_on_f(!has_vrr(output), "Requires output supports VRR\n");
> +
> + if (!has_vrr(output)) {
> + igt_info("connector %s is not VRR capable\n", output->name);
> + continue;
> + }
> +
> + trigger_edid_parse(data, output, test_flags);
> +
> + range = get_freesync_range(data, output);
>
> - trigger_edid_parse(data, test_flags);
> + igt_assert_f(range.min != 0 &&
> + range.max != 0 &&
> + range.max - range.min > 10,
> + "Invalid Freesync range %d-%d\n",
> + range.min, range.max);
> + igt_info("%s Freesync range: %d-%d\n", output->name, range.min, range.max);
>
> - range = get_freesync_range(data, data->output);
> + test_conn_cnt++;
> + }
>
> test_fini(data);
> + igt_skip_on(test_conn_cnt == 0);
> +}
> +
> +static inline void test_freesync_range(data_t *data)
> +{
> + test_freesync_range_base(data, TEST_NONE);
> +}
>
> - igt_assert_f(range.min != 0 &&
> - range.max != 0 &&
> - range.max - range.min > 10,
> - "Invalid Freesync range %d-%d\n",
> - range.min, range.max);
> - igt_info("Freesync range: %d-%d\n", range.min, range.max);
> +static inline void test_freesync_range_suspend(data_t *data)
> +{
> + test_freesync_range_base(data, TEST_SUSPEND);
> }
>
> igt_main
> @@ -307,33 +401,17 @@ igt_main
> igt_display_require_output(&data.display);
> }
>
> - igt_describe("Freesync EDID parsing on HDMI");
> - igt_subtest("freesync-parsing-hdmi") test_freesync_parsing(&data,
> - DRM_MODE_CONNECTOR_HDMIA, TEST_NONE);
> - igt_describe("Freesync EDID parsing on DP");
> - igt_subtest("freesync-parsing-dp") test_freesync_parsing(&data,
> - DRM_MODE_CONNECTOR_DisplayPort, TEST_NONE);
> -
> - igt_describe("Freesync EDID parsing on HDMI after suspend");
> - igt_subtest("freesync-parsing-hdmi-suspend") test_freesync_parsing(&data,
> - DRM_MODE_CONNECTOR_HDMIA, TEST_SUSPEND);
> - igt_describe("Freesync EDID parsing on DP after suspend");
> - igt_subtest("freesync-parsing-dp-suspend") test_freesync_parsing(&data,
> - DRM_MODE_CONNECTOR_DisplayPort, TEST_SUSPEND);
> -
> - igt_describe("Freesync range on HDMI");
> - igt_subtest("freesync-range-hdmi") test_freesync_range(&data,
> - DRM_MODE_CONNECTOR_HDMIA, TEST_NONE);
> - igt_describe("Freesync range on DP");
> - igt_subtest("freesync-range-dp") test_freesync_range(&data,
> - DRM_MODE_CONNECTOR_DisplayPort, TEST_NONE);
> -
> - igt_describe("Freesync range on HDMI after suspend");
> - igt_subtest("freesync-range-hdmi-suspend") test_freesync_range(&data,
> - DRM_MODE_CONNECTOR_HDMIA, TEST_SUSPEND);
> - igt_describe("Freesync range on DP after suspend");
> - igt_subtest("freesync-range-dp-suspend") test_freesync_range(&data,
> - DRM_MODE_CONNECTOR_DisplayPort, TEST_SUSPEND);
> + igt_describe("Hard coded Freesync EDID parsing");
> + igt_subtest("freesync-parsing") test_freesync_parsing(&data);
> +
> + igt_describe("Hard coded Freesync EDID parsing after suspend");
> + igt_subtest("freesync-parsing-suspend") test_freesync_parsing_suspend(&data);
> +
> + igt_describe("Freesync range from display");
> + igt_subtest("freesync-range") test_freesync_range(&data);
> +
> + igt_describe("Freesync range from display after suspend");
> + igt_subtest("freesync-range-suspend") test_freesync_range_suspend(&data);
>
> igt_fixture
> {
^ permalink raw reply [flat|nested] 4+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for tests/amdgpu/amd_vrr_range: add vrr range check for display connected
2023-05-31 18:36 [igt-dev] [PATCH] [i-g-t] tests/amdgpu/amd_vrr_range: add vrr range check for display connected Hersen Wu
2023-05-31 19:09 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2023-05-31 23:05 ` [igt-dev] [PATCH] [i-g-t] " Alex Hung
@ 2023-06-02 9:21 ` Patchwork
2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2023-06-02 9:21 UTC (permalink / raw)
To: Hersen Wu; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 15895 bytes --]
== Series Details ==
Series: tests/amdgpu/amd_vrr_range: add vrr range check for display connected
URL : https://patchwork.freedesktop.org/series/118667/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_13208_full -> IGTPW_9083_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/index.html
Participating hosts (8 -> 7)
------------------------------
Missing (1): shard-rkl0
Known issues
------------
Here are the changes found in IGTPW_9083_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_fair@basic-deadline:
- shard-glk: NOTRUN -> [FAIL][1] ([i915#2846])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/shard-glk7/igt@gem_exec_fair@basic-deadline.html
* igt@gem_exec_fair@basic-pace@vcs0:
- shard-glk: [PASS][2] -> [FAIL][3] ([i915#2842]) +1 similar issue
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13208/shard-glk6/igt@gem_exec_fair@basic-pace@vcs0.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/shard-glk2/igt@gem_exec_fair@basic-pace@vcs0.html
* igt@gem_lmem_swapping@parallel-random:
- shard-glk: NOTRUN -> [SKIP][4] ([fdo#109271] / [i915#4613])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/shard-glk3/igt@gem_lmem_swapping@parallel-random.html
* igt@gem_ppgtt@blt-vs-render-ctx0:
- shard-snb: [PASS][5] -> [FAIL][6] ([i915#8295])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13208/shard-snb4/igt@gem_ppgtt@blt-vs-render-ctx0.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/shard-snb6/igt@gem_ppgtt@blt-vs-render-ctx0.html
* igt@kms_ccs@pipe-b-crc-primary-basic-y_tiled_gen12_rc_ccs_cc:
- shard-glk: NOTRUN -> [SKIP][7] ([fdo#109271] / [i915#3886])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/shard-glk4/igt@kms_ccs@pipe-b-crc-primary-basic-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_content_protection@srm:
- shard-glk: NOTRUN -> [SKIP][8] ([fdo#109271] / [i915#4579]) +1 similar issue
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/shard-glk7/igt@kms_content_protection@srm.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-wc:
- shard-snb: NOTRUN -> [SKIP][9] ([fdo#109271]) +44 similar issues
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/shard-snb4/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_plane_scaling@plane-upscale-with-modifiers-20x20@pipe-b-vga-1:
- shard-snb: NOTRUN -> [SKIP][10] ([fdo#109271] / [i915#4579]) +14 similar issues
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/shard-snb6/igt@kms_plane_scaling@plane-upscale-with-modifiers-20x20@pipe-b-vga-1.html
* igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-big-fb:
- shard-glk: NOTRUN -> [SKIP][11] ([fdo#109271] / [i915#658])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/shard-glk7/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-big-fb.html
* igt@kms_psr@psr2_sprite_blt:
- shard-glk: NOTRUN -> [SKIP][12] ([fdo#109271]) +51 similar issues
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/shard-glk2/igt@kms_psr@psr2_sprite_blt.html
#### Possible fixes ####
* igt@gem_eio@hibernate:
- {shard-tglu}: [ABORT][13] ([i915#7975] / [i915#8213] / [i915#8398]) -> [PASS][14]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13208/shard-tglu-10/igt@gem_eio@hibernate.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/shard-tglu-2/igt@gem_eio@hibernate.html
* igt@gem_exec_fair@basic-deadline:
- {shard-rkl}: [FAIL][15] ([i915#2846]) -> [PASS][16]
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13208/shard-rkl-2/igt@gem_exec_fair@basic-deadline.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/shard-rkl-7/igt@gem_exec_fair@basic-deadline.html
* igt@gem_exec_fair@basic-none@bcs0:
- {shard-rkl}: [FAIL][17] ([i915#2842]) -> [PASS][18] +2 similar issues
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13208/shard-rkl-4/igt@gem_exec_fair@basic-none@bcs0.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/shard-rkl-6/igt@gem_exec_fair@basic-none@bcs0.html
* igt@i915_module_load@reload-with-fault-injection:
- shard-snb: [ABORT][19] ([i915#4528]) -> [PASS][20]
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13208/shard-snb6/igt@i915_module_load@reload-with-fault-injection.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/shard-snb6/igt@i915_module_load@reload-with-fault-injection.html
* igt@i915_pm_rpm@modeset-lpsp-stress:
- {shard-dg1}: [SKIP][21] ([i915#1397]) -> [PASS][22] +1 similar issue
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13208/shard-dg1-17/igt@i915_pm_rpm@modeset-lpsp-stress.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/shard-dg1-19/igt@i915_pm_rpm@modeset-lpsp-stress.html
* igt@i915_pm_rpm@modeset-non-lpsp-stress:
- {shard-rkl}: [SKIP][23] ([i915#1397]) -> [PASS][24]
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13208/shard-rkl-7/igt@i915_pm_rpm@modeset-non-lpsp-stress.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/shard-rkl-1/igt@i915_pm_rpm@modeset-non-lpsp-stress.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
- shard-glk: [FAIL][25] ([i915#2346]) -> [PASS][26]
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13208/shard-glk3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/shard-glk4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
- shard-apl: [FAIL][27] ([i915#2346]) -> [PASS][28]
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13208/shard-apl1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/shard-apl3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@single-move@pipe-b:
- {shard-dg1}: [INCOMPLETE][29] ([i915#8011] / [i915#8347]) -> [PASS][30]
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13208/shard-dg1-19/igt@kms_cursor_legacy@single-move@pipe-b.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/shard-dg1-16/igt@kms_cursor_legacy@single-move@pipe-b.html
* igt@kms_flip@2x-flip-vs-expired-vblank@ac-hdmi-a1-hdmi-a2:
- shard-glk: [FAIL][31] ([i915#79]) -> [PASS][32] +2 similar issues
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13208/shard-glk7/igt@kms_flip@2x-flip-vs-expired-vblank@ac-hdmi-a1-hdmi-a2.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/shard-glk2/igt@kms_flip@2x-flip-vs-expired-vblank@ac-hdmi-a1-hdmi-a2.html
* igt@perf_pmu@busy-idle-check-all@vecs0:
- {shard-dg1}: [FAIL][33] ([i915#4521]) -> [PASS][34] +2 similar issues
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13208/shard-dg1-18/igt@perf_pmu@busy-idle-check-all@vecs0.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/shard-dg1-18/igt@perf_pmu@busy-idle-check-all@vecs0.html
#### Warnings ####
* igt@i915_pm_dc@dc9-dpms:
- shard-apl: [FAIL][35] ([i915#4275]) -> [SKIP][36] ([fdo#109271])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13208/shard-apl3/igt@i915_pm_dc@dc9-dpms.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/shard-apl6/igt@i915_pm_dc@dc9-dpms.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
[fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
[fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
[fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300
[fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302
[fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
[fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
[fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
[fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
[fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
[fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
[fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
[i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
[i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
[i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937
[i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
[i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
[i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
[i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
[i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
[i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
[i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
[i915#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023
[i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
[i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
[i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
[i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
[i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
[i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
[i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
[i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
[i915#3778]: https://gitlab.freedesktop.org/drm/intel/issues/3778
[i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
[i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
[i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
[i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
[i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
[i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
[i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
[i915#4275]: https://gitlab.freedesktop.org/drm/intel/issues/4275
[i915#4281]: https://gitlab.freedesktop.org/drm/intel/issues/4281
[i915#4521]: https://gitlab.freedesktop.org/drm/intel/issues/4521
[i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
[i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
[i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
[i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771
[i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
[i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
[i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
[i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
[i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
[i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
[i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
[i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
[i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
[i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
[i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
[i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334
[i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433
[i915#6493]: https://gitlab.freedesktop.org/drm/intel/issues/6493
[i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
[i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
[i915#6806]: https://gitlab.freedesktop.org/drm/intel/issues/6806
[i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953
[i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
[i915#7178]: https://gitlab.freedesktop.org/drm/intel/issues/7178
[i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461
[i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
[i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
[i915#7701]: https://gitlab.freedesktop.org/drm/intel/issues/7701
[i915#7707]: https://gitlab.freedesktop.org/drm/intel/issues/7707
[i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
[i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
[i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
[i915#7941]: https://gitlab.freedesktop.org/drm/intel/issues/7941
[i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
[i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011
[i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213
[i915#8228]: https://gitlab.freedesktop.org/drm/intel/issues/8228
[i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292
[i915#8295]: https://gitlab.freedesktop.org/drm/intel/issues/8295
[i915#8311]: https://gitlab.freedesktop.org/drm/intel/issues/8311
[i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347
[i915#8381]: https://gitlab.freedesktop.org/drm/intel/issues/8381
[i915#8398]: https://gitlab.freedesktop.org/drm/intel/issues/8398
[i915#8414]: https://gitlab.freedesktop.org/drm/intel/issues/8414
[i915#8555]: https://gitlab.freedesktop.org/drm/intel/issues/8555
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7314 -> IGTPW_9083
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_13208: fa006f7737d7eebd38030e06310ba773d95a5960 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_9083: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/index.html
IGT_7314: ab70dfcdecf93a17fcaddb774855f726325fa0dd @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9083/index.html
[-- Attachment #2: Type: text/html, Size: 11865 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-06-02 9:21 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-31 18:36 [igt-dev] [PATCH] [i-g-t] tests/amdgpu/amd_vrr_range: add vrr range check for display connected Hersen Wu
2023-05-31 19:09 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2023-05-31 23:05 ` [igt-dev] [PATCH] [i-g-t] " Alex Hung
2023-06-02 9:21 ` [igt-dev] ✓ Fi.CI.IGT: success for " Patchwork
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.