* [PATCH i-g-t v2 0/5] lib/igt_kms: Helpers for connector managment
@ 2024-10-22 10:28 Louis Chauvet
2024-10-22 10:28 ` [PATCH i-g-t v2 1/5] lib/igt_kms: Add a detect timeout value Louis Chauvet
` (7 more replies)
0 siblings, 8 replies; 19+ messages in thread
From: Louis Chauvet @ 2024-10-22 10:28 UTC (permalink / raw)
To: igt-dev
Cc: Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Thomas Petazzoni, nicolejadeyee, seanpaul, jeremie.dautheribes,
markyacoub, Louis Chauvet
In preparation for the introduction of Chameleon v3, this series will add
a few helper functions that will be used:
- A configurable timeout value, to be used by Chameleon's autodetection
algorithm and connector status detection
- A helper function to wait for a specific connector status
- A way to list all connected connectors
- A way to get a connector object by its name or MST path
- A helper function to get a valid pipe for a specific output"
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
---
Changes in v2:
- Rebased
- Fix a warning during compilation
- Link to v1: https://lore.kernel.org/r/20240828-b4-cv3-01-igt-kms-v1-0-d6e21b1e5d04@bootlin.com
---
Louis Chauvet (5):
lib/igt_kms: Add a detect timeout value
lib/igt_kms: Add helper to wait for a specific status on a connector
lib/igt_kms: Add function to list connected connectors
lib/igt_kms: Add helper to obtain a connector by its name or MST path
lib/igt_kms: Add function to get valid pipe for specific output
lib/igt_core.c | 3 +
lib/igt_kms.c | 232 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
lib/igt_kms.h | 17 +++++
3 files changed, 252 insertions(+)
---
base-commit: 9b8c0f6da8898f760bfaa2113455eb84b68a69f4
change-id: 20240828-b4-cv3-01-igt-kms-3e5af6a4c05e
Best regards,
--
Louis Chauvet <louis.chauvet@bootlin.com>
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH i-g-t v2 1/5] lib/igt_kms: Add a detect timeout value
2024-10-22 10:28 [PATCH i-g-t v2 0/5] lib/igt_kms: Helpers for connector managment Louis Chauvet
@ 2024-10-22 10:28 ` Louis Chauvet
2024-11-06 14:12 ` Kamil Konieczny
2024-10-22 10:28 ` [PATCH i-g-t v2 2/5] lib/igt_kms: Add helper to wait for a specific status on a connector Louis Chauvet
` (6 subsequent siblings)
7 siblings, 1 reply; 19+ messages in thread
From: Louis Chauvet @ 2024-10-22 10:28 UTC (permalink / raw)
To: igt-dev
Cc: Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Thomas Petazzoni, nicolejadeyee, seanpaul, jeremie.dautheribes,
markyacoub, Louis Chauvet
Some tests need to wait for a specific connector status. In order to make
the timeout customisable for each target, add an option in the
configuration file.
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
---
lib/igt_core.c | 3 +++
lib/igt_kms.c | 24 ++++++++++++++++++++++++
lib/igt_kms.h | 9 +++++++++
3 files changed, 36 insertions(+)
diff --git a/lib/igt_core.c b/lib/igt_core.c
index 407f7b55187c..5f75141cc42e 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -265,6 +265,9 @@
* # It is not mandatory and allows overriding default values.
* [DUT]
* SuspendResumeDelay=10
+ * # The following option define the timeout for detection feature
+ * # (waiting for a connector status)
+ * DetectTimeout=10.0
* ]|
*
* Some specific configuration options may be used by specific parts of IGT,
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index bb35d4b82c5a..195868646a14 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -58,6 +58,7 @@
#include "intel_chipset.h"
#include "igt_debugfs.h"
#include "igt_device.h"
+#include "igt_rc.h"
#include "igt_sysfs.h"
#include "sw_sync.h"
#ifdef HAVE_CHAMELIUM
@@ -7119,3 +7120,26 @@ void igt_reset_link_params(int drm_fd, igt_output_t *output)
temp = drmModeGetConnector(drm_fd, output->config.connector->connector_id);
drmModeFreeConnector(temp);
}
+
+/**
+ * igt_default_detect_timeout - Get the default timeout value for detection feature
+ *
+ * Some tests requires to wait for a specific connector status. This value will determine the
+ * timeout value for this waiting.
+ */
+float igt_default_detect_timeout(void)
+{
+ static double timeout = 0.0;
+ static bool first_call = true;
+
+ if (first_call) {
+ if (igt_key_file)
+ timeout = g_key_file_get_double(igt_key_file, "DUT", "DetectTimeout", NULL);
+ else
+ timeout = DEFAULT_DETECT_TIMEOUT;
+
+ first_call = false;
+ }
+
+ return timeout;
+}
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 2b26d2bbfff1..4f0030264d9f 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -39,6 +39,13 @@
#include "igt_fb.h"
#include "ioctl_wrappers.h"
+/**
+ * define DEFAULT_DETECT_TIMEOUT - Default timeout used for some detection functions
+ *
+ * It can be overiden by option DetectTimeout in the .igtrc file.
+ */
+#define DEFAULT_DETECT_TIMEOUT 10.0
+
/* Low-level helpers with kmstest_ prefix */
/**
@@ -1254,4 +1261,6 @@ int igt_get_dp_pending_lt_failures(int drm_fd, igt_output_t *output);
int igt_get_dp_pending_retrain(int drm_fd, igt_output_t *output);
void igt_reset_link_params(int drm_fd, igt_output_t *output);
+float igt_default_detect_timeout(void);
+
#endif /* __IGT_KMS_H__ */
--
2.46.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH i-g-t v2 2/5] lib/igt_kms: Add helper to wait for a specific status on a connector
2024-10-22 10:28 [PATCH i-g-t v2 0/5] lib/igt_kms: Helpers for connector managment Louis Chauvet
2024-10-22 10:28 ` [PATCH i-g-t v2 1/5] lib/igt_kms: Add a detect timeout value Louis Chauvet
@ 2024-10-22 10:28 ` Louis Chauvet
2024-11-06 14:17 ` Kamil Konieczny
2024-10-22 10:28 ` [PATCH i-g-t v2 3/5] lib/igt_kms: Add function to list connected connectors Louis Chauvet
` (5 subsequent siblings)
7 siblings, 1 reply; 19+ messages in thread
From: Louis Chauvet @ 2024-10-22 10:28 UTC (permalink / raw)
To: igt-dev
Cc: Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Thomas Petazzoni, nicolejadeyee, seanpaul, jeremie.dautheribes,
markyacoub, Louis Chauvet
During testing with chamelium, it is frequent to wait for a specific
connector status. This new helper is polling the DRM API to wait for this
status. This allows detecting new status without notifier systems (which
can fail if hot plug detection is not working properly on the device under
test.
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
---
lib/igt_kms.c | 38 ++++++++++++++++++++++++++++++++++++++
lib/igt_kms.h | 3 +++
2 files changed, 41 insertions(+)
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 195868646a14..40c0a207cd17 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -7143,3 +7143,41 @@ float igt_default_detect_timeout(void)
return timeout;
}
+
+/**
+ * igt_wait_for_connector_status - Wait for at most @timeout that the connector @connector_id
+ * status become @drm_mode
+ *
+ * @drm_fd: drm file descriptor
+ * @connector_id: connector to monitor
+ * @timeout: maximum duration to wait, in second
+ * @drm_mode: mode to wait for, see enum drmModeConnection
+ *
+ * Returns: true when the status is reached, false if there is a timeout
+ */
+bool igt_wait_for_connector_status(int drm_fd, unsigned int connector_id, double timeout,
+ int drm_mode)
+{
+ drmModeConnector *connector;
+ struct timespec start, end;
+
+ if (timeout == 0.0)
+ timeout = igt_default_detect_timeout();
+
+ clock_gettime(CLOCK_MONOTONIC, &start);
+ clock_gettime(CLOCK_MONOTONIC, &end);
+
+ while (igt_time_elapsed(&start, &end) <= timeout) {
+ connector = drmModeGetConnector(drm_fd, connector_id);
+ if (connector && connector->connection == drm_mode) {
+ free(connector);
+ return true;
+ }
+ free(connector);
+ clock_gettime(CLOCK_MONOTONIC, &end);
+ }
+
+ igt_debug("Timeout waiting for connection status %d on connector %d\n", drm_mode,
+ connector_id);
+ return false;
+}
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 4f0030264d9f..4cd4a4f65460 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -1263,4 +1263,7 @@ void igt_reset_link_params(int drm_fd, igt_output_t *output);
float igt_default_detect_timeout(void);
+bool igt_wait_for_connector_status(int drm_fd, unsigned int connector_id, double timeout,
+ int drm_mode);
+
#endif /* __IGT_KMS_H__ */
--
2.46.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH i-g-t v2 3/5] lib/igt_kms: Add function to list connected connectors
2024-10-22 10:28 [PATCH i-g-t v2 0/5] lib/igt_kms: Helpers for connector managment Louis Chauvet
2024-10-22 10:28 ` [PATCH i-g-t v2 1/5] lib/igt_kms: Add a detect timeout value Louis Chauvet
2024-10-22 10:28 ` [PATCH i-g-t v2 2/5] lib/igt_kms: Add helper to wait for a specific status on a connector Louis Chauvet
@ 2024-10-22 10:28 ` Louis Chauvet
2024-11-06 14:20 ` Kamil Konieczny
2024-10-22 10:28 ` [PATCH i-g-t v2 4/5] lib/igt_kms: Add helper to obtain a connector by its name or MST path Louis Chauvet
` (4 subsequent siblings)
7 siblings, 1 reply; 19+ messages in thread
From: Louis Chauvet @ 2024-10-22 10:28 UTC (permalink / raw)
To: igt-dev
Cc: Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Thomas Petazzoni, nicolejadeyee, seanpaul, jeremie.dautheribes,
markyacoub, Louis Chauvet
Introduce the igt_get_connected_connectors() function, which returns a
list of connector IDs that are currently connected according to DRM.
This function includes a timeout mechanism because connectors can be
unplugged at any time. Also, especially with MST, the connector can be
listed by drmModeGetResources() but not yet accessible with
drmModeGetConnector().
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
---
lib/igt_kms.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
lib/igt_kms.h | 1 +
2 files changed, 55 insertions(+)
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 40c0a207cd17..44b546ae52dc 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -7181,3 +7181,57 @@ bool igt_wait_for_connector_status(int drm_fd, unsigned int connector_id, double
connector_id);
return false;
}
+
+/**
+ * igt_get_connected_connectors - List all connectors reported as CONNECTED by DRM.
+ *
+ * @drm_fd: DRM file description
+ * @connector_ids: out pointer for the list of connector ids connected. It must be freed by the
+ * caller.
+ *
+ * The returns value is the number of connectors
+ */
+int igt_get_connected_connectors(int drm_fd, uint32_t **connector_ids)
+{
+ int connected_count = 0;
+ drmModeResPtr resources;
+ struct timespec start, end;
+
+ *connector_ids = NULL;
+
+ resources = drmModeGetResources(drm_fd);
+ for (int j = 0; j < resources->count_connectors; j++) {
+ drmModeConnectorPtr connector = NULL;
+
+ connector = drmModeGetConnector(drm_fd, resources->connectors[j]);
+ /*
+ * This time is required as sometimes some id in the connector list are not totally
+ * ready or can disappear
+ */
+ clock_gettime(CLOCK_MONOTONIC, &start);
+ clock_gettime(CLOCK_MONOTONIC, &end);
+ while (!connector &&
+ igt_time_elapsed(&start, &end) < igt_default_detect_timeout()) {
+ connector = drmModeGetConnector(drm_fd, resources->connectors[j]);
+ clock_gettime(CLOCK_MONOTONIC, &end);
+ }
+
+ if (igt_time_elapsed(&start, &end) < igt_default_detect_timeout()) {
+ igt_assert(connector);
+
+ if (connector->connection == DRM_MODE_CONNECTED) {
+ *connector_ids = reallocarray(*connector_ids,
+ connected_count
+ + 1, sizeof(**connector_ids));
+ igt_assert(*connector_ids);
+ (*connector_ids)[connected_count] = resources->connectors[j];
+ connected_count++;
+ }
+ drmModeFreeConnector(connector);
+ }
+ }
+ drmModeFreeResources(resources);
+
+ return
+ connected_count;
+}
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 4cd4a4f65460..4674b271638a 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -1265,5 +1265,6 @@ float igt_default_detect_timeout(void);
bool igt_wait_for_connector_status(int drm_fd, unsigned int connector_id, double timeout,
int drm_mode);
+int igt_get_connected_connectors(int drm_fd, uint32_t **connector_ids);
#endif /* __IGT_KMS_H__ */
--
2.46.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH i-g-t v2 4/5] lib/igt_kms: Add helper to obtain a connector by its name or MST path
2024-10-22 10:28 [PATCH i-g-t v2 0/5] lib/igt_kms: Helpers for connector managment Louis Chauvet
` (2 preceding siblings ...)
2024-10-22 10:28 ` [PATCH i-g-t v2 3/5] lib/igt_kms: Add function to list connected connectors Louis Chauvet
@ 2024-10-22 10:28 ` Louis Chauvet
2024-11-06 14:24 ` Kamil Konieczny
2024-10-22 10:28 ` [PATCH i-g-t v2 5/5] lib/igt_kms: Add function to get valid pipe for specific output Louis Chauvet
` (3 subsequent siblings)
7 siblings, 1 reply; 19+ messages in thread
From: Louis Chauvet @ 2024-10-22 10:28 UTC (permalink / raw)
To: igt-dev
Cc: Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Thomas Petazzoni, nicolejadeyee, seanpaul, jeremie.dautheribes,
markyacoub, Louis Chauvet
Introduce the functions igt_get_connector_from_name() and
igt_get_connector_id_from_mst_path(). These functions serve to retrieve
the connector object using a connector name and a connector ID from its
MST path, respectively.
Given that the connector id may not be consistent, especially with MST
connectors, these functions are essential to recognize each connector even
after system reboots and plug/unplug events.
The function igt_get_connector_id_from_name() is a convenient wrapper for
igt_get_connector_from_name() to streamline its usage when the caller only
requires the connector id.
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
---
lib/igt_kms.c | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
lib/igt_kms.h | 3 ++
2 files changed, 100 insertions(+)
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 44b546ae52dc..fce5666cefc6 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -7235,3 +7235,100 @@ int igt_get_connected_connectors(int drm_fd, uint32_t **connector_ids)
return
connected_count;
}
+
+drmModeConnectorPtr igt_get_connector_from_name(int drm_fd, const char *port_name)
+{
+ drmModeResPtr res = drmModeGetResources(drm_fd);
+ struct timespec start, end;
+ int i;
+
+ if (!res)
+ return 0;
+
+ for (i = 0; i < res->count_connectors; i++) {
+ char name[50];
+
+ drmModeConnectorPtr connector = drmModeGetConnector(drm_fd, res->connectors[i]);
+ /*
+ * This time is required as sometimes some id in the connector list are not totally
+ * ready or can disappear
+ */
+ clock_gettime(CLOCK_MONOTONIC, &start);
+ clock_gettime(CLOCK_MONOTONIC, &end);
+ while (!connector &&
+ igt_time_elapsed(&start, &end) < igt_default_detect_timeout()) {
+ connector = drmModeGetConnector(drm_fd, res->connectors[i]);
+ clock_gettime(CLOCK_MONOTONIC, &end);
+ }
+
+ if (igt_time_elapsed(&start, &end) < igt_default_detect_timeout()) {
+ igt_assert(connector);
+
+ /* We have to generate the connector name on our own */
+ snprintf(name, 50, "%s-%u",
+ kmstest_connector_type_str(connector->connector_type),
+ connector->connector_type_id);
+
+ if (strcmp(port_name, name) == 0) {
+ drmModeFreeResources(res);
+ return connector;
+ }
+ drmModeFreeConnector(connector);
+ }
+ }
+ drmModeFreeResources(res);
+ return NULL;
+}
+
+/**
+ * igt_get_connector_id_from_name - Get a connector ID from a connector name
+ * @drm_fd: DRM file descriptor
+ * @port_name: Port name to find in the connector
+ *
+ * Returns 0 when no connector is found with the correct name
+ */
+uint32_t igt_get_connector_id_from_name(int drm_fd, const char *port_name)
+{
+ drmModeConnectorPtr connector = igt_get_connector_from_name(drm_fd, port_name);
+
+ if (connector) {
+ int connector_id = connector->connector_id;
+
+ drmModeFreeConnector(connector);
+ return connector_id;
+ }
+ return 0;
+}
+
+/**
+ * igt_get_connector_id_from_mst_path - Get a connector ID from a mst path
+ * @drm_fd: DRM file descriptor
+ * @mst_path: MST path to find in the connector
+ *
+ * Returns 0 when no connector is found with the correct mst path
+ */
+uint32_t igt_get_connector_id_from_mst_path(int drm_fd, const void *mst_path)
+{
+ drmModeResPtr res = drmModeGetResources(drm_fd);
+ int i;
+
+ if (!res)
+ return 0;
+
+ for (i = 0; i < res->count_connectors; i++) {
+ uint32_t connector_id = res->connectors[i];
+
+ drmModePropertyBlobPtr path_blob = kmstest_get_path_blob(drm_fd, connector_id);
+
+ if (path_blob) {
+ if (strcmp(path_blob->data, mst_path) == 0) {
+ drmModeFreePropertyBlob(path_blob);
+ drmModeFreeResources(res);
+ return connector_id;
+ }
+ drmModeFreePropertyBlob(path_blob);
+ }
+ }
+ drmModeFreeResources(res);
+ return 0;
+}
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 4674b271638a..e9732c247dea 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -1266,5 +1266,8 @@ float igt_default_detect_timeout(void);
bool igt_wait_for_connector_status(int drm_fd, unsigned int connector_id, double timeout,
int drm_mode);
int igt_get_connected_connectors(int drm_fd, uint32_t **connector_ids);
+drmModeConnectorPtr igt_get_connector_from_name(int drm_fd, const char *port_name);
+uint32_t igt_get_connector_id_from_name(int drm_fd, const char *port_name);
+uint32_t igt_get_connector_id_from_mst_path(int drm_fd, const void *mst_path);
#endif /* __IGT_KMS_H__ */
--
2.46.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH i-g-t v2 5/5] lib/igt_kms: Add function to get valid pipe for specific output
2024-10-22 10:28 [PATCH i-g-t v2 0/5] lib/igt_kms: Helpers for connector managment Louis Chauvet
` (3 preceding siblings ...)
2024-10-22 10:28 ` [PATCH i-g-t v2 4/5] lib/igt_kms: Add helper to obtain a connector by its name or MST path Louis Chauvet
@ 2024-10-22 10:28 ` Louis Chauvet
2024-11-06 14:28 ` Kamil Konieczny
2024-10-22 15:45 ` ✓ CI.xeBAT: success for lib/igt_kms: Helpers for connector managment (rev2) Patchwork
` (2 subsequent siblings)
7 siblings, 1 reply; 19+ messages in thread
From: Louis Chauvet @ 2024-10-22 10:28 UTC (permalink / raw)
To: igt-dev
Cc: Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Thomas Petazzoni, nicolejadeyee, seanpaul, jeremie.dautheribes,
markyacoub, Louis Chauvet
Introduces a new function igt_get_pipe_for_output in igt_kms. The function
is designed to retrieve a valid pipe for a specific output in a display.
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
---
lib/igt_kms.c | 19 +++++++++++++++++++
lib/igt_kms.h | 1 +
2 files changed, 20 insertions(+)
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index fce5666cefc6..82d63d6e6229 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -7332,3 +7332,22 @@ uint32_t igt_get_connector_id_from_mst_path(int drm_fd, const void *mst_path)
drmModeFreeResources(res);
return 0;
}
+
+/**
+ * igt_get_pipe_for_output - Get a valid pipe for a specific output
+ * @display: display to fetch the pipes
+ * @output: output to use
+ */
+enum pipe igt_get_pipe_for_output(igt_display_t *display,
+ igt_output_t *output)
+{
+ enum pipe pipe;
+
+ for_each_pipe(display, pipe) {
+ if ((igt_output_is_connected((output)) &&
+ (output->config.valid_crtc_idx_mask & (1 << (pipe)))))
+ return pipe;
+ }
+
+ igt_assert_f(false, "No pipe found for output %s\n", igt_output_name(output));
+}
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index e9732c247dea..e0d968b52033 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -1269,5 +1269,6 @@ int igt_get_connected_connectors(int drm_fd, uint32_t **connector_ids);
drmModeConnectorPtr igt_get_connector_from_name(int drm_fd, const char *port_name);
uint32_t igt_get_connector_id_from_name(int drm_fd, const char *port_name);
uint32_t igt_get_connector_id_from_mst_path(int drm_fd, const void *mst_path);
+enum pipe igt_get_pipe_for_output(igt_display_t *display, igt_output_t *output);
#endif /* __IGT_KMS_H__ */
--
2.46.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* ✓ CI.xeBAT: success for lib/igt_kms: Helpers for connector managment (rev2)
2024-10-22 10:28 [PATCH i-g-t v2 0/5] lib/igt_kms: Helpers for connector managment Louis Chauvet
` (4 preceding siblings ...)
2024-10-22 10:28 ` [PATCH i-g-t v2 5/5] lib/igt_kms: Add function to get valid pipe for specific output Louis Chauvet
@ 2024-10-22 15:45 ` Patchwork
2024-10-22 15:47 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-10-22 17:57 ` ✗ CI.xeFULL: " Patchwork
7 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2024-10-22 15:45 UTC (permalink / raw)
To: Louis Chauvet; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 3589 bytes --]
== Series Details ==
Series: lib/igt_kms: Helpers for connector managment (rev2)
URL : https://patchwork.freedesktop.org/series/137915/
State : success
== Summary ==
CI Bug Log - changes from XEIGT_8082_BAT -> XEIGTPW_11950_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (9 -> 9)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in XEIGTPW_11950_BAT that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@core_hotunplug@unbind-rebind:
- bat-adlp-7: [PASS][1] -> [DMESG-WARN][2] ([Intel XE#2871])
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/bat-adlp-7/igt@core_hotunplug@unbind-rebind.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/bat-adlp-7/igt@core_hotunplug@unbind-rebind.html
* igt@kms_psr@psr-cursor-plane-move:
- bat-adlp-7: [PASS][3] -> [SKIP][4] ([Intel XE#455]) +3 other tests skip
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/bat-adlp-7/igt@kms_psr@psr-cursor-plane-move.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/bat-adlp-7/igt@kms_psr@psr-cursor-plane-move.html
* igt@kms_psr@psr-primary-page-flip@edp-1:
- bat-adlp-7: [PASS][5] -> [DMESG-FAIL][6] ([Intel XE#2871]) +1 other test dmesg-fail
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/bat-adlp-7/igt@kms_psr@psr-primary-page-flip@edp-1.html
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/bat-adlp-7/igt@kms_psr@psr-primary-page-flip@edp-1.html
* igt@xe_live_ktest@xe_bo@xe_bo_shrink_kunit:
- bat-dg2-oem2: [PASS][7] -> [INCOMPLETE][8] ([Intel XE#2874]) +1 other test incomplete
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/bat-dg2-oem2/igt@xe_live_ktest@xe_bo@xe_bo_shrink_kunit.html
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/bat-dg2-oem2/igt@xe_live_ktest@xe_bo@xe_bo_shrink_kunit.html
#### Possible fixes ####
* igt@kms_addfb_basic@bad-pitch-0:
- bat-adlp-7: [DMESG-WARN][9] ([Intel XE#2496]) -> [PASS][10] +31 other tests pass
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/bat-adlp-7/igt@kms_addfb_basic@bad-pitch-0.html
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/bat-adlp-7/igt@kms_addfb_basic@bad-pitch-0.html
* igt@xe_live_ktest@xe_bo@xe_bo_shrink_kunit:
- bat-bmg-2: [INCOMPLETE][11] ([Intel XE#2874] / [Intel XE#2998]) -> [PASS][12] +1 other test pass
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/bat-bmg-2/igt@xe_live_ktest@xe_bo@xe_bo_shrink_kunit.html
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/bat-bmg-2/igt@xe_live_ktest@xe_bo@xe_bo_shrink_kunit.html
[Intel XE#2496]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2496
[Intel XE#2871]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2871
[Intel XE#2874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2874
[Intel XE#2998]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2998
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
Build changes
-------------
* IGT: IGT_8082 -> IGTPW_11950
IGTPW_11950: 11950
IGT_8082: c8379ec8b26f3c21bae5473706b23da78bd26ffa @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-2107-beaeaccd284ba3b69b6dbfdc18bb89441fc99a52: beaeaccd284ba3b69b6dbfdc18bb89441fc99a52
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/index.html
[-- Attachment #2: Type: text/html, Size: 4431 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread
* ✗ Fi.CI.BAT: failure for lib/igt_kms: Helpers for connector managment (rev2)
2024-10-22 10:28 [PATCH i-g-t v2 0/5] lib/igt_kms: Helpers for connector managment Louis Chauvet
` (5 preceding siblings ...)
2024-10-22 15:45 ` ✓ CI.xeBAT: success for lib/igt_kms: Helpers for connector managment (rev2) Patchwork
@ 2024-10-22 15:47 ` Patchwork
2024-10-22 17:57 ` ✗ CI.xeFULL: " Patchwork
7 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2024-10-22 15:47 UTC (permalink / raw)
To: Louis Chauvet; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 5280 bytes --]
== Series Details ==
Series: lib/igt_kms: Helpers for connector managment (rev2)
URL : https://patchwork.freedesktop.org/series/137915/
State : failure
== Summary ==
CI Bug Log - changes from IGT_8082 -> IGTPW_11950
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_11950 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_11950, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11950/index.html
Participating hosts (45 -> 44)
------------------------------
Missing (1): fi-snb-2520m
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_11950:
### IGT changes ###
#### Possible regressions ####
* igt@i915_selftest@live:
- bat-adlp-11: [PASS][1] -> [INCOMPLETE][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8082/bat-adlp-11/igt@i915_selftest@live.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11950/bat-adlp-11/igt@i915_selftest@live.html
Known issues
------------
Here are the changes found in IGTPW_11950 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live:
- bat-arlh-3: [PASS][3] -> [ABORT][4] ([i915#12133])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8082/bat-arlh-3/igt@i915_selftest@live.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11950/bat-arlh-3/igt@i915_selftest@live.html
* igt@i915_selftest@live@hangcheck:
- bat-adlp-11: [PASS][5] -> [INCOMPLETE][6] ([i915#9413])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8082/bat-adlp-11/igt@i915_selftest@live@hangcheck.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11950/bat-adlp-11/igt@i915_selftest@live@hangcheck.html
* igt@i915_selftest@live@workarounds:
- bat-arlh-3: [PASS][7] -> [ABORT][8] ([i915#12061])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8082/bat-arlh-3/igt@i915_selftest@live@workarounds.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11950/bat-arlh-3/igt@i915_selftest@live@workarounds.html
- bat-adlp-6: [PASS][9] -> [INCOMPLETE][10] ([i915#9413]) +1 other test incomplete
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8082/bat-adlp-6/igt@i915_selftest@live@workarounds.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11950/bat-adlp-6/igt@i915_selftest@live@workarounds.html
#### Possible fixes ####
* igt@i915_selftest@live:
- bat-twl-1: [INCOMPLETE][11] ([i915#12133] / [i915#9413]) -> [PASS][12]
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8082/bat-twl-1/igt@i915_selftest@live.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11950/bat-twl-1/igt@i915_selftest@live.html
- bat-dg2-9: [ABORT][13] ([i915#12133]) -> [PASS][14]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8082/bat-dg2-9/igt@i915_selftest@live.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11950/bat-dg2-9/igt@i915_selftest@live.html
* igt@i915_selftest@live@client:
- bat-dg2-9: [ABORT][15] ([i915#12305]) -> [PASS][16]
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8082/bat-dg2-9/igt@i915_selftest@live@client.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11950/bat-dg2-9/igt@i915_selftest@live@client.html
* igt@i915_selftest@live@gt_lrc:
- bat-twl-1: [INCOMPLETE][17] ([i915#9413]) -> [PASS][18]
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8082/bat-twl-1/igt@i915_selftest@live@gt_lrc.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11950/bat-twl-1/igt@i915_selftest@live@gt_lrc.html
* igt@i915_selftest@live@late_gt_pm:
- fi-cfl-8109u: [DMESG-WARN][19] ([i915#11621]) -> [PASS][20] +132 other tests pass
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8082/fi-cfl-8109u/igt@i915_selftest@live@late_gt_pm.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11950/fi-cfl-8109u/igt@i915_selftest@live@late_gt_pm.html
[i915#11621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11621
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
[i915#12133]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12133
[i915#12305]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12305
[i915#9413]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9413
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_8082 -> IGTPW_11950
* Linux: CI_DRM_15576 -> CI_DRM_15579
CI-20190529: 20190529
CI_DRM_15576: d5bac12430b0d4a980c0498b3c946772950e70ee @ git://anongit.freedesktop.org/gfx-ci/linux
CI_DRM_15579: 2d11d2602dc35b03fd68309c96fedeea423beb42 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_11950: 11950
IGT_8082: c8379ec8b26f3c21bae5473706b23da78bd26ffa @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11950/index.html
[-- Attachment #2: Type: text/html, Size: 6474 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread
* ✗ CI.xeFULL: failure for lib/igt_kms: Helpers for connector managment (rev2)
2024-10-22 10:28 [PATCH i-g-t v2 0/5] lib/igt_kms: Helpers for connector managment Louis Chauvet
` (6 preceding siblings ...)
2024-10-22 15:47 ` ✗ Fi.CI.BAT: failure " Patchwork
@ 2024-10-22 17:57 ` Patchwork
7 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2024-10-22 17:57 UTC (permalink / raw)
To: Louis Chauvet; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 82672 bytes --]
== Series Details ==
Series: lib/igt_kms: Helpers for connector managment (rev2)
URL : https://patchwork.freedesktop.org/series/137915/
State : failure
== Summary ==
CI Bug Log - changes from XEIGT_8082_full -> XEIGTPW_11950_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with XEIGTPW_11950_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in XEIGTPW_11950_full, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (4 -> 4)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in XEIGTPW_11950_full:
### IGT changes ###
#### Possible regressions ####
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-6:
- shard-dg2-set2: [PASS][1] -> [DMESG-WARN][2]
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-6.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-6.html
* igt@xe_ccs@suspend-resume@tile64-compressed-compfmt0-system-system:
- shard-lnl: [PASS][3] -> [DMESG-WARN][4] +3 other tests dmesg-warn
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-6/igt@xe_ccs@suspend-resume@tile64-compressed-compfmt0-system-system.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-4/igt@xe_ccs@suspend-resume@tile64-compressed-compfmt0-system-system.html
* igt@xe_drm_fdinfo@utilization-others-full-load:
- shard-lnl: [PASS][5] -> [FAIL][6] +1 other test fail
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-5/igt@xe_drm_fdinfo@utilization-others-full-load.html
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-2/igt@xe_drm_fdinfo@utilization-others-full-load.html
Known issues
------------
Here are the changes found in XEIGTPW_11950_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
- shard-bmg: [PASS][7] -> [FAIL][8] ([Intel XE#1426]) +1 other test fail
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-8/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-8/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html
* igt@kms_big_fb@4-tiled-16bpp-rotate-90:
- shard-dg2-set2: NOTRUN -> [SKIP][9] ([Intel XE#316])
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-466/igt@kms_big_fb@4-tiled-16bpp-rotate-90.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
- shard-dg2-set2: [PASS][10] -> [SKIP][11] ([Intel XE#2890]) +1 other test skip
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-433/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html
* igt@kms_big_fb@x-tiled-32bpp-rotate-90:
- shard-lnl: NOTRUN -> [SKIP][12] ([Intel XE#1407])
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-1/igt@kms_big_fb@x-tiled-32bpp-rotate-90.html
* igt@kms_big_fb@yf-tiled-32bpp-rotate-0:
- shard-lnl: NOTRUN -> [SKIP][13] ([Intel XE#1124]) +1 other test skip
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-5/igt@kms_big_fb@yf-tiled-32bpp-rotate-0.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
- shard-dg2-set2: NOTRUN -> [SKIP][14] ([Intel XE#1124]) +6 other tests skip
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-436/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html
* igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p:
- shard-dg2-set2: NOTRUN -> [SKIP][15] ([Intel XE#2191])
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-435/igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p.html
* igt@kms_bw@linear-tiling-4-displays-2560x1440p:
- shard-dg2-set2: NOTRUN -> [SKIP][16] ([Intel XE#367]) +1 other test skip
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-433/igt@kms_bw@linear-tiling-4-displays-2560x1440p.html
* igt@kms_ccs@bad-aux-stride-y-tiled-gen12-rc-ccs-cc@pipe-d-dp-4:
- shard-dg2-set2: NOTRUN -> [SKIP][17] ([Intel XE#455] / [Intel XE#787]) +6 other tests skip
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-463/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-rc-ccs-cc@pipe-d-dp-4.html
* igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs@pipe-a-edp-1:
- shard-lnl: NOTRUN -> [SKIP][18] ([Intel XE#2669]) +3 other tests skip
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-3/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs@pipe-a-edp-1.html
* igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs:
- shard-dg2-set2: NOTRUN -> [SKIP][19] ([Intel XE#2907])
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-436/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs:
- shard-lnl: NOTRUN -> [SKIP][20] ([Intel XE#2887]) +1 other test skip
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-1/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs:
- shard-bmg: [PASS][21] -> [SKIP][22] ([Intel XE#2231]) +2 other tests skip
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-8/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-6:
- shard-dg2-set2: NOTRUN -> [FAIL][23] ([Intel XE#616]) +8 other tests fail
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-433/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-6.html
* igt@kms_ccs@missing-ccs-buffer-yf-tiled-ccs@pipe-b-dp-4:
- shard-dg2-set2: NOTRUN -> [SKIP][24] ([Intel XE#787]) +27 other tests skip
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-466/igt@kms_ccs@missing-ccs-buffer-yf-tiled-ccs@pipe-b-dp-4.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs:
- shard-dg2-set2: [PASS][25] -> [INCOMPLETE][26] ([Intel XE#1195] / [Intel XE#1727])
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4:
- shard-dg2-set2: [PASS][27] -> [INCOMPLETE][28] ([Intel XE#1195])
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4.html
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4.html
* igt@kms_chamelium_color@ctm-0-50:
- shard-lnl: NOTRUN -> [SKIP][29] ([Intel XE#306])
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-6/igt@kms_chamelium_color@ctm-0-50.html
* igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats:
- shard-dg2-set2: NOTRUN -> [SKIP][30] ([Intel XE#373]) +3 other tests skip
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats.html
* igt@kms_chamelium_hpd@vga-hpd-for-each-pipe:
- shard-lnl: NOTRUN -> [SKIP][31] ([Intel XE#373]) +2 other tests skip
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-6/igt@kms_chamelium_hpd@vga-hpd-for-each-pipe.html
* igt@kms_cursor_crc@cursor-offscreen-128x42:
- shard-lnl: NOTRUN -> [SKIP][32] ([Intel XE#1424]) +2 other tests skip
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-4/igt@kms_cursor_crc@cursor-offscreen-128x42.html
* igt@kms_cursor_crc@cursor-sliding-512x170:
- shard-dg2-set2: NOTRUN -> [SKIP][33] ([Intel XE#308])
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-466/igt@kms_cursor_crc@cursor-sliding-512x170.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size:
- shard-bmg: [PASS][34] -> [DMESG-WARN][35] ([Intel XE#2791] / [Intel XE#877])
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-8/igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size.html
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-8/igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size.html
* igt@kms_cursor_legacy@forked-move:
- shard-dg2-set2: NOTRUN -> [SKIP][36] ([Intel XE#2423] / [i915#2575])
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_cursor_legacy@forked-move.html
* igt@kms_cursor_legacy@short-flip-after-cursor-atomic-transitions:
- shard-lnl: [PASS][37] -> [FAIL][38] ([Intel XE#1541])
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-6/igt@kms_cursor_legacy@short-flip-after-cursor-atomic-transitions.html
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-8/igt@kms_cursor_legacy@short-flip-after-cursor-atomic-transitions.html
* igt@kms_display_modes@extended-mode-basic:
- shard-bmg: [PASS][39] -> [DMESG-WARN][40] ([Intel XE#877]) +1 other test dmesg-warn
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-4/igt@kms_display_modes@extended-mode-basic.html
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-8/igt@kms_display_modes@extended-mode-basic.html
* igt@kms_dsc@dsc-with-bpc:
- shard-dg2-set2: NOTRUN -> [SKIP][41] ([Intel XE#455]) +6 other tests skip
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-435/igt@kms_dsc@dsc-with-bpc.html
* igt@kms_feature_discovery@chamelium:
- shard-dg2-set2: NOTRUN -> [SKIP][42] ([Intel XE#701])
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-466/igt@kms_feature_discovery@chamelium.html
* igt@kms_feature_discovery@psr2:
- shard-dg2-set2: NOTRUN -> [SKIP][43] ([Intel XE#1135])
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-463/igt@kms_feature_discovery@psr2.html
* igt@kms_flip@2x-flip-vs-expired-vblank@ad-dp2-hdmi-a3:
- shard-bmg: [PASS][44] -> [FAIL][45] ([Intel XE#301]) +3 other tests fail
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-1/igt@kms_flip@2x-flip-vs-expired-vblank@ad-dp2-hdmi-a3.html
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-8/igt@kms_flip@2x-flip-vs-expired-vblank@ad-dp2-hdmi-a3.html
* igt@kms_flip@2x-flip-vs-expired-vblank@ad-hdmi-a6-dp4:
- shard-dg2-set2: NOTRUN -> [FAIL][46] ([Intel XE#301]) +4 other tests fail
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-433/igt@kms_flip@2x-flip-vs-expired-vblank@ad-hdmi-a6-dp4.html
* igt@kms_flip@2x-flip-vs-expired-vblank@bc-hdmi-a6-dp4:
- shard-dg2-set2: NOTRUN -> [FAIL][47] ([Intel XE#1204])
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-433/igt@kms_flip@2x-flip-vs-expired-vblank@bc-hdmi-a6-dp4.html
* igt@kms_flip@2x-flip-vs-wf_vblank:
- shard-lnl: NOTRUN -> [SKIP][48] ([Intel XE#1421]) +1 other test skip
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-5/igt@kms_flip@2x-flip-vs-wf_vblank.html
* igt@kms_flip@blocking-wf_vblank:
- shard-dg2-set2: [PASS][49] -> [SKIP][50] ([Intel XE#2423] / [i915#2575]) +7 other tests skip
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-434/igt@kms_flip@blocking-wf_vblank.html
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_flip@blocking-wf_vblank.html
* igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a6:
- shard-dg2-set2: [PASS][51] -> [FAIL][52] ([Intel XE#301])
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-466/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a6.html
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-435/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a6.html
* igt@kms_flip@plain-flip-ts-check-interruptible:
- shard-lnl: [PASS][53] -> [FAIL][54] ([Intel XE#2957] / [Intel XE#886])
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-6/igt@kms_flip@plain-flip-ts-check-interruptible.html
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-5/igt@kms_flip@plain-flip-ts-check-interruptible.html
* igt@kms_flip@plain-flip-ts-check@c-edp1:
- shard-lnl: [PASS][55] -> [FAIL][56] ([Intel XE#886]) +2 other tests fail
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-3/igt@kms_flip@plain-flip-ts-check@c-edp1.html
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-1/igt@kms_flip@plain-flip-ts-check@c-edp1.html
* igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-upscaling:
- shard-dg2-set2: [PASS][57] -> [SKIP][58] ([Intel XE#2351] / [Intel XE#2890])
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-466/igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-upscaling.html
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-upscaling.html
- shard-bmg: [PASS][59] -> [SKIP][60] ([Intel XE#2231] / [Intel XE#2890])
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-2/igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-upscaling.html
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling:
- shard-lnl: NOTRUN -> [SKIP][61] ([Intel XE#1401] / [Intel XE#1745]) +1 other test skip
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-1/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-default-mode:
- shard-lnl: NOTRUN -> [SKIP][62] ([Intel XE#1401]) +1 other test skip
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-1/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-default-mode.html
* igt@kms_force_connector_basic@prune-stale-modes:
- shard-dg2-set2: NOTRUN -> [SKIP][63] ([i915#5274])
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_force_connector_basic@prune-stale-modes.html
* igt@kms_frontbuffer_tracking@drrs-1p-primscrn-indfb-msflip-blt:
- shard-dg2-set2: NOTRUN -> [SKIP][64] ([Intel XE#2890]) +2 other tests skip
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-indfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-shrfb-draw-render:
- shard-lnl: NOTRUN -> [SKIP][65] ([Intel XE#656]) +6 other tests skip
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-4/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-shrfb-draw-render.html
* igt@kms_frontbuffer_tracking@drrs-rgb101010-draw-mmap-wc:
- shard-dg2-set2: NOTRUN -> [SKIP][66] ([Intel XE#651]) +12 other tests skip
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-433/igt@kms_frontbuffer_tracking@drrs-rgb101010-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc:
- shard-dg2-set2: NOTRUN -> [SKIP][67] ([Intel XE#2351] / [Intel XE#2890])
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-shrfb-plflip-blt:
- shard-lnl: NOTRUN -> [SKIP][68] ([Intel XE#651]) +1 other test skip
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-shrfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt:
- shard-dg2-set2: NOTRUN -> [SKIP][69] ([Intel XE#653]) +16 other tests skip
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-463/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt.html
* igt@kms_joiner@basic-ultra-joiner:
- shard-dg2-set2: NOTRUN -> [SKIP][70] ([Intel XE#2927])
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-435/igt@kms_joiner@basic-ultra-joiner.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-dg2-set2: NOTRUN -> [SKIP][71] ([Intel XE#356])
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-463/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
* igt@kms_plane_cursor@viewport:
- shard-lnl: [PASS][72] -> [FAIL][73] ([Intel XE#1471]) +1 other test fail
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-3/igt@kms_plane_cursor@viewport.html
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-8/igt@kms_plane_cursor@viewport.html
* igt@kms_plane_scaling@2x-scaler-multi-pipe:
- shard-lnl: NOTRUN -> [SKIP][74] ([Intel XE#309])
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-6/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
* igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-6:
- shard-dg2-set2: [PASS][75] -> [FAIL][76] ([Intel XE#361])
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-435/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-6.html
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-466/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-6.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-d:
- shard-dg2-set2: NOTRUN -> [SKIP][77] ([Intel XE#2763] / [Intel XE#455]) +3 other tests skip
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-466/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-d.html
* igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-20x20@pipe-b:
- shard-lnl: NOTRUN -> [SKIP][78] ([Intel XE#2763]) +7 other tests skip
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-7/igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-20x20@pipe-b.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-b:
- shard-dg2-set2: NOTRUN -> [SKIP][79] ([Intel XE#2763]) +5 other tests skip
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-b.html
* igt@kms_pm_dc@dc5-psr:
- shard-dg2-set2: NOTRUN -> [SKIP][80] ([Intel XE#1129])
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-436/igt@kms_pm_dc@dc5-psr.html
* igt@kms_pm_dc@dc6-dpms:
- shard-dg2-set2: NOTRUN -> [SKIP][81] ([Intel XE#908])
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-434/igt@kms_pm_dc@dc6-dpms.html
* igt@kms_pm_dc@dc6-psr:
- shard-lnl: [PASS][82] -> [FAIL][83] ([Intel XE#1430])
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-3/igt@kms_pm_dc@dc6-psr.html
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-7/igt@kms_pm_dc@dc6-psr.html
* igt@kms_pm_rpm@universal-planes:
- shard-lnl: [PASS][84] -> [DMESG-WARN][85] ([Intel XE#2042])
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-7/igt@kms_pm_rpm@universal-planes.html
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-6/igt@kms_pm_rpm@universal-planes.html
* igt@kms_pm_rpm@universal-planes-dpms:
- shard-bmg: [PASS][86] -> [SKIP][87] ([Intel XE#2446])
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-8/igt@kms_pm_rpm@universal-planes-dpms.html
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_pm_rpm@universal-planes-dpms.html
- shard-dg2-set2: [PASS][88] -> [SKIP][89] ([Intel XE#2446])
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-433/igt@kms_pm_rpm@universal-planes-dpms.html
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_pm_rpm@universal-planes-dpms.html
* igt@kms_pm_rpm@universal-planes@plane-59:
- shard-lnl: [PASS][90] -> [DMESG-WARN][91] ([Intel XE#3184]) +2 other tests dmesg-warn
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-7/igt@kms_pm_rpm@universal-planes@plane-59.html
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-6/igt@kms_pm_rpm@universal-planes@plane-59.html
* igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-sf:
- shard-lnl: NOTRUN -> [SKIP][92] ([Intel XE#2893])
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-3/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area:
- shard-dg2-set2: NOTRUN -> [SKIP][93] ([Intel XE#1489]) +4 other tests skip
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-435/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html
* igt@kms_psr2_su@page_flip-p010:
- shard-lnl: NOTRUN -> [SKIP][94] ([Intel XE#1128])
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-8/igt@kms_psr2_su@page_flip-p010.html
* igt@kms_psr@psr-dpms:
- shard-dg2-set2: NOTRUN -> [SKIP][95] ([Intel XE#2850] / [Intel XE#929]) +9 other tests skip
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-435/igt@kms_psr@psr-dpms.html
* igt@kms_psr@psr2-cursor-blt@edp-1:
- shard-lnl: [PASS][96] -> [FAIL][97] ([Intel XE#2948]) +7 other tests fail
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-8/igt@kms_psr@psr2-cursor-blt@edp-1.html
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-5/igt@kms_psr@psr2-cursor-blt@edp-1.html
* igt@kms_psr@psr2-dpms:
- shard-lnl: [PASS][98] -> [FAIL][99] ([Intel XE#1649]) +1 other test fail
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-3/igt@kms_psr@psr2-dpms.html
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-3/igt@kms_psr@psr2-dpms.html
* igt@kms_rotation_crc@multiplane-rotation:
- shard-bmg: [PASS][100] -> [SKIP][101] ([Intel XE#3007]) +9 other tests skip
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-4/igt@kms_rotation_crc@multiplane-rotation.html
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_rotation_crc@multiplane-rotation.html
* igt@kms_rotation_crc@sprite-rotation-90:
- shard-lnl: NOTRUN -> [SKIP][102] ([Intel XE#1437])
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-5/igt@kms_rotation_crc@sprite-rotation-90.html
* igt@kms_universal_plane@cursor-fb-leak@pipe-b-edp-1:
- shard-lnl: [PASS][103] -> [FAIL][104] ([Intel XE#899])
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-5/igt@kms_universal_plane@cursor-fb-leak@pipe-b-edp-1.html
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-1/igt@kms_universal_plane@cursor-fb-leak@pipe-b-edp-1.html
* igt@kms_vblank@accuracy-idle:
- shard-lnl: [PASS][105] -> [FAIL][106] ([Intel XE#1523]) +1 other test fail
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-1/igt@kms_vblank@accuracy-idle.html
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-5/igt@kms_vblank@accuracy-idle.html
* igt@kms_vrr@cmrr@pipe-a-edp-1:
- shard-lnl: [PASS][107] -> [FAIL][108] ([Intel XE#2159]) +1 other test fail
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-5/igt@kms_vrr@cmrr@pipe-a-edp-1.html
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-1/igt@kms_vrr@cmrr@pipe-a-edp-1.html
* igt@kms_vrr@max-min:
- shard-lnl: [PASS][109] -> [FAIL][110] ([Intel XE#2443]) +1 other test fail
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-4/igt@kms_vrr@max-min.html
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-2/igt@kms_vrr@max-min.html
* igt@kms_writeback@writeback-fb-id-xrgb2101010:
- shard-dg2-set2: NOTRUN -> [SKIP][111] ([Intel XE#756])
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-466/igt@kms_writeback@writeback-fb-id-xrgb2101010.html
* igt@xe_compute_preempt@compute-preempt-many:
- shard-dg2-set2: NOTRUN -> [SKIP][112] ([Intel XE#1280] / [Intel XE#455]) +1 other test skip
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-466/igt@xe_compute_preempt@compute-preempt-many.html
* igt@xe_eudebug@basic-vm-bind-ufence:
- shard-dg2-set2: NOTRUN -> [SKIP][113] ([Intel XE#2905]) +4 other tests skip
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-466/igt@xe_eudebug@basic-vm-bind-ufence.html
* igt@xe_eudebug_online@interrupt-all-set-breakpoint:
- shard-lnl: NOTRUN -> [SKIP][114] ([Intel XE#2905]) +1 other test skip
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-8/igt@xe_eudebug_online@interrupt-all-set-breakpoint.html
* igt@xe_evict@evict-beng-mixed-many-threads-small:
- shard-dg2-set2: NOTRUN -> [SKIP][115] ([Intel XE#1130]) +1 other test skip
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@xe_evict@evict-beng-mixed-many-threads-small.html
* igt@xe_evict@evict-cm-threads-small:
- shard-lnl: NOTRUN -> [SKIP][116] ([Intel XE#688])
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-3/igt@xe_evict@evict-cm-threads-small.html
* igt@xe_evict@evict-mixed-many-threads-large:
- shard-dg2-set2: NOTRUN -> [TIMEOUT][117] ([Intel XE#1473])
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-433/igt@xe_evict@evict-mixed-many-threads-large.html
* igt@xe_evict@evict-mixed-many-threads-small:
- shard-dg2-set2: [PASS][118] -> [TIMEOUT][119] ([Intel XE#1473])
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-435/igt@xe_evict@evict-mixed-many-threads-small.html
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-463/igt@xe_evict@evict-mixed-many-threads-small.html
* igt@xe_evict@evict-threads-large:
- shard-bmg: [PASS][120] -> [INCOMPLETE][121] ([Intel XE#1473])
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-4/igt@xe_evict@evict-threads-large.html
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@xe_evict@evict-threads-large.html
* igt@xe_exec_basic@multigpu-no-exec-basic-defer-mmap:
- shard-dg2-set2: [PASS][122] -> [SKIP][123] ([Intel XE#1130]) +17 other tests skip
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-466/igt@xe_exec_basic@multigpu-no-exec-basic-defer-mmap.html
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@xe_exec_basic@multigpu-no-exec-basic-defer-mmap.html
* igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr:
- shard-lnl: NOTRUN -> [SKIP][124] ([Intel XE#1392])
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-3/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr.html
* igt@xe_exec_compute_mode@twice-bindexecqueue-userptr-invalidate:
- shard-lnl: [PASS][125] -> [DMESG-WARN][126] ([Intel XE#2687])
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-2/igt@xe_exec_compute_mode@twice-bindexecqueue-userptr-invalidate.html
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-4/igt@xe_exec_compute_mode@twice-bindexecqueue-userptr-invalidate.html
* igt@xe_exec_fault_mode@twice-userptr-prefetch:
- shard-dg2-set2: NOTRUN -> [SKIP][127] ([Intel XE#288]) +14 other tests skip
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-466/igt@xe_exec_fault_mode@twice-userptr-prefetch.html
* igt@xe_exec_reset@parallel-gt-reset:
- shard-bmg: [PASS][128] -> [INCOMPLETE][129] ([Intel XE#2105])
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-2/igt@xe_exec_reset@parallel-gt-reset.html
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-1/igt@xe_exec_reset@parallel-gt-reset.html
* igt@xe_oa@invalid-remove-userspace-config:
- shard-dg2-set2: NOTRUN -> [SKIP][130] ([Intel XE#2541]) +3 other tests skip
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-435/igt@xe_oa@invalid-remove-userspace-config.html
* igt@xe_pat@pat-index-xehpc:
- shard-lnl: NOTRUN -> [SKIP][131] ([Intel XE#1420] / [Intel XE#2838])
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-7/igt@xe_pat@pat-index-xehpc.html
* igt@xe_peer2peer@write@write-gpua-vram01-gpub-system-p2p:
- shard-dg2-set2: NOTRUN -> [FAIL][132] ([Intel XE#1173]) +1 other test fail
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-433/igt@xe_peer2peer@write@write-gpua-vram01-gpub-system-p2p.html
* igt@xe_pm@s3-d3cold-basic-exec:
- shard-dg2-set2: NOTRUN -> [SKIP][133] ([Intel XE#2284] / [Intel XE#366]) +1 other test skip
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-436/igt@xe_pm@s3-d3cold-basic-exec.html
* igt@xe_pm@s4-mocs:
- shard-lnl: [PASS][134] -> [ABORT][135] ([Intel XE#1794])
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-4/igt@xe_pm@s4-mocs.html
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-2/igt@xe_pm@s4-mocs.html
* igt@xe_query@multigpu-query-config:
- shard-dg2-set2: NOTRUN -> [SKIP][136] ([Intel XE#944]) +2 other tests skip
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-434/igt@xe_query@multigpu-query-config.html
* igt@xe_query@multigpu-query-gt-list:
- shard-lnl: NOTRUN -> [SKIP][137] ([Intel XE#944])
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-8/igt@xe_query@multigpu-query-gt-list.html
* igt@xe_vm@large-userptr-split-misaligned-binds-67108864:
- shard-bmg: [PASS][138] -> [SKIP][139] ([Intel XE#1130]) +20 other tests skip
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-2/igt@xe_vm@large-userptr-split-misaligned-binds-67108864.html
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@xe_vm@large-userptr-split-misaligned-binds-67108864.html
#### Possible fixes ####
* igt@intel_hwmon@hwmon-write:
- shard-bmg: [SKIP][140] ([Intel XE#2231] / [Intel XE#2890]) -> [PASS][141]
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@intel_hwmon@hwmon-write.html
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-7/igt@intel_hwmon@hwmon-write.html
* igt@kms_atomic@atomic-invalid-params:
- shard-dg2-set2: [SKIP][142] ([Intel XE#2423] / [i915#2575]) -> [PASS][143] +14 other tests pass
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-436/igt@kms_atomic@atomic-invalid-params.html
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-463/igt@kms_atomic@atomic-invalid-params.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip:
- shard-bmg: [SKIP][144] ([Intel XE#2231]) -> [PASS][145]
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-1/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
* igt@kms_big_fb@linear-8bpp-rotate-180:
- shard-lnl: [FAIL][146] ([Intel XE#1659]) -> [PASS][147]
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-5/igt@kms_big_fb@linear-8bpp-rotate-180.html
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-4/igt@kms_big_fb@linear-8bpp-rotate-180.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs:
- shard-dg2-set2: [INCOMPLETE][148] ([Intel XE#1195] / [Intel XE#1727]) -> [PASS][149]
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-dp-4:
- shard-dg2-set2: [INCOMPLETE][150] ([Intel XE#1195] / [Intel XE#3113]) -> [PASS][151]
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-dp-4.html
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-dp-4.html
* igt@kms_cursor_edge_walk@128x128-right-edge:
- shard-lnl: [DMESG-WARN][152] ([Intel XE#2055]) -> [PASS][153] +1 other test pass
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-4/igt@kms_cursor_edge_walk@128x128-right-edge.html
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-7/igt@kms_cursor_edge_walk@128x128-right-edge.html
* igt@kms_cursor_legacy@torture-move@pipe-b:
- shard-dg2-set2: [DMESG-WARN][154] -> [PASS][155] +1 other test pass
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-466/igt@kms_cursor_legacy@torture-move@pipe-b.html
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-436/igt@kms_cursor_legacy@torture-move@pipe-b.html
* igt@kms_flip@2x-flip-vs-expired-vblank@ab-dp2-hdmi-a3:
- shard-bmg: [FAIL][156] ([Intel XE#301]) -> [PASS][157]
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-1/igt@kms_flip@2x-flip-vs-expired-vblank@ab-dp2-hdmi-a3.html
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-8/igt@kms_flip@2x-flip-vs-expired-vblank@ab-dp2-hdmi-a3.html
* igt@kms_flip@flip-vs-expired-vblank@a-edp1:
- shard-lnl: [FAIL][158] ([Intel XE#301]) -> [PASS][159]
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-1/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
* igt@kms_flip@flip-vs-suspend:
- shard-dg2-set2: [INCOMPLETE][160] ([Intel XE#1195] / [Intel XE#2049] / [Intel XE#2597]) -> [PASS][161]
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-464/igt@kms_flip@flip-vs-suspend.html
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-436/igt@kms_flip@flip-vs-suspend.html
* igt@kms_flip@flip-vs-suspend@b-dp4:
- shard-dg2-set2: [INCOMPLETE][162] ([Intel XE#1195]) -> [PASS][163]
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-464/igt@kms_flip@flip-vs-suspend@b-dp4.html
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-436/igt@kms_flip@flip-vs-suspend@b-dp4.html
* igt@kms_flip@nonexisting-fb:
- shard-bmg: [SKIP][164] ([Intel XE#3007]) -> [PASS][165] +14 other tests pass
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@kms_flip@nonexisting-fb.html
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-1/igt@kms_flip@nonexisting-fb.html
* igt@kms_flip@plain-flip-fb-recreate-interruptible@a-edp1:
- shard-lnl: [FAIL][166] ([Intel XE#886]) -> [PASS][167] +8 other tests pass
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-3/igt@kms_flip@plain-flip-fb-recreate-interruptible@a-edp1.html
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-3/igt@kms_flip@plain-flip-fb-recreate-interruptible@a-edp1.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-render:
- shard-dg2-set2: [SKIP][168] ([Intel XE#2890]) -> [PASS][169] +2 other tests pass
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-436/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-render.html
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-434/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-wc:
- shard-dg2-set2: [FAIL][170] -> [PASS][171]
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-436/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-wc.html
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-433/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_hdr@invalid-hdr:
- shard-dg2-set2: [SKIP][172] ([Intel XE#455]) -> [PASS][173]
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-464/igt@kms_hdr@invalid-hdr.html
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-463/igt@kms_hdr@invalid-hdr.html
* igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-4:
- shard-dg2-set2: [FAIL][174] ([Intel XE#361]) -> [PASS][175]
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-435/igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-4.html
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-466/igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-4.html
* igt@kms_pm_dc@dc5-psr:
- shard-lnl: [FAIL][176] ([Intel XE#718]) -> [PASS][177]
[176]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-1/igt@kms_pm_dc@dc5-psr.html
[177]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-5/igt@kms_pm_dc@dc5-psr.html
* igt@kms_pm_dc@dc6-dpms:
- shard-lnl: [FAIL][178] ([Intel XE#1430]) -> [PASS][179]
[178]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-7/igt@kms_pm_dc@dc6-dpms.html
[179]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-3/igt@kms_pm_dc@dc6-dpms.html
* igt@kms_psr@psr2-cursor-plane-onoff:
- shard-lnl: [FAIL][180] ([Intel XE#2948]) -> [PASS][181] +1 other test pass
[180]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-4/igt@kms_psr@psr2-cursor-plane-onoff.html
[181]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-5/igt@kms_psr@psr2-cursor-plane-onoff.html
* igt@kms_universal_plane@cursor-fb-leak@pipe-c-edp-1:
- shard-lnl: [FAIL][182] ([Intel XE#899]) -> [PASS][183]
[182]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-5/igt@kms_universal_plane@cursor-fb-leak@pipe-c-edp-1.html
[183]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-1/igt@kms_universal_plane@cursor-fb-leak@pipe-c-edp-1.html
* igt@xe_evict@evict-beng-large-multi-vm-cm:
- shard-dg2-set2: [FAIL][184] ([Intel XE#1600]) -> [PASS][185] +1 other test pass
[184]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-466/igt@xe_evict@evict-beng-large-multi-vm-cm.html
[185]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-463/igt@xe_evict@evict-beng-large-multi-vm-cm.html
* igt@xe_evict@evict-beng-threads-large:
- shard-bmg: [FAIL][186] ([Intel XE#1000]) -> [PASS][187]
[186]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@xe_evict@evict-beng-threads-large.html
[187]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-4/igt@xe_evict@evict-beng-threads-large.html
* igt@xe_exec_basic@many-bindexecqueue-rebind:
- shard-bmg: [SKIP][188] ([Intel XE#1130]) -> [PASS][189] +20 other tests pass
[188]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@xe_exec_basic@many-bindexecqueue-rebind.html
[189]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-2/igt@xe_exec_basic@many-bindexecqueue-rebind.html
* igt@xe_exec_compute_mode@many-bindexecqueue-userptr-invalidate-race:
- shard-lnl: [FAIL][190] ([Intel XE#2754]) -> [PASS][191] +1 other test pass
[190]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-2/igt@xe_exec_compute_mode@many-bindexecqueue-userptr-invalidate-race.html
[191]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-8/igt@xe_exec_compute_mode@many-bindexecqueue-userptr-invalidate-race.html
* igt@xe_pat@pat-index-xelp:
- shard-dg2-set2: [SKIP][192] ([Intel XE#1130]) -> [PASS][193] +18 other tests pass
[192]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-436/igt@xe_pat@pat-index-xelp.html
[193]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-466/igt@xe_pat@pat-index-xelp.html
* igt@xe_pm@s4-vm-bind-unbind-all:
- shard-lnl: [ABORT][194] ([Intel XE#1794]) -> [PASS][195]
[194]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-2/igt@xe_pm@s4-vm-bind-unbind-all.html
[195]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-3/igt@xe_pm@s4-vm-bind-unbind-all.html
#### Warnings ####
* igt@kms_big_fb@y-tiled-32bpp-rotate-180:
- shard-bmg: [SKIP][196] ([Intel XE#2231]) -> [SKIP][197] ([Intel XE#1124])
[196]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@kms_big_fb@y-tiled-32bpp-rotate-180.html
[197]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_big_fb@y-tiled-32bpp-rotate-180.html
- shard-dg2-set2: [SKIP][198] ([Intel XE#2890]) -> [SKIP][199] ([Intel XE#1124])
[198]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-436/igt@kms_big_fb@y-tiled-32bpp-rotate-180.html
[199]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_big_fb@y-tiled-32bpp-rotate-180.html
* igt@kms_big_fb@y-tiled-addfb:
- shard-bmg: [SKIP][200] ([Intel XE#2231]) -> [SKIP][201] ([Intel XE#2328])
[200]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@kms_big_fb@y-tiled-addfb.html
[201]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-7/igt@kms_big_fb@y-tiled-addfb.html
- shard-dg2-set2: [SKIP][202] ([Intel XE#2351] / [Intel XE#2890]) -> [SKIP][203] ([Intel XE#619])
[202]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-436/igt@kms_big_fb@y-tiled-addfb.html
[203]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-463/igt@kms_big_fb@y-tiled-addfb.html
* igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
- shard-bmg: [SKIP][204] ([Intel XE#1124]) -> [SKIP][205] ([Intel XE#2231])
[204]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-2/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
[205]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
- shard-dg2-set2: [SKIP][206] ([Intel XE#1124]) -> [SKIP][207] ([Intel XE#2890]) +1 other test skip
[206]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-435/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
[207]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
* igt@kms_big_fb@yf-tiled-8bpp-rotate-90:
- shard-bmg: [SKIP][208] ([Intel XE#1124]) -> [SKIP][209] ([Intel XE#2231] / [Intel XE#2890])
[208]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-7/igt@kms_big_fb@yf-tiled-8bpp-rotate-90.html
[209]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_big_fb@yf-tiled-8bpp-rotate-90.html
* igt@kms_bw@linear-tiling-2-displays-2560x1440p:
- shard-bmg: [SKIP][210] ([Intel XE#367]) -> [SKIP][211] ([Intel XE#3007])
[210]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-7/igt@kms_bw@linear-tiling-2-displays-2560x1440p.html
[211]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_bw@linear-tiling-2-displays-2560x1440p.html
- shard-dg2-set2: [SKIP][212] ([Intel XE#367]) -> [SKIP][213] ([Intel XE#2423] / [i915#2575])
[212]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-433/igt@kms_bw@linear-tiling-2-displays-2560x1440p.html
[213]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_bw@linear-tiling-2-displays-2560x1440p.html
* igt@kms_bw@linear-tiling-4-displays-3840x2160p:
- shard-bmg: [SKIP][214] ([Intel XE#3007]) -> [SKIP][215] ([Intel XE#367])
[214]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@kms_bw@linear-tiling-4-displays-3840x2160p.html
[215]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-4/igt@kms_bw@linear-tiling-4-displays-3840x2160p.html
- shard-dg2-set2: [SKIP][216] ([Intel XE#2423] / [i915#2575]) -> [SKIP][217] ([Intel XE#367])
[216]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-436/igt@kms_bw@linear-tiling-4-displays-3840x2160p.html
[217]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-436/igt@kms_bw@linear-tiling-4-displays-3840x2160p.html
* igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs:
- shard-bmg: [SKIP][218] ([Intel XE#2887]) -> [SKIP][219] ([Intel XE#2231] / [Intel XE#2890])
[218]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-1/igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs.html
[219]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs:
- shard-dg2-set2: [SKIP][220] ([Intel XE#2907]) -> [SKIP][221] ([Intel XE#2890])
[220]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-434/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html
[221]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html
* igt@kms_ccs@missing-ccs-buffer-yf-tiled-ccs:
- shard-bmg: [SKIP][222] ([Intel XE#2231] / [Intel XE#2890]) -> [SKIP][223] ([Intel XE#2887])
[222]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@kms_ccs@missing-ccs-buffer-yf-tiled-ccs.html
[223]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-4/igt@kms_ccs@missing-ccs-buffer-yf-tiled-ccs.html
- shard-dg2-set2: [SKIP][224] ([Intel XE#2351] / [Intel XE#2890]) -> [SKIP][225] ([Intel XE#455] / [Intel XE#787])
[224]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-436/igt@kms_ccs@missing-ccs-buffer-yf-tiled-ccs.html
[225]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-466/igt@kms_ccs@missing-ccs-buffer-yf-tiled-ccs.html
* igt@kms_chamelium_edid@dp-edid-change-during-hibernate:
- shard-bmg: [SKIP][226] ([Intel XE#3007]) -> [SKIP][227] ([Intel XE#2252]) +1 other test skip
[226]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@kms_chamelium_edid@dp-edid-change-during-hibernate.html
[227]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-1/igt@kms_chamelium_edid@dp-edid-change-during-hibernate.html
- shard-dg2-set2: [SKIP][228] ([Intel XE#2423] / [i915#2575]) -> [SKIP][229] ([Intel XE#373]) +1 other test skip
[228]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-436/igt@kms_chamelium_edid@dp-edid-change-during-hibernate.html
[229]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-466/igt@kms_chamelium_edid@dp-edid-change-during-hibernate.html
* igt@kms_chamelium_edid@dp-edid-read:
- shard-bmg: [SKIP][230] ([Intel XE#2252]) -> [SKIP][231] ([Intel XE#3007]) +1 other test skip
[230]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-8/igt@kms_chamelium_edid@dp-edid-read.html
[231]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_chamelium_edid@dp-edid-read.html
- shard-dg2-set2: [SKIP][232] ([Intel XE#373]) -> [SKIP][233] ([Intel XE#2423] / [i915#2575]) +1 other test skip
[232]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-434/igt@kms_chamelium_edid@dp-edid-read.html
[233]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_chamelium_edid@dp-edid-read.html
* igt@kms_content_protection@lic-type-1:
- shard-dg2-set2: [SKIP][234] ([Intel XE#2423] / [i915#2575]) -> [SKIP][235] ([Intel XE#455])
[234]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-436/igt@kms_content_protection@lic-type-1.html
[235]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-466/igt@kms_content_protection@lic-type-1.html
- shard-bmg: [SKIP][236] ([Intel XE#3007]) -> [SKIP][237] ([Intel XE#2341])
[236]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@kms_content_protection@lic-type-1.html
[237]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-4/igt@kms_content_protection@lic-type-1.html
* igt@kms_content_protection@uevent:
- shard-dg2-set2: [FAIL][238] ([Intel XE#1188]) -> [SKIP][239] ([Intel XE#2423] / [i915#2575])
[238]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-466/igt@kms_content_protection@uevent.html
[239]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_content_protection@uevent.html
- shard-bmg: [DMESG-FAIL][240] ([Intel XE#3177]) -> [SKIP][241] ([Intel XE#3007])
[240]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-2/igt@kms_content_protection@uevent.html
[241]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_content_protection@uevent.html
* igt@kms_dsc@dsc-with-output-formats-with-bpc:
- shard-dg2-set2: [SKIP][242] ([Intel XE#2890]) -> [SKIP][243] ([Intel XE#455])
[242]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-436/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
[243]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-436/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
- shard-bmg: [SKIP][244] ([Intel XE#2231] / [Intel XE#2890]) -> [SKIP][245] ([Intel XE#2244])
[244]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
[245]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-1/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
* igt@kms_flip@flip-vs-absolute-wf_vblank@b-edp1:
- shard-lnl: [FAIL][246] ([Intel XE#3036]) -> [FAIL][247] ([Intel XE#886])
[246]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-7/igt@kms_flip@flip-vs-absolute-wf_vblank@b-edp1.html
[247]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-8/igt@kms_flip@flip-vs-absolute-wf_vblank@b-edp1.html
* igt@kms_flip@flip-vs-expired-vblank:
- shard-lnl: [FAIL][248] ([Intel XE#301] / [Intel XE#3149] / [Intel XE#886]) -> [FAIL][249] ([Intel XE#3149] / [Intel XE#886])
[248]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-lnl-1/igt@kms_flip@flip-vs-expired-vblank.html
[249]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-dg2-set2: [FAIL][250] ([Intel XE#301]) -> [SKIP][251] ([Intel XE#2423] / [i915#2575])
[250]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-436/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
[251]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-blt:
- shard-bmg: [SKIP][252] ([Intel XE#2311]) -> [SKIP][253] ([Intel XE#2231] / [Intel XE#2890]) +1 other test skip
[252]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-7/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-blt.html
[253]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-blt.html
- shard-dg2-set2: [SKIP][254] ([Intel XE#651]) -> [SKIP][255] ([Intel XE#2351] / [Intel XE#2890]) +1 other test skip
[254]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-433/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-blt.html
[255]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@drrs-rgb565-draw-render:
- shard-bmg: [SKIP][256] ([Intel XE#2231]) -> [SKIP][257] ([Intel XE#2311]) +1 other test skip
[256]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@kms_frontbuffer_tracking@drrs-rgb565-draw-render.html
[257]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-8/igt@kms_frontbuffer_tracking@drrs-rgb565-draw-render.html
- shard-dg2-set2: [SKIP][258] ([Intel XE#2890]) -> [SKIP][259] ([Intel XE#651]) +2 other tests skip
[258]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-436/igt@kms_frontbuffer_tracking@drrs-rgb565-draw-render.html
[259]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-433/igt@kms_frontbuffer_tracking@drrs-rgb565-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-render:
- shard-bmg: [SKIP][260] ([Intel XE#2231]) -> [FAIL][261] ([Intel XE#2333])
[260]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-render.html
[261]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render:
- shard-bmg: [FAIL][262] ([Intel XE#2333]) -> [SKIP][263] ([Intel XE#2231] / [Intel XE#2890]) +1 other test skip
[262]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render.html
[263]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-shrfb-draw-mmap-wc:
- shard-bmg: [SKIP][264] ([Intel XE#2311]) -> [SKIP][265] ([Intel XE#2231]) +2 other tests skip
[264]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-shrfb-draw-mmap-wc.html
[265]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-shrfb-draw-mmap-wc.html
- shard-dg2-set2: [SKIP][266] ([Intel XE#651]) -> [SKIP][267] ([Intel XE#2890]) +1 other test skip
[266]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-shrfb-draw-mmap-wc.html
[267]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-indfb-draw-blt:
- shard-bmg: [SKIP][268] ([Intel XE#2231] / [Intel XE#2890]) -> [SKIP][269] ([Intel XE#2311])
[268]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-indfb-draw-blt.html
[269]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw:
- shard-bmg: [SKIP][270] ([Intel XE#2313]) -> [SKIP][271] ([Intel XE#2231]) +1 other test skip
[270]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-8/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html
[271]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html
* igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-wc:
- shard-bmg: [SKIP][272] ([Intel XE#2313]) -> [SKIP][273] ([Intel XE#2231] / [Intel XE#2890]) +3 other tests skip
[272]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-wc.html
[273]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@plane-fbc-rte:
- shard-dg2-set2: [SKIP][274] ([Intel XE#1158]) -> [SKIP][275] ([Intel XE#2890])
[274]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-466/igt@kms_frontbuffer_tracking@plane-fbc-rte.html
[275]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_frontbuffer_tracking@plane-fbc-rte.html
- shard-bmg: [SKIP][276] ([Intel XE#2350]) -> [SKIP][277] ([Intel XE#2231])
[276]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-7/igt@kms_frontbuffer_tracking@plane-fbc-rte.html
[277]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_frontbuffer_tracking@plane-fbc-rte.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-plflip-blt:
- shard-bmg: [SKIP][278] ([Intel XE#2231]) -> [SKIP][279] ([Intel XE#2313]) +1 other test skip
[278]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-plflip-blt.html
[279]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-8/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-plflip-blt.html
- shard-dg2-set2: [SKIP][280] ([Intel XE#2890]) -> [SKIP][281] ([Intel XE#653]) +2 other tests skip
[280]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-436/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-plflip-blt.html
[281]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-433/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt:
- shard-dg2-set2: [SKIP][282] ([Intel XE#2351] / [Intel XE#2890]) -> [SKIP][283] ([Intel XE#653])
[282]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-436/igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt.html
[283]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-433/igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@psr-rgb565-draw-render:
- shard-bmg: [SKIP][284] ([Intel XE#2231] / [Intel XE#2890]) -> [SKIP][285] ([Intel XE#2313]) +1 other test skip
[284]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@kms_frontbuffer_tracking@psr-rgb565-draw-render.html
[285]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-2/igt@kms_frontbuffer_tracking@psr-rgb565-draw-render.html
* igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary:
- shard-dg2-set2: [SKIP][286] ([Intel XE#653]) -> [SKIP][287] ([Intel XE#2890]) +5 other tests skip
[286]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-434/igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary.html
[287]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary.html
* igt@kms_getfb@getfb2-accept-ccs:
- shard-bmg: [SKIP][288] ([Intel XE#3007]) -> [SKIP][289] ([Intel XE#2340])
[288]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@kms_getfb@getfb2-accept-ccs.html
[289]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_getfb@getfb2-accept-ccs.html
* igt@kms_joiner@invalid-modeset-big-joiner:
- shard-bmg: [SKIP][290] ([Intel XE#2231]) -> [SKIP][291] ([Intel XE#346])
[290]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@kms_joiner@invalid-modeset-big-joiner.html
[291]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-8/igt@kms_joiner@invalid-modeset-big-joiner.html
- shard-dg2-set2: [SKIP][292] ([Intel XE#2890]) -> [SKIP][293] ([Intel XE#346])
[292]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-436/igt@kms_joiner@invalid-modeset-big-joiner.html
[293]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_joiner@invalid-modeset-big-joiner.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25:
- shard-bmg: [SKIP][294] ([Intel XE#2763]) -> [SKIP][295] ([Intel XE#3007])
[294]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-2/igt@kms_plane_scaling@planes-downscale-factor-0-25.html
[295]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_plane_scaling@planes-downscale-factor-0-25.html
- shard-dg2-set2: [SKIP][296] ([Intel XE#2763] / [Intel XE#455]) -> [SKIP][297] ([Intel XE#2423] / [i915#2575])
[296]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-435/igt@kms_plane_scaling@planes-downscale-factor-0-25.html
[297]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_plane_scaling@planes-downscale-factor-0-25.html
* igt@kms_pm_dc@deep-pkgc:
- shard-bmg: [SKIP][298] ([Intel XE#2505]) -> [SKIP][299] ([Intel XE#2231])
[298]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-2/igt@kms_pm_dc@deep-pkgc.html
[299]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_pm_dc@deep-pkgc.html
- shard-dg2-set2: [SKIP][300] ([Intel XE#908]) -> [SKIP][301] ([Intel XE#2890])
[300]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-466/igt@kms_pm_dc@deep-pkgc.html
[301]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_pm_dc@deep-pkgc.html
* igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area:
- shard-dg2-set2: [SKIP][302] ([Intel XE#2890]) -> [SKIP][303] ([Intel XE#1489]) +1 other test skip
[302]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-436/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area.html
[303]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-463/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area.html
* igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-fully-sf:
- shard-bmg: [SKIP][304] ([Intel XE#1489]) -> [SKIP][305] ([Intel XE#2231]) +1 other test skip
[304]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-fully-sf.html
[305]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-fully-sf.html
- shard-dg2-set2: [SKIP][306] ([Intel XE#1489]) -> [SKIP][307] ([Intel XE#2890]) +1 other test skip
[306]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-463/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-fully-sf.html
[307]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_sf@psr2-overlay-plane-update-continuous-sf:
- shard-bmg: [SKIP][308] ([Intel XE#2231]) -> [SKIP][309] ([Intel XE#1489]) +1 other test skip
[308]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@kms_psr2_sf@psr2-overlay-plane-update-continuous-sf.html
[309]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-4/igt@kms_psr2_sf@psr2-overlay-plane-update-continuous-sf.html
* igt@kms_psr@fbc-pr-primary-render:
- shard-bmg: [SKIP][310] ([Intel XE#2231]) -> [SKIP][311] ([Intel XE#2234] / [Intel XE#2850])
[310]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@kms_psr@fbc-pr-primary-render.html
[311]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_psr@fbc-pr-primary-render.html
* igt@kms_psr@fbc-psr2-sprite-blt:
- shard-bmg: [SKIP][312] ([Intel XE#2234] / [Intel XE#2850]) -> [SKIP][313] ([Intel XE#2231] / [Intel XE#2890])
[312]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-1/igt@kms_psr@fbc-psr2-sprite-blt.html
[313]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_psr@fbc-psr2-sprite-blt.html
- shard-dg2-set2: [SKIP][314] ([Intel XE#2850] / [Intel XE#929]) -> [SKIP][315] ([Intel XE#2351] / [Intel XE#2890])
[314]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-434/igt@kms_psr@fbc-psr2-sprite-blt.html
[315]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_psr@fbc-psr2-sprite-blt.html
* igt@kms_psr@pr-no-drrs:
- shard-bmg: [SKIP][316] ([Intel XE#2231] / [Intel XE#2890]) -> [SKIP][317] ([Intel XE#2234] / [Intel XE#2850])
[316]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@kms_psr@pr-no-drrs.html
[317]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-8/igt@kms_psr@pr-no-drrs.html
- shard-dg2-set2: [SKIP][318] ([Intel XE#2890]) -> [SKIP][319] ([Intel XE#2850] / [Intel XE#929])
[318]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-436/igt@kms_psr@pr-no-drrs.html
[319]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-435/igt@kms_psr@pr-no-drrs.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-dg2-set2: [SKIP][320] ([Intel XE#1500]) -> [SKIP][321] ([Intel XE#362])
[320]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-464/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[321]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-463/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@kms_vrr@flip-suspend:
- shard-bmg: [SKIP][322] ([Intel XE#1499]) -> [SKIP][323] ([Intel XE#3007])
[322]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-8/igt@kms_vrr@flip-suspend.html
[323]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@kms_vrr@flip-suspend.html
- shard-dg2-set2: [SKIP][324] ([Intel XE#455]) -> [SKIP][325] ([Intel XE#2423] / [i915#2575])
[324]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-463/igt@kms_vrr@flip-suspend.html
[325]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@kms_vrr@flip-suspend.html
* igt@xe_eudebug@multigpu-basic-client-many:
- shard-dg2-set2: [SKIP][326] ([Intel XE#2905]) -> [SKIP][327] ([Intel XE#1130]) +2 other tests skip
[326]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-435/igt@xe_eudebug@multigpu-basic-client-many.html
[327]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@xe_eudebug@multigpu-basic-client-many.html
* igt@xe_eudebug_online@single-step-one:
- shard-bmg: [SKIP][328] ([Intel XE#2905]) -> [SKIP][329] ([Intel XE#1130]) +2 other tests skip
[328]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-7/igt@xe_eudebug_online@single-step-one.html
[329]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@xe_eudebug_online@single-step-one.html
* igt@xe_eudebug_online@writes-caching-vram-bb-sram-target-sram:
- shard-dg2-set2: [SKIP][330] ([Intel XE#1130]) -> [SKIP][331] ([Intel XE#2905])
[330]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-436/igt@xe_eudebug_online@writes-caching-vram-bb-sram-target-sram.html
[331]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-466/igt@xe_eudebug_online@writes-caching-vram-bb-sram-target-sram.html
- shard-bmg: [SKIP][332] ([Intel XE#1130]) -> [SKIP][333] ([Intel XE#2905])
[332]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@xe_eudebug_online@writes-caching-vram-bb-sram-target-sram.html
[333]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-1/igt@xe_eudebug_online@writes-caching-vram-bb-sram-target-sram.html
* igt@xe_exec_basic@multigpu-no-exec-userptr-rebind:
- shard-bmg: [SKIP][334] ([Intel XE#1130]) -> [SKIP][335] ([Intel XE#2322])
[334]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@xe_exec_basic@multigpu-no-exec-userptr-rebind.html
[335]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-4/igt@xe_exec_basic@multigpu-no-exec-userptr-rebind.html
* igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-rebind:
- shard-bmg: [SKIP][336] ([Intel XE#2322]) -> [SKIP][337] ([Intel XE#1130]) +2 other tests skip
[336]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-4/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-rebind.html
[337]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-5/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-rebind.html
* igt@xe_exec_fault_mode@many-userptr-imm:
- shard-dg2-set2: [SKIP][338] ([Intel XE#1130]) -> [SKIP][339] ([Intel XE#288]) +3 other tests skip
[338]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-436/igt@xe_exec_fault_mode@many-userptr-imm.html
[339]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-436/igt@xe_exec_fault_mode@many-userptr-imm.html
* igt@xe_exec_fault_mode@twice-basic-prefetch:
- shard-dg2-set2: [SKIP][340] ([Intel XE#288]) -> [SKIP][341] ([Intel XE#1130]) +2 other tests skip
[340]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-466/igt@xe_exec_fault_mode@twice-basic-prefetch.html
[341]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@xe_exec_fault_mode@twice-basic-prefetch.html
* igt@xe_oa@whitelisted-registers-userspace-config:
- shard-dg2-set2: [SKIP][342] ([Intel XE#2541]) -> [SKIP][343] ([Intel XE#1130])
[342]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-463/igt@xe_oa@whitelisted-registers-userspace-config.html
[343]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-464/igt@xe_oa@whitelisted-registers-userspace-config.html
* igt@xe_pat@pat-index-xelp:
- shard-bmg: [SKIP][344] ([Intel XE#1130]) -> [SKIP][345] ([Intel XE#2237] / [Intel XE#2245])
[344]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@xe_pat@pat-index-xelp.html
[345]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-1/igt@xe_pat@pat-index-xelp.html
* igt@xe_pm@d3cold-mocs:
- shard-bmg: [SKIP][346] ([Intel XE#1130]) -> [SKIP][347] ([Intel XE#2284])
[346]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@xe_pm@d3cold-mocs.html
[347]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-4/igt@xe_pm@d3cold-mocs.html
- shard-dg2-set2: [SKIP][348] ([Intel XE#1130]) -> [SKIP][349] ([Intel XE#2284])
[348]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-436/igt@xe_pm@d3cold-mocs.html
[349]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-463/igt@xe_pm@d3cold-mocs.html
* igt@xe_query@multigpu-query-uc-fw-version-guc:
- shard-dg2-set2: [SKIP][350] ([Intel XE#1130]) -> [SKIP][351] ([Intel XE#944])
[350]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-dg2-436/igt@xe_query@multigpu-query-uc-fw-version-guc.html
[351]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-dg2-434/igt@xe_query@multigpu-query-uc-fw-version-guc.html
- shard-bmg: [SKIP][352] ([Intel XE#1130]) -> [SKIP][353] ([Intel XE#944])
[352]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8082/shard-bmg-5/igt@xe_query@multigpu-query-uc-fw-version-guc.html
[353]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/shard-bmg-4/igt@xe_query@multigpu-query-uc-fw-version-guc.html
[Intel XE#1000]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1000
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1128]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1128
[Intel XE#1129]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1129
[Intel XE#1130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1130
[Intel XE#1135]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1135
[Intel XE#1158]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1158
[Intel XE#1173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1173
[Intel XE#1188]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1188
[Intel XE#1195]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1195
[Intel XE#1204]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1204
[Intel XE#1280]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1280
[Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
[Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
[Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
[Intel XE#1420]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1420
[Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
[Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
[Intel XE#1426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1426
[Intel XE#1430]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1430
[Intel XE#1437]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1437
[Intel XE#1471]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1471
[Intel XE#1473]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1473
[Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
[Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
[Intel XE#1500]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1500
[Intel XE#1523]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1523
[Intel XE#1541]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1541
[Intel XE#1600]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1600
[Intel XE#1649]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1649
[Intel XE#1659]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1659
[Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
[Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
[Intel XE#1794]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1794
[Intel XE#2042]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2042
[Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
[Intel XE#2055]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2055
[Intel XE#2105]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2105
[Intel XE#2159]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2159
[Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
[Intel XE#2231]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2231
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[Intel XE#2237]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2237
[Intel XE#2244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2244
[Intel XE#2245]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2245
[Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
[Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
[Intel XE#2328]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2328
[Intel XE#2333]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2333
[Intel XE#2340]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2340
[Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
[Intel XE#2350]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2350
[Intel XE#2351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2351
[Intel XE#2423]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2423
[Intel XE#2443]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2443
[Intel XE#2446]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2446
[Intel XE#2505]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2505
[Intel XE#2541]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2541
[Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
[Intel XE#2669]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2669
[Intel XE#2687]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2687
[Intel XE#2754]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2754
[Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
[Intel XE#2791]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2791
[Intel XE#2838]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2838
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
[Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
[Intel XE#2890]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2890
[Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
[Intel XE#2905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2905
[Intel XE#2907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2907
[Intel XE#2927]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2927
[Intel XE#2948]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2948
[Intel XE#2957]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2957
[Intel XE#3007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3007
[Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
[Intel XE#3036]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3036
[Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
[Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
[Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
[Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
[Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149
[Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
[Intel XE#3177]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3177
[Intel XE#3184]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3184
[Intel XE#346]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/346
[Intel XE#356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/356
[Intel XE#361]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/361
[Intel XE#362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/362
[Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
[Intel XE#616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/616
[Intel XE#619]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/619
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
[Intel XE#701]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/701
[Intel XE#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
[Intel XE#756]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/756
[Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#877]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/877
[Intel XE#886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/886
[Intel XE#899]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/899
[Intel XE#908]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/908
[Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
[i915#2575]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2575
[i915#5274]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5274
Build changes
-------------
* IGT: IGT_8082 -> IGTPW_11950
IGTPW_11950: 11950
IGT_8082: c8379ec8b26f3c21bae5473706b23da78bd26ffa @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-2107-beaeaccd284ba3b69b6dbfdc18bb89441fc99a52: beaeaccd284ba3b69b6dbfdc18bb89441fc99a52
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11950/index.html
[-- Attachment #2: Type: text/html, Size: 102559 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH i-g-t v2 1/5] lib/igt_kms: Add a detect timeout value
2024-10-22 10:28 ` [PATCH i-g-t v2 1/5] lib/igt_kms: Add a detect timeout value Louis Chauvet
@ 2024-11-06 14:12 ` Kamil Konieczny
2024-11-08 15:23 ` Louis Chauvet
0 siblings, 1 reply; 19+ messages in thread
From: Kamil Konieczny @ 2024-11-06 14:12 UTC (permalink / raw)
To: Louis Chauvet
Cc: igt-dev, Petri Latvala, Arkadiusz Hiler, Juha-Pekka Heikkila,
Bhanuprakash Modem, Ashutosh Dixit, Thomas Petazzoni,
nicolejadeyee, seanpaul, jeremie.dautheribes, markyacoub
Hi Louis,
On 2024-10-22 at 12:28:35 +0200, Louis Chauvet wrote:
> Some tests need to wait for a specific connector status. In order to make
> the timeout customisable for each target, add an option in the
> configuration file.
>
> Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
> ---
> lib/igt_core.c | 3 +++
> lib/igt_kms.c | 24 ++++++++++++++++++++++++
> lib/igt_kms.h | 9 +++++++++
> 3 files changed, 36 insertions(+)
>
> diff --git a/lib/igt_core.c b/lib/igt_core.c
> index 407f7b55187c..5f75141cc42e 100644
> --- a/lib/igt_core.c
> +++ b/lib/igt_core.c
> @@ -265,6 +265,9 @@
> * # It is not mandatory and allows overriding default values.
> * [DUT]
> * SuspendResumeDelay=10
> + * # The following option define the timeout for detection feature
> + * # (waiting for a connector status)
> + * DetectTimeout=10.0
You named it generic, could you keep it in igt_core?
Or name it DisplayDetectTimeout?
> * ]|
> *
> * Some specific configuration options may be used by specific parts of IGT,
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index bb35d4b82c5a..195868646a14 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -58,6 +58,7 @@
> #include "intel_chipset.h"
> #include "igt_debugfs.h"
> #include "igt_device.h"
> +#include "igt_rc.h"
> #include "igt_sysfs.h"
> #include "sw_sync.h"
> #ifdef HAVE_CHAMELIUM
> @@ -7119,3 +7120,26 @@ void igt_reset_link_params(int drm_fd, igt_output_t *output)
> temp = drmModeGetConnector(drm_fd, output->config.connector->connector_id);
> drmModeFreeConnector(temp);
> }
> +
> +/**
> + * igt_default_detect_timeout - Get the default timeout value for detection feature
> + *
> + * Some tests requires to wait for a specific connector status. This value will determine the
> + * timeout value for this waiting.
> + */
> +float igt_default_detect_timeout(void)
> +{
> + static double timeout = 0.0;
> + static bool first_call = true;
> +
> + if (first_call) {
> + if (igt_key_file)
> + timeout = g_key_file_get_double(igt_key_file, "DUT", "DetectTimeout", NULL);
There could be errors here, please handle them.
Regards,
Kamil
> + else
> + timeout = DEFAULT_DETECT_TIMEOUT;
> +
> + first_call = false;
> + }
> +
> + return timeout;
> +}
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index 2b26d2bbfff1..4f0030264d9f 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -39,6 +39,13 @@
> #include "igt_fb.h"
> #include "ioctl_wrappers.h"
>
> +/**
> + * define DEFAULT_DETECT_TIMEOUT - Default timeout used for some detection functions
> + *
> + * It can be overiden by option DetectTimeout in the .igtrc file.
> + */
> +#define DEFAULT_DETECT_TIMEOUT 10.0
> +
> /* Low-level helpers with kmstest_ prefix */
>
> /**
> @@ -1254,4 +1261,6 @@ int igt_get_dp_pending_lt_failures(int drm_fd, igt_output_t *output);
> int igt_get_dp_pending_retrain(int drm_fd, igt_output_t *output);
> void igt_reset_link_params(int drm_fd, igt_output_t *output);
>
> +float igt_default_detect_timeout(void);
> +
> #endif /* __IGT_KMS_H__ */
>
> --
> 2.46.2
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH i-g-t v2 2/5] lib/igt_kms: Add helper to wait for a specific status on a connector
2024-10-22 10:28 ` [PATCH i-g-t v2 2/5] lib/igt_kms: Add helper to wait for a specific status on a connector Louis Chauvet
@ 2024-11-06 14:17 ` Kamil Konieczny
2024-11-08 15:23 ` Louis Chauvet
0 siblings, 1 reply; 19+ messages in thread
From: Kamil Konieczny @ 2024-11-06 14:17 UTC (permalink / raw)
To: Louis Chauvet
Cc: igt-dev, Petri Latvala, Arkadiusz Hiler, Juha-Pekka Heikkila,
Bhanuprakash Modem, Ashutosh Dixit, Thomas Petazzoni,
nicolejadeyee, seanpaul, jeremie.dautheribes, markyacoub
Hi Louis,
On 2024-10-22 at 12:28:36 +0200, Louis Chauvet wrote:
> During testing with chamelium, it is frequent to wait for a specific
> connector status. This new helper is polling the DRM API to wait for this
> status. This allows detecting new status without notifier systems (which
> can fail if hot plug detection is not working properly on the device under
> test.
>
> Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
> ---
> lib/igt_kms.c | 38 ++++++++++++++++++++++++++++++++++++++
> lib/igt_kms.h | 3 +++
> 2 files changed, 41 insertions(+)
>
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 195868646a14..40c0a207cd17 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -7143,3 +7143,41 @@ float igt_default_detect_timeout(void)
>
> return timeout;
> }
> +
> +/**
> + * igt_wait_for_connector_status - Wait for at most @timeout that the connector @connector_id
> + * status become @drm_mode
> + *
> + * @drm_fd: drm file descriptor
> + * @connector_id: connector to monitor
> + * @timeout: maximum duration to wait, in second
> + * @drm_mode: mode to wait for, see enum drmModeConnection
> + *
> + * Returns: true when the status is reached, false if there is a timeout
> + */
> +bool igt_wait_for_connector_status(int drm_fd, unsigned int connector_id, double timeout,
> + int drm_mode)
> +{
> + drmModeConnector *connector;
> + struct timespec start, end;
> +
> + if (timeout == 0.0)
Floating comparision is tricky, I would suggest something like
if (abs(timeout) < epsilon)
> + timeout = igt_default_detect_timeout();
What if it is still zero here?
Regards,
Kamil
> +
> + clock_gettime(CLOCK_MONOTONIC, &start);
> + clock_gettime(CLOCK_MONOTONIC, &end);
> +
> + while (igt_time_elapsed(&start, &end) <= timeout) {
> + connector = drmModeGetConnector(drm_fd, connector_id);
> + if (connector && connector->connection == drm_mode) {
> + free(connector);
> + return true;
> + }
> + free(connector);
> + clock_gettime(CLOCK_MONOTONIC, &end);
> + }
> +
> + igt_debug("Timeout waiting for connection status %d on connector %d\n", drm_mode,
> + connector_id);
> + return false;
> +}
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index 4f0030264d9f..4cd4a4f65460 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -1263,4 +1263,7 @@ void igt_reset_link_params(int drm_fd, igt_output_t *output);
>
> float igt_default_detect_timeout(void);
>
> +bool igt_wait_for_connector_status(int drm_fd, unsigned int connector_id, double timeout,
> + int drm_mode);
> +
> #endif /* __IGT_KMS_H__ */
>
> --
> 2.46.2
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH i-g-t v2 3/5] lib/igt_kms: Add function to list connected connectors
2024-10-22 10:28 ` [PATCH i-g-t v2 3/5] lib/igt_kms: Add function to list connected connectors Louis Chauvet
@ 2024-11-06 14:20 ` Kamil Konieczny
2024-11-08 15:23 ` Louis Chauvet
0 siblings, 1 reply; 19+ messages in thread
From: Kamil Konieczny @ 2024-11-06 14:20 UTC (permalink / raw)
To: Louis Chauvet
Cc: igt-dev, Petri Latvala, Arkadiusz Hiler, Juha-Pekka Heikkila,
Bhanuprakash Modem, Ashutosh Dixit, Thomas Petazzoni,
nicolejadeyee, seanpaul, jeremie.dautheribes, markyacoub
Hi Louis,
On 2024-10-22 at 12:28:37 +0200, Louis Chauvet wrote:
> Introduce the igt_get_connected_connectors() function, which returns a
> list of connector IDs that are currently connected according to DRM.
>
> This function includes a timeout mechanism because connectors can be
> unplugged at any time. Also, especially with MST, the connector can be
> listed by drmModeGetResources() but not yet accessible with
> drmModeGetConnector().
>
> Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
> ---
> lib/igt_kms.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
> lib/igt_kms.h | 1 +
> 2 files changed, 55 insertions(+)
>
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 40c0a207cd17..44b546ae52dc 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -7181,3 +7181,57 @@ bool igt_wait_for_connector_status(int drm_fd, unsigned int connector_id, double
> connector_id);
> return false;
> }
> +
> +/**
> + * igt_get_connected_connectors - List all connectors reported as CONNECTED by DRM.
> + *
> + * @drm_fd: DRM file description
> + * @connector_ids: out pointer for the list of connector ids connected. It must be freed by the
> + * caller.
> + *
> + * The returns value is the number of connectors
> + */
> +int igt_get_connected_connectors(int drm_fd, uint32_t **connector_ids)
> +{
> + int connected_count = 0;
> + drmModeResPtr resources;
> + struct timespec start, end;
> +
> + *connector_ids = NULL;
> +
> + resources = drmModeGetResources(drm_fd);
> + for (int j = 0; j < resources->count_connectors; j++) {
> + drmModeConnectorPtr connector = NULL;
> +
> + connector = drmModeGetConnector(drm_fd, resources->connectors[j]);
> + /*
> + * This time is required as sometimes some id in the connector list are not totally
> + * ready or can disappear
> + */
> + clock_gettime(CLOCK_MONOTONIC, &start);
> + clock_gettime(CLOCK_MONOTONIC, &end);
> + while (!connector &&
> + igt_time_elapsed(&start, &end) < igt_default_detect_timeout()) {
> + connector = drmModeGetConnector(drm_fd, resources->connectors[j]);
> + clock_gettime(CLOCK_MONOTONIC, &end);
> + }
> +
> + if (igt_time_elapsed(&start, &end) < igt_default_detect_timeout()) {
> + igt_assert(connector);
Please try to not assert in lib functions, unless abslutly nessesery.
Why not just return zero in case no connected connectors are detected.
Regards,
Kamil
> +
> + if (connector->connection == DRM_MODE_CONNECTED) {
> + *connector_ids = reallocarray(*connector_ids,
> + connected_count
> + + 1, sizeof(**connector_ids));
> + igt_assert(*connector_ids);
> + (*connector_ids)[connected_count] = resources->connectors[j];
> + connected_count++;
> + }
> + drmModeFreeConnector(connector);
> + }
> + }
> + drmModeFreeResources(resources);
> +
> + return
> + connected_count;
> +}
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index 4cd4a4f65460..4674b271638a 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -1265,5 +1265,6 @@ float igt_default_detect_timeout(void);
>
> bool igt_wait_for_connector_status(int drm_fd, unsigned int connector_id, double timeout,
> int drm_mode);
> +int igt_get_connected_connectors(int drm_fd, uint32_t **connector_ids);
>
> #endif /* __IGT_KMS_H__ */
>
> --
> 2.46.2
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH i-g-t v2 4/5] lib/igt_kms: Add helper to obtain a connector by its name or MST path
2024-10-22 10:28 ` [PATCH i-g-t v2 4/5] lib/igt_kms: Add helper to obtain a connector by its name or MST path Louis Chauvet
@ 2024-11-06 14:24 ` Kamil Konieczny
2024-11-08 15:23 ` Louis Chauvet
0 siblings, 1 reply; 19+ messages in thread
From: Kamil Konieczny @ 2024-11-06 14:24 UTC (permalink / raw)
To: Louis Chauvet
Cc: igt-dev, Petri Latvala, Arkadiusz Hiler, Juha-Pekka Heikkila,
Bhanuprakash Modem, Ashutosh Dixit, Thomas Petazzoni,
nicolejadeyee, seanpaul, jeremie.dautheribes, markyacoub
Hi Louis,
On 2024-10-22 at 12:28:38 +0200, Louis Chauvet wrote:
> Introduce the functions igt_get_connector_from_name() and
> igt_get_connector_id_from_mst_path(). These functions serve to retrieve
> the connector object using a connector name and a connector ID from its
> MST path, respectively.
>
> Given that the connector id may not be consistent, especially with MST
> connectors, these functions are essential to recognize each connector even
> after system reboots and plug/unplug events.
>
> The function igt_get_connector_id_from_name() is a convenient wrapper for
> igt_get_connector_from_name() to streamline its usage when the caller only
> requires the connector id.
>
> Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
> ---
> lib/igt_kms.c | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> lib/igt_kms.h | 3 ++
> 2 files changed, 100 insertions(+)
>
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 44b546ae52dc..fce5666cefc6 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -7235,3 +7235,100 @@ int igt_get_connected_connectors(int drm_fd, uint32_t **connector_ids)
> return
> connected_count;
> }
> +
> +drmModeConnectorPtr igt_get_connector_from_name(int drm_fd, const char *port_name)
> +{
> + drmModeResPtr res = drmModeGetResources(drm_fd);
> + struct timespec start, end;
> + int i;
> +
> + if (!res)
> + return 0;
> +
> + for (i = 0; i < res->count_connectors; i++) {
> + char name[50];
Add define for this '50' or later on use ARRAY_SIZE()
> +
> + drmModeConnectorPtr connector = drmModeGetConnector(drm_fd, res->connectors[i]);
> + /*
> + * This time is required as sometimes some id in the connector list are not totally
> + * ready or can disappear
> + */
> + clock_gettime(CLOCK_MONOTONIC, &start);
> + clock_gettime(CLOCK_MONOTONIC, &end);
> + while (!connector &&
> + igt_time_elapsed(&start, &end) < igt_default_detect_timeout()) {
> + connector = drmModeGetConnector(drm_fd, res->connectors[i]);
> + clock_gettime(CLOCK_MONOTONIC, &end);
> + }
Could connectors appear/get connected out-of-order?
Some get connected and some others never get it?
Regards,
Kamil
> +
> + if (igt_time_elapsed(&start, &end) < igt_default_detect_timeout()) {
> + igt_assert(connector);
> +
> + /* We have to generate the connector name on our own */
> + snprintf(name, 50, "%s-%u",
> + kmstest_connector_type_str(connector->connector_type),
> + connector->connector_type_id);
> +
> + if (strcmp(port_name, name) == 0) {
> + drmModeFreeResources(res);
> + return connector;
> + }
> + drmModeFreeConnector(connector);
> + }
> + }
> + drmModeFreeResources(res);
> + return NULL;
> +}
> +
> +/**
> + * igt_get_connector_id_from_name - Get a connector ID from a connector name
> + * @drm_fd: DRM file descriptor
> + * @port_name: Port name to find in the connector
> + *
> + * Returns 0 when no connector is found with the correct name
> + */
> +uint32_t igt_get_connector_id_from_name(int drm_fd, const char *port_name)
> +{
> + drmModeConnectorPtr connector = igt_get_connector_from_name(drm_fd, port_name);
> +
> + if (connector) {
> + int connector_id = connector->connector_id;
> +
> + drmModeFreeConnector(connector);
> + return connector_id;
> + }
> + return 0;
> +}
> +
> +/**
> + * igt_get_connector_id_from_mst_path - Get a connector ID from a mst path
> + * @drm_fd: DRM file descriptor
> + * @mst_path: MST path to find in the connector
> + *
> + * Returns 0 when no connector is found with the correct mst path
> + */
> +uint32_t igt_get_connector_id_from_mst_path(int drm_fd, const void *mst_path)
> +{
> + drmModeResPtr res = drmModeGetResources(drm_fd);
> + int i;
> +
> + if (!res)
> + return 0;
> +
> + for (i = 0; i < res->count_connectors; i++) {
> + uint32_t connector_id = res->connectors[i];
> +
> + drmModePropertyBlobPtr path_blob = kmstest_get_path_blob(drm_fd, connector_id);
> +
> + if (path_blob) {
> + if (strcmp(path_blob->data, mst_path) == 0) {
> + drmModeFreePropertyBlob(path_blob);
> + drmModeFreeResources(res);
> + return connector_id;
> + }
> + drmModeFreePropertyBlob(path_blob);
> + }
> + }
> + drmModeFreeResources(res);
> + return 0;
> +}
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index 4674b271638a..e9732c247dea 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -1266,5 +1266,8 @@ float igt_default_detect_timeout(void);
> bool igt_wait_for_connector_status(int drm_fd, unsigned int connector_id, double timeout,
> int drm_mode);
> int igt_get_connected_connectors(int drm_fd, uint32_t **connector_ids);
> +drmModeConnectorPtr igt_get_connector_from_name(int drm_fd, const char *port_name);
> +uint32_t igt_get_connector_id_from_name(int drm_fd, const char *port_name);
> +uint32_t igt_get_connector_id_from_mst_path(int drm_fd, const void *mst_path);
>
> #endif /* __IGT_KMS_H__ */
>
> --
> 2.46.2
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH i-g-t v2 5/5] lib/igt_kms: Add function to get valid pipe for specific output
2024-10-22 10:28 ` [PATCH i-g-t v2 5/5] lib/igt_kms: Add function to get valid pipe for specific output Louis Chauvet
@ 2024-11-06 14:28 ` Kamil Konieczny
2024-11-08 15:23 ` Louis Chauvet
0 siblings, 1 reply; 19+ messages in thread
From: Kamil Konieczny @ 2024-11-06 14:28 UTC (permalink / raw)
To: Louis Chauvet
Cc: igt-dev, Petri Latvala, Arkadiusz Hiler, Juha-Pekka Heikkila,
Bhanuprakash Modem, Ashutosh Dixit, Thomas Petazzoni,
nicolejadeyee, seanpaul, jeremie.dautheribes, markyacoub
Hi Louis,
On 2024-10-22 at 12:28:39 +0200, Louis Chauvet wrote:
> Introduces a new function igt_get_pipe_for_output in igt_kms. The function
> is designed to retrieve a valid pipe for a specific output in a display.
>
> Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
> ---
> lib/igt_kms.c | 19 +++++++++++++++++++
> lib/igt_kms.h | 1 +
> 2 files changed, 20 insertions(+)
>
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index fce5666cefc6..82d63d6e6229 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -7332,3 +7332,22 @@ uint32_t igt_get_connector_id_from_mst_path(int drm_fd, const void *mst_path)
> drmModeFreeResources(res);
> return 0;
> }
> +
> +/**
> + * igt_get_pipe_for_output - Get a valid pipe for a specific output
> + * @display: display to fetch the pipes
> + * @output: output to use
> + */
> +enum pipe igt_get_pipe_for_output(igt_display_t *display,
> + igt_output_t *output)
> +{
> + enum pipe pipe;
> +
> + for_each_pipe(display, pipe) {
> + if ((igt_output_is_connected((output)) &&
> + (output->config.valid_crtc_idx_mask & (1 << (pipe)))))
> + return pipe;
> + }
> +
> + igt_assert_f(false, "No pipe found for output %s\n", igt_output_name(output));
Please try to not assert in lib function.
Regards,
Kamil
> +}
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index e9732c247dea..e0d968b52033 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -1269,5 +1269,6 @@ int igt_get_connected_connectors(int drm_fd, uint32_t **connector_ids);
> drmModeConnectorPtr igt_get_connector_from_name(int drm_fd, const char *port_name);
> uint32_t igt_get_connector_id_from_name(int drm_fd, const char *port_name);
> uint32_t igt_get_connector_id_from_mst_path(int drm_fd, const void *mst_path);
> +enum pipe igt_get_pipe_for_output(igt_display_t *display, igt_output_t *output);
>
> #endif /* __IGT_KMS_H__ */
>
> --
> 2.46.2
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH i-g-t v2 3/5] lib/igt_kms: Add function to list connected connectors
2024-11-06 14:20 ` Kamil Konieczny
@ 2024-11-08 15:23 ` Louis Chauvet
0 siblings, 0 replies; 19+ messages in thread
From: Louis Chauvet @ 2024-11-08 15:23 UTC (permalink / raw)
To: Kamil Konieczny, igt-dev, Petri Latvala, Arkadiusz Hiler,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Thomas Petazzoni, nicolejadeigtyee, seanpaul, jeremie.dautheribes,
markyacoub
On 06/11/24 - 15:20, Kamil Konieczny wrote:
> Hi Louis,
> On 2024-10-22 at 12:28:37 +0200, Louis Chauvet wrote:
> > Introduce the igt_get_connected_connectors() function, which returns a
> > list of connector IDs that are currently connected according to DRM.
> >
> > This function includes a timeout mechanism because connectors can be
> > unplugged at any time. Also, especially with MST, the connector can be
> > listed by drmModeGetResources() but not yet accessible with
> > drmModeGetConnector().
> >
> > Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
> > ---
> > lib/igt_kms.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
> > lib/igt_kms.h | 1 +
> > 2 files changed, 55 insertions(+)
> >
> > diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> > index 40c0a207cd17..44b546ae52dc 100644
> > --- a/lib/igt_kms.c
> > +++ b/lib/igt_kms.c
> > @@ -7181,3 +7181,57 @@ bool igt_wait_for_connector_status(int drm_fd, unsigned int connector_id, double
> > connector_id);
> > return false;
> > }
> > +
> > +/**
> > + * igt_get_connected_connectors - List all connectors reported as CONNECTED by DRM.
> > + *
> > + * @drm_fd: DRM file description
> > + * @connector_ids: out pointer for the list of connector ids connected. It must be freed by the
> > + * caller.
> > + *
> > + * The returns value is the number of connectors
> > + */
> > +int igt_get_connected_connectors(int drm_fd, uint32_t **connector_ids)
> > +{
> > + int connected_count = 0;
> > + drmModeResPtr resources;
> > + struct timespec start, end;
> > +
> > + *connector_ids = NULL;
> > +
> > + resources = drmModeGetResources(drm_fd);
> > + for (int j = 0; j < resources->count_connectors; j++) {
> > + drmModeConnectorPtr connector = NULL;
> > +
> > + connector = drmModeGetConnector(drm_fd, resources->connectors[j]);
> > + /*
> > + * This time is required as sometimes some id in the connector list are not totally
> > + * ready or can disappear
> > + */
> > + clock_gettime(CLOCK_MONOTONIC, &start);
> > + clock_gettime(CLOCK_MONOTONIC, &end);
(same change as previous patch, end = start)
> > + while (!connector &&
> > + igt_time_elapsed(&start, &end) < igt_default_detect_timeout()) {
> > + connector = drmModeGetConnector(drm_fd, resources->connectors[j]);
> > + clock_gettime(CLOCK_MONOTONIC, &end);
> > + }
After this loop, we have either:
- connector != NULL and elapsed < timeout
- elapsed > timeout
> > +
> > + if (igt_time_elapsed(&start, &end) < igt_default_detect_timeout()) {
If this condition is true, it means that connector must be set
> > + igt_assert(connector);
>
> Please try to not assert in lib functions, unless abslutly nessesery.
> Why not just return zero in case no connected connectors are detected.
So an assert here is only a hint for the developper, this should never
fail. And if it fails, it is a bug, the previous loop must ensure that
connector is set.
> Regards,
> Kamil
>
> > +
> > + if (connector->connection == DRM_MODE_CONNECTED) {
> > + *connector_ids = reallocarray(*connector_ids,
> > + connected_count
> > + + 1, sizeof(**connector_ids));
> > + igt_assert(*connector_ids);
> > + (*connector_ids)[connected_count] = resources->connectors[j];
> > + connected_count++;
> > + }
> > + drmModeFreeConnector(connector);
> > + }
> > + }
> > + drmModeFreeResources(resources);
> > +
> > + return
> > + connected_count;
> > +}
> > diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> > index 4cd4a4f65460..4674b271638a 100644
> > --- a/lib/igt_kms.h
> > +++ b/lib/igt_kms.h
> > @@ -1265,5 +1265,6 @@ float igt_default_detect_timeout(void);
> >
> > bool igt_wait_for_connector_status(int drm_fd, unsigned int connector_id, double timeout,
> > int drm_mode);
> > +int igt_get_connected_connectors(int drm_fd, uint32_t **connector_ids);
> >
> > #endif /* __IGT_KMS_H__ */
> >
> > --
> > 2.46.2
> >
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH i-g-t v2 2/5] lib/igt_kms: Add helper to wait for a specific status on a connector
2024-11-06 14:17 ` Kamil Konieczny
@ 2024-11-08 15:23 ` Louis Chauvet
0 siblings, 0 replies; 19+ messages in thread
From: Louis Chauvet @ 2024-11-08 15:23 UTC (permalink / raw)
To: Kamil Konieczny
Cc: igt-dev, Petri Latvala, Arkadiusz Hiler, Juha-Pekka Heikkila,
Bhanuprakash Modem, Ashutosh Dixit, Thomas Petazzoni,
nicolejadeyee, seanpaul, jeremie.dautheribes, markyacoub
On 06/11/24 - 15:17, Kamil Konieczny wrote:
> Hi Louis,
> On 2024-10-22 at 12:28:36 +0200, Louis Chauvet wrote:
> > During testing with chamelium, it is frequent to wait for a specific
> > connector status. This new helper is polling the DRM API to wait for this
> > status. This allows detecting new status without notifier systems (which
> > can fail if hot plug detection is not working properly on the device under
> > test.
> >
> > Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
> > ---
> > lib/igt_kms.c | 38 ++++++++++++++++++++++++++++++++++++++
> > lib/igt_kms.h | 3 +++
> > 2 files changed, 41 insertions(+)
> >
> > diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> > index 195868646a14..40c0a207cd17 100644
> > --- a/lib/igt_kms.c
> > +++ b/lib/igt_kms.c
> > @@ -7143,3 +7143,41 @@ float igt_default_detect_timeout(void)
> >
> > return timeout;
> > }
> > +
> > +/**
> > + * igt_wait_for_connector_status - Wait for at most @timeout that the connector @connector_id
> > + * status become @drm_mode
> > + *
> > + * @drm_fd: drm file descriptor
> > + * @connector_id: connector to monitor
> > + * @timeout: maximum duration to wait, in second
* @timeout: maximum duration to wait, in second. If 0.0, it will use the
value of igt_default_detect_timeout().
> > + * @drm_mode: mode to wait for, see enum drmModeConnection
> > + *
> > + * Returns: true when the status is reached, false if there is a timeout
> > + */
> > +bool igt_wait_for_connector_status(int drm_fd, unsigned int connector_id, double timeout,
> > + int drm_mode)
> > +{
> > + drmModeConnector *connector;
> > + struct timespec start, end;
> > +
> > + if (timeout == 0.0)
>
> Floating comparision is tricky, I would suggest something like
> if (abs(timeout) < epsilon)
I know that float comparison are tricky, but the goal is to allow the
caller to ask for the default timeout. I agree it is missing some
documentation.
Maybe I can do timeout == -1.0 (nobody will ask for a negative timeout
except on purpose), is it better?
> > + timeout = igt_default_detect_timeout();
>
> What if it is still zero here?
It means that the user configured the timeout to 0.0, so this will
probably probably fail, but on purpose.
I agree that this may not work as expected, see my change bellow:
> Regards,
> Kamil
>
> > +
> > + clock_gettime(CLOCK_MONOTONIC, &start);
> > + clock_gettime(CLOCK_MONOTONIC, &end);
Change the previous line to:
end = start;
> > +
> > + while (igt_time_elapsed(&start, &end) <= timeout) {
So here the igt_time_elapsed returns 0.0, so there will be one attempt to
detect the connector.
> > + connector = drmModeGetConnector(drm_fd, connector_id);
> > + if (connector && connector->connection == drm_mode) {
> > + free(connector);
> > + return true;
> > + }
> > + free(connector);
> > + clock_gettime(CLOCK_MONOTONIC, &end);
> > + }
> > +
> > + igt_debug("Timeout waiting for connection status %d on connector %d\n", drm_mode,
> > + connector_id);
> > + return false;
> > +}
> > diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> > index 4f0030264d9f..4cd4a4f65460 100644
> > --- a/lib/igt_kms.h
> > +++ b/lib/igt_kms.h
> > @@ -1263,4 +1263,7 @@ void igt_reset_link_params(int drm_fd, igt_output_t *output);
> >
> > float igt_default_detect_timeout(void);
> >
> > +bool igt_wait_for_connector_status(int drm_fd, unsigned int connector_id, double timeout,
> > + int drm_mode);
> > +
> > #endif /* __IGT_KMS_H__ */
> >
> > --
> > 2.46.2
> >
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH i-g-t v2 4/5] lib/igt_kms: Add helper to obtain a connector by its name or MST path
2024-11-06 14:24 ` Kamil Konieczny
@ 2024-11-08 15:23 ` Louis Chauvet
0 siblings, 0 replies; 19+ messages in thread
From: Louis Chauvet @ 2024-11-08 15:23 UTC (permalink / raw)
To: Kamil Konieczny, igt-dev, Petri Latvala, Arkadiusz Hiler,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Thomas Petazzoni, nicolejadeyee, seanpaul, jeremie.dautheribes,
markyacoub
On 06/11/24 - 15:24, Kamil Konieczny wrote:
> Hi Louis,
> On 2024-10-22 at 12:28:38 +0200, Louis Chauvet wrote:
> > Introduce the functions igt_get_connector_from_name() and
> > igt_get_connector_id_from_mst_path(). These functions serve to retrieve
> > the connector object using a connector name and a connector ID from its
> > MST path, respectively.
> >
> > Given that the connector id may not be consistent, especially with MST
> > connectors, these functions are essential to recognize each connector even
> > after system reboots and plug/unplug events.
> >
> > The function igt_get_connector_id_from_name() is a convenient wrapper for
> > igt_get_connector_from_name() to streamline its usage when the caller only
> > requires the connector id.
> >
> > Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
> > ---
> > lib/igt_kms.c | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> > lib/igt_kms.h | 3 ++
> > 2 files changed, 100 insertions(+)
> >
> > diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> > index 44b546ae52dc..fce5666cefc6 100644
> > --- a/lib/igt_kms.c
> > +++ b/lib/igt_kms.c
> > @@ -7235,3 +7235,100 @@ int igt_get_connected_connectors(int drm_fd, uint32_t **connector_ids)
> > return
> > connected_count;
> > }
> > +
> > +drmModeConnectorPtr igt_get_connector_from_name(int drm_fd, const char *port_name)
> > +{
> > + drmModeResPtr res = drmModeGetResources(drm_fd);
> > + struct timespec start, end;
> > + int i;
> > +
> > + if (!res)
> > + return 0;
> > +
> > + for (i = 0; i < res->count_connectors; i++) {
> > + char name[50];
>
> Add define for this '50' or later on use ARRAY_SIZE()
I will use ARRAY_SIZE(), thanks
> > +
> > + drmModeConnectorPtr connector = drmModeGetConnector(drm_fd, res->connectors[i]);
> > + /*
> > + * This time is required as sometimes some id in the connector list are not totally
> > + * ready or can disappear
> > + */
> > + clock_gettime(CLOCK_MONOTONIC, &start);
> > + clock_gettime(CLOCK_MONOTONIC, &end);
(Same change as before, end = start)
> > + while (!connector &&
> > + igt_time_elapsed(&start, &end) < igt_default_detect_timeout()) {
> > + connector = drmModeGetConnector(drm_fd, res->connectors[i]);
> > + clock_gettime(CLOCK_MONOTONIC, &end);
> > + }
>
> Could connectors appear/get connected out-of-order?
> Some get connected and some others never get it?
There are two issues:
- One connector can be present when calling drmModeGetResources, and
disapear before drmModeGetConnector
- The MST connectors are not immediatly available, even modetest is
crashing, so I have to call again drmModeGetConnector in some case(if I
remember correctly, `watch -n0 modetest -c` can show you segfaults)
It will not cache new connectors after the call to drmModeGetResources,
but at least it will not crash with a segfault because connector is not
available yet/anymore.
> Regards,
> Kamil
>
> > +
> > + if (igt_time_elapsed(&start, &end) < igt_default_detect_timeout()) {
> > + igt_assert(connector);
> > +
> > + /* We have to generate the connector name on our own */
> > + snprintf(name, 50, "%s-%u",
> > + kmstest_connector_type_str(connector->connector_type),
> > + connector->connector_type_id);
> > +
> > + if (strcmp(port_name, name) == 0) {
> > + drmModeFreeResources(res);
> > + return connector;
> > + }
> > + drmModeFreeConnector(connector);
> > + }
> > + }
> > + drmModeFreeResources(res);
> > + return NULL;
> > +}
> > +
> > +/**
> > + * igt_get_connector_id_from_name - Get a connector ID from a connector name
> > + * @drm_fd: DRM file descriptor
> > + * @port_name: Port name to find in the connector
> > + *
> > + * Returns 0 when no connector is found with the correct name
> > + */
> > +uint32_t igt_get_connector_id_from_name(int drm_fd, const char *port_name)
> > +{
> > + drmModeConnectorPtr connector = igt_get_connector_from_name(drm_fd, port_name);
> > +
> > + if (connector) {
> > + int connector_id = connector->connector_id;
> > +
> > + drmModeFreeConnector(connector);
> > + return connector_id;
> > + }
> > + return 0;
> > +}
> > +
> > +/**
> > + * igt_get_connector_id_from_mst_path - Get a connector ID from a mst path
> > + * @drm_fd: DRM file descriptor
> > + * @mst_path: MST path to find in the connector
> > + *
> > + * Returns 0 when no connector is found with the correct mst path
> > + */
> > +uint32_t igt_get_connector_id_from_mst_path(int drm_fd, const void *mst_path)
> > +{
> > + drmModeResPtr res = drmModeGetResources(drm_fd);
> > + int i;
> > +
> > + if (!res)
> > + return 0;
> > +
> > + for (i = 0; i < res->count_connectors; i++) {
> > + uint32_t connector_id = res->connectors[i];
> > +
> > + drmModePropertyBlobPtr path_blob = kmstest_get_path_blob(drm_fd, connector_id);
> > +
> > + if (path_blob) {
> > + if (strcmp(path_blob->data, mst_path) == 0) {
> > + drmModeFreePropertyBlob(path_blob);
> > + drmModeFreeResources(res);
> > + return connector_id;
> > + }
> > + drmModeFreePropertyBlob(path_blob);
> > + }
> > + }
> > + drmModeFreeResources(res);
> > + return 0;
> > +}
> > diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> > index 4674b271638a..e9732c247dea 100644
> > --- a/lib/igt_kms.h
> > +++ b/lib/igt_kms.h
> > @@ -1266,5 +1266,8 @@ float igt_default_detect_timeout(void);
> > bool igt_wait_for_connector_status(int drm_fd, unsigned int connector_id, double timeout,
> > int drm_mode);
> > int igt_get_connected_connectors(int drm_fd, uint32_t **connector_ids);
> > +drmModeConnectorPtr igt_get_connector_from_name(int drm_fd, const char *port_name);
> > +uint32_t igt_get_connector_id_from_name(int drm_fd, const char *port_name);
> > +uint32_t igt_get_connector_id_from_mst_path(int drm_fd, const void *mst_path);
> >
> > #endif /* __IGT_KMS_H__ */
> >
> > --
> > 2.46.2
> >
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH i-g-t v2 5/5] lib/igt_kms: Add function to get valid pipe for specific output
2024-11-06 14:28 ` Kamil Konieczny
@ 2024-11-08 15:23 ` Louis Chauvet
0 siblings, 0 replies; 19+ messages in thread
From: Louis Chauvet @ 2024-11-08 15:23 UTC (permalink / raw)
To: Kamil Konieczny, igt-dev, Petri Latvala, Arkadiusz Hiler,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Thomas Petazzoni, nicolejadeyee, seanpaul, jeremie.dautheribes,
markyacoub
On 06/11/24 - 15:28, Kamil Konieczny wrote:
> Hi Louis,
> On 2024-10-22 at 12:28:39 +0200, Louis Chauvet wrote:
> > Introduces a new function igt_get_pipe_for_output in igt_kms. The function
> > is designed to retrieve a valid pipe for a specific output in a display.
> >
> > Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
> > ---
> > lib/igt_kms.c | 19 +++++++++++++++++++
> > lib/igt_kms.h | 1 +
> > 2 files changed, 20 insertions(+)
> >
> > diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> > index fce5666cefc6..82d63d6e6229 100644
> > --- a/lib/igt_kms.c
> > +++ b/lib/igt_kms.c
> > @@ -7332,3 +7332,22 @@ uint32_t igt_get_connector_id_from_mst_path(int drm_fd, const void *mst_path)
> > drmModeFreeResources(res);
> > return 0;
> > }
> > +
> > +/**
> > + * igt_get_pipe_for_output - Get a valid pipe for a specific output
> > + * @display: display to fetch the pipes
> > + * @output: output to use
> > + */
> > +enum pipe igt_get_pipe_for_output(igt_display_t *display,
> > + igt_output_t *output)
> > +{
> > + enum pipe pipe;
> > +
> > + for_each_pipe(display, pipe) {
> > + if ((igt_output_is_connected((output)) &&
> > + (output->config.valid_crtc_idx_mask & (1 << (pipe)))))
> > + return pipe;
> > + }
> > +
> > + igt_assert_f(false, "No pipe found for output %s\n", igt_output_name(output));
>
> Please try to not assert in lib function.
I will change it to `return PIPE_NONE;` for v2
> Regards,
> Kamil
>
> > +}
> > diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> > index e9732c247dea..e0d968b52033 100644
> > --- a/lib/igt_kms.h
> > +++ b/lib/igt_kms.h
> > @@ -1269,5 +1269,6 @@ int igt_get_connected_connectors(int drm_fd, uint32_t **connector_ids);
> > drmModeConnectorPtr igt_get_connector_from_name(int drm_fd, const char *port_name);
> > uint32_t igt_get_connector_id_from_name(int drm_fd, const char *port_name);
> > uint32_t igt_get_connector_id_from_mst_path(int drm_fd, const void *mst_path);
> > +enum pipe igt_get_pipe_for_output(igt_display_t *display, igt_output_t *output);
> >
> > #endif /* __IGT_KMS_H__ */
> >
> > --
> > 2.46.2
> >
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH i-g-t v2 1/5] lib/igt_kms: Add a detect timeout value
2024-11-06 14:12 ` Kamil Konieczny
@ 2024-11-08 15:23 ` Louis Chauvet
0 siblings, 0 replies; 19+ messages in thread
From: Louis Chauvet @ 2024-11-08 15:23 UTC (permalink / raw)
To: Kamil Konieczny, igt-dev, Petri Latvala, Arkadiusz Hiler,
Juha-Pekka Heikkila, Bhanuprakash Modem, Ashutosh Dixit,
Thomas Petazzoni, nicolejadeyee, seanpaul, jeremie.dautheribes,
markyacoub
On 06/11/24 - 15:12, Kamil Konieczny wrote:
> Hi Louis,
> On 2024-10-22 at 12:28:35 +0200, Louis Chauvet wrote:
> > Some tests need to wait for a specific connector status. In order to make
> > the timeout customisable for each target, add an option in the
> > configuration file.
> >
> > Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
> > ---
> > lib/igt_core.c | 3 +++
> > lib/igt_kms.c | 24 ++++++++++++++++++++++++
> > lib/igt_kms.h | 9 +++++++++
> > 3 files changed, 36 insertions(+)
> >
> > diff --git a/lib/igt_core.c b/lib/igt_core.c
> > index 407f7b55187c..5f75141cc42e 100644
> > --- a/lib/igt_core.c
> > +++ b/lib/igt_core.c
> > @@ -265,6 +265,9 @@
> > * # It is not mandatory and allows overriding default values.
> > * [DUT]
> > * SuspendResumeDelay=10
> > + * # The following option define the timeout for detection feature
> > + * # (waiting for a connector status)
> > + * DetectTimeout=10.0
>
> You named it generic, could you keep it in igt_core?
> Or name it DisplayDetectTimeout?
I will change it to v2, I think DisplayDetectTimeout is good.
> > * ]|
> > *
> > * Some specific configuration options may be used by specific parts of IGT,
> > diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> > index bb35d4b82c5a..195868646a14 100644
> > --- a/lib/igt_kms.c
> > +++ b/lib/igt_kms.c
> > @@ -58,6 +58,7 @@
> > #include "intel_chipset.h"
> > #include "igt_debugfs.h"
> > #include "igt_device.h"
> > +#include "igt_rc.h"
> > #include "igt_sysfs.h"
> > #include "sw_sync.h"
> > #ifdef HAVE_CHAMELIUM
> > @@ -7119,3 +7120,26 @@ void igt_reset_link_params(int drm_fd, igt_output_t *output)
> > temp = drmModeGetConnector(drm_fd, output->config.connector->connector_id);
> > drmModeFreeConnector(temp);
> > }
> > +
> > +/**
> > + * igt_default_detect_timeout - Get the default timeout value for detection feature
> > + *
> > + * Some tests requires to wait for a specific connector status. This value will determine the
> > + * timeout value for this waiting.
> > + */
> > +float igt_default_detect_timeout(void)
> > +{
> > + static double timeout = 0.0;
> > + static bool first_call = true;
> > +
> > + if (first_call) {
> > + if (igt_key_file)
> > + timeout = g_key_file_get_double(igt_key_file, "DUT", "DetectTimeout", NULL);
>
> There could be errors here, please handle them.
I will do it for v2, in case of errors it will use DEFAULT_DETECT_TIMEOUT.
Thanks for your review,
Louis Chauvet
> Regards,
> Kamil
>
> > + else
> > + timeout = DEFAULT_DETECT_TIMEOUT;
> > +
> > + first_call = false;
> > + }
> > +
> > + return timeout;
> > +}
> > diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> > index 2b26d2bbfff1..4f0030264d9f 100644
> > --- a/lib/igt_kms.h
> > +++ b/lib/igt_kms.h
> > @@ -39,6 +39,13 @@
> > #include "igt_fb.h"
> > #include "ioctl_wrappers.h"
> >
> > +/**
> > + * define DEFAULT_DETECT_TIMEOUT - Default timeout used for some detection functions
> > + *
> > + * It can be overiden by option DetectTimeout in the .igtrc file.
> > + */
> > +#define DEFAULT_DETECT_TIMEOUT 10.0
> > +
> > /* Low-level helpers with kmstest_ prefix */
> >
> > /**
> > @@ -1254,4 +1261,6 @@ int igt_get_dp_pending_lt_failures(int drm_fd, igt_output_t *output);
> > int igt_get_dp_pending_retrain(int drm_fd, igt_output_t *output);
> > void igt_reset_link_params(int drm_fd, igt_output_t *output);
> >
> > +float igt_default_detect_timeout(void);
> > +
> > #endif /* __IGT_KMS_H__ */
> >
> > --
> > 2.46.2
> >
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2024-11-08 15:23 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-22 10:28 [PATCH i-g-t v2 0/5] lib/igt_kms: Helpers for connector managment Louis Chauvet
2024-10-22 10:28 ` [PATCH i-g-t v2 1/5] lib/igt_kms: Add a detect timeout value Louis Chauvet
2024-11-06 14:12 ` Kamil Konieczny
2024-11-08 15:23 ` Louis Chauvet
2024-10-22 10:28 ` [PATCH i-g-t v2 2/5] lib/igt_kms: Add helper to wait for a specific status on a connector Louis Chauvet
2024-11-06 14:17 ` Kamil Konieczny
2024-11-08 15:23 ` Louis Chauvet
2024-10-22 10:28 ` [PATCH i-g-t v2 3/5] lib/igt_kms: Add function to list connected connectors Louis Chauvet
2024-11-06 14:20 ` Kamil Konieczny
2024-11-08 15:23 ` Louis Chauvet
2024-10-22 10:28 ` [PATCH i-g-t v2 4/5] lib/igt_kms: Add helper to obtain a connector by its name or MST path Louis Chauvet
2024-11-06 14:24 ` Kamil Konieczny
2024-11-08 15:23 ` Louis Chauvet
2024-10-22 10:28 ` [PATCH i-g-t v2 5/5] lib/igt_kms: Add function to get valid pipe for specific output Louis Chauvet
2024-11-06 14:28 ` Kamil Konieczny
2024-11-08 15:23 ` Louis Chauvet
2024-10-22 15:45 ` ✓ CI.xeBAT: success for lib/igt_kms: Helpers for connector managment (rev2) Patchwork
2024-10-22 15:47 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-10-22 17:57 ` ✗ CI.xeFULL: " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox