* [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units
@ 2025-10-08 21:17 Ashutosh Dixit
2025-10-08 21:17 ` [PATCH i-g-t 01/18] tests/intel/xe_oa: Add OAM formats to lnl_oa_formats Ashutosh Dixit
` (21 more replies)
0 siblings, 22 replies; 46+ messages in thread
From: Ashutosh Dixit @ 2025-10-08 21:17 UTC (permalink / raw)
To: igt-dev; +Cc: Umesh Nerlige Ramappa
Previously OA IGT's were running only on the OAG OA unit. This patchset
changes the tests so they can be run on any/all OA units. For example, on
BMG, the non-zero-reason-all test will now result in the following output:
$ sudo ./build/tests/xe_oa --r non-zero-reason-all
IGT-Version: 2.2-g30a56696e (x86_64) (Linux: 6.15.0+ x86_64)
Using IGT_SRANDOM=1759524233 for randomisation
Opened device: /dev/dri/card0
Starting subtest: non-zero-reason-all
Starting dynamic subtest: oag-0
Dynamic subtest oag-0: SUCCESS (0.055s)
Starting dynamic subtest: sag-1
Dynamic subtest sag-1: SUCCESS (0.071s)
Starting dynamic subtest: oam-2
Dynamic subtest oam-2: SUCCESS (0.069s)
Starting dynamic subtest: oam-3
Dynamic subtest oam-3: SUCCESS (0.068s)
Subtest non-zero-reason-all: SUCCESS (0.263s)
Ashutosh Dixit (18):
tests/intel/xe_oa: Add OAM formats to lnl_oa_formats
tests/intel/xe_oa: Get rid of unnecessary
DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE
tests/intel/xe_oa: Rename nth_oa_unit to oa_unit_by_id
tests/intel/xe_oa: Change oa_unit_engine to take an oa_unit argument
tests/intel/xe_oa: Add oa_unit_by_type
tests/intel/xe_oa: Add for_each_oa_unit
tests/intel/xe_oa: Convert test_oa_formats to take an OA unit argument
tests/intel/xe_oa: Convert several more tests to take OA unit
arguments
tests/intel/xe_oa: Convert test_non_zero_reason to take an OA unit
argument
tests/intel/xe_oa: Convert blocking/polling tests to take OA unit
arguments
tests/intel/xe_oa: Convert test_mi_rpc to take an OA unit argument
tests/intel/xe_oa: Convert
test_single_ctx_render_target_writes_a_counter
tests/intel/xe_oa: Convert OA buffer mmap tests to take OA unit
arguments
tests/intel/xe_oa: Convert MMIO trigger tests to take OA unit
arguments
tests/intel/xe_oa: Convert sync tests to take OA unit arguments
tests/intel/xe_oa: Run test_oa_unit_exclusive_stream on multiple OA
units
tests/intel/xe_oa: Add new non-zero-reason-all test
tests/intel/xe_oa: Constify arguments to various functions
tests/intel/xe_oa.c | 493 ++++++++++++++++++++++----------------------
1 file changed, 246 insertions(+), 247 deletions(-)
--
2.48.1
^ permalink raw reply [flat|nested] 46+ messages in thread
* [PATCH i-g-t 01/18] tests/intel/xe_oa: Add OAM formats to lnl_oa_formats
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
@ 2025-10-08 21:17 ` Ashutosh Dixit
2025-10-08 21:55 ` Umesh Nerlige Ramappa
2025-10-08 21:17 ` [PATCH i-g-t 02/18] tests/intel/xe_oa: Get rid of unnecessary DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE Ashutosh Dixit
` (20 subsequent siblings)
21 siblings, 1 reply; 46+ messages in thread
From: Ashutosh Dixit @ 2025-10-08 21:17 UTC (permalink / raw)
To: igt-dev; +Cc: Umesh Nerlige Ramappa
Add previously missing OAM formats to list of Xe2+ OA formats.
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
tests/intel/xe_oa.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index 4f2aff59ac..0a00105bd4 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -242,6 +242,18 @@ static struct oa_format mtl_oa_formats[XE_OA_FORMAT_MAX] = {
};
static struct oa_format lnl_oa_formats[XE_OA_FORMAT_MAX] = {
+ [XE_OAM_FORMAT_MPEC8u64_B8_C8] = {
+ "MPEC8u64_B8_C8", .size = 192,
+ .oa_type = DRM_XE_OA_FMT_TYPE_OAM_MPEC,
+ .report_hdr_64bit = true,
+ .counter_select = 1,
+ },
+ [XE_OAM_FORMAT_MPEC8u32_B8_C8] = {
+ "MPEC8u32_B8_C8", .size = 128,
+ .oa_type = DRM_XE_OA_FMT_TYPE_OAM_MPEC,
+ .report_hdr_64bit = true,
+ .counter_select = 2,
+ },
[XE_OA_FORMAT_PEC64u64] = {
"PEC64u64", .size = 576,
.oa_type = DRM_XE_OA_FMT_TYPE_PEC,
--
2.48.1
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [PATCH i-g-t 02/18] tests/intel/xe_oa: Get rid of unnecessary DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
2025-10-08 21:17 ` [PATCH i-g-t 01/18] tests/intel/xe_oa: Add OAM formats to lnl_oa_formats Ashutosh Dixit
@ 2025-10-08 21:17 ` Ashutosh Dixit
2025-10-08 21:55 ` Umesh Nerlige Ramappa
2025-10-08 21:17 ` [PATCH i-g-t 03/18] tests/intel/xe_oa: Rename nth_oa_unit to oa_unit_by_id Ashutosh Dixit
` (19 subsequent siblings)
21 siblings, 1 reply; 46+ messages in thread
From: Ashutosh Dixit @ 2025-10-08 21:17 UTC (permalink / raw)
To: igt-dev; +Cc: Umesh Nerlige Ramappa
DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE is needed only when input OA
properties include an exec queue. In other cases the kernel does not use
DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE. Stop providing the unnecessary
DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE property for these cases. This is
needed to use OA units which don't have an associated hwe.
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
tests/intel/xe_oa.c | 14 --------------
1 file changed, 14 deletions(-)
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index 0a00105bd4..a028823e51 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -1559,8 +1559,6 @@ open_and_read_2_oa_reports(int format_id,
DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(format_id),
DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, exponent,
- DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
-
};
struct intel_xe_oa_open_prop param = {
.num_properties = ARRAY_SIZE(properties) / 2,
@@ -1877,7 +1875,6 @@ static void test_oa_exponents(const struct drm_xe_engine_class_instance *hwe)
DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(fmt),
DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, exponent,
- DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
};
struct intel_xe_oa_open_prop param = {
.num_properties = ARRAY_SIZE(properties) / 2,
@@ -2096,7 +2093,6 @@ static void test_blocking(uint64_t requested_oa_period,
ADD_PROPS(props, idx, OA_PERIOD_EXPONENT, oa_exponent);
ADD_PROPS(props, idx, OA_DISABLED, true);
ADD_PROPS(props, idx, OA_UNIT_ID, 0);
- ADD_PROPS(props, idx, OA_ENGINE_INSTANCE, hwe->engine_instance);
param.num_properties = (idx - props) / 2;
param.properties_ptr = to_user_pointer(props);
@@ -2241,7 +2237,6 @@ static void test_polling(uint64_t requested_oa_period,
ADD_PROPS(props, idx, OA_PERIOD_EXPONENT, oa_exponent);
ADD_PROPS(props, idx, OA_DISABLED, true);
ADD_PROPS(props, idx, OA_UNIT_ID, 0);
- ADD_PROPS(props, idx, OA_ENGINE_INSTANCE, hwe->engine_instance);
param.num_properties = (idx - props) / 2;
param.properties_ptr = to_user_pointer(props);
@@ -2498,7 +2493,6 @@ test_oa_tlb_invalidate(const struct drm_xe_engine_class_instance *hwe)
DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent_default,
DRM_XE_OA_PROPERTY_OA_DISABLED, true,
- DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
};
struct intel_xe_oa_open_prop param = {
.num_properties = ARRAY_SIZE(properties) / 2,
@@ -2563,7 +2557,6 @@ test_buffer_fill(const struct drm_xe_engine_class_instance *hwe)
DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(fmt),
DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent,
- DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
DRM_XE_OA_PROPERTY_OA_BUFFER_SIZE, buffer_fill_size,
};
struct intel_xe_oa_open_prop param = {
@@ -2611,7 +2604,6 @@ test_non_zero_reason(const struct drm_xe_engine_class_instance *hwe, size_t oa_b
DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(fmt),
DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent,
- DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
DRM_XE_OA_PROPERTY_OA_BUFFER_SIZE, oa_buffer_size ?: buffer_fill_size
};
struct intel_xe_oa_open_prop param = {
@@ -2700,7 +2692,6 @@ test_enable_disable(const struct drm_xe_engine_class_instance *hwe)
DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(fmt),
DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent_default,
DRM_XE_OA_PROPERTY_OA_DISABLED, true,
- DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
DRM_XE_OA_PROPERTY_WAIT_NUM_REPORTS, num_reports,
};
struct intel_xe_oa_open_prop param = {
@@ -3491,7 +3482,6 @@ test_stress_open_close(const struct drm_xe_engine_class_instance *hwe)
DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent_default,
DRM_XE_OA_PROPERTY_OA_DISABLED, true,
- DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
};
struct intel_xe_oa_open_prop param = {
.num_properties = ARRAY_SIZE(properties) / 2,
@@ -4008,7 +3998,6 @@ __test_mmio_triggered_reports(struct drm_xe_engine_class_instance *hwe)
DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent_default,
- DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
};
struct intel_xe_oa_open_prop param = {
.num_properties = sizeof(properties) / 16,
@@ -4114,7 +4103,6 @@ __test_mmio_triggered_reports_read(struct drm_xe_engine_class_instance *hwe)
DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent_default,
- DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
};
struct intel_xe_oa_open_prop param = {
.num_properties = sizeof(properties) / 16,
@@ -4593,7 +4581,6 @@ test_tail_address_wrap(const struct drm_xe_engine_class_instance *hwe, size_t oa
DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(fmt),
DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, exponent,
- DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
DRM_XE_OA_PROPERTY_OA_BUFFER_SIZE, buffer_size,
};
struct intel_xe_oa_open_prop param = {
@@ -4653,7 +4640,6 @@ static void test_mapped_oa_buffer(map_oa_buffer_test_t test_with_fd_open,
DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent_default,
- DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
};
struct intel_xe_oa_open_prop param = {
.num_properties = ARRAY_SIZE(properties) / 2,
--
2.48.1
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [PATCH i-g-t 03/18] tests/intel/xe_oa: Rename nth_oa_unit to oa_unit_by_id
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
2025-10-08 21:17 ` [PATCH i-g-t 01/18] tests/intel/xe_oa: Add OAM formats to lnl_oa_formats Ashutosh Dixit
2025-10-08 21:17 ` [PATCH i-g-t 02/18] tests/intel/xe_oa: Get rid of unnecessary DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE Ashutosh Dixit
@ 2025-10-08 21:17 ` Ashutosh Dixit
2025-10-08 21:56 ` Umesh Nerlige Ramappa
2025-10-08 21:17 ` [PATCH i-g-t 04/18] tests/intel/xe_oa: Change oa_unit_engine to take an oa_unit argument Ashutosh Dixit
` (18 subsequent siblings)
21 siblings, 1 reply; 46+ messages in thread
From: Ashutosh Dixit @ 2025-10-08 21:17 UTC (permalink / raw)
To: igt-dev; +Cc: Umesh Nerlige Ramappa
Rename nth_oa_unit to oa_unit_by_id. We will introduce oa_unit_by_type soon
and oa_unit_by_id fits that naming scheme.
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
tests/intel/xe_oa.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index a028823e51..65e03b1010 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -493,7 +493,7 @@ static struct drm_xe_engine_class_instance *oa_unit_engine(int fd, int n)
return hwe;
}
-static struct drm_xe_oa_unit *nth_oa_unit(int fd, int n)
+static struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
{
struct drm_xe_query_oa_units *qoa = xe_oa_units(fd);
struct drm_xe_oa_unit *oau;
@@ -502,7 +502,7 @@ static struct drm_xe_oa_unit *nth_oa_unit(int fd, int n)
poau = (u8 *)&qoa->oa_units[0];
for (int i = 0; i < qoa->num_oa_units; i++) {
oau = (struct drm_xe_oa_unit *)poau;
- if (i == n)
+ if (oau->oa_unit_id == n)
return oau;
poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]);
}
@@ -4348,7 +4348,7 @@ test_oa_unit_concurrent_oa_buffer_read(void)
struct drm_xe_engine_class_instance *hwe = oa_unit_engine(drm_fd, child);
/* No OAM support yet */
- if (nth_oa_unit(drm_fd, child)->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
+ if (oa_unit_by_id(drm_fd, child)->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
exit(0);
test_blocking(40 * 1000 * 1000, false, 5 * 1000 * 1000, hwe);
@@ -5027,7 +5027,7 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
/* See xe_query_oa_units_new() */
igt_require(xe_dev->oa_units);
igt_require(xe_dev->oa_units->num_oa_units);
- oau = nth_oa_unit(drm_fd, 0);
+ oau = oa_unit_by_id(drm_fd, 0);
devid = intel_get_drm_devid(drm_fd);
sysfs = igt_sysfs_open(drm_fd);
--
2.48.1
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [PATCH i-g-t 04/18] tests/intel/xe_oa: Change oa_unit_engine to take an oa_unit argument
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
` (2 preceding siblings ...)
2025-10-08 21:17 ` [PATCH i-g-t 03/18] tests/intel/xe_oa: Rename nth_oa_unit to oa_unit_by_id Ashutosh Dixit
@ 2025-10-08 21:17 ` Ashutosh Dixit
2025-10-08 22:40 ` Umesh Nerlige Ramappa
2025-10-08 21:17 ` [PATCH i-g-t 05/18] tests/intel/xe_oa: Add oa_unit_by_type Ashutosh Dixit
` (17 subsequent siblings)
21 siblings, 1 reply; 46+ messages in thread
From: Ashutosh Dixit @ 2025-10-08 21:17 UTC (permalink / raw)
To: igt-dev; +Cc: Umesh Nerlige Ramappa
To prevent code duplication with oa_unit_by_id(), pass 'struct
drm_xe_oa_unit *' as argument to oa_unit_engine().
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
tests/intel/xe_oa.c | 32 ++++++++------------------------
1 file changed, 8 insertions(+), 24 deletions(-)
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index 65e03b1010..c7de1d081d 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -472,25 +472,9 @@ static u64 oa_format_fields(u64 name)
}
#define __ff oa_format_fields
-static struct drm_xe_engine_class_instance *oa_unit_engine(int fd, int n)
+static struct drm_xe_engine_class_instance *oa_unit_engine(struct drm_xe_oa_unit *oau)
{
- struct drm_xe_query_oa_units *qoa = xe_oa_units(fd);
- struct drm_xe_engine_class_instance *hwe = NULL;
- struct drm_xe_oa_unit *oau;
- u8 *poau;
-
- poau = (u8 *)&qoa->oa_units[0];
- for (int i = 0; i < qoa->num_oa_units; i++) {
- oau = (struct drm_xe_oa_unit *)poau;
-
- if (i == n) {
- hwe = oau->num_engines ? &oau->eci[random() % oau->num_engines] : NULL;
- break;
- }
- poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]);
- }
-
- return hwe;
+ return !oau ? NULL : oau->num_engines ? &oau->eci[random() % oau->num_engines] : NULL;
}
static struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
@@ -4263,7 +4247,7 @@ test_oa_unit_exclusive_stream(bool exponent)
/* for each oa unit, open one random perf stream with sample OA */
for (i = 0; i < qoa->num_oa_units; i++) {
- struct drm_xe_engine_class_instance *hwe = oa_unit_engine(drm_fd, i);
+ struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oa_unit_by_id(drm_fd, i));
oau = (struct drm_xe_oa_unit *)poau;
if (oau->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
@@ -4295,7 +4279,7 @@ test_oa_unit_exclusive_stream(bool exponent)
/* for each oa unit make sure no other streams can be opened */
poau = (u8 *)&qoa->oa_units[0];
for (i = 0; i < qoa->num_oa_units; i++) {
- struct drm_xe_engine_class_instance *hwe = oa_unit_engine(drm_fd, i);
+ struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oa_unit_by_id(drm_fd, i));
int err;
oau = (struct drm_xe_oa_unit *)poau;
@@ -4345,7 +4329,7 @@ test_oa_unit_concurrent_oa_buffer_read(void)
struct drm_xe_query_oa_units *qoa = xe_oa_units(drm_fd);
igt_fork(child, qoa->num_oa_units) {
- struct drm_xe_engine_class_instance *hwe = oa_unit_engine(drm_fd, child);
+ struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oa_unit_by_id(drm_fd, child));
/* No OAM support yet */
if (oa_unit_by_id(drm_fd, child)->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
@@ -4924,18 +4908,18 @@ static const char *xe_engine_class_name(uint32_t engine_class)
#define __for_one_hwe_in_each_oa_unit(hwe) \
for (int m = 0; !m || hwe; m++) \
- for_each_if(hwe = oa_unit_engine(drm_fd, m)) \
+ for_each_if(hwe = oa_unit_engine(oa_unit_by_id(drm_fd, m))) \
igt_dynamic_f("%s-%d", xe_engine_class_name(hwe->engine_class), \
hwe->engine_instance)
/* Only OAG (not OAM) is currently supported */
#define __for_one_hwe_in_oag(hwe) \
- if ((hwe = oa_unit_engine(drm_fd, 0))) \
+ if ((hwe = oa_unit_engine(oa_unit_by_id(drm_fd, 0)))) \
igt_dynamic_f("%s-%d", xe_engine_class_name(hwe->engine_class), \
hwe->engine_instance)
#define __for_one_hwe_in_oag_w_arg(hwe, str) \
- if ((hwe = oa_unit_engine(drm_fd, 0))) \
+ if ((hwe = oa_unit_engine(oa_unit_by_id(drm_fd, 0)))) \
igt_dynamic_f("%s-%d-%s", xe_engine_class_name(hwe->engine_class), \
hwe->engine_instance, str)
--
2.48.1
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [PATCH i-g-t 05/18] tests/intel/xe_oa: Add oa_unit_by_type
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
` (3 preceding siblings ...)
2025-10-08 21:17 ` [PATCH i-g-t 04/18] tests/intel/xe_oa: Change oa_unit_engine to take an oa_unit argument Ashutosh Dixit
@ 2025-10-08 21:17 ` Ashutosh Dixit
2025-10-08 22:42 ` Umesh Nerlige Ramappa
2025-10-08 21:17 ` [PATCH i-g-t 06/18] tests/intel/xe_oa: Add for_each_oa_unit Ashutosh Dixit
` (16 subsequent siblings)
21 siblings, 1 reply; 46+ messages in thread
From: Ashutosh Dixit @ 2025-10-08 21:17 UTC (permalink / raw)
To: igt-dev; +Cc: Umesh Nerlige Ramappa
Add a function which returns an OA unit identified by its type (similar to
oa_unit_by_id()).
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
tests/intel/xe_oa.c | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index c7de1d081d..012f5929ce 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -494,6 +494,23 @@ static struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
return NULL;
}
+static struct drm_xe_oa_unit *oa_unit_by_type(int fd, int t)
+{
+ struct drm_xe_query_oa_units *qoa = xe_oa_units(fd);
+ struct drm_xe_oa_unit *oau;
+ u8 *poau;
+
+ poau = (u8 *)&qoa->oa_units[0];
+ for (int i = 0; i < qoa->num_oa_units; i++) {
+ oau = (struct drm_xe_oa_unit *)poau;
+ if (oau->oa_unit_type == t)
+ return oau;
+ poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]);
+ }
+
+ return NULL;
+}
+
static char *
pretty_print_oa_period(uint64_t oa_period_ns)
{
@@ -4914,12 +4931,12 @@ static const char *xe_engine_class_name(uint32_t engine_class)
/* Only OAG (not OAM) is currently supported */
#define __for_one_hwe_in_oag(hwe) \
- if ((hwe = oa_unit_engine(oa_unit_by_id(drm_fd, 0)))) \
+ if ((hwe = oa_unit_engine(oa_unit_by_type(drm_fd, DRM_XE_OA_UNIT_TYPE_OAG)))) \
igt_dynamic_f("%s-%d", xe_engine_class_name(hwe->engine_class), \
hwe->engine_instance)
#define __for_one_hwe_in_oag_w_arg(hwe, str) \
- if ((hwe = oa_unit_engine(oa_unit_by_id(drm_fd, 0)))) \
+ if ((hwe = oa_unit_engine(oa_unit_by_type(drm_fd, DRM_XE_OA_UNIT_TYPE_OAG)))) \
igt_dynamic_f("%s-%d-%s", xe_engine_class_name(hwe->engine_class), \
hwe->engine_instance, str)
--
2.48.1
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [PATCH i-g-t 06/18] tests/intel/xe_oa: Add for_each_oa_unit
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
` (4 preceding siblings ...)
2025-10-08 21:17 ` [PATCH i-g-t 05/18] tests/intel/xe_oa: Add oa_unit_by_type Ashutosh Dixit
@ 2025-10-08 21:17 ` Ashutosh Dixit
2025-10-08 23:31 ` Umesh Nerlige Ramappa
2025-10-08 21:17 ` [PATCH i-g-t 07/18] tests/intel/xe_oa: Convert test_oa_formats to take an OA unit argument Ashutosh Dixit
` (15 subsequent siblings)
21 siblings, 1 reply; 46+ messages in thread
From: Ashutosh Dixit @ 2025-10-08 21:17 UTC (permalink / raw)
To: igt-dev; +Cc: Umesh Nerlige Ramappa
Add a for_each_oa_unit iterator, which eliminates code duplication when
iterating over OA units obtained from OA unit query.
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
tests/intel/xe_oa.c | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index 012f5929ce..bc71bfcd30 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -477,18 +477,21 @@ static struct drm_xe_engine_class_instance *oa_unit_engine(struct drm_xe_oa_unit
return !oau ? NULL : oau->num_engines ? &oau->eci[random() % oau->num_engines] : NULL;
}
+#define for_each_oa_unit(qoa, oau, poau, i) \
+ for (i = 0, qoa = xe_oa_units(drm_fd), poau = (u8 *)&qoa->oa_units[0]; \
+ oau = (struct drm_xe_oa_unit *)poau, i < qoa->num_oa_units; \
+ poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]), i++)
+
static struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
{
- struct drm_xe_query_oa_units *qoa = xe_oa_units(fd);
+ struct drm_xe_query_oa_units *qoa;
struct drm_xe_oa_unit *oau;
u8 *poau;
+ int i;
- poau = (u8 *)&qoa->oa_units[0];
- for (int i = 0; i < qoa->num_oa_units; i++) {
- oau = (struct drm_xe_oa_unit *)poau;
+ for_each_oa_unit(qoa, oau, poau, i) {
if (oau->oa_unit_id == n)
return oau;
- poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]);
}
return NULL;
@@ -496,16 +499,14 @@ static struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
static struct drm_xe_oa_unit *oa_unit_by_type(int fd, int t)
{
- struct drm_xe_query_oa_units *qoa = xe_oa_units(fd);
+ struct drm_xe_query_oa_units *qoa;
struct drm_xe_oa_unit *oau;
u8 *poau;
+ int i;
- poau = (u8 *)&qoa->oa_units[0];
- for (int i = 0; i < qoa->num_oa_units; i++) {
- oau = (struct drm_xe_oa_unit *)poau;
+ for_each_oa_unit(qoa, oau, poau, i) {
if (oau->oa_unit_type == t)
return oau;
- poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]);
}
return NULL;
--
2.48.1
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [PATCH i-g-t 07/18] tests/intel/xe_oa: Convert test_oa_formats to take an OA unit argument
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
` (5 preceding siblings ...)
2025-10-08 21:17 ` [PATCH i-g-t 06/18] tests/intel/xe_oa: Add for_each_oa_unit Ashutosh Dixit
@ 2025-10-08 21:17 ` Ashutosh Dixit
2025-10-10 22:22 ` Umesh Nerlige Ramappa
2025-10-08 21:17 ` [PATCH i-g-t 08/18] tests/intel/xe_oa: Convert several more tests to take OA unit arguments Ashutosh Dixit
` (14 subsequent siblings)
21 siblings, 1 reply; 46+ messages in thread
From: Ashutosh Dixit @ 2025-10-08 21:17 UTC (permalink / raw)
To: igt-dev; +Cc: Umesh Nerlige Ramappa
To enable OA IGT's to run on all OA units, OA unit tests are converted to
take a 'struct drm_xe_oa_unit *' argument (instead of hwe). This patch
converts the first unit test (test_oa_formats), so it introduces this new
infrastructure.
OA units are now identified via a name (corresponding to OA unit type) and
id. OA units are longer identified by hwe, because some OA units have no
associated hwe's.
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
tests/intel/xe_oa.c | 92 ++++++++++++++++++++++++++++++++++-----------
1 file changed, 71 insertions(+), 21 deletions(-)
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index bc71bfcd30..af01a79d38 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -327,8 +327,6 @@ static int pm_fd = -1;
static int stream_fd = -1;
static uint32_t devid;
-static struct drm_xe_engine_class_instance default_hwe;
-
static struct intel_xe_perf *intel_xe_perf;
static uint64_t oa_exponent_default;
static size_t default_oa_buffer_size;
@@ -340,6 +338,54 @@ static uint32_t min_oa_exponent;
static uint32_t buffer_fill_size;
static uint32_t num_buf_sizes;
+/* OA unit names */
+static const char *oa_unit_name[] = {
+ [DRM_XE_OA_UNIT_TYPE_OAG] = "oag",
+ [DRM_XE_OA_UNIT_TYPE_OAM] = "oam",
+ [DRM_XE_OA_UNIT_TYPE_OAM_SAG] = "sag",
+};
+
+static struct intel_xe_perf_metric_set *oa_unit_metric_set(struct drm_xe_oa_unit *oau)
+{
+ const char *test_set_name = NULL;
+ struct intel_xe_perf_metric_set *metric_set_iter;
+ struct intel_xe_perf_metric_set *test_set = NULL;
+
+ if (oau->oa_unit_type == DRM_XE_OA_UNIT_TYPE_OAG)
+ test_set_name = "TestOa";
+ else if (HAS_OAM(devid) &&
+ (oau->oa_unit_type == DRM_XE_OA_UNIT_TYPE_OAM ||
+ oau->oa_unit_type == DRM_XE_OA_UNIT_TYPE_OAM_SAG))
+ test_set_name = "MediaSet1";
+ else
+ igt_assert(!"reached");
+
+ igt_list_for_each_entry(metric_set_iter, &intel_xe_perf->metric_sets, link) {
+ if (strcmp(metric_set_iter->symbol_name, test_set_name) == 0) {
+ test_set = metric_set_iter;
+ break;
+ }
+ }
+
+ igt_assert(test_set);
+
+ /*
+ * configuration was loaded in init_sys_info() ->
+ * intel_xe_perf_load_perf_configs(), and test_set->perf_oa_metrics_set
+ * should point to metric id returned by the config add ioctl. 0 is
+ * invalid.
+ */
+ igt_assert_neq_u64(test_set->perf_oa_metrics_set, 0);
+
+ igt_debug("oa_unit %d:%d - %s metric set UUID = %s\n",
+ oau->oa_unit_id,
+ oau->oa_unit_type,
+ test_set->symbol_name,
+ test_set->hw_config_guid);
+
+ return test_set;
+}
+
static struct intel_xe_perf_metric_set *metric_set(const struct drm_xe_engine_class_instance *hwe)
{
const char *test_set_name = NULL;
@@ -381,7 +427,7 @@ static struct intel_xe_perf_metric_set *metric_set(const struct drm_xe_engine_cl
return test_set;
}
-#define default_test_set metric_set(&default_hwe)
+#define default_test_set oa_unit_metric_set(oa_unit_by_type(drm_fd, DRM_XE_OA_UNIT_TYPE_OAG))
static void set_fd_flags(int fd, int flags)
{
@@ -1548,11 +1594,11 @@ open_and_read_2_oa_reports(int format_id,
uint32_t *oa_report0,
uint32_t *oa_report1,
bool timer_only,
- const struct drm_xe_engine_class_instance *hwe)
+ struct drm_xe_oa_unit *oau)
{
- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
uint64_t properties[] = {
- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
/* Include OA reports in samples */
DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
@@ -1672,32 +1718,28 @@ print_reports(uint32_t *oa_report0, uint32_t *oa_report1, int fmt)
}
static bool
-hwe_supports_oa_type(int oa_type, const struct drm_xe_engine_class_instance *hwe)
+oau_supports_oa_type(int oa_type, struct drm_xe_oa_unit *oau)
{
switch (oa_type) {
case DRM_XE_OA_FMT_TYPE_OAM:
case DRM_XE_OA_FMT_TYPE_OAM_MPEC:
- return hwe->engine_class == DRM_XE_ENGINE_CLASS_VIDEO_DECODE ||
- hwe->engine_class == DRM_XE_ENGINE_CLASS_VIDEO_ENHANCE;
+ return oau->oa_unit_type == DRM_XE_OA_UNIT_TYPE_OAM ||
+ oau->oa_unit_type == DRM_XE_OA_UNIT_TYPE_OAM_SAG;
case DRM_XE_OA_FMT_TYPE_OAG:
case DRM_XE_OA_FMT_TYPE_OAR:
- return hwe->engine_class == DRM_XE_ENGINE_CLASS_RENDER;
case DRM_XE_OA_FMT_TYPE_OAC:
- return hwe->engine_class == DRM_XE_ENGINE_CLASS_COMPUTE;
case DRM_XE_OA_FMT_TYPE_PEC:
- return hwe->engine_class == DRM_XE_ENGINE_CLASS_RENDER ||
- hwe->engine_class == DRM_XE_ENGINE_CLASS_COMPUTE;
+ return oau->oa_unit_type == DRM_XE_OA_UNIT_TYPE_OAG;
default:
return false;
}
-
}
/**
* SUBTEST: oa-formats
* Description: Test that supported OA formats work as expected
*/
-static void test_oa_formats(const struct drm_xe_engine_class_instance *hwe)
+static void test_oa_formats(struct drm_xe_oa_unit *oau)
{
for (int i = 0; i < XE_OA_FORMAT_MAX; i++) {
struct oa_format format = get_oa_format(i);
@@ -1707,7 +1749,7 @@ static void test_oa_formats(const struct drm_xe_engine_class_instance *hwe)
if (!format.name) /* sparse, indexed by ID */
continue;
- if (!hwe_supports_oa_type(format.oa_type, hwe))
+ if (!oau_supports_oa_type(format.oa_type, oau))
continue;
igt_debug("Checking OA format %s\n", format.name);
@@ -1717,13 +1759,13 @@ static void test_oa_formats(const struct drm_xe_engine_class_instance *hwe)
oa_report0,
oa_report1,
false, /* timer reports only */
- hwe);
+ oau);
print_reports(oa_report0, oa_report1, i);
sanity_check_reports(oa_report0, oa_report1, i);
- if (i == metric_set(hwe)->perf_oa_format)
- pec_sanity_check_reports(oa_report0, oa_report1, metric_set(hwe));
+ if (i == oa_unit_metric_set(oau)->perf_oa_format)
+ pec_sanity_check_reports(oa_report0, oa_report1, oa_unit_metric_set(oau));
}
}
@@ -4946,6 +4988,14 @@ static const char *xe_engine_class_name(uint32_t engine_class)
igt_require_f(hwe, "no render engine\n"); \
igt_dynamic_f("rcs-%d", hwe->engine_instance)
+#define __for_oa_unit_by_type(k) \
+ if ((oau = oa_unit_by_type(drm_fd, k))) \
+ igt_dynamic_f("%s-%d", oa_unit_name[oau->oa_unit_type], oau->oa_unit_id)
+
+#define __for_oa_unit_by_type_w_arg(k, str) \
+ if ((oau = oa_unit_by_type(drm_fd, k))) \
+ igt_dynamic_f("%s-%d-%s", oa_unit_name[oau->oa_unit_type], oau->oa_unit_id, str)
+
static int opt_handler(int opt, int opt_index, void *data)
{
uint32_t tmp;
@@ -5057,8 +5107,8 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
test_missing_sample_flags();
igt_subtest_with_dynamic("oa-formats")
- __for_one_hwe_in_oag(hwe)
- test_oa_formats(hwe);
+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
+ test_oa_formats(oau);
igt_subtest("invalid-oa-exponent")
test_invalid_oa_exponent();
--
2.48.1
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [PATCH i-g-t 08/18] tests/intel/xe_oa: Convert several more tests to take OA unit arguments
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
` (6 preceding siblings ...)
2025-10-08 21:17 ` [PATCH i-g-t 07/18] tests/intel/xe_oa: Convert test_oa_formats to take an OA unit argument Ashutosh Dixit
@ 2025-10-08 21:17 ` Ashutosh Dixit
2025-10-10 22:24 ` Umesh Nerlige Ramappa
2025-10-08 21:17 ` [PATCH i-g-t 09/18] tests/intel/xe_oa: Convert test_non_zero_reason to take an OA unit argument Ashutosh Dixit
` (13 subsequent siblings)
21 siblings, 1 reply; 46+ messages in thread
From: Ashutosh Dixit @ 2025-10-08 21:17 UTC (permalink / raw)
To: igt-dev; +Cc: Umesh Nerlige Ramappa
Convert the following tests to take 'struct drm_xe_oa_unit *'
arguments (instead of hwe), to enable these to be run on all OA units:
- test_oa_exponents
- test_buffer_fill
- test_enable_disable
- test_oa_tlb_invalidate
- test_stress_open_close
- test_tail_address_wrap
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
tests/intel/xe_oa.c | 60 ++++++++++++++++++++++-----------------------
1 file changed, 30 insertions(+), 30 deletions(-)
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index af01a79d38..ac15da09a3 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -1896,9 +1896,9 @@ static bool expected_report_timing_delta(uint32_t delta, uint32_t expected_delta
* SUBTEST: oa-exponents
* Description: Test that oa exponent values behave as expected
*/
-static void test_oa_exponents(const struct drm_xe_engine_class_instance *hwe)
+static void test_oa_exponents(struct drm_xe_oa_unit *oau)
{
- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
uint64_t fmt = test_set->perf_oa_format;
load_helper_init();
@@ -1910,7 +1910,7 @@ static void test_oa_exponents(const struct drm_xe_engine_class_instance *hwe)
*/
for (int exponent = min_oa_exponent; exponent < max_oa_exponent; exponent++) {
uint64_t properties[] = {
- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
/* Include OA reports in samples */
DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
@@ -2526,11 +2526,11 @@ num_valid_reports_captured(struct intel_xe_oa_open_prop *param,
* Description: Open OA stream twice to verify OA TLB invalidation
*/
static void
-test_oa_tlb_invalidate(const struct drm_xe_engine_class_instance *hwe)
+test_oa_tlb_invalidate(struct drm_xe_oa_unit *oau)
{
- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
uint64_t properties[] = {
- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
@@ -2584,15 +2584,15 @@ wait_for_oa_buffer_overflow(int fd, int poll_period_us)
* Description: Test filling and overflow of OA buffer
*/
static void
-test_buffer_fill(const struct drm_xe_engine_class_instance *hwe)
+test_buffer_fill(struct drm_xe_oa_unit *oau)
{
/* ~5 micro second period */
int oa_exponent = max_oa_exponent_for_period_lte(5000);
uint64_t oa_period = oa_exponent_to_ns(oa_exponent);
- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
uint64_t fmt = test_set->perf_oa_format;
uint64_t properties[] = {
- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
/* Include OA reports in samples */
DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
@@ -2724,13 +2724,13 @@ test_non_zero_reason(const struct drm_xe_engine_class_instance *hwe, size_t oa_b
* Description: Test that OA stream enable/disable works as expected
*/
static void
-test_enable_disable(const struct drm_xe_engine_class_instance *hwe)
+test_enable_disable(struct drm_xe_oa_unit *oau)
{
uint32_t num_reports = 5;
- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
uint64_t fmt = test_set->perf_oa_format;
uint64_t properties[] = {
- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(fmt),
@@ -3505,16 +3505,16 @@ test_rc6_disable(void)
* Description: Open/close OA streams in a tight loop
*/
static void
-test_stress_open_close(const struct drm_xe_engine_class_instance *hwe)
+test_stress_open_close(struct drm_xe_oa_unit *oau)
{
- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
load_helper_init();
load_helper_run(HIGH);
igt_until_timeout(2) {
uint64_t properties[] = {
- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
/* XXX: even without periodic sampling we have to
* specify at least one sample layout property...
@@ -4613,14 +4613,14 @@ static void closed_fd_and_unmapped_access(const struct drm_xe_engine_class_insta
* has zeroes in it.
*/
static void
-test_tail_address_wrap(const struct drm_xe_engine_class_instance *hwe, size_t oa_buffer_size)
+test_tail_address_wrap(struct drm_xe_oa_unit *oau, size_t oa_buffer_size)
{
- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
u64 exponent = max_oa_exponent_for_period_lte(20000);
u64 buffer_size = oa_buffer_size ?: buffer_fill_size;
u64 fmt = test_set->perf_oa_format;
u64 properties[] = {
- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(fmt),
@@ -5114,13 +5114,13 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
test_invalid_oa_exponent();
igt_subtest_with_dynamic("oa-exponents")
- __for_one_hwe_in_oag(hwe)
- test_oa_exponents(hwe);
+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
+ test_oa_exponents(oau);
igt_subtest_with_dynamic("buffer-fill") {
igt_require(oau->capabilities & DRM_XE_OA_CAPS_OA_BUFFER_SIZE);
- __for_one_hwe_in_oag(hwe)
- test_buffer_fill(hwe);
+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
+ test_buffer_fill(oau);
}
/**
@@ -5148,8 +5148,8 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
test_non_sampling_read_error();
igt_subtest_with_dynamic("enable-disable")
- __for_one_hwe_in_oag(hwe)
- test_enable_disable(hwe);
+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
+ test_enable_disable(oau);
igt_subtest_with_dynamic("blocking") {
igt_require(!igt_run_in_simulation());
@@ -5183,8 +5183,8 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
igt_subtest_with_dynamic("oa-tlb-invalidate") {
igt_require(intel_graphics_ver(devid) <= IP_VER(12, 70) &&
intel_graphics_ver(devid) != IP_VER(12, 60));
- __for_one_hwe_in_oag(hwe)
- test_oa_tlb_invalidate(hwe);
+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
+ test_oa_tlb_invalidate(oau);
}
igt_subtest_with_dynamic("unprivileged-single-ctx-counters") {
@@ -5213,8 +5213,8 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
}
igt_subtest_with_dynamic("stress-open-close") {
- __for_one_hwe_in_oag(hwe)
- test_stress_open_close(hwe);
+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
+ test_stress_open_close(oau);
}
igt_subtest("invalid-create-userspace-config")
@@ -5259,8 +5259,8 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
long k = random() % num_buf_sizes;
igt_require(oau->capabilities & DRM_XE_OA_CAPS_OA_BUFFER_SIZE);
- __for_one_hwe_in_oag_w_arg(hwe, buf_sizes[k].name)
- test_tail_address_wrap(hwe, buf_sizes[k].size);
+ __for_oa_unit_by_type_w_arg(DRM_XE_OA_UNIT_TYPE_OAG, buf_sizes[k].name)
+ test_tail_address_wrap(oau, buf_sizes[k].size);
}
igt_subtest_group {
--
2.48.1
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [PATCH i-g-t 09/18] tests/intel/xe_oa: Convert test_non_zero_reason to take an OA unit argument
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
` (7 preceding siblings ...)
2025-10-08 21:17 ` [PATCH i-g-t 08/18] tests/intel/xe_oa: Convert several more tests to take OA unit arguments Ashutosh Dixit
@ 2025-10-08 21:17 ` Ashutosh Dixit
2025-10-10 22:24 ` Umesh Nerlige Ramappa
2025-10-08 21:17 ` [PATCH i-g-t 10/18] tests/intel/xe_oa: Convert blocking/polling tests to take OA unit arguments Ashutosh Dixit
` (12 subsequent siblings)
21 siblings, 1 reply; 46+ messages in thread
From: Ashutosh Dixit @ 2025-10-08 21:17 UTC (permalink / raw)
To: igt-dev; +Cc: Umesh Nerlige Ramappa
Convert test_non_zero_reason to take 'struct drm_xe_oa_unit *' argument, to
enable it to be run on all OA units.
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
tests/intel/xe_oa.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index ac15da09a3..8ee8a85ed7 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -2631,15 +2631,15 @@ test_buffer_fill(struct drm_xe_oa_unit *oau)
* Description: Test reason field is non-zero. Can also check OA buffer wraparound issues
*/
static void
-test_non_zero_reason(const struct drm_xe_engine_class_instance *hwe, size_t oa_buffer_size)
+test_non_zero_reason(struct drm_xe_oa_unit *oau, size_t oa_buffer_size)
{
/* ~20 micro second period */
int oa_exponent = max_oa_exponent_for_period_lte(20000);
- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
uint64_t fmt = test_set->perf_oa_format;
size_t report_size = get_oa_format(fmt).size;
uint64_t properties[] = {
- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
/* Include OA reports in samples */
DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
@@ -2710,7 +2710,7 @@ test_non_zero_reason(const struct drm_xe_engine_class_instance *hwe, size_t oa_b
*/
if (!oa_buffer_size && last_report && (offset / report_size == check_idx)) {
sanity_check_reports(last_report, report, fmt);
- pec_sanity_check_reports(last_report, report, metric_set(hwe));
+ pec_sanity_check_reports(last_report, report, oa_unit_metric_set(oau));
}
last_report = report;
@@ -5131,15 +5131,15 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
long k = random() % num_buf_sizes;
igt_require(oau->capabilities & DRM_XE_OA_CAPS_OA_BUFFER_SIZE);
- __for_one_hwe_in_oag_w_arg(hwe, buf_sizes[k].name)
- test_non_zero_reason(hwe, buf_sizes[k].size);
+ __for_oa_unit_by_type_w_arg(DRM_XE_OA_UNIT_TYPE_OAG, buf_sizes[k].name)
+ test_non_zero_reason(oau, buf_sizes[k].size);
}
igt_subtest_with_dynamic("non-zero-reason") {
igt_require(!igt_run_in_simulation());
igt_require(oau->capabilities & DRM_XE_OA_CAPS_OA_BUFFER_SIZE);
- __for_one_hwe_in_oag(hwe)
- test_non_zero_reason(hwe, 0);
+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
+ test_non_zero_reason(oau, 0);
}
igt_subtest("disabled-read-error")
--
2.48.1
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [PATCH i-g-t 10/18] tests/intel/xe_oa: Convert blocking/polling tests to take OA unit arguments
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
` (8 preceding siblings ...)
2025-10-08 21:17 ` [PATCH i-g-t 09/18] tests/intel/xe_oa: Convert test_non_zero_reason to take an OA unit argument Ashutosh Dixit
@ 2025-10-08 21:17 ` Ashutosh Dixit
2025-10-10 22:25 ` Umesh Nerlige Ramappa
2025-10-08 21:17 ` [PATCH i-g-t 11/18] tests/intel/xe_oa: Convert test_mi_rpc to take an OA unit argument Ashutosh Dixit
` (11 subsequent siblings)
21 siblings, 1 reply; 46+ messages in thread
From: Ashutosh Dixit @ 2025-10-08 21:17 UTC (permalink / raw)
To: igt-dev; +Cc: Umesh Nerlige Ramappa
Convert blocking/polling tests to take 'struct drm_xe_oa_unit *' arguments,
to enable these to be run on all OA units.
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
tests/intel/xe_oa.c | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index 8ee8a85ed7..739da370ef 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -2099,7 +2099,7 @@ get_time(void)
static void test_blocking(uint64_t requested_oa_period,
bool set_kernel_hrtimer,
uint64_t kernel_hrtimer,
- const struct drm_xe_engine_class_instance *hwe)
+ struct drm_xe_oa_unit *oau)
{
int oa_exponent = max_oa_exponent_for_period_lte(requested_oa_period);
uint64_t oa_period = oa_exponent_to_ns(oa_exponent);
@@ -2128,7 +2128,7 @@ static void test_blocking(uint64_t requested_oa_period,
int min_iterations = (test_duration_ns / (oa_period + kernel_hrtimer + kernel_hrtimer / 5));
int64_t start, end;
int n = 0;
- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
size_t format_size = get_oa_format(test_set->perf_oa_format).size;
ADD_PROPS(props, idx, SAMPLE_OA, true);
@@ -2136,7 +2136,7 @@ static void test_blocking(uint64_t requested_oa_period,
ADD_PROPS(props, idx, OA_FORMAT, __ff(test_set->perf_oa_format));
ADD_PROPS(props, idx, OA_PERIOD_EXPONENT, oa_exponent);
ADD_PROPS(props, idx, OA_DISABLED, true);
- ADD_PROPS(props, idx, OA_UNIT_ID, 0);
+ ADD_PROPS(props, idx, OA_UNIT_ID, oau->oa_unit_id);
param.num_properties = (idx - props) / 2;
param.properties_ptr = to_user_pointer(props);
@@ -2242,7 +2242,7 @@ static void test_blocking(uint64_t requested_oa_period,
static void test_polling(uint64_t requested_oa_period,
bool set_kernel_hrtimer,
uint64_t kernel_hrtimer,
- const struct drm_xe_engine_class_instance *hwe)
+ struct drm_xe_oa_unit *oau)
{
int oa_exponent = max_oa_exponent_for_period_lte(requested_oa_period);
uint64_t oa_period = oa_exponent_to_ns(oa_exponent);
@@ -2272,7 +2272,7 @@ static void test_polling(uint64_t requested_oa_period,
int min_iterations = (test_duration_ns / (oa_period + (kernel_hrtimer + kernel_hrtimer / 5)));
int64_t start, end;
int n = 0;
- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
size_t format_size = get_oa_format(test_set->perf_oa_format).size;
ADD_PROPS(props, idx, SAMPLE_OA, true);
@@ -2280,7 +2280,7 @@ static void test_polling(uint64_t requested_oa_period,
ADD_PROPS(props, idx, OA_FORMAT, __ff(test_set->perf_oa_format));
ADD_PROPS(props, idx, OA_PERIOD_EXPONENT, oa_exponent);
ADD_PROPS(props, idx, OA_DISABLED, true);
- ADD_PROPS(props, idx, OA_UNIT_ID, 0);
+ ADD_PROPS(props, idx, OA_UNIT_ID, oau->oa_unit_id);
param.num_properties = (idx - props) / 2;
param.properties_ptr = to_user_pointer(props);
@@ -4389,13 +4389,13 @@ test_oa_unit_concurrent_oa_buffer_read(void)
struct drm_xe_query_oa_units *qoa = xe_oa_units(drm_fd);
igt_fork(child, qoa->num_oa_units) {
- struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oa_unit_by_id(drm_fd, child));
+ struct drm_xe_oa_unit *oau = oa_unit_by_id(drm_fd, child);
/* No OAM support yet */
- if (oa_unit_by_id(drm_fd, child)->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
+ if (oau->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
exit(0);
- test_blocking(40 * 1000 * 1000, false, 5 * 1000 * 1000, hwe);
+ test_blocking(40 * 1000 * 1000, false, 5 * 1000 * 1000, oau);
}
igt_waitchildren();
}
@@ -5153,20 +5153,20 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
igt_subtest_with_dynamic("blocking") {
igt_require(!igt_run_in_simulation());
- __for_one_hwe_in_oag(hwe)
+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
test_blocking(40 * 1000 * 1000 /* 40ms oa period */,
false /* set_kernel_hrtimer */,
5 * 1000 * 1000 /* default 5ms/200Hz hrtimer */,
- hwe);
+ oau);
}
igt_subtest_with_dynamic("polling") {
igt_require(!igt_run_in_simulation());
- __for_one_hwe_in_oag(hwe)
+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
test_polling(40 * 1000 * 1000 /* 40ms oa period */,
false /* set_kernel_hrtimer */,
5 * 1000 * 1000 /* default 5ms/200Hz hrtimer */,
- hwe);
+ oau);
}
igt_subtest("polling-small-buf")
--
2.48.1
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [PATCH i-g-t 11/18] tests/intel/xe_oa: Convert test_mi_rpc to take an OA unit argument
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
` (9 preceding siblings ...)
2025-10-08 21:17 ` [PATCH i-g-t 10/18] tests/intel/xe_oa: Convert blocking/polling tests to take OA unit arguments Ashutosh Dixit
@ 2025-10-08 21:17 ` Ashutosh Dixit
2025-10-10 22:26 ` Umesh Nerlige Ramappa
2025-10-08 21:17 ` [PATCH i-g-t 12/18] tests/intel/xe_oa: Convert test_single_ctx_render_target_writes_a_counter Ashutosh Dixit
` (10 subsequent siblings)
21 siblings, 1 reply; 46+ messages in thread
From: Ashutosh Dixit @ 2025-10-08 21:17 UTC (permalink / raw)
To: igt-dev; +Cc: Umesh Nerlige Ramappa
Convert test_mi_rpc to take 'struct drm_xe_oa_unit *' argument, to enable
it to be run on all OA units.
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
tests/intel/xe_oa.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index 739da370ef..efcac06e15 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -2994,15 +2994,16 @@ test_disabled_read_error(void)
* Description: Test OAR/OAC using MI_REPORT_PERF_COUNT
*/
static void
-test_mi_rpc(struct drm_xe_engine_class_instance *hwe)
+test_mi_rpc(struct drm_xe_oa_unit *oau)
{
+ struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oau);
uint64_t fmt = ((IS_DG2(devid) || IS_METEORLAKE(devid)) &&
hwe->engine_class == DRM_XE_ENGINE_CLASS_COMPUTE) ?
XE_OAC_FORMAT_A24u64_B8_C8 : oar_unit_default_format();
- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
uint64_t properties[] = {
- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
/* On Gen12, MI RPC uses OAR. OAR is configured only for the
* render context that wants to measure the performance. Hence a
@@ -5177,8 +5178,8 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
igt_subtest_group {
igt_subtest_with_dynamic("mi-rpc")
- __for_one_hwe_in_oag(hwe)
- test_mi_rpc(hwe);
+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
+ test_mi_rpc(oau);
igt_subtest_with_dynamic("oa-tlb-invalidate") {
igt_require(intel_graphics_ver(devid) <= IP_VER(12, 70) &&
--
2.48.1
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [PATCH i-g-t 12/18] tests/intel/xe_oa: Convert test_single_ctx_render_target_writes_a_counter
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
` (10 preceding siblings ...)
2025-10-08 21:17 ` [PATCH i-g-t 11/18] tests/intel/xe_oa: Convert test_mi_rpc to take an OA unit argument Ashutosh Dixit
@ 2025-10-08 21:17 ` Ashutosh Dixit
2025-10-10 22:27 ` Umesh Nerlige Ramappa
2025-10-08 21:18 ` [PATCH i-g-t 13/18] tests/intel/xe_oa: Convert OA buffer mmap tests to take OA unit arguments Ashutosh Dixit
` (9 subsequent siblings)
21 siblings, 1 reply; 46+ messages in thread
From: Ashutosh Dixit @ 2025-10-08 21:17 UTC (permalink / raw)
To: igt-dev; +Cc: Umesh Nerlige Ramappa
Convert test_single_ctx_render_target_writes_a_counter to take 'struct
drm_xe_oa_unit *' argument, to enable it to be run on all OA units.
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
tests/intel/xe_oa.c | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index efcac06e15..01df791dc5 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -3125,12 +3125,14 @@ emit_stall_timestamp_and_rpc(struct intel_bb *ibb,
emit_report_perf_count(ibb, dst, report_dst_offset, report_id);
}
-static void single_ctx_helper(struct drm_xe_engine_class_instance *hwe)
+static void single_ctx_helper(struct drm_xe_oa_unit *oau)
{
- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
+ struct drm_xe_engine_class_instance *hwe =
+ &xe_find_engine_by_class(drm_fd, DRM_XE_ENGINE_CLASS_RENDER)->instance;
uint64_t fmt = oar_unit_default_format();
uint64_t properties[] = {
- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
/* Have a random value here for the context id, but initialize
* it once you figure out the context ID for the work to be
@@ -3172,6 +3174,8 @@ static void single_ctx_helper(struct drm_xe_engine_class_instance *hwe)
uint32_t ctx_id_offset, counter_offset, dst_buf_size;
struct oa_format format = get_oa_format(fmt);
+ igt_require_f(hwe, "no render engine\n");
+
if (format.report_hdr_64bit) {
ctx_id_offset = 4;
counter_offset = 8;
@@ -3429,7 +3433,7 @@ static void single_ctx_helper(struct drm_xe_engine_class_instance *hwe)
* Description: A harder test for OAR/OAC using MI_REPORT_PERF_COUNT
*/
static void
-test_single_ctx_render_target_writes_a_counter(struct drm_xe_engine_class_instance *hwe)
+test_single_ctx_render_target_writes_a_counter(struct drm_xe_oa_unit *oau)
{
int child_ret;
struct igt_helper_process child = {};
@@ -3444,7 +3448,7 @@ test_single_ctx_render_target_writes_a_counter(struct drm_xe_engine_class_instan
igt_drop_root();
- single_ctx_helper(hwe);
+ single_ctx_helper(oau);
drm_close_driver(drm_fd);
}
@@ -5190,8 +5194,8 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
igt_subtest_with_dynamic("unprivileged-single-ctx-counters") {
igt_require_f(render_copy, "no render-copy function\n");
- __for_one_render_engine(hwe)
- test_single_ctx_render_target_writes_a_counter(hwe);
+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
+ test_single_ctx_render_target_writes_a_counter(oau);
}
}
--
2.48.1
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [PATCH i-g-t 13/18] tests/intel/xe_oa: Convert OA buffer mmap tests to take OA unit arguments
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
` (11 preceding siblings ...)
2025-10-08 21:17 ` [PATCH i-g-t 12/18] tests/intel/xe_oa: Convert test_single_ctx_render_target_writes_a_counter Ashutosh Dixit
@ 2025-10-08 21:18 ` Ashutosh Dixit
2025-10-10 22:28 ` Umesh Nerlige Ramappa
2025-10-08 21:18 ` [PATCH i-g-t 14/18] tests/intel/xe_oa: Convert MMIO trigger " Ashutosh Dixit
` (8 subsequent siblings)
21 siblings, 1 reply; 46+ messages in thread
From: Ashutosh Dixit @ 2025-10-08 21:18 UTC (permalink / raw)
To: igt-dev; +Cc: Umesh Nerlige Ramappa
Convert OA buffer mmap tests to take 'struct drm_xe_oa_unit *' arguments,
to enable them to be run on all OA units.
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
tests/intel/xe_oa.c | 71 +++++++++++++++++++++++----------------------
1 file changed, 36 insertions(+), 35 deletions(-)
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index 01df791dc5..1b16893de3 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -4414,7 +4414,7 @@ static void *map_oa_buffer(u32 *size)
return vaddr;
}
-static void invalid_param_map_oa_buffer(const struct drm_xe_engine_class_instance *hwe)
+static void invalid_param_map_oa_buffer(struct drm_xe_oa_unit *oau)
{
void *oa_vaddr = NULL;
@@ -4450,7 +4450,7 @@ static void unprivileged_try_to_map_oa_buffer(void)
igt_assert_eq(errno, EACCES);
}
-static void unprivileged_map_oa_buffer(const struct drm_xe_engine_class_instance *hwe)
+static void unprivileged_map_oa_buffer(struct drm_xe_oa_unit *oau)
{
igt_fork(child, 1) {
igt_drop_root();
@@ -4484,7 +4484,7 @@ static void try_invalid_access(void *vaddr)
signal(SIGSEGV, old_sigsegv);
}
-static void map_oa_buffer_unprivilege_access(const struct drm_xe_engine_class_instance *hwe)
+static void map_oa_buffer_unprivilege_access(struct drm_xe_oa_unit *oau)
{
void *vaddr;
uint32_t size;
@@ -4500,7 +4500,7 @@ static void map_oa_buffer_unprivilege_access(const struct drm_xe_engine_class_in
munmap(vaddr, size);
}
-static void map_oa_buffer_forked_access(const struct drm_xe_engine_class_instance *hwe)
+static void map_oa_buffer_forked_access(struct drm_xe_oa_unit *oau)
{
void *vaddr;
uint32_t size;
@@ -4516,10 +4516,10 @@ static void map_oa_buffer_forked_access(const struct drm_xe_engine_class_instanc
}
static void mmap_wait_for_periodic_reports(void *oa_vaddr, uint32_t n,
- const struct drm_xe_engine_class_instance *hwe)
+ struct drm_xe_oa_unit *oau)
{
uint32_t period_us = oa_exponent_to_ns(oa_exponent_default) / 1000;
- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
uint64_t fmt = test_set->perf_oa_format;
uint32_t num_periodic_reports = 0;
uint32_t report_words = get_oa_format(fmt).size >> 2;
@@ -4537,9 +4537,9 @@ static void mmap_wait_for_periodic_reports(void *oa_vaddr, uint32_t n,
}
static void mmap_check_reports(void *oa_vaddr, uint32_t oa_size,
- const struct drm_xe_engine_class_instance *hwe)
+ struct drm_xe_oa_unit *oau)
{
- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
uint64_t fmt = test_set->perf_oa_format;
struct oa_format format = get_oa_format(fmt);
size_t report_words = format.size >> 2;
@@ -4557,22 +4557,22 @@ static void mmap_check_reports(void *oa_vaddr, uint32_t oa_size,
sanity_check_reports(reports - 2 * report_words,
reports - report_words, fmt);
pec_sanity_check_reports(reports - 2 * report_words,
- reports - report_words, metric_set(hwe));
+ reports - report_words, oa_unit_metric_set(oau));
}
}
igt_assert(timer_reports >= 3);
}
-static void check_reports_from_mapped_buffer(const struct drm_xe_engine_class_instance *hwe)
+static void check_reports_from_mapped_buffer(struct drm_xe_oa_unit *oau)
{
void *vaddr;
uint32_t size;
vaddr = map_oa_buffer(&size);
- mmap_wait_for_periodic_reports(vaddr, 10, hwe);
- mmap_check_reports(vaddr, size, hwe);
+ mmap_wait_for_periodic_reports(vaddr, 10, oau);
+ mmap_check_reports(vaddr, size, oau);
munmap(vaddr, size);
}
@@ -4581,13 +4581,14 @@ static void check_reports_from_mapped_buffer(const struct drm_xe_engine_class_in
* SUBTEST: closed-fd-and-unmapped-access
* Description: Unmap buffer, close fd and try to access
*/
-static void closed_fd_and_unmapped_access(const struct drm_xe_engine_class_instance *hwe)
+static void closed_fd_and_unmapped_access(struct drm_xe_oa_unit *oau)
{
+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
uint64_t properties[] = {
- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
- DRM_XE_OA_PROPERTY_OA_METRIC_SET, default_test_set->perf_oa_metrics_set,
- DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(default_test_set->perf_oa_format),
+ DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
+ DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent_default,
};
struct intel_xe_oa_open_prop param = {
@@ -4600,8 +4601,8 @@ static void closed_fd_and_unmapped_access(const struct drm_xe_engine_class_insta
stream_fd = __perf_open(drm_fd, ¶m, false);
vaddr = map_oa_buffer(&size);
- mmap_wait_for_periodic_reports(vaddr, 10, hwe);
- mmap_check_reports(vaddr, size, hwe);
+ mmap_wait_for_periodic_reports(vaddr, 10, oau);
+ mmap_check_reports(vaddr, size, oau);
munmap(vaddr, size);
__perf_close(stream_fd);
@@ -4678,13 +4679,13 @@ test_tail_address_wrap(struct drm_xe_oa_unit *oau, size_t oa_buffer_size)
* SUBTEST: privileged-forked-access-vaddr
* Description: Verify that forked access to mapped buffer fails
*/
-typedef void (*map_oa_buffer_test_t)(const struct drm_xe_engine_class_instance *hwe);
+typedef void (*map_oa_buffer_test_t)(struct drm_xe_oa_unit *oau);
static void test_mapped_oa_buffer(map_oa_buffer_test_t test_with_fd_open,
- const struct drm_xe_engine_class_instance *hwe)
+ struct drm_xe_oa_unit *oau)
{
- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
uint64_t properties[] = {
- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
@@ -4698,7 +4699,7 @@ static void test_mapped_oa_buffer(map_oa_buffer_test_t test_with_fd_open,
stream_fd = __perf_open(drm_fd, ¶m, false);
igt_assert(test_with_fd_open);
- test_with_fd_open(hwe);
+ test_with_fd_open(oau);
__perf_close(stream_fd);
}
@@ -5236,28 +5237,28 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
igt_subtest_group {
igt_subtest_with_dynamic("map-oa-buffer")
- __for_one_hwe_in_oag(hwe)
- test_mapped_oa_buffer(check_reports_from_mapped_buffer, hwe);
+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
+ test_mapped_oa_buffer(check_reports_from_mapped_buffer, oau);
igt_subtest_with_dynamic("invalid-map-oa-buffer")
- __for_one_hwe_in_oag(hwe)
- test_mapped_oa_buffer(invalid_param_map_oa_buffer, hwe);
+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
+ test_mapped_oa_buffer(invalid_param_map_oa_buffer, oau);
igt_subtest_with_dynamic("non-privileged-map-oa-buffer")
- __for_one_hwe_in_oag(hwe)
- test_mapped_oa_buffer(unprivileged_map_oa_buffer, hwe);
+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
+ test_mapped_oa_buffer(unprivileged_map_oa_buffer, oau);
igt_subtest_with_dynamic("non-privileged-access-vaddr")
- __for_one_hwe_in_oag(hwe)
- test_mapped_oa_buffer(map_oa_buffer_unprivilege_access, hwe);
+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
+ test_mapped_oa_buffer(map_oa_buffer_unprivilege_access, oau);
igt_subtest_with_dynamic("privileged-forked-access-vaddr")
- __for_one_hwe_in_oag(hwe)
- test_mapped_oa_buffer(map_oa_buffer_forked_access, hwe);
+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
+ test_mapped_oa_buffer(map_oa_buffer_forked_access, oau);
igt_subtest_with_dynamic("closed-fd-and-unmapped-access")
- __for_one_hwe_in_oag(hwe)
- closed_fd_and_unmapped_access(hwe);
+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
+ closed_fd_and_unmapped_access(oau);
}
igt_subtest_with_dynamic("tail-address-wrap") {
--
2.48.1
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [PATCH i-g-t 14/18] tests/intel/xe_oa: Convert MMIO trigger tests to take OA unit arguments
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
` (12 preceding siblings ...)
2025-10-08 21:18 ` [PATCH i-g-t 13/18] tests/intel/xe_oa: Convert OA buffer mmap tests to take OA unit arguments Ashutosh Dixit
@ 2025-10-08 21:18 ` Ashutosh Dixit
2025-10-10 22:29 ` Umesh Nerlige Ramappa
2025-10-08 21:18 ` [PATCH i-g-t 15/18] tests/intel/xe_oa: Convert sync " Ashutosh Dixit
` (7 subsequent siblings)
21 siblings, 1 reply; 46+ messages in thread
From: Ashutosh Dixit @ 2025-10-08 21:18 UTC (permalink / raw)
To: igt-dev; +Cc: Umesh Nerlige Ramappa
Convert MMIO trigger tests to take 'struct drm_xe_oa_unit *' arguments, to
enable them to be run on all OA units.
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
tests/intel/xe_oa.c | 41 ++++++++++++++++++++++-------------------
1 file changed, 22 insertions(+), 19 deletions(-)
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index 1b16893de3..a3f4a80d6a 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -3992,11 +3992,12 @@ static u32 oa_get_mmio_base(const struct drm_xe_engine_class_instance *hwe)
* SUBTEST: oa-regs-whitelisted
* Description: Verify that OA registers are whitelisted
*/
-static void test_oa_regs_whitelist(const struct drm_xe_engine_class_instance *hwe)
+static void test_oa_regs_whitelist(struct drm_xe_oa_unit *oau)
{
- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
+ struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oau);
uint64_t properties[] = {
- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
@@ -4010,8 +4011,7 @@ static void test_oa_regs_whitelist(const struct drm_xe_engine_class_instance *hw
u32 mmio_base;
/* FIXME: Add support for OAM whitelist testing */
- if (hwe->engine_class != DRM_XE_ENGINE_CLASS_RENDER &&
- hwe->engine_class != DRM_XE_ENGINE_CLASS_COMPUTE)
+ if (oau->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
return;
mmio_base = oa_get_mmio_base(hwe);
@@ -4039,10 +4039,12 @@ static void test_oa_regs_whitelist(const struct drm_xe_engine_class_instance *hw
}
static void
-__test_mmio_triggered_reports(struct drm_xe_engine_class_instance *hwe)
+__test_mmio_triggered_reports(struct drm_xe_oa_unit *oau)
{
- struct intel_xe_perf_metric_set *test_set = default_test_set;
+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
+ struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oau);
uint64_t properties[] = {
+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
@@ -4144,10 +4146,12 @@ __test_mmio_triggered_reports(struct drm_xe_engine_class_instance *hwe)
}
static void
-__test_mmio_triggered_reports_read(struct drm_xe_engine_class_instance *hwe)
+__test_mmio_triggered_reports_read(struct drm_xe_oa_unit *oau)
{
- struct intel_xe_perf_metric_set *test_set = default_test_set;
+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
+ struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oau);
uint64_t properties[] = {
+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
@@ -4240,8 +4244,7 @@ __test_mmio_triggered_reports_read(struct drm_xe_engine_class_instance *hwe)
* Description: Test MMIO trigger functionality with read system call
*/
static void
-test_mmio_triggered_reports(struct drm_xe_engine_class_instance *hwe,
- bool with_read)
+test_mmio_triggered_reports(struct drm_xe_oa_unit *oau, bool with_read)
{
struct igt_helper_process child = {};
int ret;
@@ -4251,9 +4254,9 @@ test_mmio_triggered_reports(struct drm_xe_engine_class_instance *hwe,
igt_drop_root();
if (with_read)
- __test_mmio_triggered_reports_read(hwe);
+ __test_mmio_triggered_reports_read(oau);
else
- __test_mmio_triggered_reports(hwe);
+ __test_mmio_triggered_reports(oau);
}
ret = igt_wait_helper(&child);
write_u64_file("/proc/sys/dev/xe/observation_paranoid", 1);
@@ -5275,19 +5278,19 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
}
igt_subtest_with_dynamic("oa-regs-whitelisted")
- __for_one_hwe_in_oag(hwe)
- test_oa_regs_whitelist(hwe);
+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
+ test_oa_regs_whitelist(oau);
igt_subtest_with_dynamic("mmio-triggered-reports") {
igt_require(HAS_OA_MMIO_TRIGGER(devid));
- __for_one_hwe_in_oag(hwe)
- test_mmio_triggered_reports(hwe, false);
+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
+ test_mmio_triggered_reports(oau, false);
}
igt_subtest_with_dynamic("mmio-triggered-reports-read") {
igt_require(HAS_OA_MMIO_TRIGGER(devid));
- __for_one_hwe_in_oag(hwe)
- test_mmio_triggered_reports(hwe, true);
+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
+ test_mmio_triggered_reports(oau, true);
}
}
--
2.48.1
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [PATCH i-g-t 15/18] tests/intel/xe_oa: Convert sync tests to take OA unit arguments
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
` (13 preceding siblings ...)
2025-10-08 21:18 ` [PATCH i-g-t 14/18] tests/intel/xe_oa: Convert MMIO trigger " Ashutosh Dixit
@ 2025-10-08 21:18 ` Ashutosh Dixit
2025-10-10 22:30 ` Umesh Nerlige Ramappa
2025-10-08 21:18 ` [PATCH i-g-t 16/18] tests/intel/xe_oa: Run test_oa_unit_exclusive_stream on multiple OA units Ashutosh Dixit
` (6 subsequent siblings)
21 siblings, 1 reply; 46+ messages in thread
From: Ashutosh Dixit @ 2025-10-08 21:18 UTC (permalink / raw)
To: igt-dev; +Cc: Umesh Nerlige Ramappa
Convert sync tests to take 'struct drm_xe_oa_unit *' arguments, to enable
them to be run on all OA units.
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
tests/intel/xe_oa.c | 35 ++++++++---------------------------
1 file changed, 8 insertions(+), 27 deletions(-)
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index a3f4a80d6a..75142e610d 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -4766,9 +4766,10 @@ struct oa_sync {
};
static void
-oa_sync_init(enum oa_sync_type sync_type, const struct drm_xe_engine_class_instance *hwe,
+oa_sync_init(enum oa_sync_type sync_type, struct drm_xe_oa_unit *oau,
struct oa_sync *osync, struct drm_xe_sync *sync)
{
+ struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oau);
uint64_t addr = 0x1a0000;
osync->sync_type = sync_type;
@@ -4890,15 +4891,15 @@ static void oa_sync_free(struct oa_sync *osync)
* @wait-cfg: Exercise reconfig path and wait for syncs to signal
* @wait: Don't exercise reconfig path and wait for syncs to signal
*/
-static void test_syncs(const struct drm_xe_engine_class_instance *hwe,
+static void test_syncs(struct drm_xe_oa_unit *oau,
enum oa_sync_type sync_type, int flags)
{
struct drm_xe_ext_set_property extn[XE_OA_MAX_SET_PROPERTIES] = {};
- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
struct drm_xe_sync sync = {};
struct oa_sync osync = {};
uint64_t open_properties[] = {
- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
@@ -4929,7 +4930,7 @@ static void test_syncs(const struct drm_xe_engine_class_instance *hwe,
if (sync_type == OA_SYNC_TYPE_USERPTR || sync_type == OA_SYNC_TYPE_UFENCE)
flags |= WAIT;
- oa_sync_init(sync_type, hwe, &osync, &sync);
+ oa_sync_init(sync_type, oau, &osync, &sync);
stream_fd = __perf_open(drm_fd, &open_param, false);
@@ -4956,25 +4957,6 @@ exit:
oa_sync_free(&osync);
}
-static const char *xe_engine_class_name(uint32_t engine_class)
-{
- switch (engine_class) {
- case DRM_XE_ENGINE_CLASS_RENDER:
- return "rcs";
- case DRM_XE_ENGINE_CLASS_COPY:
- return "bcs";
- case DRM_XE_ENGINE_CLASS_VIDEO_DECODE:
- return "vcs";
- case DRM_XE_ENGINE_CLASS_VIDEO_ENHANCE:
- return "vecs";
- case DRM_XE_ENGINE_CLASS_COMPUTE:
- return "ccs";
- default:
- igt_warn("Engine class 0x%x unknown\n", engine_class);
- return "unknown";
- }
-}
-
#define __for_one_hwe_in_each_oa_unit(hwe) \
for (int m = 0; !m || hwe; m++) \
for_each_if(hwe = oa_unit_engine(oa_unit_by_id(drm_fd, m))) \
@@ -5055,7 +5037,6 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
{ "ufence-wait", OA_SYNC_TYPE_UFENCE, WAIT },
{ NULL },
};
- struct drm_xe_engine_class_instance *hwe = NULL;
struct drm_xe_oa_unit *oau;
struct xe_device *xe_dev;
@@ -5301,8 +5282,8 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
for (const struct sync_section *s = sync_sections; s->name; s++) {
igt_subtest_with_dynamic_f("syncs-%s", s->name) {
- __for_one_hwe_in_oag(hwe)
- test_syncs(hwe, s->sync_type, s->flags);
+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
+ test_syncs(oau, s->sync_type, s->flags);
}
}
}
--
2.48.1
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [PATCH i-g-t 16/18] tests/intel/xe_oa: Run test_oa_unit_exclusive_stream on multiple OA units
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
` (14 preceding siblings ...)
2025-10-08 21:18 ` [PATCH i-g-t 15/18] tests/intel/xe_oa: Convert sync " Ashutosh Dixit
@ 2025-10-08 21:18 ` Ashutosh Dixit
2025-10-10 22:31 ` Umesh Nerlige Ramappa
2025-10-08 21:18 ` [PATCH i-g-t 17/18] tests/intel/xe_oa: Add new non-zero-reason-all test Ashutosh Dixit
` (5 subsequent siblings)
21 siblings, 1 reply; 46+ messages in thread
From: Ashutosh Dixit @ 2025-10-08 21:18 UTC (permalink / raw)
To: igt-dev; +Cc: Umesh Nerlige Ramappa
Change test_oa_unit_exclusive_stream to run simultaneously on all OA units
which have an hwe. Also removed unused code now that all tests are
converted to use OA units rather than hwe's.
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
tests/intel/xe_oa.c | 86 ++++++---------------------------------------
1 file changed, 10 insertions(+), 76 deletions(-)
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index 75142e610d..2d956286d2 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -385,48 +385,6 @@ static struct intel_xe_perf_metric_set *oa_unit_metric_set(struct drm_xe_oa_unit
return test_set;
}
-
-static struct intel_xe_perf_metric_set *metric_set(const struct drm_xe_engine_class_instance *hwe)
-{
- const char *test_set_name = NULL;
- struct intel_xe_perf_metric_set *metric_set_iter;
- struct intel_xe_perf_metric_set *test_set = NULL;
-
- if (hwe->engine_class == DRM_XE_ENGINE_CLASS_RENDER ||
- hwe->engine_class == DRM_XE_ENGINE_CLASS_COMPUTE)
- test_set_name = "TestOa";
- else if ((hwe->engine_class == DRM_XE_ENGINE_CLASS_VIDEO_DECODE ||
- hwe->engine_class == DRM_XE_ENGINE_CLASS_VIDEO_ENHANCE) &&
- HAS_OAM(devid))
- test_set_name = "MediaSet1";
- else
- igt_assert(!"reached");
-
- igt_list_for_each_entry(metric_set_iter, &intel_xe_perf->metric_sets, link) {
- if (strcmp(metric_set_iter->symbol_name, test_set_name) == 0) {
- test_set = metric_set_iter;
- break;
- }
- }
-
- igt_assert(test_set);
-
- /*
- * configuration was loaded in init_sys_info() ->
- * intel_xe_perf_load_perf_configs(), and test_set->perf_oa_metrics_set
- * should point to metric id returned by the config add ioctl. 0 is
- * invalid.
- */
- igt_assert_neq_u64(test_set->perf_oa_metrics_set, 0);
-
- igt_debug("engine %d:%d - %s metric set UUID = %s\n",
- hwe->engine_class,
- hwe->engine_instance,
- test_set->symbol_name,
- test_set->hw_config_guid);
-
- return test_set;
-}
#define default_test_set oa_unit_metric_set(oa_unit_by_type(drm_fd, DRM_XE_OA_UNIT_TYPE_OAG))
static void set_fd_flags(int fd, int flags)
@@ -4293,8 +4251,8 @@ static void
test_oa_unit_exclusive_stream(bool exponent)
{
struct drm_xe_query_oa_units *qoa = xe_oa_units(drm_fd);
+ struct drm_xe_engine_class_instance *hwe;
struct drm_xe_oa_unit *oau;
- u8 *poau = (u8 *)&qoa->oa_units[0];
uint64_t properties[] = {
DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
@@ -4315,12 +4273,12 @@ test_oa_unit_exclusive_stream(bool exponent)
/* for each oa unit, open one random perf stream with sample OA */
for (i = 0; i < qoa->num_oa_units; i++) {
- struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oa_unit_by_id(drm_fd, i));
+ oau = oa_unit_by_id(drm_fd, i);
+ hwe = oa_unit_engine(oau);
- oau = (struct drm_xe_oa_unit *)poau;
- if (oau->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
+ if (!hwe)
continue;
- test_set = metric_set(hwe);
+ test_set = oa_unit_metric_set(oau);
igt_debug("opening OA buffer with c:i %d:%d\n",
hwe->engine_class, hwe->engine_instance);
@@ -4336,7 +4294,6 @@ test_oa_unit_exclusive_stream(bool exponent)
properties[9] = hwe->engine_instance;
perf_fd[i] = intel_xe_perf_ioctl(drm_fd, DRM_XE_OBSERVATION_OP_STREAM_OPEN, ¶m);
igt_assert(perf_fd[i] >= 0);
- poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]);
}
/* Xe KMD holds reference to the exec_q's so they shouldn't be really destroyed */
@@ -4345,15 +4302,15 @@ test_oa_unit_exclusive_stream(bool exponent)
xe_exec_queue_destroy(drm_fd, exec_q[i]);
/* for each oa unit make sure no other streams can be opened */
- poau = (u8 *)&qoa->oa_units[0];
for (i = 0; i < qoa->num_oa_units; i++) {
- struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oa_unit_by_id(drm_fd, i));
int err;
- oau = (struct drm_xe_oa_unit *)poau;
- if (oau->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
+ oau = oa_unit_by_id(drm_fd, i);
+ hwe = oa_unit_engine(oau);
+
+ if (!hwe)
continue;
- test_set = metric_set(hwe);
+ test_set = oa_unit_metric_set(oau);
igt_debug("try with exp with c:i %d:%d\n",
hwe->engine_class, hwe->engine_instance);
@@ -4376,7 +4333,6 @@ test_oa_unit_exclusive_stream(bool exponent)
err = intel_xe_perf_ioctl(drm_fd, DRM_XE_OBSERVATION_OP_STREAM_OPEN, ¶m);
igt_assert_lt(err, 0);
igt_assert(errno == EBUSY || errno == ENODEV);
- poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]);
}
for (i = 0; i < qoa->num_oa_units; i++) {
@@ -4957,28 +4913,6 @@ exit:
oa_sync_free(&osync);
}
-#define __for_one_hwe_in_each_oa_unit(hwe) \
- for (int m = 0; !m || hwe; m++) \
- for_each_if(hwe = oa_unit_engine(oa_unit_by_id(drm_fd, m))) \
- igt_dynamic_f("%s-%d", xe_engine_class_name(hwe->engine_class), \
- hwe->engine_instance)
-
-/* Only OAG (not OAM) is currently supported */
-#define __for_one_hwe_in_oag(hwe) \
- if ((hwe = oa_unit_engine(oa_unit_by_type(drm_fd, DRM_XE_OA_UNIT_TYPE_OAG)))) \
- igt_dynamic_f("%s-%d", xe_engine_class_name(hwe->engine_class), \
- hwe->engine_instance)
-
-#define __for_one_hwe_in_oag_w_arg(hwe, str) \
- if ((hwe = oa_unit_engine(oa_unit_by_type(drm_fd, DRM_XE_OA_UNIT_TYPE_OAG)))) \
- igt_dynamic_f("%s-%d-%s", xe_engine_class_name(hwe->engine_class), \
- hwe->engine_instance, str)
-
-#define __for_one_render_engine(hwe) \
- hwe = &xe_find_engine_by_class(drm_fd, DRM_XE_ENGINE_CLASS_RENDER)->instance; \
- igt_require_f(hwe, "no render engine\n"); \
- igt_dynamic_f("rcs-%d", hwe->engine_instance)
-
#define __for_oa_unit_by_type(k) \
if ((oau = oa_unit_by_type(drm_fd, k))) \
igt_dynamic_f("%s-%d", oa_unit_name[oau->oa_unit_type], oau->oa_unit_id)
--
2.48.1
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [PATCH i-g-t 17/18] tests/intel/xe_oa: Add new non-zero-reason-all test
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
` (15 preceding siblings ...)
2025-10-08 21:18 ` [PATCH i-g-t 16/18] tests/intel/xe_oa: Run test_oa_unit_exclusive_stream on multiple OA units Ashutosh Dixit
@ 2025-10-08 21:18 ` Ashutosh Dixit
2025-10-10 22:32 ` Umesh Nerlige Ramappa
2025-10-08 21:18 ` [PATCH i-g-t 18/18] tests/intel/xe_oa: Constify arguments to various functions Ashutosh Dixit
` (4 subsequent siblings)
21 siblings, 1 reply; 46+ messages in thread
From: Ashutosh Dixit @ 2025-10-08 21:18 UTC (permalink / raw)
To: igt-dev; +Cc: Umesh Nerlige Ramappa
To demonstrate the new infrastructure, add a new non-zero-reason-all test
which runs the non-zero-reason test on all OA units.
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
tests/intel/xe_oa.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index 2d956286d2..36b1785bbd 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -4921,6 +4921,10 @@ exit:
if ((oau = oa_unit_by_type(drm_fd, k))) \
igt_dynamic_f("%s-%d-%s", oa_unit_name[oau->oa_unit_type], oau->oa_unit_id, str)
+#define __for_each_oa_unit(qoa, oau, poau, i) \
+ for_each_oa_unit(qoa, oau, poau, i) \
+ igt_dynamic_f("%s-%d", oa_unit_name[oau->oa_unit_type], oau->oa_unit_id)
+
static int opt_handler(int opt, int opt_index, void *data)
{
uint32_t tmp;
@@ -4971,8 +4975,11 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
{ "ufence-wait", OA_SYNC_TYPE_UFENCE, WAIT },
{ NULL },
};
+ struct drm_xe_query_oa_units *qoa;
struct drm_xe_oa_unit *oau;
struct xe_device *xe_dev;
+ u8 *poau;
+ int i;
igt_fixture {
struct stat sb;
@@ -5066,6 +5073,16 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
test_non_zero_reason(oau, 0);
}
+ /**
+ * SUBTEST: non-zero-reason-all
+ * Description: Non zero reason over all OA units
+ */
+ igt_subtest_with_dynamic("non-zero-reason-all") {
+ igt_require(oau->capabilities & DRM_XE_OA_CAPS_OA_BUFFER_SIZE);
+ __for_each_oa_unit(qoa, oau, poau, i)
+ test_non_zero_reason(oau, SZ_128K);
+ }
+
igt_subtest("disabled-read-error")
test_disabled_read_error();
igt_subtest("non-sampling-read-error")
--
2.48.1
^ permalink raw reply related [flat|nested] 46+ messages in thread
* [PATCH i-g-t 18/18] tests/intel/xe_oa: Constify arguments to various functions
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
` (16 preceding siblings ...)
2025-10-08 21:18 ` [PATCH i-g-t 17/18] tests/intel/xe_oa: Add new non-zero-reason-all test Ashutosh Dixit
@ 2025-10-08 21:18 ` Ashutosh Dixit
2025-10-08 22:21 ` ✓ Xe.CI.BAT: success for Change OA IGT's to run on all OA units Patchwork
` (3 subsequent siblings)
21 siblings, 0 replies; 46+ messages in thread
From: Ashutosh Dixit @ 2025-10-08 21:18 UTC (permalink / raw)
To: igt-dev; +Cc: Umesh Nerlige Ramappa
Constify arguments to various functions, in order to prevent inadvertent
data modification.
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
tests/intel/xe_oa.c | 106 ++++++++++++++++++++++++--------------------
1 file changed, 57 insertions(+), 49 deletions(-)
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index 36b1785bbd..54f59c52cb 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -345,7 +345,15 @@ static const char *oa_unit_name[] = {
[DRM_XE_OA_UNIT_TYPE_OAM_SAG] = "sag",
};
-static struct intel_xe_perf_metric_set *oa_unit_metric_set(struct drm_xe_oa_unit *oau)
+/* Wrapper to deconstify @inst for xe_exec_queue_create */
+static u32 xe_exec_queue_create_deconst(int fd, uint32_t vm,
+ const struct drm_xe_engine_class_instance *inst,
+ uint64_t ext)
+{
+ return xe_exec_queue_create(fd, vm, (struct drm_xe_engine_class_instance *)inst, ext);
+}
+
+static struct intel_xe_perf_metric_set *oa_unit_metric_set(const struct drm_xe_oa_unit *oau)
{
const char *test_set_name = NULL;
struct intel_xe_perf_metric_set *metric_set_iter;
@@ -476,7 +484,7 @@ static u64 oa_format_fields(u64 name)
}
#define __ff oa_format_fields
-static struct drm_xe_engine_class_instance *oa_unit_engine(struct drm_xe_oa_unit *oau)
+static const struct drm_xe_engine_class_instance *oa_unit_engine(const struct drm_xe_oa_unit *oau)
{
return !oau ? NULL : oau->num_engines ? &oau->eci[random() % oau->num_engines] : NULL;
}
@@ -486,7 +494,7 @@ static struct drm_xe_engine_class_instance *oa_unit_engine(struct drm_xe_oa_unit
oau = (struct drm_xe_oa_unit *)poau, i < qoa->num_oa_units; \
poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]), i++)
-static struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
+static const struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
{
struct drm_xe_query_oa_units *qoa;
struct drm_xe_oa_unit *oau;
@@ -501,7 +509,7 @@ static struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
return NULL;
}
-static struct drm_xe_oa_unit *oa_unit_by_type(int fd, int t)
+static const struct drm_xe_oa_unit *oa_unit_by_type(int fd, int t)
{
struct drm_xe_query_oa_units *qoa;
struct drm_xe_oa_unit *oau;
@@ -1552,7 +1560,7 @@ open_and_read_2_oa_reports(int format_id,
uint32_t *oa_report0,
uint32_t *oa_report1,
bool timer_only,
- struct drm_xe_oa_unit *oau)
+ const struct drm_xe_oa_unit *oau)
{
struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
uint64_t properties[] = {
@@ -1676,7 +1684,7 @@ print_reports(uint32_t *oa_report0, uint32_t *oa_report1, int fmt)
}
static bool
-oau_supports_oa_type(int oa_type, struct drm_xe_oa_unit *oau)
+oau_supports_oa_type(int oa_type, const struct drm_xe_oa_unit *oau)
{
switch (oa_type) {
case DRM_XE_OA_FMT_TYPE_OAM:
@@ -1697,7 +1705,7 @@ oau_supports_oa_type(int oa_type, struct drm_xe_oa_unit *oau)
* SUBTEST: oa-formats
* Description: Test that supported OA formats work as expected
*/
-static void test_oa_formats(struct drm_xe_oa_unit *oau)
+static void test_oa_formats(const struct drm_xe_oa_unit *oau)
{
for (int i = 0; i < XE_OA_FORMAT_MAX; i++) {
struct oa_format format = get_oa_format(i);
@@ -1854,7 +1862,7 @@ static bool expected_report_timing_delta(uint32_t delta, uint32_t expected_delta
* SUBTEST: oa-exponents
* Description: Test that oa exponent values behave as expected
*/
-static void test_oa_exponents(struct drm_xe_oa_unit *oau)
+static void test_oa_exponents(const struct drm_xe_oa_unit *oau)
{
struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
uint64_t fmt = test_set->perf_oa_format;
@@ -2057,7 +2065,7 @@ get_time(void)
static void test_blocking(uint64_t requested_oa_period,
bool set_kernel_hrtimer,
uint64_t kernel_hrtimer,
- struct drm_xe_oa_unit *oau)
+ const struct drm_xe_oa_unit *oau)
{
int oa_exponent = max_oa_exponent_for_period_lte(requested_oa_period);
uint64_t oa_period = oa_exponent_to_ns(oa_exponent);
@@ -2200,7 +2208,7 @@ static void test_blocking(uint64_t requested_oa_period,
static void test_polling(uint64_t requested_oa_period,
bool set_kernel_hrtimer,
uint64_t kernel_hrtimer,
- struct drm_xe_oa_unit *oau)
+ const struct drm_xe_oa_unit *oau)
{
int oa_exponent = max_oa_exponent_for_period_lte(requested_oa_period);
uint64_t oa_period = oa_exponent_to_ns(oa_exponent);
@@ -2484,7 +2492,7 @@ num_valid_reports_captured(struct intel_xe_oa_open_prop *param,
* Description: Open OA stream twice to verify OA TLB invalidation
*/
static void
-test_oa_tlb_invalidate(struct drm_xe_oa_unit *oau)
+test_oa_tlb_invalidate(const struct drm_xe_oa_unit *oau)
{
struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
uint64_t properties[] = {
@@ -2542,7 +2550,7 @@ wait_for_oa_buffer_overflow(int fd, int poll_period_us)
* Description: Test filling and overflow of OA buffer
*/
static void
-test_buffer_fill(struct drm_xe_oa_unit *oau)
+test_buffer_fill(const struct drm_xe_oa_unit *oau)
{
/* ~5 micro second period */
int oa_exponent = max_oa_exponent_for_period_lte(5000);
@@ -2589,7 +2597,7 @@ test_buffer_fill(struct drm_xe_oa_unit *oau)
* Description: Test reason field is non-zero. Can also check OA buffer wraparound issues
*/
static void
-test_non_zero_reason(struct drm_xe_oa_unit *oau, size_t oa_buffer_size)
+test_non_zero_reason(const struct drm_xe_oa_unit *oau, size_t oa_buffer_size)
{
/* ~20 micro second period */
int oa_exponent = max_oa_exponent_for_period_lte(20000);
@@ -2682,7 +2690,7 @@ test_non_zero_reason(struct drm_xe_oa_unit *oau, size_t oa_buffer_size)
* Description: Test that OA stream enable/disable works as expected
*/
static void
-test_enable_disable(struct drm_xe_oa_unit *oau)
+test_enable_disable(const struct drm_xe_oa_unit *oau)
{
uint32_t num_reports = 5;
struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
@@ -2952,10 +2960,10 @@ test_disabled_read_error(void)
* Description: Test OAR/OAC using MI_REPORT_PERF_COUNT
*/
static void
-test_mi_rpc(struct drm_xe_oa_unit *oau)
+test_mi_rpc(const struct drm_xe_oa_unit *oau)
{
- struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oau);
+ const struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oau);
uint64_t fmt = ((IS_DG2(devid) || IS_METEORLAKE(devid)) &&
hwe->engine_class == DRM_XE_ENGINE_CLASS_COMPUTE) ?
XE_OAC_FORMAT_A24u64_B8_C8 : oar_unit_default_format();
@@ -3004,7 +3012,7 @@ test_mi_rpc(struct drm_xe_oa_unit *oau)
bops = buf_ops_create(drm_fd);
vm = xe_vm_create(drm_fd, 0, 0);
- ctx_id = xe_exec_queue_create(drm_fd, vm, hwe, 0);
+ ctx_id = xe_exec_queue_create_deconst(drm_fd, vm, hwe, 0);
igt_assert_neq(ctx_id, INVALID_CTX_ID);
properties[3] = ctx_id;
@@ -3083,7 +3091,7 @@ emit_stall_timestamp_and_rpc(struct intel_bb *ibb,
emit_report_perf_count(ibb, dst, report_dst_offset, report_id);
}
-static void single_ctx_helper(struct drm_xe_oa_unit *oau)
+static void single_ctx_helper(const struct drm_xe_oa_unit *oau)
{
struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
struct drm_xe_engine_class_instance *hwe =
@@ -3391,7 +3399,7 @@ static void single_ctx_helper(struct drm_xe_oa_unit *oau)
* Description: A harder test for OAR/OAC using MI_REPORT_PERF_COUNT
*/
static void
-test_single_ctx_render_target_writes_a_counter(struct drm_xe_oa_unit *oau)
+test_single_ctx_render_target_writes_a_counter(const struct drm_xe_oa_unit *oau)
{
int child_ret;
struct igt_helper_process child = {};
@@ -3468,7 +3476,7 @@ test_rc6_disable(void)
* Description: Open/close OA streams in a tight loop
*/
static void
-test_stress_open_close(struct drm_xe_oa_unit *oau)
+test_stress_open_close(const struct drm_xe_oa_unit *oau)
{
struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
@@ -3950,10 +3958,10 @@ static u32 oa_get_mmio_base(const struct drm_xe_engine_class_instance *hwe)
* SUBTEST: oa-regs-whitelisted
* Description: Verify that OA registers are whitelisted
*/
-static void test_oa_regs_whitelist(struct drm_xe_oa_unit *oau)
+static void test_oa_regs_whitelist(const struct drm_xe_oa_unit *oau)
{
struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
- struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oau);
+ const struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oau);
uint64_t properties[] = {
DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
@@ -3997,10 +4005,10 @@ static void test_oa_regs_whitelist(struct drm_xe_oa_unit *oau)
}
static void
-__test_mmio_triggered_reports(struct drm_xe_oa_unit *oau)
+__test_mmio_triggered_reports(const struct drm_xe_oa_unit *oau)
{
struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
- struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oau);
+ const struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oau);
uint64_t properties[] = {
DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
@@ -4035,7 +4043,7 @@ __test_mmio_triggered_reports(struct drm_xe_oa_unit *oau)
scratch_buf_init(bops, &dst, rc_width, rc_height, 0x00ff00ff);
vm = xe_vm_create(drm_fd, 0, 0);
- context = xe_exec_queue_create(drm_fd, vm, hwe, 0);
+ context = xe_exec_queue_create_deconst(drm_fd, vm, hwe, 0);
igt_assert(context);
ibb = intel_bb_create_with_context(drm_fd, context, vm, NULL, BATCH_SZ);
@@ -4104,10 +4112,10 @@ __test_mmio_triggered_reports(struct drm_xe_oa_unit *oau)
}
static void
-__test_mmio_triggered_reports_read(struct drm_xe_oa_unit *oau)
+__test_mmio_triggered_reports_read(const struct drm_xe_oa_unit *oau)
{
struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
- struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oau);
+ const struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oau);
uint64_t properties[] = {
DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
@@ -4134,7 +4142,7 @@ __test_mmio_triggered_reports_read(struct drm_xe_oa_unit *oau)
scratch_buf_init(bops, &dst, rc_width, rc_height, 0x00ff00ff);
vm = xe_vm_create(drm_fd, 0, 0);
- context = xe_exec_queue_create(drm_fd, vm, hwe, 0);
+ context = xe_exec_queue_create_deconst(drm_fd, vm, hwe, 0);
igt_assert(context);
ibb = intel_bb_create_with_context(drm_fd, context, vm, NULL, BATCH_SZ);
@@ -4202,7 +4210,7 @@ __test_mmio_triggered_reports_read(struct drm_xe_oa_unit *oau)
* Description: Test MMIO trigger functionality with read system call
*/
static void
-test_mmio_triggered_reports(struct drm_xe_oa_unit *oau, bool with_read)
+test_mmio_triggered_reports(const struct drm_xe_oa_unit *oau, bool with_read)
{
struct igt_helper_process child = {};
int ret;
@@ -4251,8 +4259,8 @@ static void
test_oa_unit_exclusive_stream(bool exponent)
{
struct drm_xe_query_oa_units *qoa = xe_oa_units(drm_fd);
- struct drm_xe_engine_class_instance *hwe;
- struct drm_xe_oa_unit *oau;
+ const struct drm_xe_engine_class_instance *hwe;
+ const struct drm_xe_oa_unit *oau;
uint64_t properties[] = {
DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
@@ -4282,7 +4290,7 @@ test_oa_unit_exclusive_stream(bool exponent)
igt_debug("opening OA buffer with c:i %d:%d\n",
hwe->engine_class, hwe->engine_instance);
- exec_q[i] = xe_exec_queue_create(drm_fd, vm, hwe, 0);
+ exec_q[i] = xe_exec_queue_create_deconst(drm_fd, vm, hwe, 0);
if (!exponent) {
properties[10] = DRM_XE_OA_PROPERTY_EXEC_QUEUE_ID;
properties[11] = exec_q[i];
@@ -4326,7 +4334,7 @@ test_oa_unit_exclusive_stream(bool exponent)
/* case 2: concurrent access to non-OAG unit should fail */
igt_debug("try with exec_q with c:i %d:%d\n",
hwe->engine_class, hwe->engine_instance);
- exec_q[i] = xe_exec_queue_create(drm_fd, vm, hwe, 0);
+ exec_q[i] = xe_exec_queue_create_deconst(drm_fd, vm, hwe, 0);
properties[10] = DRM_XE_OA_PROPERTY_EXEC_QUEUE_ID;
properties[11] = exec_q[i];
errno = 0;
@@ -4353,7 +4361,7 @@ test_oa_unit_concurrent_oa_buffer_read(void)
struct drm_xe_query_oa_units *qoa = xe_oa_units(drm_fd);
igt_fork(child, qoa->num_oa_units) {
- struct drm_xe_oa_unit *oau = oa_unit_by_id(drm_fd, child);
+ const struct drm_xe_oa_unit *oau = oa_unit_by_id(drm_fd, child);
/* No OAM support yet */
if (oau->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
@@ -4373,7 +4381,7 @@ static void *map_oa_buffer(u32 *size)
return vaddr;
}
-static void invalid_param_map_oa_buffer(struct drm_xe_oa_unit *oau)
+static void invalid_param_map_oa_buffer(const struct drm_xe_oa_unit *oau)
{
void *oa_vaddr = NULL;
@@ -4409,7 +4417,7 @@ static void unprivileged_try_to_map_oa_buffer(void)
igt_assert_eq(errno, EACCES);
}
-static void unprivileged_map_oa_buffer(struct drm_xe_oa_unit *oau)
+static void unprivileged_map_oa_buffer(const struct drm_xe_oa_unit *oau)
{
igt_fork(child, 1) {
igt_drop_root();
@@ -4443,7 +4451,7 @@ static void try_invalid_access(void *vaddr)
signal(SIGSEGV, old_sigsegv);
}
-static void map_oa_buffer_unprivilege_access(struct drm_xe_oa_unit *oau)
+static void map_oa_buffer_unprivilege_access(const struct drm_xe_oa_unit *oau)
{
void *vaddr;
uint32_t size;
@@ -4459,7 +4467,7 @@ static void map_oa_buffer_unprivilege_access(struct drm_xe_oa_unit *oau)
munmap(vaddr, size);
}
-static void map_oa_buffer_forked_access(struct drm_xe_oa_unit *oau)
+static void map_oa_buffer_forked_access(const struct drm_xe_oa_unit *oau)
{
void *vaddr;
uint32_t size;
@@ -4475,7 +4483,7 @@ static void map_oa_buffer_forked_access(struct drm_xe_oa_unit *oau)
}
static void mmap_wait_for_periodic_reports(void *oa_vaddr, uint32_t n,
- struct drm_xe_oa_unit *oau)
+ const struct drm_xe_oa_unit *oau)
{
uint32_t period_us = oa_exponent_to_ns(oa_exponent_default) / 1000;
struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
@@ -4496,7 +4504,7 @@ static void mmap_wait_for_periodic_reports(void *oa_vaddr, uint32_t n,
}
static void mmap_check_reports(void *oa_vaddr, uint32_t oa_size,
- struct drm_xe_oa_unit *oau)
+ const struct drm_xe_oa_unit *oau)
{
struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
uint64_t fmt = test_set->perf_oa_format;
@@ -4523,7 +4531,7 @@ static void mmap_check_reports(void *oa_vaddr, uint32_t oa_size,
igt_assert(timer_reports >= 3);
}
-static void check_reports_from_mapped_buffer(struct drm_xe_oa_unit *oau)
+static void check_reports_from_mapped_buffer(const struct drm_xe_oa_unit *oau)
{
void *vaddr;
uint32_t size;
@@ -4540,7 +4548,7 @@ static void check_reports_from_mapped_buffer(struct drm_xe_oa_unit *oau)
* SUBTEST: closed-fd-and-unmapped-access
* Description: Unmap buffer, close fd and try to access
*/
-static void closed_fd_and_unmapped_access(struct drm_xe_oa_unit *oau)
+static void closed_fd_and_unmapped_access(const struct drm_xe_oa_unit *oau)
{
struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
uint64_t properties[] = {
@@ -4578,7 +4586,7 @@ static void closed_fd_and_unmapped_access(struct drm_xe_oa_unit *oau)
* has zeroes in it.
*/
static void
-test_tail_address_wrap(struct drm_xe_oa_unit *oau, size_t oa_buffer_size)
+test_tail_address_wrap(const struct drm_xe_oa_unit *oau, size_t oa_buffer_size)
{
struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
u64 exponent = max_oa_exponent_for_period_lte(20000);
@@ -4638,9 +4646,9 @@ test_tail_address_wrap(struct drm_xe_oa_unit *oau, size_t oa_buffer_size)
* SUBTEST: privileged-forked-access-vaddr
* Description: Verify that forked access to mapped buffer fails
*/
-typedef void (*map_oa_buffer_test_t)(struct drm_xe_oa_unit *oau);
+typedef void (*map_oa_buffer_test_t)(const struct drm_xe_oa_unit *oau);
static void test_mapped_oa_buffer(map_oa_buffer_test_t test_with_fd_open,
- struct drm_xe_oa_unit *oau)
+ const struct drm_xe_oa_unit *oau)
{
struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
uint64_t properties[] = {
@@ -4722,10 +4730,10 @@ struct oa_sync {
};
static void
-oa_sync_init(enum oa_sync_type sync_type, struct drm_xe_oa_unit *oau,
+oa_sync_init(enum oa_sync_type sync_type, const struct drm_xe_oa_unit *oau,
struct oa_sync *osync, struct drm_xe_sync *sync)
{
- struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oau);
+ const struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oau);
uint64_t addr = 0x1a0000;
osync->sync_type = sync_type;
@@ -4847,7 +4855,7 @@ static void oa_sync_free(struct oa_sync *osync)
* @wait-cfg: Exercise reconfig path and wait for syncs to signal
* @wait: Don't exercise reconfig path and wait for syncs to signal
*/
-static void test_syncs(struct drm_xe_oa_unit *oau,
+static void test_syncs(const struct drm_xe_oa_unit *oau,
enum oa_sync_type sync_type, int flags)
{
struct drm_xe_ext_set_property extn[XE_OA_MAX_SET_PROPERTIES] = {};
@@ -4976,7 +4984,7 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
{ NULL },
};
struct drm_xe_query_oa_units *qoa;
- struct drm_xe_oa_unit *oau;
+ const struct drm_xe_oa_unit *oau;
struct xe_device *xe_dev;
u8 *poau;
int i;
--
2.48.1
^ permalink raw reply related [flat|nested] 46+ messages in thread
* Re: [PATCH i-g-t 01/18] tests/intel/xe_oa: Add OAM formats to lnl_oa_formats
2025-10-08 21:17 ` [PATCH i-g-t 01/18] tests/intel/xe_oa: Add OAM formats to lnl_oa_formats Ashutosh Dixit
@ 2025-10-08 21:55 ` Umesh Nerlige Ramappa
0 siblings, 0 replies; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2025-10-08 21:55 UTC (permalink / raw)
To: Ashutosh Dixit; +Cc: igt-dev
On Wed, Oct 08, 2025 at 02:17:48PM -0700, Ashutosh Dixit wrote:
>Add previously missing OAM formats to list of Xe2+ OA formats.
>
>Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>---
> tests/intel/xe_oa.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
>diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
>index 4f2aff59ac..0a00105bd4 100644
>--- a/tests/intel/xe_oa.c
>+++ b/tests/intel/xe_oa.c
>@@ -242,6 +242,18 @@ static struct oa_format mtl_oa_formats[XE_OA_FORMAT_MAX] = {
> };
>
> static struct oa_format lnl_oa_formats[XE_OA_FORMAT_MAX] = {
>+ [XE_OAM_FORMAT_MPEC8u64_B8_C8] = {
>+ "MPEC8u64_B8_C8", .size = 192,
>+ .oa_type = DRM_XE_OA_FMT_TYPE_OAM_MPEC,
>+ .report_hdr_64bit = true,
>+ .counter_select = 1,
>+ },
>+ [XE_OAM_FORMAT_MPEC8u32_B8_C8] = {
>+ "MPEC8u32_B8_C8", .size = 128,
>+ .oa_type = DRM_XE_OA_FMT_TYPE_OAM_MPEC,
>+ .report_hdr_64bit = true,
>+ .counter_select = 2,
>+ },
> [XE_OA_FORMAT_PEC64u64] = {
> "PEC64u64", .size = 576,
> .oa_type = DRM_XE_OA_FMT_TYPE_PEC,
>--
>2.48.1
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH i-g-t 02/18] tests/intel/xe_oa: Get rid of unnecessary DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE
2025-10-08 21:17 ` [PATCH i-g-t 02/18] tests/intel/xe_oa: Get rid of unnecessary DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE Ashutosh Dixit
@ 2025-10-08 21:55 ` Umesh Nerlige Ramappa
0 siblings, 0 replies; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2025-10-08 21:55 UTC (permalink / raw)
To: Ashutosh Dixit; +Cc: igt-dev
On Wed, Oct 08, 2025 at 02:17:49PM -0700, Ashutosh Dixit wrote:
>DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE is needed only when input OA
>properties include an exec queue. In other cases the kernel does not use
>DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE. Stop providing the unnecessary
>DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE property for these cases. This is
>needed to use OA units which don't have an associated hwe.
>
>Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>---
> tests/intel/xe_oa.c | 14 --------------
> 1 file changed, 14 deletions(-)
>
>diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
>index 0a00105bd4..a028823e51 100644
>--- a/tests/intel/xe_oa.c
>+++ b/tests/intel/xe_oa.c
>@@ -1559,8 +1559,6 @@ open_and_read_2_oa_reports(int format_id,
> DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
> DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(format_id),
> DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, exponent,
>- DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
>-
> };
> struct intel_xe_oa_open_prop param = {
> .num_properties = ARRAY_SIZE(properties) / 2,
>@@ -1877,7 +1875,6 @@ static void test_oa_exponents(const struct drm_xe_engine_class_instance *hwe)
> DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
> DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(fmt),
> DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, exponent,
>- DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
> };
> struct intel_xe_oa_open_prop param = {
> .num_properties = ARRAY_SIZE(properties) / 2,
>@@ -2096,7 +2093,6 @@ static void test_blocking(uint64_t requested_oa_period,
> ADD_PROPS(props, idx, OA_PERIOD_EXPONENT, oa_exponent);
> ADD_PROPS(props, idx, OA_DISABLED, true);
> ADD_PROPS(props, idx, OA_UNIT_ID, 0);
>- ADD_PROPS(props, idx, OA_ENGINE_INSTANCE, hwe->engine_instance);
>
> param.num_properties = (idx - props) / 2;
> param.properties_ptr = to_user_pointer(props);
>@@ -2241,7 +2237,6 @@ static void test_polling(uint64_t requested_oa_period,
> ADD_PROPS(props, idx, OA_PERIOD_EXPONENT, oa_exponent);
> ADD_PROPS(props, idx, OA_DISABLED, true);
> ADD_PROPS(props, idx, OA_UNIT_ID, 0);
>- ADD_PROPS(props, idx, OA_ENGINE_INSTANCE, hwe->engine_instance);
>
> param.num_properties = (idx - props) / 2;
> param.properties_ptr = to_user_pointer(props);
>@@ -2498,7 +2493,6 @@ test_oa_tlb_invalidate(const struct drm_xe_engine_class_instance *hwe)
> DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
> DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent_default,
> DRM_XE_OA_PROPERTY_OA_DISABLED, true,
>- DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
> };
> struct intel_xe_oa_open_prop param = {
> .num_properties = ARRAY_SIZE(properties) / 2,
>@@ -2563,7 +2557,6 @@ test_buffer_fill(const struct drm_xe_engine_class_instance *hwe)
> DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
> DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(fmt),
> DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent,
>- DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
> DRM_XE_OA_PROPERTY_OA_BUFFER_SIZE, buffer_fill_size,
> };
> struct intel_xe_oa_open_prop param = {
>@@ -2611,7 +2604,6 @@ test_non_zero_reason(const struct drm_xe_engine_class_instance *hwe, size_t oa_b
> DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
> DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(fmt),
> DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent,
>- DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
> DRM_XE_OA_PROPERTY_OA_BUFFER_SIZE, oa_buffer_size ?: buffer_fill_size
> };
> struct intel_xe_oa_open_prop param = {
>@@ -2700,7 +2692,6 @@ test_enable_disable(const struct drm_xe_engine_class_instance *hwe)
> DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(fmt),
> DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent_default,
> DRM_XE_OA_PROPERTY_OA_DISABLED, true,
>- DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
> DRM_XE_OA_PROPERTY_WAIT_NUM_REPORTS, num_reports,
> };
> struct intel_xe_oa_open_prop param = {
>@@ -3491,7 +3482,6 @@ test_stress_open_close(const struct drm_xe_engine_class_instance *hwe)
> DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
> DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent_default,
> DRM_XE_OA_PROPERTY_OA_DISABLED, true,
>- DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
> };
> struct intel_xe_oa_open_prop param = {
> .num_properties = ARRAY_SIZE(properties) / 2,
>@@ -4008,7 +3998,6 @@ __test_mmio_triggered_reports(struct drm_xe_engine_class_instance *hwe)
> DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
> DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
> DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent_default,
>- DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
> };
> struct intel_xe_oa_open_prop param = {
> .num_properties = sizeof(properties) / 16,
>@@ -4114,7 +4103,6 @@ __test_mmio_triggered_reports_read(struct drm_xe_engine_class_instance *hwe)
> DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
> DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
> DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent_default,
>- DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
> };
> struct intel_xe_oa_open_prop param = {
> .num_properties = sizeof(properties) / 16,
>@@ -4593,7 +4581,6 @@ test_tail_address_wrap(const struct drm_xe_engine_class_instance *hwe, size_t oa
> DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
> DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(fmt),
> DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, exponent,
>- DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
> DRM_XE_OA_PROPERTY_OA_BUFFER_SIZE, buffer_size,
> };
> struct intel_xe_oa_open_prop param = {
>@@ -4653,7 +4640,6 @@ static void test_mapped_oa_buffer(map_oa_buffer_test_t test_with_fd_open,
> DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
> DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
> DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent_default,
>- DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE, hwe->engine_instance,
> };
> struct intel_xe_oa_open_prop param = {
> .num_properties = ARRAY_SIZE(properties) / 2,
>--
>2.48.1
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH i-g-t 03/18] tests/intel/xe_oa: Rename nth_oa_unit to oa_unit_by_id
2025-10-08 21:17 ` [PATCH i-g-t 03/18] tests/intel/xe_oa: Rename nth_oa_unit to oa_unit_by_id Ashutosh Dixit
@ 2025-10-08 21:56 ` Umesh Nerlige Ramappa
2025-10-10 21:31 ` Dixit, Ashutosh
0 siblings, 1 reply; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2025-10-08 21:56 UTC (permalink / raw)
To: Ashutosh Dixit; +Cc: igt-dev
On Wed, Oct 08, 2025 at 02:17:50PM -0700, Ashutosh Dixit wrote:
>Rename nth_oa_unit to oa_unit_by_id. We will introduce oa_unit_by_type soon
>and oa_unit_by_id fits that naming scheme.
>
>Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
nit: s/n/id/ in function params
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>---
> tests/intel/xe_oa.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
>diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
>index a028823e51..65e03b1010 100644
>--- a/tests/intel/xe_oa.c
>+++ b/tests/intel/xe_oa.c
>@@ -493,7 +493,7 @@ static struct drm_xe_engine_class_instance *oa_unit_engine(int fd, int n)
> return hwe;
> }
>
>-static struct drm_xe_oa_unit *nth_oa_unit(int fd, int n)
>+static struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
> {
> struct drm_xe_query_oa_units *qoa = xe_oa_units(fd);
> struct drm_xe_oa_unit *oau;
>@@ -502,7 +502,7 @@ static struct drm_xe_oa_unit *nth_oa_unit(int fd, int n)
> poau = (u8 *)&qoa->oa_units[0];
> for (int i = 0; i < qoa->num_oa_units; i++) {
> oau = (struct drm_xe_oa_unit *)poau;
>- if (i == n)
>+ if (oau->oa_unit_id == n)
> return oau;
> poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]);
> }
>@@ -4348,7 +4348,7 @@ test_oa_unit_concurrent_oa_buffer_read(void)
> struct drm_xe_engine_class_instance *hwe = oa_unit_engine(drm_fd, child);
>
> /* No OAM support yet */
>- if (nth_oa_unit(drm_fd, child)->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
>+ if (oa_unit_by_id(drm_fd, child)->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
> exit(0);
>
> test_blocking(40 * 1000 * 1000, false, 5 * 1000 * 1000, hwe);
>@@ -5027,7 +5027,7 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
> /* See xe_query_oa_units_new() */
> igt_require(xe_dev->oa_units);
> igt_require(xe_dev->oa_units->num_oa_units);
>- oau = nth_oa_unit(drm_fd, 0);
>+ oau = oa_unit_by_id(drm_fd, 0);
>
> devid = intel_get_drm_devid(drm_fd);
> sysfs = igt_sysfs_open(drm_fd);
>--
>2.48.1
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* ✓ Xe.CI.BAT: success for Change OA IGT's to run on all OA units
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
` (17 preceding siblings ...)
2025-10-08 21:18 ` [PATCH i-g-t 18/18] tests/intel/xe_oa: Constify arguments to various functions Ashutosh Dixit
@ 2025-10-08 22:21 ` Patchwork
2025-10-08 22:39 ` ✓ i915.CI.BAT: " Patchwork
` (2 subsequent siblings)
21 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2025-10-08 22:21 UTC (permalink / raw)
To: Ashutosh Dixit; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 768 bytes --]
== Series Details ==
Series: Change OA IGT's to run on all OA units
URL : https://patchwork.freedesktop.org/series/155639/
State : success
== Summary ==
CI Bug Log - changes from XEIGT_8579_BAT -> XEIGTPW_13878_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (11 -> 11)
------------------------------
No changes in participating hosts
Changes
-------
No changes found
Build changes
-------------
* IGT: IGT_8579 -> IGTPW_13878
IGTPW_13878: 13878
IGT_8579: 8579
xe-3886-f929eafc95342ea5377f79705864d50dd325c79f: f929eafc95342ea5377f79705864d50dd325c79f
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/index.html
[-- Attachment #2: Type: text/html, Size: 1318 bytes --]
^ permalink raw reply [flat|nested] 46+ messages in thread
* ✓ i915.CI.BAT: success for Change OA IGT's to run on all OA units
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
` (18 preceding siblings ...)
2025-10-08 22:21 ` ✓ Xe.CI.BAT: success for Change OA IGT's to run on all OA units Patchwork
@ 2025-10-08 22:39 ` Patchwork
2025-10-09 1:49 ` ✗ Xe.CI.Full: failure " Patchwork
2025-10-09 11:47 ` ✗ i915.CI.Full: " Patchwork
21 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2025-10-08 22:39 UTC (permalink / raw)
To: Ashutosh Dixit; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 4071 bytes --]
== Series Details ==
Series: Change OA IGT's to run on all OA units
URL : https://patchwork.freedesktop.org/series/155639/
State : success
== Summary ==
CI Bug Log - changes from IGT_8579 -> IGTPW_13878
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/index.html
Participating hosts (43 -> 41)
------------------------------
Missing (2): fi-snb-2520m bat-adls-6
Known issues
------------
Here are the changes found in IGTPW_13878 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@dmabuf@all-tests:
- bat-apl-1: [PASS][1] -> [ABORT][2] ([i915#12904]) +1 other test abort
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/bat-apl-1/igt@dmabuf@all-tests.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/bat-apl-1/igt@dmabuf@all-tests.html
* igt@i915_selftest@live@workarounds:
- bat-mtlp-6: [PASS][3] -> [DMESG-FAIL][4] ([i915#12061]) +1 other test dmesg-fail
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/bat-mtlp-6/igt@i915_selftest@live@workarounds.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/bat-mtlp-6/igt@i915_selftest@live@workarounds.html
- bat-dg2-11: [PASS][5] -> [DMESG-FAIL][6] ([i915#12061]) +1 other test dmesg-fail
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/bat-dg2-11/igt@i915_selftest@live@workarounds.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/bat-dg2-11/igt@i915_selftest@live@workarounds.html
#### Possible fixes ####
* igt@i915_selftest@live:
- bat-mtlp-8: [DMESG-FAIL][7] ([i915#12061]) -> [PASS][8] +1 other test pass
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/bat-mtlp-8/igt@i915_selftest@live.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/bat-mtlp-8/igt@i915_selftest@live.html
- bat-jsl-1: [DMESG-FAIL][9] ([i915#14910]) -> [PASS][10] +1 other test pass
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/bat-jsl-1/igt@i915_selftest@live.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/bat-jsl-1/igt@i915_selftest@live.html
* igt@i915_selftest@live@workarounds:
- bat-arlh-3: [DMESG-FAIL][11] ([i915#12061]) -> [PASS][12] +1 other test pass
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/bat-arlh-3/igt@i915_selftest@live@workarounds.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/bat-arlh-3/igt@i915_selftest@live@workarounds.html
#### Warnings ####
* igt@i915_selftest@live:
- bat-atsm-1: [DMESG-FAIL][13] ([i915#12061] / [i915#13929]) -> [DMESG-FAIL][14] ([i915#12061] / [i915#14204])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/bat-atsm-1/igt@i915_selftest@live.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/bat-atsm-1/igt@i915_selftest@live.html
* igt@i915_selftest@live@mman:
- bat-atsm-1: [DMESG-FAIL][15] ([i915#13929]) -> [DMESG-FAIL][16] ([i915#14204])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/bat-atsm-1/igt@i915_selftest@live@mman.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/bat-atsm-1/igt@i915_selftest@live@mman.html
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
[i915#12904]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12904
[i915#13929]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13929
[i915#14204]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14204
[i915#14910]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14910
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_8579 -> IGTPW_13878
CI-20190529: 20190529
CI_DRM_17327: f929eafc95342ea5377f79705864d50dd325c79f @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_13878: 13878
IGT_8579: 8579
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/index.html
[-- Attachment #2: Type: text/html, Size: 5347 bytes --]
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH i-g-t 04/18] tests/intel/xe_oa: Change oa_unit_engine to take an oa_unit argument
2025-10-08 21:17 ` [PATCH i-g-t 04/18] tests/intel/xe_oa: Change oa_unit_engine to take an oa_unit argument Ashutosh Dixit
@ 2025-10-08 22:40 ` Umesh Nerlige Ramappa
2025-10-08 23:19 ` Dixit, Ashutosh
0 siblings, 1 reply; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2025-10-08 22:40 UTC (permalink / raw)
To: Ashutosh Dixit; +Cc: igt-dev
On Wed, Oct 08, 2025 at 02:17:51PM -0700, Ashutosh Dixit wrote:
>To prevent code duplication with oa_unit_by_id(), pass 'struct
>drm_xe_oa_unit *' as argument to oa_unit_engine().
>
>Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
>---
> tests/intel/xe_oa.c | 32 ++++++++------------------------
> 1 file changed, 8 insertions(+), 24 deletions(-)
>
>diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
>index 65e03b1010..c7de1d081d 100644
>--- a/tests/intel/xe_oa.c
>+++ b/tests/intel/xe_oa.c
>@@ -472,25 +472,9 @@ static u64 oa_format_fields(u64 name)
> }
> #define __ff oa_format_fields
>
>-static struct drm_xe_engine_class_instance *oa_unit_engine(int fd, int n)
>+static struct drm_xe_engine_class_instance *oa_unit_engine(struct drm_xe_oa_unit *oau)
> {
>- struct drm_xe_query_oa_units *qoa = xe_oa_units(fd);
>- struct drm_xe_engine_class_instance *hwe = NULL;
>- struct drm_xe_oa_unit *oau;
>- u8 *poau;
>-
>- poau = (u8 *)&qoa->oa_units[0];
>- for (int i = 0; i < qoa->num_oa_units; i++) {
>- oau = (struct drm_xe_oa_unit *)poau;
>-
>- if (i == n) {
>- hwe = oau->num_engines ? &oau->eci[random() % oau->num_engines] : NULL;
>- break;
>- }
>- poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]);
>- }
>-
>- return hwe;
>+ return !oau ? NULL : oau->num_engines ? &oau->eci[random() % oau->num_engines] : NULL;
Since this can now return NULL hwe, test_oa_unit_exclusive_stream() and
test_oa_unit_concurrent_oa_buffer_read() should check if the hwe is NULL
and account for that.
Umesh
> }
>
> static struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
>@@ -4263,7 +4247,7 @@ test_oa_unit_exclusive_stream(bool exponent)
>
> /* for each oa unit, open one random perf stream with sample OA */
> for (i = 0; i < qoa->num_oa_units; i++) {
>- struct drm_xe_engine_class_instance *hwe = oa_unit_engine(drm_fd, i);
>+ struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oa_unit_by_id(drm_fd, i));
>
> oau = (struct drm_xe_oa_unit *)poau;
> if (oau->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
>@@ -4295,7 +4279,7 @@ test_oa_unit_exclusive_stream(bool exponent)
> /* for each oa unit make sure no other streams can be opened */
> poau = (u8 *)&qoa->oa_units[0];
> for (i = 0; i < qoa->num_oa_units; i++) {
>- struct drm_xe_engine_class_instance *hwe = oa_unit_engine(drm_fd, i);
>+ struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oa_unit_by_id(drm_fd, i));
> int err;
>
> oau = (struct drm_xe_oa_unit *)poau;
>@@ -4345,7 +4329,7 @@ test_oa_unit_concurrent_oa_buffer_read(void)
> struct drm_xe_query_oa_units *qoa = xe_oa_units(drm_fd);
>
> igt_fork(child, qoa->num_oa_units) {
>- struct drm_xe_engine_class_instance *hwe = oa_unit_engine(drm_fd, child);
>+ struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oa_unit_by_id(drm_fd, child));
>
> /* No OAM support yet */
> if (oa_unit_by_id(drm_fd, child)->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
>@@ -4924,18 +4908,18 @@ static const char *xe_engine_class_name(uint32_t engine_class)
>
> #define __for_one_hwe_in_each_oa_unit(hwe) \
> for (int m = 0; !m || hwe; m++) \
>- for_each_if(hwe = oa_unit_engine(drm_fd, m)) \
>+ for_each_if(hwe = oa_unit_engine(oa_unit_by_id(drm_fd, m))) \
> igt_dynamic_f("%s-%d", xe_engine_class_name(hwe->engine_class), \
> hwe->engine_instance)
>
> /* Only OAG (not OAM) is currently supported */
> #define __for_one_hwe_in_oag(hwe) \
>- if ((hwe = oa_unit_engine(drm_fd, 0))) \
>+ if ((hwe = oa_unit_engine(oa_unit_by_id(drm_fd, 0)))) \
> igt_dynamic_f("%s-%d", xe_engine_class_name(hwe->engine_class), \
> hwe->engine_instance)
>
> #define __for_one_hwe_in_oag_w_arg(hwe, str) \
>- if ((hwe = oa_unit_engine(drm_fd, 0))) \
>+ if ((hwe = oa_unit_engine(oa_unit_by_id(drm_fd, 0)))) \
> igt_dynamic_f("%s-%d-%s", xe_engine_class_name(hwe->engine_class), \
> hwe->engine_instance, str)
>
>--
>2.48.1
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH i-g-t 05/18] tests/intel/xe_oa: Add oa_unit_by_type
2025-10-08 21:17 ` [PATCH i-g-t 05/18] tests/intel/xe_oa: Add oa_unit_by_type Ashutosh Dixit
@ 2025-10-08 22:42 ` Umesh Nerlige Ramappa
0 siblings, 0 replies; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2025-10-08 22:42 UTC (permalink / raw)
To: Ashutosh Dixit; +Cc: igt-dev
On Wed, Oct 08, 2025 at 02:17:52PM -0700, Ashutosh Dixit wrote:
>Add a function which returns an OA unit identified by its type (similar to
>oa_unit_by_id()).
>
>Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>---
> tests/intel/xe_oa.c | 21 +++++++++++++++++++--
> 1 file changed, 19 insertions(+), 2 deletions(-)
>
>diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
>index c7de1d081d..012f5929ce 100644
>--- a/tests/intel/xe_oa.c
>+++ b/tests/intel/xe_oa.c
>@@ -494,6 +494,23 @@ static struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
> return NULL;
> }
>
>+static struct drm_xe_oa_unit *oa_unit_by_type(int fd, int t)
>+{
>+ struct drm_xe_query_oa_units *qoa = xe_oa_units(fd);
>+ struct drm_xe_oa_unit *oau;
>+ u8 *poau;
>+
>+ poau = (u8 *)&qoa->oa_units[0];
>+ for (int i = 0; i < qoa->num_oa_units; i++) {
>+ oau = (struct drm_xe_oa_unit *)poau;
>+ if (oau->oa_unit_type == t)
>+ return oau;
>+ poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]);
>+ }
>+
>+ return NULL;
>+}
>+
> static char *
> pretty_print_oa_period(uint64_t oa_period_ns)
> {
>@@ -4914,12 +4931,12 @@ static const char *xe_engine_class_name(uint32_t engine_class)
>
> /* Only OAG (not OAM) is currently supported */
> #define __for_one_hwe_in_oag(hwe) \
>- if ((hwe = oa_unit_engine(oa_unit_by_id(drm_fd, 0)))) \
>+ if ((hwe = oa_unit_engine(oa_unit_by_type(drm_fd, DRM_XE_OA_UNIT_TYPE_OAG)))) \
> igt_dynamic_f("%s-%d", xe_engine_class_name(hwe->engine_class), \
> hwe->engine_instance)
>
> #define __for_one_hwe_in_oag_w_arg(hwe, str) \
>- if ((hwe = oa_unit_engine(oa_unit_by_id(drm_fd, 0)))) \
>+ if ((hwe = oa_unit_engine(oa_unit_by_type(drm_fd, DRM_XE_OA_UNIT_TYPE_OAG)))) \
> igt_dynamic_f("%s-%d-%s", xe_engine_class_name(hwe->engine_class), \
> hwe->engine_instance, str)
>
>--
>2.48.1
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH i-g-t 04/18] tests/intel/xe_oa: Change oa_unit_engine to take an oa_unit argument
2025-10-08 22:40 ` Umesh Nerlige Ramappa
@ 2025-10-08 23:19 ` Dixit, Ashutosh
2025-10-08 23:33 ` Umesh Nerlige Ramappa
0 siblings, 1 reply; 46+ messages in thread
From: Dixit, Ashutosh @ 2025-10-08 23:19 UTC (permalink / raw)
To: Umesh Nerlige Ramappa; +Cc: igt-dev
On Wed, 08 Oct 2025 15:40:38 -0700, Umesh Nerlige Ramappa wrote:
>
> On Wed, Oct 08, 2025 at 02:17:51PM -0700, Ashutosh Dixit wrote:
> > To prevent code duplication with oa_unit_by_id(), pass 'struct
> > drm_xe_oa_unit *' as argument to oa_unit_engine().
> >
> > Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
> > ---
> > tests/intel/xe_oa.c | 32 ++++++++------------------------
> > 1 file changed, 8 insertions(+), 24 deletions(-)
> >
> > diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
> > index 65e03b1010..c7de1d081d 100644
> > --- a/tests/intel/xe_oa.c
> > +++ b/tests/intel/xe_oa.c
> > @@ -472,25 +472,9 @@ static u64 oa_format_fields(u64 name)
> > }
> > #define __ff oa_format_fields
> >
> > -static struct drm_xe_engine_class_instance *oa_unit_engine(int fd, int n)
> > +static struct drm_xe_engine_class_instance *oa_unit_engine(struct drm_xe_oa_unit *oau)
> > {
> > - struct drm_xe_query_oa_units *qoa = xe_oa_units(fd);
> > - struct drm_xe_engine_class_instance *hwe = NULL;
> > - struct drm_xe_oa_unit *oau;
> > - u8 *poau;
> > -
> > - poau = (u8 *)&qoa->oa_units[0];
> > - for (int i = 0; i < qoa->num_oa_units; i++) {
> > - oau = (struct drm_xe_oa_unit *)poau;
> > -
> > - if (i == n) {
> > - hwe = oau->num_engines ? &oau->eci[random() % oau->num_engines] : NULL;
> > - break;
> > - }
> > - poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]);
> > - }
> > -
> > - return hwe;
> > + return !oau ? NULL : oau->num_engines ? &oau->eci[random() % oau->num_engines] : NULL;
>
> Since this can now return NULL hwe, test_oa_unit_exclusive_stream() and
> test_oa_unit_concurrent_oa_buffer_read() should check if the hwe is NULL
> and account for that.
For test_oa_unit_exclusive_stream() this is done in the patch 16/18
("tests/intel/xe_oa: Run test_oa_unit_exclusive_stream on multiple OA
units").
For test_oa_unit_concurrent_oa_buffer_read(), hwe is eliminated in Patch
10/18 ("tests/intel/xe_oa: Convert blocking/polling tests to take OA unit
arguments").
So looks ok to me I think. Thanks.
>
> Umesh
>
> > }
> >
> > static struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
> > @@ -4263,7 +4247,7 @@ test_oa_unit_exclusive_stream(bool exponent)
> >
> > /* for each oa unit, open one random perf stream with sample OA */
> > for (i = 0; i < qoa->num_oa_units; i++) {
> > - struct drm_xe_engine_class_instance *hwe = oa_unit_engine(drm_fd, i);
> > + struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oa_unit_by_id(drm_fd, i));
> >
> > oau = (struct drm_xe_oa_unit *)poau;
> > if (oau->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
> > @@ -4295,7 +4279,7 @@ test_oa_unit_exclusive_stream(bool exponent)
> > /* for each oa unit make sure no other streams can be opened */
> > poau = (u8 *)&qoa->oa_units[0];
> > for (i = 0; i < qoa->num_oa_units; i++) {
> > - struct drm_xe_engine_class_instance *hwe = oa_unit_engine(drm_fd, i);
> > + struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oa_unit_by_id(drm_fd, i));
> > int err;
> >
> > oau = (struct drm_xe_oa_unit *)poau;
> > @@ -4345,7 +4329,7 @@ test_oa_unit_concurrent_oa_buffer_read(void)
> > struct drm_xe_query_oa_units *qoa = xe_oa_units(drm_fd);
> >
> > igt_fork(child, qoa->num_oa_units) {
> > - struct drm_xe_engine_class_instance *hwe = oa_unit_engine(drm_fd, child);
> > + struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oa_unit_by_id(drm_fd, child));
> >
> > /* No OAM support yet */
> > if (oa_unit_by_id(drm_fd, child)->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
> > @@ -4924,18 +4908,18 @@ static const char *xe_engine_class_name(uint32_t engine_class)
> >
> > #define __for_one_hwe_in_each_oa_unit(hwe) \
> > for (int m = 0; !m || hwe; m++) \
> > - for_each_if(hwe = oa_unit_engine(drm_fd, m)) \
> > + for_each_if(hwe = oa_unit_engine(oa_unit_by_id(drm_fd, m))) \
> > igt_dynamic_f("%s-%d", xe_engine_class_name(hwe->engine_class), \
> > hwe->engine_instance)
> >
> > /* Only OAG (not OAM) is currently supported */
> > #define __for_one_hwe_in_oag(hwe) \
> > - if ((hwe = oa_unit_engine(drm_fd, 0))) \
> > + if ((hwe = oa_unit_engine(oa_unit_by_id(drm_fd, 0)))) \
> > igt_dynamic_f("%s-%d", xe_engine_class_name(hwe->engine_class), \
> > hwe->engine_instance)
> >
> > #define __for_one_hwe_in_oag_w_arg(hwe, str) \
> > - if ((hwe = oa_unit_engine(drm_fd, 0))) \
> > + if ((hwe = oa_unit_engine(oa_unit_by_id(drm_fd, 0)))) \
> > igt_dynamic_f("%s-%d-%s", xe_engine_class_name(hwe->engine_class), \
> > hwe->engine_instance, str)
> >
> > --
> > 2.48.1
> >
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH i-g-t 06/18] tests/intel/xe_oa: Add for_each_oa_unit
2025-10-08 21:17 ` [PATCH i-g-t 06/18] tests/intel/xe_oa: Add for_each_oa_unit Ashutosh Dixit
@ 2025-10-08 23:31 ` Umesh Nerlige Ramappa
2025-10-09 16:40 ` Umesh Nerlige Ramappa
0 siblings, 1 reply; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2025-10-08 23:31 UTC (permalink / raw)
To: Ashutosh Dixit; +Cc: igt-dev
On Wed, Oct 08, 2025 at 02:17:53PM -0700, Ashutosh Dixit wrote:
>Add a for_each_oa_unit iterator, which eliminates code duplication when
>iterating over OA units obtained from OA unit query.
>
>Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
>---
> tests/intel/xe_oa.c | 21 +++++++++++----------
> 1 file changed, 11 insertions(+), 10 deletions(-)
>
>diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
>index 012f5929ce..bc71bfcd30 100644
>--- a/tests/intel/xe_oa.c
>+++ b/tests/intel/xe_oa.c
>@@ -477,18 +477,21 @@ static struct drm_xe_engine_class_instance *oa_unit_engine(struct drm_xe_oa_unit
> return !oau ? NULL : oau->num_engines ? &oau->eci[random() % oau->num_engines] : NULL;
> }
>
>+#define for_each_oa_unit(qoa, oau, poau, i) \
>+ for (i = 0, qoa = xe_oa_units(drm_fd), poau = (u8 *)&qoa->oa_units[0]; \
>+ oau = (struct drm_xe_oa_unit *)poau, i < qoa->num_oa_units; \
>+ poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]), i++)
>+
> static struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
> {
>- struct drm_xe_query_oa_units *qoa = xe_oa_units(fd);
>+ struct drm_xe_query_oa_units *qoa;
> struct drm_xe_oa_unit *oau;
> u8 *poau;
>+ int i;
>
>- poau = (u8 *)&qoa->oa_units[0];
>- for (int i = 0; i < qoa->num_oa_units; i++) {
>- oau = (struct drm_xe_oa_unit *)poau;
>+ for_each_oa_unit(qoa, oau, poau, i) {
> if (oau->oa_unit_id == n)
> return oau;
>- poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]);
> }
>
> return NULL;
>@@ -496,16 +499,14 @@ static struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
>
> static struct drm_xe_oa_unit *oa_unit_by_type(int fd, int t)
> {
>- struct drm_xe_query_oa_units *qoa = xe_oa_units(fd);
>+ struct drm_xe_query_oa_units *qoa;
> struct drm_xe_oa_unit *oau;
> u8 *poau;
>+ int i;
>
>- poau = (u8 *)&qoa->oa_units[0];
>- for (int i = 0; i < qoa->num_oa_units; i++) {
>- oau = (struct drm_xe_oa_unit *)poau;
>+ for_each_oa_unit(qoa, oau, poau, i) {
> if (oau->oa_unit_type == t)
> return oau;
>- poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]);
> }
>
> return NULL;
If it's possible to keep the interface for iterators simple, I would go
for that. i, poau can be hidden from the caller. Something like this:
// NOTE: not compiled/tested
static u32 xe_oa_first_unit(int fd, struct drm_xe_oa_unit **oau)
{
struct drm_xe_query_oa_units *qoa = xe_oa_units(fd);
*oau = &qoa->oa_units[0];
return qoa->num_oa_units;
}
static void xe_oa_next_unit(struct drm_xe_oa_unit **oau)
{
struct drm_xe_oa_unit *poau = *oau;
return (u8 *)poau + sizeof(*poau) + poau->num_engines * sizeof(poau->eci[0]);
}
#define for_each_oa_unit(fd, oau) \
for (u32 i = 0, num = xe_oa_first_unit(fd, &oau); \
oau && i < num; \
i++, xe_oa_next_unit(&oau))
static const struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
{
struct drm_xe_oa_unit *oau;
for_each_oa_unit(fd, oau) {
if (oau->oa_unit_id == n)
return oau;
}
return NULL;
}
static const struct drm_xe_oa_unit *oa_unit_by_type(int fd, int t)
{
struct drm_xe_oa_unit *oau;
for_each_oa_unit(fd, oau) {
if (oau->oa_unit_type == t)
return oau;
}
return NULL;
}
Thanks,
Umesh
>--
>2.48.1
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH i-g-t 04/18] tests/intel/xe_oa: Change oa_unit_engine to take an oa_unit argument
2025-10-08 23:19 ` Dixit, Ashutosh
@ 2025-10-08 23:33 ` Umesh Nerlige Ramappa
0 siblings, 0 replies; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2025-10-08 23:33 UTC (permalink / raw)
To: Dixit, Ashutosh; +Cc: igt-dev
On Wed, Oct 08, 2025 at 04:19:31PM -0700, Dixit, Ashutosh wrote:
>On Wed, 08 Oct 2025 15:40:38 -0700, Umesh Nerlige Ramappa wrote:
>>
>> On Wed, Oct 08, 2025 at 02:17:51PM -0700, Ashutosh Dixit wrote:
>> > To prevent code duplication with oa_unit_by_id(), pass 'struct
>> > drm_xe_oa_unit *' as argument to oa_unit_engine().
>> >
>> > Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
>> > ---
>> > tests/intel/xe_oa.c | 32 ++++++++------------------------
>> > 1 file changed, 8 insertions(+), 24 deletions(-)
>> >
>> > diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
>> > index 65e03b1010..c7de1d081d 100644
>> > --- a/tests/intel/xe_oa.c
>> > +++ b/tests/intel/xe_oa.c
>> > @@ -472,25 +472,9 @@ static u64 oa_format_fields(u64 name)
>> > }
>> > #define __ff oa_format_fields
>> >
>> > -static struct drm_xe_engine_class_instance *oa_unit_engine(int fd, int n)
>> > +static struct drm_xe_engine_class_instance *oa_unit_engine(struct drm_xe_oa_unit *oau)
>> > {
>> > - struct drm_xe_query_oa_units *qoa = xe_oa_units(fd);
>> > - struct drm_xe_engine_class_instance *hwe = NULL;
>> > - struct drm_xe_oa_unit *oau;
>> > - u8 *poau;
>> > -
>> > - poau = (u8 *)&qoa->oa_units[0];
>> > - for (int i = 0; i < qoa->num_oa_units; i++) {
>> > - oau = (struct drm_xe_oa_unit *)poau;
>> > -
>> > - if (i == n) {
>> > - hwe = oau->num_engines ? &oau->eci[random() % oau->num_engines] : NULL;
>> > - break;
>> > - }
>> > - poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]);
>> > - }
>> > -
>> > - return hwe;
>> > + return !oau ? NULL : oau->num_engines ? &oau->eci[random() % oau->num_engines] : NULL;
>>
>> Since this can now return NULL hwe, test_oa_unit_exclusive_stream() and
>> test_oa_unit_concurrent_oa_buffer_read() should check if the hwe is NULL
>> and account for that.
>
>For test_oa_unit_exclusive_stream() this is done in the patch 16/18
>("tests/intel/xe_oa: Run test_oa_unit_exclusive_stream on multiple OA
>units").
>
>For test_oa_unit_concurrent_oa_buffer_read(), hwe is eliminated in Patch
>10/18 ("tests/intel/xe_oa: Convert blocking/polling tests to take OA unit
>arguments").
>
>So looks ok to me I think. Thanks.
>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Thanks,
Umesh
>
>>
>> Umesh
>>
>> > }
>> >
>> > static struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
>> > @@ -4263,7 +4247,7 @@ test_oa_unit_exclusive_stream(bool exponent)
>> >
>> > /* for each oa unit, open one random perf stream with sample OA */
>> > for (i = 0; i < qoa->num_oa_units; i++) {
>> > - struct drm_xe_engine_class_instance *hwe = oa_unit_engine(drm_fd, i);
>> > + struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oa_unit_by_id(drm_fd, i));
>> >
>> > oau = (struct drm_xe_oa_unit *)poau;
>> > if (oau->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
>> > @@ -4295,7 +4279,7 @@ test_oa_unit_exclusive_stream(bool exponent)
>> > /* for each oa unit make sure no other streams can be opened */
>> > poau = (u8 *)&qoa->oa_units[0];
>> > for (i = 0; i < qoa->num_oa_units; i++) {
>> > - struct drm_xe_engine_class_instance *hwe = oa_unit_engine(drm_fd, i);
>> > + struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oa_unit_by_id(drm_fd, i));
>> > int err;
>> >
>> > oau = (struct drm_xe_oa_unit *)poau;
>> > @@ -4345,7 +4329,7 @@ test_oa_unit_concurrent_oa_buffer_read(void)
>> > struct drm_xe_query_oa_units *qoa = xe_oa_units(drm_fd);
>> >
>> > igt_fork(child, qoa->num_oa_units) {
>> > - struct drm_xe_engine_class_instance *hwe = oa_unit_engine(drm_fd, child);
>> > + struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oa_unit_by_id(drm_fd, child));
>> >
>> > /* No OAM support yet */
>> > if (oa_unit_by_id(drm_fd, child)->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
>> > @@ -4924,18 +4908,18 @@ static const char *xe_engine_class_name(uint32_t engine_class)
>> >
>> > #define __for_one_hwe_in_each_oa_unit(hwe) \
>> > for (int m = 0; !m || hwe; m++) \
>> > - for_each_if(hwe = oa_unit_engine(drm_fd, m)) \
>> > + for_each_if(hwe = oa_unit_engine(oa_unit_by_id(drm_fd, m))) \
>> > igt_dynamic_f("%s-%d", xe_engine_class_name(hwe->engine_class), \
>> > hwe->engine_instance)
>> >
>> > /* Only OAG (not OAM) is currently supported */
>> > #define __for_one_hwe_in_oag(hwe) \
>> > - if ((hwe = oa_unit_engine(drm_fd, 0))) \
>> > + if ((hwe = oa_unit_engine(oa_unit_by_id(drm_fd, 0)))) \
>> > igt_dynamic_f("%s-%d", xe_engine_class_name(hwe->engine_class), \
>> > hwe->engine_instance)
>> >
>> > #define __for_one_hwe_in_oag_w_arg(hwe, str) \
>> > - if ((hwe = oa_unit_engine(drm_fd, 0))) \
>> > + if ((hwe = oa_unit_engine(oa_unit_by_id(drm_fd, 0)))) \
>> > igt_dynamic_f("%s-%d-%s", xe_engine_class_name(hwe->engine_class), \
>> > hwe->engine_instance, str)
>> >
>> > --
>> > 2.48.1
>> >
^ permalink raw reply [flat|nested] 46+ messages in thread
* ✗ Xe.CI.Full: failure for Change OA IGT's to run on all OA units
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
` (19 preceding siblings ...)
2025-10-08 22:39 ` ✓ i915.CI.BAT: " Patchwork
@ 2025-10-09 1:49 ` Patchwork
2025-10-09 11:47 ` ✗ i915.CI.Full: " Patchwork
21 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2025-10-09 1:49 UTC (permalink / raw)
To: Dixit, Ashutosh; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 65742 bytes --]
== Series Details ==
Series: Change OA IGT's to run on all OA units
URL : https://patchwork.freedesktop.org/series/155639/
State : failure
== Summary ==
CI Bug Log - changes from XEIGT_8579_FULL -> XEIGTPW_13878_FULL
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with XEIGTPW_13878_FULL absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in XEIGTPW_13878_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 -> 3)
------------------------------
Missing (1): shard-adlp
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in XEIGTPW_13878_FULL:
### IGT changes ###
#### Possible regressions ####
* igt@xe_evict@evict-beng-mixed-many-threads-small:
- shard-bmg: [PASS][1] -> [INCOMPLETE][2]
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-6/igt@xe_evict@evict-beng-mixed-many-threads-small.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-3/igt@xe_evict@evict-beng-mixed-many-threads-small.html
* {igt@xe_oa@non-zero-reason-all} (NEW):
- shard-dg2-set2: NOTRUN -> [SKIP][3]
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-435/igt@xe_oa@non-zero-reason-all.html
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* {igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-indfb-draw-blt}:
- shard-bmg: NOTRUN -> [SKIP][4]
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-3/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-indfb-draw-blt.html
* {igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-shrfb-draw-blt}:
- shard-lnl: NOTRUN -> [SKIP][5]
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-5/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-shrfb-draw-blt.html
New tests
---------
New tests have been introduced between XEIGT_8579_FULL and XEIGTPW_13878_FULL:
### New IGT tests (35) ###
* igt@xe_oa@blocking@oag-0:
- Statuses : 2 pass(s)
- Exec time: [1.01, 1.02] s
* igt@xe_oa@buffer-size@oag-0-128m:
- Statuses : 1 pass(s)
- Exec time: [9.40] s
* igt@xe_oa@buffer-size@oag-0-256k:
- Statuses : 1 pass(s)
- Exec time: [0.04] s
* igt@xe_oa@closed-fd-and-unmapped-access@oag-0:
- Statuses : 2 pass(s)
- Exec time: [0.04, 0.05] s
* igt@xe_oa@enable-disable@oag-0:
- Statuses : 2 pass(s)
- Exec time: [0.01, 0.02] s
* igt@xe_oa@invalid-map-oa-buffer@oag-0:
- Statuses : 2 pass(s)
- Exec time: [0.01] s
* igt@xe_oa@map-oa-buffer@oag-0:
- Statuses : 2 pass(s)
- Exec time: [0.05, 0.06] s
* igt@xe_oa@mi-rpc@oag-0:
- Statuses : 2 pass(s)
- Exec time: [0.01] s
* igt@xe_oa@mmio-triggered-reports-read@oag-0:
- Statuses : 2 pass(s)
- Exec time: [0.03, 0.04] s
* igt@xe_oa@mmio-triggered-reports@oag-0:
- Statuses : 1 pass(s)
- Exec time: [0.03] s
* igt@xe_oa@non-privileged-access-vaddr@oag-0:
- Statuses : 2 pass(s)
- Exec time: [0.01, 0.02] s
* igt@xe_oa@non-privileged-map-oa-buffer@oag-0:
- Statuses : 2 pass(s)
- Exec time: [0.01, 0.03] s
* igt@xe_oa@non-zero-reason-all:
- Statuses : 2 pass(s) 1 skip(s)
- Exec time: [0.0, 0.25] s
* igt@xe_oa@non-zero-reason-all@oag-0:
- Statuses : 2 pass(s)
- Exec time: [0.05] s
* igt@xe_oa@non-zero-reason-all@oam-2:
- Statuses : 2 pass(s)
- Exec time: [0.07] s
* igt@xe_oa@non-zero-reason-all@oam-3:
- Statuses : 1 pass(s)
- Exec time: [0.06] s
* igt@xe_oa@non-zero-reason-all@sag-1:
- Statuses : 2 pass(s)
- Exec time: [0.06, 0.07] s
* igt@xe_oa@non-zero-reason@oag-0:
- Statuses : 2 pass(s)
- Exec time: [1.19] s
* igt@xe_oa@oa-exponents@oag-0:
- Statuses : 2 pass(s)
- Exec time: [3.47, 3.49] s
* igt@xe_oa@oa-formats@oag-0:
- Statuses : 2 pass(s)
- Exec time: [0.12] s
* igt@xe_oa@oa-regs-whitelisted@oag-0:
- Statuses : 2 pass(s)
- Exec time: [0.01, 0.02] s
* igt@xe_oa@polling@oag-0:
- Statuses : 2 pass(s)
- Exec time: [1.03] s
* igt@xe_oa@privileged-forked-access-vaddr@oag-0:
- Statuses : 2 pass(s)
- Exec time: [0.01, 0.02] s
* igt@xe_oa@stress-open-close@oag-0:
- Statuses : 2 pass(s)
- Exec time: [2.17] s
* igt@xe_oa@syncs-syncobj-cfg@oag-0:
- Statuses : 2 pass(s)
- Exec time: [0.01] s
* igt@xe_oa@syncs-syncobj-none@oag-0:
- Statuses : 2 pass(s)
- Exec time: [0.00, 0.01] s
* igt@xe_oa@syncs-syncobj-wait-cfg@oag-0:
- Statuses : 2 pass(s)
- Exec time: [0.01] s
* igt@xe_oa@syncs-syncobj-wait@oag-0:
- Statuses : 2 pass(s)
- Exec time: [0.00, 0.01] s
* igt@xe_oa@syncs-ufence-wait-cfg@oag-0:
- Statuses : 2 pass(s)
- Exec time: [0.01] s
* igt@xe_oa@syncs-ufence-wait@oag-0:
- Statuses : 2 pass(s)
- Exec time: [0.01] s
* igt@xe_oa@syncs-userptr-wait-cfg@oag-0:
- Statuses : 2 pass(s)
- Exec time: [0.01, 0.02] s
* igt@xe_oa@syncs-userptr-wait@oag-0:
- Statuses : 2 pass(s)
- Exec time: [0.01] s
* igt@xe_oa@tail-address-wrap@oag-0-128m:
- Statuses : 1 pass(s)
- Exec time: [3.16] s
* igt@xe_oa@tail-address-wrap@oag-0-256k:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@xe_oa@unprivileged-single-ctx-counters@oag-0:
- Statuses : 2 pass(s)
- Exec time: [0.06] s
Known issues
------------
Here are the changes found in XEIGTPW_13878_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_async_flips@async-flip-with-page-flip-events-linear@pipe-c-edp-1:
- shard-lnl: [PASS][6] -> [FAIL][7] ([Intel XE#5993]) +3 other tests fail
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-lnl-2/igt@kms_async_flips@async-flip-with-page-flip-events-linear@pipe-c-edp-1.html
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-7/igt@kms_async_flips@async-flip-with-page-flip-events-linear@pipe-c-edp-1.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-90:
- shard-bmg: NOTRUN -> [SKIP][8] ([Intel XE#2327]) +1 other test skip
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-1/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
- shard-dg2-set2: NOTRUN -> [SKIP][9] ([Intel XE#1124])
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-434/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip:
- shard-bmg: NOTRUN -> [SKIP][10] ([Intel XE#1124]) +3 other tests skip
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-1/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
- shard-lnl: NOTRUN -> [SKIP][11] ([Intel XE#1124])
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-1/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html
* igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p:
- shard-bmg: NOTRUN -> [SKIP][12] ([Intel XE#2314] / [Intel XE#2894])
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-2/igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p.html
- shard-dg2-set2: NOTRUN -> [SKIP][13] ([Intel XE#2191])
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-464/igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p.html
* igt@kms_bw@linear-tiling-2-displays-1920x1080p:
- shard-bmg: NOTRUN -> [SKIP][14] ([Intel XE#367])
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-5/igt@kms_bw@linear-tiling-2-displays-1920x1080p.html
* igt@kms_bw@linear-tiling-4-displays-2160x1440p:
- shard-lnl: NOTRUN -> [SKIP][15] ([Intel XE#1512])
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-5/igt@kms_bw@linear-tiling-4-displays-2160x1440p.html
* igt@kms_bw@linear-tiling-4-displays-3840x2160p:
- shard-dg2-set2: NOTRUN -> [SKIP][16] ([Intel XE#367])
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-434/igt@kms_bw@linear-tiling-4-displays-3840x2160p.html
* igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc:
- shard-bmg: NOTRUN -> [SKIP][17] ([Intel XE#2887]) +4 other tests skip
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-8/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc.html
- shard-lnl: NOTRUN -> [SKIP][18] ([Intel XE#2887])
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-4/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc.html
* igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-6:
- shard-dg2-set2: NOTRUN -> [SKIP][19] ([Intel XE#787]) +118 other tests skip
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-463/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-6.html
* igt@kms_ccs@crc-primary-basic-yf-tiled-ccs@pipe-d-dp-4:
- shard-dg2-set2: NOTRUN -> [SKIP][20] ([Intel XE#455] / [Intel XE#787]) +18 other tests skip
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-463/igt@kms_ccs@crc-primary-basic-yf-tiled-ccs@pipe-d-dp-4.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs:
- shard-dg2-set2: NOTRUN -> [SKIP][21] ([Intel XE#2907]) +1 other test skip
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-433/igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs:
- shard-bmg: NOTRUN -> [SKIP][22] ([Intel XE#3432])
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-3/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4:
- shard-dg2-set2: [PASS][23] -> [INCOMPLETE][24] ([Intel XE#6168])
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4.html
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-6:
- shard-dg2-set2: [PASS][25] -> [DMESG-WARN][26] ([Intel XE#1727] / [Intel XE#3113])
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-6.html
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-6.html
* igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs@pipe-c-dp-2:
- shard-bmg: NOTRUN -> [SKIP][27] ([Intel XE#2652] / [Intel XE#787]) +21 other tests skip
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-8/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs@pipe-c-dp-2.html
* igt@kms_chamelium_frames@dp-crc-single:
- shard-bmg: NOTRUN -> [SKIP][28] ([Intel XE#2252]) +5 other tests skip
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-1/igt@kms_chamelium_frames@dp-crc-single.html
* igt@kms_chamelium_hpd@dp-hpd-after-suspend:
- shard-lnl: NOTRUN -> [SKIP][29] ([Intel XE#373]) +1 other test skip
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-4/igt@kms_chamelium_hpd@dp-hpd-after-suspend.html
* igt@kms_chamelium_hpd@vga-hpd-with-enabled-mode:
- shard-dg2-set2: NOTRUN -> [SKIP][30] ([Intel XE#373]) +3 other tests skip
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-463/igt@kms_chamelium_hpd@vga-hpd-with-enabled-mode.html
* igt@kms_content_protection@atomic-dpms@pipe-a-dp-4:
- shard-dg2-set2: NOTRUN -> [FAIL][31] ([Intel XE#1178]) +1 other test fail
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-434/igt@kms_content_protection@atomic-dpms@pipe-a-dp-4.html
* igt@kms_content_protection@dp-mst-lic-type-1:
- shard-dg2-set2: NOTRUN -> [SKIP][32] ([Intel XE#307])
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-433/igt@kms_content_protection@dp-mst-lic-type-1.html
* igt@kms_content_protection@lic-type-0@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [FAIL][33] ([Intel XE#1178]) +2 other tests fail
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-1/igt@kms_content_protection@lic-type-0@pipe-a-dp-2.html
* igt@kms_content_protection@type1:
- shard-bmg: NOTRUN -> [SKIP][34] ([Intel XE#2341])
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-4/igt@kms_content_protection@type1.html
- shard-lnl: NOTRUN -> [SKIP][35] ([Intel XE#3278])
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-4/igt@kms_content_protection@type1.html
* igt@kms_cursor_legacy@2x-cursor-vs-flip-atomic:
- shard-lnl: NOTRUN -> [SKIP][36] ([Intel XE#309])
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-7/igt@kms_cursor_legacy@2x-cursor-vs-flip-atomic.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-legacy:
- shard-bmg: [PASS][37] -> [SKIP][38] ([Intel XE#2291]) +2 other tests skip
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-2/igt@kms_cursor_legacy@cursorb-vs-flipb-legacy.html
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipb-legacy.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size:
- shard-bmg: NOTRUN -> [SKIP][39] ([Intel XE#2286])
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-1/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html
* igt@kms_display_modes@extended-mode-basic:
- shard-lnl: NOTRUN -> [SKIP][40] ([Intel XE#4302])
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-8/igt@kms_display_modes@extended-mode-basic.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-6:
- shard-dg2-set2: NOTRUN -> [SKIP][41] ([Intel XE#4494] / [i915#3804])
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-436/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-6.html
* igt@kms_dp_aux_dev:
- shard-bmg: NOTRUN -> [SKIP][42] ([Intel XE#3009])
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-6/igt@kms_dp_aux_dev.html
* igt@kms_dp_link_training@uhbr-mst:
- shard-lnl: NOTRUN -> [SKIP][43] ([Intel XE#4354])
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-4/igt@kms_dp_link_training@uhbr-mst.html
- shard-bmg: NOTRUN -> [SKIP][44] ([Intel XE#4354])
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-8/igt@kms_dp_link_training@uhbr-mst.html
- shard-dg2-set2: NOTRUN -> [SKIP][45] ([Intel XE#4356])
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-463/igt@kms_dp_link_training@uhbr-mst.html
* igt@kms_dsc@dsc-fractional-bpp:
- shard-dg2-set2: NOTRUN -> [SKIP][46] ([Intel XE#455]) +3 other tests skip
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-435/igt@kms_dsc@dsc-fractional-bpp.html
* igt@kms_feature_discovery@display-3x:
- shard-lnl: NOTRUN -> [SKIP][47] ([Intel XE#703])
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-3/igt@kms_feature_discovery@display-3x.html
- shard-bmg: NOTRUN -> [SKIP][48] ([Intel XE#2373])
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-7/igt@kms_feature_discovery@display-3x.html
- shard-dg2-set2: NOTRUN -> [SKIP][49] ([Intel XE#703])
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-435/igt@kms_feature_discovery@display-3x.html
* igt@kms_feature_discovery@psr1:
- shard-bmg: NOTRUN -> [SKIP][50] ([Intel XE#2374])
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-5/igt@kms_feature_discovery@psr1.html
* igt@kms_flip@2x-flip-vs-blocking-wf-vblank:
- shard-bmg: [PASS][51] -> [SKIP][52] ([Intel XE#2316]) +3 other tests skip
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-2/igt@kms_flip@2x-flip-vs-blocking-wf-vblank.html
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-6/igt@kms_flip@2x-flip-vs-blocking-wf-vblank.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling:
- shard-bmg: NOTRUN -> [SKIP][53] ([Intel XE#2293] / [Intel XE#2380]) +1 other test skip
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-7/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-valid-mode:
- shard-bmg: NOTRUN -> [SKIP][54] ([Intel XE#2293]) +1 other test skip
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-1/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-valid-mode.html
* igt@kms_frontbuffer_tracking@drrs-1p-primscrn-shrfb-msflip-blt:
- shard-lnl: NOTRUN -> [SKIP][55] ([Intel XE#651]) +1 other test skip
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-1/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-shrfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-shrfb-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][56] ([Intel XE#2311]) +10 other tests skip
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-shrfb-draw-blt.html
* igt@kms_frontbuffer_tracking@drrs-2p-rte:
- shard-lnl: NOTRUN -> [SKIP][57] ([Intel XE#656]) +7 other tests skip
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-7/igt@kms_frontbuffer_tracking@drrs-2p-rte.html
* igt@kms_frontbuffer_tracking@drrs-rgb101010-draw-mmap-wc:
- shard-dg2-set2: NOTRUN -> [SKIP][58] ([Intel XE#651]) +8 other tests skip
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-435/igt@kms_frontbuffer_tracking@drrs-rgb101010-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-render:
- shard-bmg: NOTRUN -> [SKIP][59] ([Intel XE#5390]) +8 other tests skip
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render:
- shard-bmg: NOTRUN -> [SKIP][60] ([Intel XE#2312]) +2 other tests skip
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-msflip-blt:
- shard-dg2-set2: NOTRUN -> [SKIP][61] ([Intel XE#653]) +12 other tests skip
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-436/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][62] ([Intel XE#2313]) +13 other tests skip
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@plane-fbc-rte:
- shard-bmg: NOTRUN -> [SKIP][63] ([Intel XE#2350])
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-6/igt@kms_frontbuffer_tracking@plane-fbc-rte.html
* igt@kms_hdr@invalid-hdr:
- shard-dg2-set2: [PASS][64] -> [SKIP][65] ([Intel XE#455])
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-463/igt@kms_hdr@invalid-hdr.html
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-432/igt@kms_hdr@invalid-hdr.html
- shard-bmg: [PASS][66] -> [SKIP][67] ([Intel XE#1503])
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-4/igt@kms_hdr@invalid-hdr.html
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-1/igt@kms_hdr@invalid-hdr.html
* igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner:
- shard-bmg: NOTRUN -> [SKIP][68] ([Intel XE#4090])
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-6/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html
- shard-dg2-set2: NOTRUN -> [SKIP][69] ([Intel XE#2925])
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-466/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html
* igt@kms_plane_cursor@viewport@pipe-a-hdmi-a-6-size-64:
- shard-dg2-set2: NOTRUN -> [FAIL][70] ([Intel XE#616])
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-435/igt@kms_plane_cursor@viewport@pipe-a-hdmi-a-6-size-64.html
* igt@kms_plane_multiple@2x-tiling-y:
- shard-bmg: NOTRUN -> [SKIP][71] ([Intel XE#4596])
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-y.html
* igt@kms_plane_multiple@tiling-y:
- shard-bmg: NOTRUN -> [SKIP][72] ([Intel XE#5020])
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-2/igt@kms_plane_multiple@tiling-y.html
- shard-lnl: NOTRUN -> [SKIP][73] ([Intel XE#5020])
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-7/igt@kms_plane_multiple@tiling-y.html
* igt@kms_plane_multiple@tiling-yf:
- shard-dg2-set2: NOTRUN -> [SKIP][74] ([Intel XE#5020]) +1 other test skip
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-432/igt@kms_plane_multiple@tiling-yf.html
* igt@kms_pm_backlight@basic-brightness:
- shard-bmg: NOTRUN -> [SKIP][75] ([Intel XE#870])
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-2/igt@kms_pm_backlight@basic-brightness.html
- shard-dg2-set2: NOTRUN -> [SKIP][76] ([Intel XE#870])
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-464/igt@kms_pm_backlight@basic-brightness.html
* igt@kms_pm_dc@dc6-psr:
- shard-bmg: NOTRUN -> [SKIP][77] ([Intel XE#2392])
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-7/igt@kms_pm_dc@dc6-psr.html
* igt@kms_pm_rpm@modeset-lpsp-stress-no-wait:
- shard-bmg: NOTRUN -> [SKIP][78] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#836])
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-1/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
* igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-fully-sf:
- shard-bmg: NOTRUN -> [SKIP][79] ([Intel XE#1406] / [Intel XE#1489]) +1 other test skip
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-2/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-fully-sf.html
- shard-dg2-set2: NOTRUN -> [SKIP][80] ([Intel XE#1406] / [Intel XE#1489]) +3 other tests skip
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-433/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_su@page_flip-nv12:
- shard-bmg: NOTRUN -> [SKIP][81] ([Intel XE#1406] / [Intel XE#2387])
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-7/igt@kms_psr2_su@page_flip-nv12.html
* igt@kms_psr@fbc-pr-cursor-plane-onoff:
- shard-bmg: NOTRUN -> [SKIP][82] ([Intel XE#1406] / [Intel XE#2234] / [Intel XE#2850]) +4 other tests skip
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-2/igt@kms_psr@fbc-pr-cursor-plane-onoff.html
* igt@kms_psr@fbc-psr2-dpms:
- shard-lnl: NOTRUN -> [SKIP][83] ([Intel XE#1406])
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-3/igt@kms_psr@fbc-psr2-dpms.html
* igt@kms_psr@fbc-psr2-dpms@edp-1:
- shard-lnl: NOTRUN -> [SKIP][84] ([Intel XE#1406] / [Intel XE#4609])
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-3/igt@kms_psr@fbc-psr2-dpms@edp-1.html
* igt@kms_psr@psr-primary-page-flip:
- shard-dg2-set2: NOTRUN -> [SKIP][85] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) +2 other tests skip
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-463/igt@kms_psr@psr-primary-page-flip.html
* igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
- shard-dg2-set2: NOTRUN -> [SKIP][86] ([Intel XE#1406] / [Intel XE#2939])
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-436/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
* igt@kms_setmode@basic-clone-single-crtc:
- shard-bmg: NOTRUN -> [SKIP][87] ([Intel XE#1435])
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-3/igt@kms_setmode@basic-clone-single-crtc.html
* igt@kms_vrr@max-min:
- shard-bmg: NOTRUN -> [SKIP][88] ([Intel XE#1499])
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-4/igt@kms_vrr@max-min.html
* igt@sriov_basic@enable-vfs-autoprobe-off:
- shard-dg2-set2: NOTRUN -> [SKIP][89] ([Intel XE#1091] / [Intel XE#2849])
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-464/igt@sriov_basic@enable-vfs-autoprobe-off.html
- shard-lnl: NOTRUN -> [SKIP][90] ([Intel XE#1091] / [Intel XE#2849])
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-1/igt@sriov_basic@enable-vfs-autoprobe-off.html
* igt@xe_copy_basic@mem-copy-linear-0x369:
- shard-dg2-set2: NOTRUN -> [SKIP][91] ([Intel XE#1123])
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-466/igt@xe_copy_basic@mem-copy-linear-0x369.html
* igt@xe_eu_stall@invalid-gt-id:
- shard-dg2-set2: NOTRUN -> [SKIP][92] ([Intel XE#5626])
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-435/igt@xe_eu_stall@invalid-gt-id.html
* igt@xe_eudebug@basic-vm-bind:
- shard-bmg: NOTRUN -> [SKIP][93] ([Intel XE#4837]) +5 other tests skip
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-7/igt@xe_eudebug@basic-vm-bind.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-invalidate:
- shard-dg2-set2: [PASS][94] -> [SKIP][95] ([Intel XE#1392]) +5 other tests skip
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-464/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-invalidate.html
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-432/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-invalidate.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate:
- shard-dg2-set2: NOTRUN -> [SKIP][96] ([Intel XE#1392])
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-432/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate.html
* igt@xe_exec_basic@multigpu-no-exec-null:
- shard-bmg: NOTRUN -> [SKIP][97] ([Intel XE#2322]) +2 other tests skip
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-3/igt@xe_exec_basic@multigpu-no-exec-null.html
* igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate-race:
- shard-lnl: NOTRUN -> [SKIP][98] ([Intel XE#1392])
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-2/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate-race.html
* igt@xe_exec_fault_mode@many-execqueues-userptr-invalidate-imm:
- shard-dg2-set2: NOTRUN -> [SKIP][99] ([Intel XE#288]) +8 other tests skip
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-433/igt@xe_exec_fault_mode@many-execqueues-userptr-invalidate-imm.html
* igt@xe_exec_sip_eudebug@breakpoint-writesip:
- shard-dg2-set2: NOTRUN -> [SKIP][100] ([Intel XE#4837]) +5 other tests skip
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-436/igt@xe_exec_sip_eudebug@breakpoint-writesip.html
- shard-lnl: NOTRUN -> [SKIP][101] ([Intel XE#4837]) +2 other tests skip
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-5/igt@xe_exec_sip_eudebug@breakpoint-writesip.html
* igt@xe_exec_system_allocator@threads-many-large-mmap-huge:
- shard-lnl: NOTRUN -> [SKIP][102] ([Intel XE#4943]) +3 other tests skip
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-4/igt@xe_exec_system_allocator@threads-many-large-mmap-huge.html
* igt@xe_exec_system_allocator@threads-many-stride-mmap-remap-eocheck:
- shard-dg2-set2: NOTRUN -> [SKIP][103] ([Intel XE#4915]) +95 other tests skip
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-435/igt@xe_exec_system_allocator@threads-many-stride-mmap-remap-eocheck.html
* igt@xe_exec_system_allocator@threads-shared-vm-many-execqueues-mmap-new-huge:
- shard-bmg: NOTRUN -> [SKIP][104] ([Intel XE#4943]) +16 other tests skip
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-1/igt@xe_exec_system_allocator@threads-shared-vm-many-execqueues-mmap-new-huge.html
* igt@xe_module_load@load:
- shard-bmg: ([PASS][105], [PASS][106], [PASS][107], [PASS][108], [PASS][109], [PASS][110], [PASS][111], [PASS][112], [PASS][113], [PASS][114], [PASS][115], [PASS][116], [PASS][117], [PASS][118], [PASS][119], [PASS][120], [PASS][121], [PASS][122], [PASS][123], [PASS][124], [PASS][125], [PASS][126], [PASS][127], [PASS][128], [PASS][129]) -> ([PASS][130], [PASS][131], [PASS][132], [PASS][133], [PASS][134], [PASS][135], [PASS][136], [PASS][137], [PASS][138], [PASS][139], [PASS][140], [PASS][141], [PASS][142], [PASS][143], [PASS][144], [PASS][145], [PASS][146], [PASS][147], [PASS][148], [PASS][149], [SKIP][150], [PASS][151], [PASS][152], [PASS][153], [PASS][154], [PASS][155]) ([Intel XE#2457])
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-7/igt@xe_module_load@load.html
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-6/igt@xe_module_load@load.html
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-6/igt@xe_module_load@load.html
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-7/igt@xe_module_load@load.html
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-7/igt@xe_module_load@load.html
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-3/igt@xe_module_load@load.html
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-3/igt@xe_module_load@load.html
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-6/igt@xe_module_load@load.html
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-1/igt@xe_module_load@load.html
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-8/igt@xe_module_load@load.html
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-6/igt@xe_module_load@load.html
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-2/igt@xe_module_load@load.html
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-2/igt@xe_module_load@load.html
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-2/igt@xe_module_load@load.html
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-5/igt@xe_module_load@load.html
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-5/igt@xe_module_load@load.html
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-3/igt@xe_module_load@load.html
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-3/igt@xe_module_load@load.html
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-5/igt@xe_module_load@load.html
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-8/igt@xe_module_load@load.html
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-1/igt@xe_module_load@load.html
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-1/igt@xe_module_load@load.html
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-4/igt@xe_module_load@load.html
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-4/igt@xe_module_load@load.html
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-4/igt@xe_module_load@load.html
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-8/igt@xe_module_load@load.html
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-8/igt@xe_module_load@load.html
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-1/igt@xe_module_load@load.html
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-3/igt@xe_module_load@load.html
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-3/igt@xe_module_load@load.html
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-3/igt@xe_module_load@load.html
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-8/igt@xe_module_load@load.html
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-4/igt@xe_module_load@load.html
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-1/igt@xe_module_load@load.html
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-1/igt@xe_module_load@load.html
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-5/igt@xe_module_load@load.html
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-5/igt@xe_module_load@load.html
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-5/igt@xe_module_load@load.html
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-4/igt@xe_module_load@load.html
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-4/igt@xe_module_load@load.html
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-7/igt@xe_module_load@load.html
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-7/igt@xe_module_load@load.html
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-7/igt@xe_module_load@load.html
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-2/igt@xe_module_load@load.html
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-2/igt@xe_module_load@load.html
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-2/igt@xe_module_load@load.html
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-6/igt@xe_module_load@load.html
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-2/igt@xe_module_load@load.html
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-2/igt@xe_module_load@load.html
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-6/igt@xe_module_load@load.html
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-6/igt@xe_module_load@load.html
- shard-dg2-set2: ([PASS][156], [PASS][157], [PASS][158], [PASS][159], [PASS][160], [PASS][161], [PASS][162], [PASS][163], [PASS][164], [PASS][165], [PASS][166], [PASS][167], [PASS][168], [PASS][169], [PASS][170], [PASS][171], [PASS][172], [PASS][173], [PASS][174], [PASS][175], [PASS][176], [PASS][177], [PASS][178], [PASS][179], [PASS][180]) -> ([PASS][181], [PASS][182], [PASS][183], [PASS][184], [PASS][185], [PASS][186], [PASS][187], [PASS][188], [PASS][189], [PASS][190], [PASS][191], [PASS][192], [PASS][193], [SKIP][194], [PASS][195], [PASS][196], [PASS][197], [PASS][198], [PASS][199], [PASS][200], [PASS][201], [PASS][202], [PASS][203], [PASS][204], [PASS][205], [PASS][206]) ([Intel XE#378])
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-466/igt@xe_module_load@load.html
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-466/igt@xe_module_load@load.html
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-464/igt@xe_module_load@load.html
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-463/igt@xe_module_load@load.html
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-463/igt@xe_module_load@load.html
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-435/igt@xe_module_load@load.html
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-464/igt@xe_module_load@load.html
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-432/igt@xe_module_load@load.html
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-464/igt@xe_module_load@load.html
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-464/igt@xe_module_load@load.html
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-434/igt@xe_module_load@load.html
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-434/igt@xe_module_load@load.html
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-432/igt@xe_module_load@load.html
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-432/igt@xe_module_load@load.html
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-432/igt@xe_module_load@load.html
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-463/igt@xe_module_load@load.html
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-463/igt@xe_module_load@load.html
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-463/igt@xe_module_load@load.html
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-433/igt@xe_module_load@load.html
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-435/igt@xe_module_load@load.html
[176]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-435/igt@xe_module_load@load.html
[177]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-433/igt@xe_module_load@load.html
[178]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-433/igt@xe_module_load@load.html
[179]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-436/igt@xe_module_load@load.html
[180]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-436/igt@xe_module_load@load.html
[181]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-432/igt@xe_module_load@load.html
[182]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-432/igt@xe_module_load@load.html
[183]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-463/igt@xe_module_load@load.html
[184]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-463/igt@xe_module_load@load.html
[185]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-463/igt@xe_module_load@load.html
[186]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-434/igt@xe_module_load@load.html
[187]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-434/igt@xe_module_load@load.html
[188]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-434/igt@xe_module_load@load.html
[189]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-432/igt@xe_module_load@load.html
[190]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-466/igt@xe_module_load@load.html
[191]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-466/igt@xe_module_load@load.html
[192]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-435/igt@xe_module_load@load.html
[193]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-435/igt@xe_module_load@load.html
[194]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-435/igt@xe_module_load@load.html
[195]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-464/igt@xe_module_load@load.html
[196]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-464/igt@xe_module_load@load.html
[197]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-435/igt@xe_module_load@load.html
[198]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-435/igt@xe_module_load@load.html
[199]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-436/igt@xe_module_load@load.html
[200]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-433/igt@xe_module_load@load.html
[201]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-432/igt@xe_module_load@load.html
[202]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-433/igt@xe_module_load@load.html
[203]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-433/igt@xe_module_load@load.html
[204]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-433/igt@xe_module_load@load.html
[205]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-436/igt@xe_module_load@load.html
[206]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-436/igt@xe_module_load@load.html
* igt@xe_oa@oa-unit-exclusive-stream-sample-oa:
- shard-dg2-set2: NOTRUN -> [SKIP][207] ([Intel XE#3573]) +2 other tests skip
[207]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-464/igt@xe_oa@oa-unit-exclusive-stream-sample-oa.html
* igt@xe_pat@pat-index-xehpc:
- shard-bmg: NOTRUN -> [SKIP][208] ([Intel XE#1420])
[208]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-4/igt@xe_pat@pat-index-xehpc.html
* igt@xe_pat@pat-index-xelpg:
- shard-dg2-set2: NOTRUN -> [SKIP][209] ([Intel XE#979])
[209]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-432/igt@xe_pat@pat-index-xelpg.html
* igt@xe_pm@d3cold-basic-exec:
- shard-dg2-set2: NOTRUN -> [SKIP][210] ([Intel XE#2284] / [Intel XE#366])
[210]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-436/igt@xe_pm@d3cold-basic-exec.html
* igt@xe_pxp@pxp-stale-bo-bind-post-termination-irq:
- shard-dg2-set2: NOTRUN -> [SKIP][211] ([Intel XE#4733])
[211]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-463/igt@xe_pxp@pxp-stale-bo-bind-post-termination-irq.html
* igt@xe_query@multigpu-query-cs-cycles:
- shard-bmg: NOTRUN -> [SKIP][212] ([Intel XE#944]) +2 other tests skip
[212]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-8/igt@xe_query@multigpu-query-cs-cycles.html
- shard-dg2-set2: NOTRUN -> [SKIP][213] ([Intel XE#944]) +1 other test skip
[213]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-466/igt@xe_query@multigpu-query-cs-cycles.html
- shard-lnl: NOTRUN -> [SKIP][214] ([Intel XE#944])
[214]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-5/igt@xe_query@multigpu-query-cs-cycles.html
* igt@xe_sriov_auto_provisioning@selfconfig-reprovision-reduce-numvfs:
- shard-dg2-set2: NOTRUN -> [SKIP][215] ([Intel XE#4130])
[215]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-464/igt@xe_sriov_auto_provisioning@selfconfig-reprovision-reduce-numvfs.html
- shard-lnl: NOTRUN -> [SKIP][216] ([Intel XE#4130])
[216]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-1/igt@xe_sriov_auto_provisioning@selfconfig-reprovision-reduce-numvfs.html
* igt@xe_sriov_flr@flr-vfs-parallel:
- shard-dg2-set2: NOTRUN -> [SKIP][217] ([Intel XE#4273])
[217]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-466/igt@xe_sriov_flr@flr-vfs-parallel.html
#### Possible fixes ####
* igt@intel_hwmon@hwmon-write:
- shard-bmg: [FAIL][218] ([Intel XE#4665]) -> [PASS][219]
[218]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-2/igt@intel_hwmon@hwmon-write.html
[219]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-6/igt@intel_hwmon@hwmon-write.html
* igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1:
- shard-lnl: [FAIL][220] ([Intel XE#6054]) -> [PASS][221] +3 other tests pass
[220]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-lnl-3/igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1.html
[221]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-3/igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs:
- shard-dg2-set2: [INCOMPLETE][222] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4345] / [Intel XE#6168]) -> [PASS][223]
[222]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html
[223]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc:
- shard-dg2-set2: [INCOMPLETE][224] ([Intel XE#2705] / [Intel XE#4212] / [Intel XE#4345] / [Intel XE#4522]) -> [PASS][225]
[224]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
[225]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-b-hdmi-a-6:
- shard-dg2-set2: [INCOMPLETE][226] ([Intel XE#2705] / [Intel XE#4212] / [Intel XE#4522]) -> [PASS][227]
[226]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-b-hdmi-a-6.html
[227]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-b-hdmi-a-6.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-legacy:
- shard-bmg: [SKIP][228] ([Intel XE#2291]) -> [PASS][229] +3 other tests pass
[228]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html
[229]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-3/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html
* igt@kms_dp_link_training@non-uhbr-sst:
- shard-bmg: [SKIP][230] ([Intel XE#4354]) -> [PASS][231]
[230]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-6/igt@kms_dp_link_training@non-uhbr-sst.html
[231]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-4/igt@kms_dp_link_training@non-uhbr-sst.html
* igt@kms_flip@2x-flip-vs-dpms-on-nop:
- shard-bmg: [SKIP][232] ([Intel XE#2316]) -> [PASS][233] +4 other tests pass
[232]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-6/igt@kms_flip@2x-flip-vs-dpms-on-nop.html
[233]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-3/igt@kms_flip@2x-flip-vs-dpms-on-nop.html
* igt@kms_hdr@static-toggle-dpms:
- shard-bmg: [SKIP][234] ([Intel XE#1503]) -> [PASS][235]
[234]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-6/igt@kms_hdr@static-toggle-dpms.html
[235]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-3/igt@kms_hdr@static-toggle-dpms.html
* igt@kms_plane_multiple@2x-tiling-x:
- shard-bmg: [SKIP][236] ([Intel XE#4596]) -> [PASS][237]
[236]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-x.html
[237]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-2/igt@kms_plane_multiple@2x-tiling-x.html
* igt@kms_plane_scaling@intel-max-src-size:
- shard-bmg: [SKIP][238] ([Intel XE#2685] / [Intel XE#3307]) -> [PASS][239]
[238]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-4/igt@kms_plane_scaling@intel-max-src-size.html
[239]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-6/igt@kms_plane_scaling@intel-max-src-size.html
- shard-dg2-set2: [SKIP][240] ([Intel XE#455]) -> [PASS][241]
[240]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-466/igt@kms_plane_scaling@intel-max-src-size.html
[241]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-463/igt@kms_plane_scaling@intel-max-src-size.html
* igt@kms_pm_dc@dc6-psr:
- shard-lnl: [FAIL][242] ([Intel XE#718]) -> [PASS][243] +1 other test pass
[242]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-lnl-3/igt@kms_pm_dc@dc6-psr.html
[243]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-lnl-1/igt@kms_pm_dc@dc6-psr.html
* igt@xe_evict@evict-mixed-many-threads-small:
- shard-bmg: [INCOMPLETE][244] -> [PASS][245]
[244]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-4/igt@xe_evict@evict-mixed-many-threads-small.html
[245]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-2/igt@xe_evict@evict-mixed-many-threads-small.html
* igt@xe_exec_basic@multigpu-no-exec-null-defer-bind:
- shard-dg2-set2: [SKIP][246] ([Intel XE#1392]) -> [PASS][247] +5 other tests pass
[246]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-432/igt@xe_exec_basic@multigpu-no-exec-null-defer-bind.html
[247]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-464/igt@xe_exec_basic@multigpu-no-exec-null-defer-bind.html
* igt@xe_exec_compute_mode@many-execqueues-preempt-fence-early:
- shard-bmg: [FAIL][248] ([Intel XE#5625]) -> [PASS][249]
[248]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-2/igt@xe_exec_compute_mode@many-execqueues-preempt-fence-early.html
[249]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-5/igt@xe_exec_compute_mode@many-execqueues-preempt-fence-early.html
* igt@xe_exec_threads@threads-userptr-rebind-err:
- shard-bmg: [DMESG-FAIL][250] ([Intel XE#3876]) -> [PASS][251] +1 other test pass
[250]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-2/igt@xe_exec_threads@threads-userptr-rebind-err.html
[251]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-8/igt@xe_exec_threads@threads-userptr-rebind-err.html
#### Warnings ####
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs:
- shard-dg2-set2: [INCOMPLETE][252] ([Intel XE#2705] / [Intel XE#4212] / [Intel XE#4345]) -> [INCOMPLETE][253] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4345] / [Intel XE#6168])
[252]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
[253]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
* igt@kms_content_protection@lic-type-0:
- shard-bmg: [SKIP][254] ([Intel XE#2341]) -> [FAIL][255] ([Intel XE#1178])
[254]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-6/igt@kms_content_protection@lic-type-0.html
[255]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-1/igt@kms_content_protection@lic-type-0.html
* igt@kms_content_protection@srm:
- shard-bmg: [FAIL][256] ([Intel XE#1178]) -> [SKIP][257] ([Intel XE#2341])
[256]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-3/igt@kms_content_protection@srm.html
[257]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-6/igt@kms_content_protection@srm.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][258] ([Intel XE#2312]) -> [SKIP][259] ([Intel XE#2311]) +11 other tests skip
[258]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc.html
[259]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-8/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt:
- shard-bmg: [SKIP][260] ([Intel XE#5390]) -> [SKIP][261] ([Intel XE#2312]) +2 other tests skip
[260]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-3/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt.html
[261]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render:
- shard-bmg: [SKIP][262] ([Intel XE#2312]) -> [SKIP][263] ([Intel XE#5390]) +6 other tests skip
[262]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html
[263]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][264] ([Intel XE#2311]) -> [SKIP][265] ([Intel XE#2312]) +9 other tests skip
[264]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html
[265]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-move:
- shard-bmg: [SKIP][266] ([Intel XE#2313]) -> [SKIP][267] ([Intel XE#2312]) +8 other tests skip
[266]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-move.html
[267]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render:
- shard-bmg: [SKIP][268] ([Intel XE#2312]) -> [SKIP][269] ([Intel XE#2313]) +11 other tests skip
[268]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render.html
[269]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render.html
* igt@kms_hdr@brightness-with-hdr:
- shard-bmg: [SKIP][270] ([Intel XE#3544]) -> [SKIP][271] ([Intel XE#3374] / [Intel XE#3544])
[270]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-1/igt@kms_hdr@brightness-with-hdr.html
[271]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-6/igt@kms_hdr@brightness-with-hdr.html
* igt@kms_pm_rpm@modeset-lpsp-stress:
- shard-bmg: [ABORT][272] ([Intel XE#4760] / [Intel XE#5545]) -> [SKIP][273] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#836])
[272]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-bmg-2/igt@kms_pm_rpm@modeset-lpsp-stress.html
[273]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-bmg-1/igt@kms_pm_rpm@modeset-lpsp-stress.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-dg2-set2: [SKIP][274] ([Intel XE#362]) -> [FAIL][275] ([Intel XE#1729])
[274]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-463/igt@kms_tiled_display@basic-test-pattern.html
[275]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-433/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-dg2-set2: [SKIP][276] ([Intel XE#1500]) -> [SKIP][277] ([Intel XE#362])
[276]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8579/shard-dg2-464/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[277]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/shard-dg2-463/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#1091]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1091
[Intel XE#1123]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1123
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
[Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
[Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1420]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1420
[Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
[Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
[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#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
[Intel XE#1512]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1512
[Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
[Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
[Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[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#2286]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2286
[Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
[Intel XE#2293]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2293
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314
[Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
[Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
[Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
[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#2373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2373
[Intel XE#2374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2374
[Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
[Intel XE#2387]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2387
[Intel XE#2392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2392
[Intel XE#2457]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2457
[Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
[Intel XE#2685]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2685
[Intel XE#2705]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2705
[Intel XE#2849]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2849
[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#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
[Intel XE#2907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2907
[Intel XE#2925]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2925
[Intel XE#2939]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2939
[Intel XE#3009]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3009
[Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
[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#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
[Intel XE#3278]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3278
[Intel XE#3307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3307
[Intel XE#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374
[Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
[Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
[Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
[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#378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/378
[Intel XE#3876]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3876
[Intel XE#4090]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4090
[Intel XE#4130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4130
[Intel XE#4212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4212
[Intel XE#4273]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4273
[Intel XE#4302]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4302
[Intel XE#4345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4345
[Intel XE#4354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4354
[Intel XE#4356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4356
[Intel XE#4494]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4494
[Intel XE#4522]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4522
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
[Intel XE#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596
[Intel XE#4609]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4609
[Intel XE#4665]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4665
[Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
[Intel XE#4760]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4760
[Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
[Intel XE#4915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4915
[Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
[Intel XE#5020]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5020
[Intel XE#5390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5390
[Intel XE#5545]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5545
[Intel XE#5625]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5625
[Intel XE#5626]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5626
[Intel XE#5993]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5993
[Intel XE#6054]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6054
[Intel XE#616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/616
[Intel XE#6168]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6168
[Intel XE#6196]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6196
[Intel XE#6259]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6259
[Intel XE#6267]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6267
[Intel XE#6281]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6281
[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#703]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/703
[Intel XE#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
[Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
[Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
[Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
[Intel XE#979]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/979
[i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
Build changes
-------------
* IGT: IGT_8579 -> IGTPW_13878
IGTPW_13878: 13878
IGT_8579: 8579
xe-3886-f929eafc95342ea5377f79705864d50dd325c79f: f929eafc95342ea5377f79705864d50dd325c79f
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13878/index.html
[-- Attachment #2: Type: text/html, Size: 75876 bytes --]
^ permalink raw reply [flat|nested] 46+ messages in thread
* ✗ i915.CI.Full: failure for Change OA IGT's to run on all OA units
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
` (20 preceding siblings ...)
2025-10-09 1:49 ` ✗ Xe.CI.Full: failure " Patchwork
@ 2025-10-09 11:47 ` Patchwork
21 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2025-10-09 11:47 UTC (permalink / raw)
To: Dixit, Ashutosh; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 168342 bytes --]
== Series Details ==
Series: Change OA IGT's to run on all OA units
URL : https://patchwork.freedesktop.org/series/155639/
State : failure
== Summary ==
CI Bug Log - changes from IGT_8579_full -> IGTPW_13878_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_13878_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_13878_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.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/index.html
Participating hosts (12 -> 12)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_13878_full:
### IGT changes ###
#### Possible regressions ####
* igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1:
- shard-tglu: [PASS][1] -> [FAIL][2] +1 other test fail
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-tglu-6/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-10/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1.html
Known issues
------------
Here are the changes found in IGTPW_13878_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@api_intel_bb@blit-reloc-keep-cache:
- shard-dg2: NOTRUN -> [SKIP][3] ([i915#8411])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-3/igt@api_intel_bb@blit-reloc-keep-cache.html
* igt@api_intel_bb@crc32:
- shard-rkl: NOTRUN -> [SKIP][4] ([i915#6230])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-4/igt@api_intel_bb@crc32.html
* igt@device_reset@unbind-cold-reset-rebind:
- shard-dg2: NOTRUN -> [SKIP][5] ([i915#11078])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-1/igt@device_reset@unbind-cold-reset-rebind.html
* igt@gem_busy@semaphore:
- shard-dg2: NOTRUN -> [SKIP][6] ([i915#3936])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-5/igt@gem_busy@semaphore.html
* igt@gem_ccs@block-copy-compressed:
- shard-tglu-1: NOTRUN -> [SKIP][7] ([i915#3555] / [i915#9323])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@gem_ccs@block-copy-compressed.html
* igt@gem_ccs@block-multicopy-inplace:
- shard-dg1: NOTRUN -> [SKIP][8] ([i915#3555] / [i915#9323])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-18/igt@gem_ccs@block-multicopy-inplace.html
* igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-smem-lmem0:
- shard-dg2: [PASS][9] -> [INCOMPLETE][10] ([i915#13356])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg2-3/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-smem-lmem0.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-7/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-smem-lmem0.html
* igt@gem_close_race@multigpu-basic-process:
- shard-tglu: NOTRUN -> [SKIP][11] ([i915#7697])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-8/igt@gem_close_race@multigpu-basic-process.html
* igt@gem_close_race@multigpu-basic-threads:
- shard-dg2: NOTRUN -> [SKIP][12] ([i915#7697])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-3/igt@gem_close_race@multigpu-basic-threads.html
* igt@gem_create@create-ext-cpu-access-big:
- shard-dg2: NOTRUN -> [ABORT][13] ([i915#13427])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-5/igt@gem_create@create-ext-cpu-access-big.html
* igt@gem_create@create-ext-set-pat:
- shard-dg2-9: NOTRUN -> [SKIP][14] ([i915#8562])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@gem_create@create-ext-set-pat.html
* igt@gem_ctx_persistence@heartbeat-close:
- shard-dg2: NOTRUN -> [SKIP][15] ([i915#8555])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-1/igt@gem_ctx_persistence@heartbeat-close.html
* igt@gem_ctx_persistence@legacy-engines-mixed-process:
- shard-snb: NOTRUN -> [SKIP][16] ([i915#1099])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-snb5/igt@gem_ctx_persistence@legacy-engines-mixed-process.html
* igt@gem_ctx_sseu@invalid-args:
- shard-dg2: NOTRUN -> [SKIP][17] ([i915#280])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-6/igt@gem_ctx_sseu@invalid-args.html
* igt@gem_ctx_sseu@invalid-sseu:
- shard-dg2-9: NOTRUN -> [SKIP][18] ([i915#280]) +1 other test skip
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@gem_ctx_sseu@invalid-sseu.html
* igt@gem_ctx_sseu@mmap-args:
- shard-tglu: NOTRUN -> [SKIP][19] ([i915#280])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-10/igt@gem_ctx_sseu@mmap-args.html
* igt@gem_exec_balancer@bonded-dual:
- shard-dg2-9: NOTRUN -> [SKIP][20] ([i915#4771])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@gem_exec_balancer@bonded-dual.html
* igt@gem_exec_balancer@bonded-false-hang:
- shard-dg2-9: NOTRUN -> [SKIP][21] ([i915#4812])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@gem_exec_balancer@bonded-false-hang.html
* igt@gem_exec_balancer@bonded-pair:
- shard-dg2: NOTRUN -> [SKIP][22] ([i915#4771])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-4/igt@gem_exec_balancer@bonded-pair.html
* igt@gem_exec_balancer@hog:
- shard-dg2: NOTRUN -> [SKIP][23] ([i915#4812])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-3/igt@gem_exec_balancer@hog.html
* igt@gem_exec_balancer@parallel-contexts:
- shard-tglu-1: NOTRUN -> [SKIP][24] ([i915#4525]) +2 other tests skip
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@gem_exec_balancer@parallel-contexts.html
* igt@gem_exec_capture@capture-recoverable:
- shard-tglu: NOTRUN -> [SKIP][25] ([i915#6344])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-6/igt@gem_exec_capture@capture-recoverable.html
* igt@gem_exec_capture@capture@vecs0-lmem0:
- shard-dg2-9: NOTRUN -> [FAIL][26] ([i915#11965]) +4 other tests fail
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@gem_exec_capture@capture@vecs0-lmem0.html
* igt@gem_exec_flush@basic-uc-prw-default:
- shard-dg2: NOTRUN -> [SKIP][27] ([i915#3539])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-3/igt@gem_exec_flush@basic-uc-prw-default.html
* igt@gem_exec_flush@basic-wb-prw-default:
- shard-dg2: NOTRUN -> [SKIP][28] ([i915#3539] / [i915#4852]) +2 other tests skip
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-7/igt@gem_exec_flush@basic-wb-prw-default.html
* igt@gem_exec_flush@basic-wb-ro-default:
- shard-dg2-9: NOTRUN -> [SKIP][29] ([i915#3539] / [i915#4852]) +1 other test skip
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@gem_exec_flush@basic-wb-ro-default.html
* igt@gem_exec_flush@basic-wb-rw-default:
- shard-dg1: NOTRUN -> [SKIP][30] ([i915#3539] / [i915#4852])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-15/igt@gem_exec_flush@basic-wb-rw-default.html
* igt@gem_exec_reloc@basic-cpu-gtt-noreloc:
- shard-dg2: NOTRUN -> [SKIP][31] ([i915#3281]) +10 other tests skip
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-1/igt@gem_exec_reloc@basic-cpu-gtt-noreloc.html
- shard-rkl: NOTRUN -> [SKIP][32] ([i915#3281]) +1 other test skip
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-2/igt@gem_exec_reloc@basic-cpu-gtt-noreloc.html
* igt@gem_exec_reloc@basic-gtt-active:
- shard-dg2-9: NOTRUN -> [SKIP][33] ([i915#3281]) +3 other tests skip
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@gem_exec_reloc@basic-gtt-active.html
* igt@gem_exec_reloc@basic-wc:
- shard-mtlp: NOTRUN -> [SKIP][34] ([i915#3281])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-mtlp-4/igt@gem_exec_reloc@basic-wc.html
* igt@gem_exec_reloc@basic-write-read-noreloc:
- shard-dg1: NOTRUN -> [SKIP][35] ([i915#3281]) +1 other test skip
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-17/igt@gem_exec_reloc@basic-write-read-noreloc.html
* igt@gem_exec_schedule@preempt-queue-chain:
- shard-dg2-9: NOTRUN -> [SKIP][36] ([i915#4537] / [i915#4812]) +1 other test skip
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@gem_exec_schedule@preempt-queue-chain.html
* igt@gem_exec_schedule@preempt-queue-contexts-chain:
- shard-dg2: NOTRUN -> [SKIP][37] ([i915#4537] / [i915#4812])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-7/igt@gem_exec_schedule@preempt-queue-contexts-chain.html
* igt@gem_fenced_exec_thrash@2-spare-fences:
- shard-dg2: NOTRUN -> [SKIP][38] ([i915#4860])
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-6/igt@gem_fenced_exec_thrash@2-spare-fences.html
* igt@gem_lmem_swapping@heavy-verify-multi-ccs:
- shard-tglu: NOTRUN -> [SKIP][39] ([i915#4613]) +1 other test skip
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-9/igt@gem_lmem_swapping@heavy-verify-multi-ccs.html
* igt@gem_lmem_swapping@parallel-multi:
- shard-tglu-1: NOTRUN -> [SKIP][40] ([i915#4613]) +2 other tests skip
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@gem_lmem_swapping@parallel-multi.html
* igt@gem_lmem_swapping@smem-oom@lmem0:
- shard-dg2: [PASS][41] -> [TIMEOUT][42] ([i915#5493]) +1 other test timeout
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg2-5/igt@gem_lmem_swapping@smem-oom@lmem0.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-7/igt@gem_lmem_swapping@smem-oom@lmem0.html
* igt@gem_lmem_swapping@verify-ccs:
- shard-glk: NOTRUN -> [SKIP][43] ([i915#4613]) +8 other tests skip
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-glk8/igt@gem_lmem_swapping@verify-ccs.html
* igt@gem_madvise@dontneed-before-pwrite:
- shard-rkl: NOTRUN -> [SKIP][44] ([i915#3282])
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-8/igt@gem_madvise@dontneed-before-pwrite.html
- shard-dg1: NOTRUN -> [SKIP][45] ([i915#3282]) +1 other test skip
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-15/igt@gem_madvise@dontneed-before-pwrite.html
- shard-mtlp: NOTRUN -> [SKIP][46] ([i915#3282])
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-mtlp-6/igt@gem_madvise@dontneed-before-pwrite.html
* igt@gem_media_vme:
- shard-dg2-9: NOTRUN -> [SKIP][47] ([i915#284])
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@gem_media_vme.html
* igt@gem_mmap_gtt@close-race:
- shard-rkl: [PASS][48] -> [DMESG-WARN][49] ([i915#12964]) +30 other tests dmesg-warn
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@gem_mmap_gtt@close-race.html
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-4/igt@gem_mmap_gtt@close-race.html
* igt@gem_mmap_gtt@isolation:
- shard-dg2-9: NOTRUN -> [SKIP][50] ([i915#4077]) +10 other tests skip
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@gem_mmap_gtt@isolation.html
* igt@gem_mmap_gtt@ptrace:
- shard-dg2: NOTRUN -> [SKIP][51] ([i915#4077]) +8 other tests skip
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-5/igt@gem_mmap_gtt@ptrace.html
* igt@gem_mmap_wc@bad-offset:
- shard-mtlp: NOTRUN -> [SKIP][52] ([i915#4083])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-mtlp-4/igt@gem_mmap_wc@bad-offset.html
- shard-dg1: NOTRUN -> [SKIP][53] ([i915#4083])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-16/igt@gem_mmap_wc@bad-offset.html
* igt@gem_mmap_wc@bad-size:
- shard-dg2-9: NOTRUN -> [SKIP][54] ([i915#4083]) +1 other test skip
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@gem_mmap_wc@bad-size.html
* igt@gem_mmap_wc@close:
- shard-dg2: NOTRUN -> [SKIP][55] ([i915#4083]) +5 other tests skip
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-3/igt@gem_mmap_wc@close.html
* igt@gem_pread@exhaustion:
- shard-glk10: NOTRUN -> [WARN][56] ([i915#2658])
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-glk10/igt@gem_pread@exhaustion.html
* igt@gem_pread@snoop:
- shard-dg2: NOTRUN -> [SKIP][57] ([i915#3282]) +9 other tests skip
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-3/igt@gem_pread@snoop.html
* igt@gem_pwrite@basic-exhaustion:
- shard-tglu-1: NOTRUN -> [WARN][58] ([i915#2658])
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@gem_pwrite@basic-exhaustion.html
* igt@gem_pxp@display-protected-crc:
- shard-dg2: NOTRUN -> [SKIP][59] ([i915#4270]) +2 other tests skip
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-5/igt@gem_pxp@display-protected-crc.html
* igt@gem_pxp@dmabuf-shared-protected-dst-is-context-refcounted:
- shard-rkl: [PASS][60] -> [TIMEOUT][61] ([i915#12964])
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@gem_pxp@dmabuf-shared-protected-dst-is-context-refcounted.html
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-4/igt@gem_pxp@dmabuf-shared-protected-dst-is-context-refcounted.html
* igt@gem_pxp@fail-invalid-protected-context:
- shard-dg2-9: NOTRUN -> [SKIP][62] ([i915#4270]) +1 other test skip
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@gem_pxp@fail-invalid-protected-context.html
* igt@gem_pxp@reject-modify-context-protection-off-1:
- shard-rkl: [PASS][63] -> [TIMEOUT][64] ([i915#12917] / [i915#12964])
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@gem_pxp@reject-modify-context-protection-off-1.html
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@gem_pxp@reject-modify-context-protection-off-1.html
* igt@gem_readwrite@beyond-eob:
- shard-dg2-9: NOTRUN -> [SKIP][65] ([i915#3282]) +2 other tests skip
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@gem_readwrite@beyond-eob.html
* igt@gem_render_copy@y-tiled-ccs-to-x-tiled:
- shard-dg2-9: NOTRUN -> [SKIP][66] ([i915#5190] / [i915#8428]) +2 other tests skip
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@gem_render_copy@y-tiled-ccs-to-x-tiled.html
* igt@gem_render_copy@y-tiled-to-vebox-linear:
- shard-dg2: NOTRUN -> [SKIP][67] ([i915#5190] / [i915#8428]) +7 other tests skip
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-1/igt@gem_render_copy@y-tiled-to-vebox-linear.html
* igt@gem_set_tiling_vs_blt@tiled-to-untiled:
- shard-dg2: NOTRUN -> [SKIP][68] ([i915#4079])
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-4/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html
* igt@gem_softpin@evict-snoop:
- shard-dg2-9: NOTRUN -> [SKIP][69] ([i915#4885])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@gem_softpin@evict-snoop.html
* igt@gem_softpin@evict-snoop-interruptible:
- shard-dg2: NOTRUN -> [SKIP][70] ([i915#4885])
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-6/igt@gem_softpin@evict-snoop-interruptible.html
- shard-rkl: NOTRUN -> [SKIP][71] +7 other tests skip
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-5/igt@gem_softpin@evict-snoop-interruptible.html
- shard-dg1: NOTRUN -> [SKIP][72] ([i915#4885])
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-16/igt@gem_softpin@evict-snoop-interruptible.html
- shard-mtlp: NOTRUN -> [SKIP][73] ([i915#4885])
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-mtlp-4/igt@gem_softpin@evict-snoop-interruptible.html
* igt@gem_softpin@noreloc-s3:
- shard-rkl: [PASS][74] -> [INCOMPLETE][75] ([i915#13809])
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-5/igt@gem_softpin@noreloc-s3.html
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-3/igt@gem_softpin@noreloc-s3.html
* igt@gem_userptr_blits@access-control:
- shard-dg2-9: NOTRUN -> [SKIP][76] ([i915#3297])
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@gem_userptr_blits@access-control.html
* igt@gem_userptr_blits@coherency-unsync:
- shard-dg2: NOTRUN -> [SKIP][77] ([i915#3297]) +2 other tests skip
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-7/igt@gem_userptr_blits@coherency-unsync.html
- shard-rkl: NOTRUN -> [SKIP][78] ([i915#14544] / [i915#3297])
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@gem_userptr_blits@coherency-unsync.html
- shard-dg1: NOTRUN -> [SKIP][79] ([i915#3297])
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-16/igt@gem_userptr_blits@coherency-unsync.html
- shard-mtlp: NOTRUN -> [SKIP][80] ([i915#3297])
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-mtlp-4/igt@gem_userptr_blits@coherency-unsync.html
* igt@gem_userptr_blits@create-destroy-unsync:
- shard-tglu-1: NOTRUN -> [SKIP][81] ([i915#3297]) +1 other test skip
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@gem_userptr_blits@create-destroy-unsync.html
* igt@gem_userptr_blits@map-fixed-invalidate:
- shard-dg2: NOTRUN -> [SKIP][82] ([i915#3297] / [i915#4880])
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-1/igt@gem_userptr_blits@map-fixed-invalidate.html
- shard-dg1: NOTRUN -> [SKIP][83] ([i915#3297] / [i915#4880])
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-17/igt@gem_userptr_blits@map-fixed-invalidate.html
* igt@gem_userptr_blits@relocations:
- shard-dg1: NOTRUN -> [SKIP][84] ([i915#3281] / [i915#3297])
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-12/igt@gem_userptr_blits@relocations.html
* igt@gen7_exec_parse@basic-rejected:
- shard-dg2: NOTRUN -> [SKIP][85] +15 other tests skip
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-7/igt@gen7_exec_parse@basic-rejected.html
* igt@gen9_exec_parse@basic-rejected:
- shard-tglu: NOTRUN -> [SKIP][86] ([i915#2527] / [i915#2856]) +1 other test skip
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-7/igt@gen9_exec_parse@basic-rejected.html
* igt@gen9_exec_parse@bb-start-far:
- shard-dg2: NOTRUN -> [SKIP][87] ([i915#2856]) +4 other tests skip
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-6/igt@gen9_exec_parse@bb-start-far.html
* igt@gen9_exec_parse@unaligned-jump:
- shard-dg2-9: NOTRUN -> [SKIP][88] ([i915#2856]) +1 other test skip
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@gen9_exec_parse@unaligned-jump.html
* igt@i915_drm_fdinfo@all-busy-idle-check-all:
- shard-dg2: NOTRUN -> [SKIP][89] ([i915#14123]) +1 other test skip
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-4/igt@i915_drm_fdinfo@all-busy-idle-check-all.html
* igt@i915_drm_fdinfo@busy-idle@vecs0:
- shard-dg2: NOTRUN -> [SKIP][90] ([i915#14073]) +15 other tests skip
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-6/igt@i915_drm_fdinfo@busy-idle@vecs0.html
* igt@i915_drm_fdinfo@isolation@vcs0:
- shard-dg2-9: NOTRUN -> [SKIP][91] ([i915#14073]) +7 other tests skip
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@i915_drm_fdinfo@isolation@vcs0.html
* igt@i915_drm_fdinfo@virtual-busy-hang-all:
- shard-dg2-9: NOTRUN -> [SKIP][92] ([i915#14118])
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@i915_drm_fdinfo@virtual-busy-hang-all.html
* igt@i915_drm_fdinfo@virtual-busy-idle-all:
- shard-dg2: NOTRUN -> [SKIP][93] ([i915#14118])
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-4/igt@i915_drm_fdinfo@virtual-busy-idle-all.html
* igt@i915_module_load@reload-no-display:
- shard-tglu-1: NOTRUN -> [DMESG-WARN][94] ([i915#13029] / [i915#14545])
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@i915_module_load@reload-no-display.html
* igt@i915_module_load@reload-with-fault-injection:
- shard-dg2: NOTRUN -> [DMESG-WARN][95] ([i915#13447])
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-1/igt@i915_module_load@reload-with-fault-injection.html
* igt@i915_module_load@resize-bar:
- shard-dg2: NOTRUN -> [DMESG-WARN][96] ([i915#14545])
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-5/igt@i915_module_load@resize-bar.html
* igt@i915_pm_rc6_residency@rc6-accuracy:
- shard-rkl: [PASS][97] -> [FAIL][98] ([i915#12942]) +1 other test fail
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@i915_pm_rc6_residency@rc6-accuracy.html
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@i915_pm_rc6_residency@rc6-accuracy.html
* igt@i915_pm_rc6_residency@rc6-fence:
- shard-tglu: NOTRUN -> [WARN][99] ([i915#13790] / [i915#2681]) +1 other test warn
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-5/igt@i915_pm_rc6_residency@rc6-fence.html
* igt@i915_pm_rps@thresholds-idle-park:
- shard-dg2: NOTRUN -> [SKIP][100] ([i915#11681])
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-1/igt@i915_pm_rps@thresholds-idle-park.html
* igt@i915_pm_sseu@full-enable:
- shard-tglu-1: NOTRUN -> [SKIP][101] ([i915#4387])
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@i915_pm_sseu@full-enable.html
* igt@i915_query@test-query-geometry-subslices:
- shard-dg1: NOTRUN -> [SKIP][102] ([i915#5723])
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-15/igt@i915_query@test-query-geometry-subslices.html
* igt@i915_selftest@mock:
- shard-dg2: [PASS][103] -> [DMESG-WARN][104] ([i915#14545])
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg2-1/igt@i915_selftest@mock.html
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-1/igt@i915_selftest@mock.html
* igt@i915_suspend@basic-s3-without-i915:
- shard-dg1: [PASS][105] -> [DMESG-WARN][106] ([i915#14545]) +1 other test dmesg-warn
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg1-19/igt@i915_suspend@basic-s3-without-i915.html
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-14/igt@i915_suspend@basic-s3-without-i915.html
- shard-tglu: NOTRUN -> [INCOMPLETE][107] ([i915#4817] / [i915#7443])
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-9/igt@i915_suspend@basic-s3-without-i915.html
* igt@i915_suspend@fence-restore-untiled:
- shard-rkl: [PASS][108] -> [INCOMPLETE][109] ([i915#4817]) +1 other test incomplete
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-2/igt@i915_suspend@fence-restore-untiled.html
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-3/igt@i915_suspend@fence-restore-untiled.html
* igt@i915_suspend@forcewake:
- shard-glk: NOTRUN -> [INCOMPLETE][110] ([i915#4817])
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-glk8/igt@i915_suspend@forcewake.html
* igt@kms_addfb_basic@addfb25-framebuffer-vs-set-tiling:
- shard-dg2: NOTRUN -> [SKIP][111] ([i915#4212]) +1 other test skip
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-8/igt@kms_addfb_basic@addfb25-framebuffer-vs-set-tiling.html
* igt@kms_addfb_basic@addfb25-x-tiled-legacy:
- shard-dg1: NOTRUN -> [SKIP][112] ([i915#4212])
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-16/igt@kms_addfb_basic@addfb25-x-tiled-legacy.html
* igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
- shard-dg2: NOTRUN -> [SKIP][113] ([i915#5190]) +2 other tests skip
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-7/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
* igt@kms_addfb_basic@basic-y-tiled-legacy:
- shard-dg2: NOTRUN -> [SKIP][114] ([i915#4215] / [i915#5190])
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-4/igt@kms_addfb_basic@basic-y-tiled-legacy.html
* igt@kms_atomic@plane-primary-overlay-mutable-zpos:
- shard-tglu: NOTRUN -> [SKIP][115] ([i915#9531])
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-5/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html
* igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels:
- shard-dg2-9: NOTRUN -> [SKIP][116] ([i915#1769] / [i915#3555])
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html
- shard-glk: NOTRUN -> [SKIP][117] ([i915#1769])
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-glk6/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-0:
- shard-tglu: NOTRUN -> [SKIP][118] ([i915#5286]) +2 other tests skip
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-7/igt@kms_big_fb@4-tiled-32bpp-rotate-0.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-180:
- shard-tglu-1: NOTRUN -> [SKIP][119] ([i915#5286]) +3 other tests skip
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_big_fb@4-tiled-32bpp-rotate-180.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
- shard-rkl: NOTRUN -> [SKIP][120] ([i915#5286])
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-2/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
* igt@kms_big_fb@linear-64bpp-rotate-270:
- shard-rkl: NOTRUN -> [SKIP][121] ([i915#3638])
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-2/igt@kms_big_fb@linear-64bpp-rotate-270.html
* igt@kms_big_fb@linear-64bpp-rotate-90:
- shard-dg1: NOTRUN -> [SKIP][122] ([i915#3638])
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-15/igt@kms_big_fb@linear-64bpp-rotate-90.html
* igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip:
- shard-mtlp: NOTRUN -> [SKIP][123] +2 other tests skip
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-mtlp-2/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
- shard-dg2: NOTRUN -> [SKIP][124] ([i915#4538] / [i915#5190]) +15 other tests skip
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-5/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html
* igt@kms_big_fb@yf-tiled-8bpp-rotate-180:
- shard-dg2-9: NOTRUN -> [SKIP][125] ([i915#4538] / [i915#5190]) +5 other tests skip
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_big_fb@yf-tiled-8bpp-rotate-180.html
* igt@kms_big_fb@yf-tiled-8bpp-rotate-270:
- shard-dg1: NOTRUN -> [SKIP][126] ([i915#4538])
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-16/igt@kms_big_fb@yf-tiled-8bpp-rotate-270.html
* igt@kms_big_fb@yf-tiled-addfb:
- shard-dg2-9: NOTRUN -> [SKIP][127] ([i915#5190])
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_big_fb@yf-tiled-addfb.html
* igt@kms_busy@basic:
- shard-rkl: NOTRUN -> [SKIP][128] ([i915#11190] / [i915#14544])
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_busy@basic.html
* igt@kms_ccs@bad-rotation-90-y-tiled-gen12-mc-ccs:
- shard-tglu: NOTRUN -> [SKIP][129] ([i915#6095]) +39 other tests skip
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-5/igt@kms_ccs@bad-rotation-90-y-tiled-gen12-mc-ccs.html
* igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs@pipe-d-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][130] ([i915#10307] / [i915#6095]) +119 other tests skip
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-5/igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs@pipe-d-hdmi-a-3.html
* igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs:
- shard-dg2-9: NOTRUN -> [SKIP][131] ([i915#12313])
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs:
- shard-tglu-1: NOTRUN -> [SKIP][132] ([i915#12313])
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][133] ([i915#10307] / [i915#10434] / [i915#6095]) +2 other tests skip
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-4/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-1.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][134] ([i915#6095]) +45 other tests skip
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-8/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
- shard-rkl: NOTRUN -> [SKIP][135] ([i915#14544]) +1 other test skip
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs:
- shard-tglu-1: NOTRUN -> [SKIP][136] ([i915#6095]) +44 other tests skip
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-1:
- shard-rkl: NOTRUN -> [SKIP][137] ([i915#14098] / [i915#6095]) +42 other tests skip
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-1.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs@pipe-a-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][138] ([i915#6095]) +4 other tests skip
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-6/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs@pipe-a-hdmi-a-3.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-2:
- shard-dg2-9: NOTRUN -> [SKIP][139] ([i915#6095]) +14 other tests skip
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-2.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs:
- shard-dg2: NOTRUN -> [SKIP][140] ([i915#12313])
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-6/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][141] ([i915#6095]) +126 other tests skip
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-14/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-4.html
* igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs@pipe-b-hdmi-a-2:
- shard-dg2-9: NOTRUN -> [SKIP][142] ([i915#10307] / [i915#6095]) +44 other tests skip
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs@pipe-b-hdmi-a-2.html
* igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-mc-ccs:
- shard-mtlp: NOTRUN -> [SKIP][143] ([i915#6095]) +4 other tests skip
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-mtlp-4/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-mc-ccs.html
* igt@kms_cdclk@mode-transition:
- shard-tglu-1: NOTRUN -> [SKIP][144] ([i915#3742])
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_cdclk@mode-transition.html
* igt@kms_cdclk@mode-transition-all-outputs:
- shard-dg2-9: NOTRUN -> [SKIP][145] ([i915#13784])
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_cdclk@mode-transition-all-outputs.html
* igt@kms_cdclk@mode-transition@pipe-d-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][146] ([i915#13781]) +4 other tests skip
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-8/igt@kms_cdclk@mode-transition@pipe-d-hdmi-a-3.html
* igt@kms_chamelium_audio@dp-audio:
- shard-tglu: NOTRUN -> [SKIP][147] ([i915#11151] / [i915#7828]) +6 other tests skip
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-3/igt@kms_chamelium_audio@dp-audio.html
* igt@kms_chamelium_audio@hdmi-audio-edid:
- shard-tglu-1: NOTRUN -> [SKIP][148] ([i915#11151] / [i915#7828]) +4 other tests skip
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_chamelium_audio@hdmi-audio-edid.html
* igt@kms_chamelium_hpd@dp-hpd-fast:
- shard-dg2: NOTRUN -> [SKIP][149] ([i915#11151] / [i915#7828]) +6 other tests skip
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-3/igt@kms_chamelium_hpd@dp-hpd-fast.html
* igt@kms_chamelium_hpd@dp-hpd-with-enabled-mode:
- shard-dg1: NOTRUN -> [SKIP][150] ([i915#11151] / [i915#7828])
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-18/igt@kms_chamelium_hpd@dp-hpd-with-enabled-mode.html
- shard-mtlp: NOTRUN -> [SKIP][151] ([i915#11151] / [i915#7828])
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-mtlp-5/igt@kms_chamelium_hpd@dp-hpd-with-enabled-mode.html
* igt@kms_chamelium_hpd@hdmi-hpd:
- shard-dg2-9: NOTRUN -> [SKIP][152] ([i915#11151] / [i915#7828]) +5 other tests skip
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_chamelium_hpd@hdmi-hpd.html
* igt@kms_chamelium_hpd@vga-hpd-for-each-pipe:
- shard-rkl: NOTRUN -> [SKIP][153] ([i915#11151] / [i915#7828]) +1 other test skip
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-2/igt@kms_chamelium_hpd@vga-hpd-for-each-pipe.html
* igt@kms_color@gamma:
- shard-rkl: [PASS][154] -> [SKIP][155] ([i915#12655] / [i915#14544]) +2 other tests skip
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-3/igt@kms_color@gamma.html
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_color@gamma.html
* igt@kms_content_protection@atomic-dpms:
- shard-dg2: NOTRUN -> [SKIP][156] ([i915#7118] / [i915#9424]) +1 other test skip
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-3/igt@kms_content_protection@atomic-dpms.html
* igt@kms_content_protection@dp-mst-lic-type-0:
- shard-dg2-9: NOTRUN -> [SKIP][157] ([i915#3299])
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_content_protection@dp-mst-lic-type-0.html
* igt@kms_content_protection@dp-mst-type-0:
- shard-tglu-1: NOTRUN -> [SKIP][158] ([i915#3116] / [i915#3299])
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_content_protection@dp-mst-type-0.html
* igt@kms_content_protection@lic-type-1:
- shard-dg2-9: NOTRUN -> [SKIP][159] ([i915#9424])
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_content_protection@lic-type-1.html
* igt@kms_content_protection@mei-interface:
- shard-dg2: NOTRUN -> [SKIP][160] ([i915#9424])
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-6/igt@kms_content_protection@mei-interface.html
* igt@kms_cursor_crc@cursor-random-128x42:
- shard-rkl: [PASS][161] -> [FAIL][162] ([i915#13566])
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@kms_cursor_crc@cursor-random-128x42.html
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-2/igt@kms_cursor_crc@cursor-random-128x42.html
* igt@kms_cursor_crc@cursor-random-128x42@pipe-a-hdmi-a-1:
- shard-rkl: NOTRUN -> [FAIL][163] ([i915#13566]) +1 other test fail
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-2/igt@kms_cursor_crc@cursor-random-128x42@pipe-a-hdmi-a-1.html
- shard-tglu: [PASS][164] -> [FAIL][165] ([i915#13566]) +3 other tests fail
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-tglu-3/igt@kms_cursor_crc@cursor-random-128x42@pipe-a-hdmi-a-1.html
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-2/igt@kms_cursor_crc@cursor-random-128x42@pipe-a-hdmi-a-1.html
* igt@kms_cursor_crc@cursor-random-512x170:
- shard-tglu: NOTRUN -> [SKIP][166] ([i915#13049])
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-10/igt@kms_cursor_crc@cursor-random-512x170.html
* igt@kms_cursor_crc@cursor-random-512x512:
- shard-dg2: NOTRUN -> [SKIP][167] ([i915#13049]) +3 other tests skip
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-6/igt@kms_cursor_crc@cursor-random-512x512.html
* igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-1:
- shard-tglu: NOTRUN -> [FAIL][168] ([i915#13566]) +1 other test fail
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-4/igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-1.html
* igt@kms_cursor_crc@cursor-sliding-256x85@pipe-b-hdmi-a-1:
- shard-rkl: [PASS][169] -> [DMESG-WARN][170] ([i915#12917] / [i915#12964])
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-4/igt@kms_cursor_crc@cursor-sliding-256x85@pipe-b-hdmi-a-1.html
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-2/igt@kms_cursor_crc@cursor-sliding-256x85@pipe-b-hdmi-a-1.html
* igt@kms_cursor_crc@cursor-sliding-32x32:
- shard-dg2-9: NOTRUN -> [SKIP][171] ([i915#3555]) +3 other tests skip
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_cursor_crc@cursor-sliding-32x32.html
* igt@kms_cursor_crc@cursor-sliding-512x512:
- shard-tglu-1: NOTRUN -> [SKIP][172] ([i915#13049])
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_cursor_crc@cursor-sliding-512x512.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
- shard-dg2: NOTRUN -> [SKIP][173] ([i915#4103] / [i915#4213])
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-7/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size:
- shard-tglu: NOTRUN -> [SKIP][174] ([i915#4103])
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
* igt@kms_cursor_legacy@basic-flip-after-cursor-atomic:
- shard-rkl: [PASS][175] -> [SKIP][176] ([i915#11190] / [i915#14544])
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@kms_cursor_legacy@basic-flip-after-cursor-atomic.html
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_cursor_legacy@basic-flip-after-cursor-atomic.html
* igt@kms_cursor_legacy@cursor-vs-flip-toggle:
- shard-rkl: [PASS][177] -> [SKIP][178] ([i915#14544]) +39 other tests skip
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-2/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html
* igt@kms_cursor_legacy@cursora-vs-flipb-atomic:
- shard-dg2-9: NOTRUN -> [SKIP][179] ([i915#13046] / [i915#5354]) +3 other tests skip
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_cursor_legacy@cursora-vs-flipb-atomic.html
* igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions:
- shard-glk: [PASS][180] -> [SKIP][181] +2 other tests skip
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-glk3/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions.html
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-glk8/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-atomic:
- shard-dg2: NOTRUN -> [SKIP][182] ([i915#13046] / [i915#5354]) +5 other tests skip
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-4/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic.html
- shard-mtlp: NOTRUN -> [SKIP][183] ([i915#9809])
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-mtlp-4/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic.html
* igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot:
- shard-dg2: NOTRUN -> [SKIP][184] ([i915#9067])
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-3/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size:
- shard-dg2-9: NOTRUN -> [SKIP][185] ([i915#4103] / [i915#4213])
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html
* igt@kms_dirtyfb@psr-dirtyfb-ioctl:
- shard-dg2: NOTRUN -> [SKIP][186] ([i915#9833])
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-4/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html
- shard-rkl: NOTRUN -> [SKIP][187] ([i915#9723])
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html
- shard-tglu-1: NOTRUN -> [SKIP][188] ([i915#9723]) +1 other test skip
[188]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][189] ([i915#3804])
[189]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-5/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2.html
* igt@kms_dp_link_training@non-uhbr-sst:
- shard-dg2-9: NOTRUN -> [SKIP][190] ([i915#13749])
[190]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_dp_link_training@non-uhbr-sst.html
- shard-tglu: NOTRUN -> [SKIP][191] ([i915#13749])
[191]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-8/igt@kms_dp_link_training@non-uhbr-sst.html
* igt@kms_dp_link_training@uhbr-mst:
- shard-dg2: NOTRUN -> [SKIP][192] ([i915#13748])
[192]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-3/igt@kms_dp_link_training@uhbr-mst.html
* igt@kms_dp_linktrain_fallback@dp-fallback:
- shard-tglu-1: NOTRUN -> [SKIP][193] ([i915#13707])
[193]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_dp_linktrain_fallback@dp-fallback.html
* igt@kms_dsc@dsc-fractional-bpp:
- shard-dg2-9: NOTRUN -> [SKIP][194] ([i915#3840] / [i915#9688])
[194]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_dsc@dsc-fractional-bpp.html
* igt@kms_dsc@dsc-fractional-bpp-with-bpc:
- shard-tglu-1: NOTRUN -> [SKIP][195] ([i915#3840])
[195]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_dsc@dsc-fractional-bpp-with-bpc.html
* igt@kms_dsc@dsc-with-output-formats-with-bpc:
- shard-dg2: NOTRUN -> [SKIP][196] ([i915#3840] / [i915#9053])
[196]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-6/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
* igt@kms_fbcon_fbt@fbc:
- shard-rkl: [PASS][197] -> [SKIP][198] ([i915#14544] / [i915#14561])
[197]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-4/igt@kms_fbcon_fbt@fbc.html
[198]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_fbcon_fbt@fbc.html
* igt@kms_feature_discovery@chamelium:
- shard-tglu: NOTRUN -> [SKIP][199] ([i915#2065] / [i915#4854])
[199]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-7/igt@kms_feature_discovery@chamelium.html
* igt@kms_feature_discovery@display-4x:
- shard-dg2: NOTRUN -> [SKIP][200] ([i915#1839])
[200]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-5/igt@kms_feature_discovery@display-4x.html
- shard-rkl: NOTRUN -> [SKIP][201] ([i915#1839])
[201]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-4/igt@kms_feature_discovery@display-4x.html
- shard-dg1: NOTRUN -> [SKIP][202] ([i915#1839])
[202]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-16/igt@kms_feature_discovery@display-4x.html
- shard-tglu: NOTRUN -> [SKIP][203] ([i915#1839])
[203]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-3/igt@kms_feature_discovery@display-4x.html
- shard-mtlp: NOTRUN -> [SKIP][204] ([i915#1839])
[204]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-mtlp-8/igt@kms_feature_discovery@display-4x.html
* igt@kms_feature_discovery@psr2:
- shard-tglu: NOTRUN -> [SKIP][205] ([i915#658])
[205]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-5/igt@kms_feature_discovery@psr2.html
* igt@kms_fence_pin_leak:
- shard-dg2: NOTRUN -> [SKIP][206] ([i915#4881])
[206]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-3/igt@kms_fence_pin_leak.html
* igt@kms_flip@2x-absolute-wf_vblank:
- shard-dg2: NOTRUN -> [SKIP][207] ([i915#9934]) +10 other tests skip
[207]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-6/igt@kms_flip@2x-absolute-wf_vblank.html
* igt@kms_flip@2x-flip-vs-panning:
- shard-tglu-1: NOTRUN -> [SKIP][208] ([i915#3637] / [i915#9934]) +4 other tests skip
[208]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_flip@2x-flip-vs-panning.html
* igt@kms_flip@2x-flip-vs-wf_vblank-interruptible:
- shard-dg1: NOTRUN -> [SKIP][209] ([i915#9934]) +1 other test skip
[209]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-19/igt@kms_flip@2x-flip-vs-wf_vblank-interruptible.html
* igt@kms_flip@2x-plain-flip-interruptible:
- shard-tglu: NOTRUN -> [SKIP][210] ([i915#3637] / [i915#9934]) +6 other tests skip
[210]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-2/igt@kms_flip@2x-plain-flip-interruptible.html
* igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset:
- shard-dg2-9: NOTRUN -> [SKIP][211] ([i915#9934]) +4 other tests skip
[211]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset.html
* igt@kms_flip@basic-flip-vs-dpms:
- shard-rkl: [PASS][212] -> [SKIP][213] ([i915#14544] / [i915#3637]) +9 other tests skip
[212]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-4/igt@kms_flip@basic-flip-vs-dpms.html
[213]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_flip@basic-flip-vs-dpms.html
* igt@kms_flip@flip-vs-dpms-on-nop:
- shard-rkl: [PASS][214] -> [SKIP][215] ([i915#14544] / [i915#14553])
[214]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@kms_flip@flip-vs-dpms-on-nop.html
[215]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_flip@flip-vs-dpms-on-nop.html
* igt@kms_flip@flip-vs-fences-interruptible:
- shard-dg2-9: NOTRUN -> [SKIP][216] ([i915#8381])
[216]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_flip@flip-vs-fences-interruptible.html
* igt@kms_flip@wf_vblank-ts-check@a-vga1:
- shard-snb: [PASS][217] -> [FAIL][218] ([i915#14600]) +1 other test fail
[217]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-snb4/igt@kms_flip@wf_vblank-ts-check@a-vga1.html
[218]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-snb5/igt@kms_flip@wf_vblank-ts-check@a-vga1.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@pipe-a-valid-mode:
- shard-rkl: NOTRUN -> [SKIP][219] ([i915#2672]) +3 other tests skip
[219]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-8/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling:
- shard-dg2-9: NOTRUN -> [SKIP][220] ([i915#2672] / [i915#3555]) +1 other test skip
[220]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling:
- shard-tglu: NOTRUN -> [SKIP][221] ([i915#2587] / [i915#2672] / [i915#3555])
[221]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-7/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling:
- shard-dg2: NOTRUN -> [SKIP][222] ([i915#2672] / [i915#3555] / [i915#5190])
[222]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-5/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling@pipe-a-valid-mode:
- shard-dg2: NOTRUN -> [SKIP][223] ([i915#2672]) +5 other tests skip
[223]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-5/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling:
- shard-rkl: [PASS][224] -> [SKIP][225] ([i915#14544] / [i915#3555]) +4 other tests skip
[224]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-4/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html
[225]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling:
- shard-tglu-1: NOTRUN -> [SKIP][226] ([i915#2587] / [i915#2672] / [i915#3555])
[226]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling@pipe-a-valid-mode:
- shard-tglu-1: NOTRUN -> [SKIP][227] ([i915#2587] / [i915#2672]) +4 other tests skip
[227]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling:
- shard-tglu: NOTRUN -> [SKIP][228] ([i915#2672] / [i915#3555])
[228]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-4/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling@pipe-a-valid-mode:
- shard-tglu: NOTRUN -> [SKIP][229] ([i915#2587] / [i915#2672]) +1 other test skip
[229]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-4/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-downscaling:
- shard-dg2: NOTRUN -> [SKIP][230] ([i915#2672] / [i915#3555]) +6 other tests skip
[230]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-3/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling:
- shard-tglu-1: NOTRUN -> [SKIP][231] ([i915#2672] / [i915#3555]) +3 other tests skip
[231]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling.html
- shard-dg1: NOTRUN -> [SKIP][232] ([i915#2672] / [i915#3555])
[232]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-17/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode:
- shard-dg1: NOTRUN -> [SKIP][233] ([i915#2587] / [i915#2672])
[233]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-17/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling:
- shard-dg2-9: NOTRUN -> [SKIP][234] ([i915#2672] / [i915#3555] / [i915#5190]) +1 other test skip
[234]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-valid-mode:
- shard-dg2-9: NOTRUN -> [SKIP][235] ([i915#2672]) +3 other tests skip
[235]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-valid-mode.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
- shard-rkl: [PASS][236] -> [SKIP][237] ([i915#14544] / [i915#1849] / [i915#5354]) +11 other tests skip
[236]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt.html
[237]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-pgflip-blt:
- shard-rkl: NOTRUN -> [SKIP][238] ([i915#14544] / [i915#1849] / [i915#5354]) +5 other tests skip
[238]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt:
- shard-dg2: NOTRUN -> [SKIP][239] ([i915#5354]) +38 other tests skip
[239]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-fullscreen:
- shard-tglu-1: NOTRUN -> [SKIP][240] +49 other tests skip
[240]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-fullscreen.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-plflip-blt:
- shard-rkl: NOTRUN -> [SKIP][241] ([i915#1825]) +7 other tests skip
[241]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-8/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-gtt:
- shard-dg1: NOTRUN -> [SKIP][242] ([i915#8708]) +1 other test skip
[242]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-19/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-mmap-gtt:
- shard-dg2-9: NOTRUN -> [SKIP][243] ([i915#8708]) +11 other tests skip
[243]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt:
- shard-dg2-9: NOTRUN -> [SKIP][244] ([i915#15102] / [i915#3458]) +9 other tests skip
[244]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt:
- shard-mtlp: NOTRUN -> [SKIP][245] ([i915#1825]) +2 other tests skip
[245]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-mtlp-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-cpu:
- shard-rkl: NOTRUN -> [SKIP][246] ([i915#15102] / [i915#3023]) +1 other test skip
[246]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-4/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@fbcpsr-tiling-4:
- shard-tglu: NOTRUN -> [SKIP][247] ([i915#5439])
[247]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-7/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-blt:
- shard-tglu: NOTRUN -> [SKIP][248] ([i915#15102]) +8 other tests skip
[248]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-8/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu:
- shard-dg2: NOTRUN -> [SKIP][249] ([i915#10433] / [i915#15102] / [i915#3458])
[249]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-wc:
- shard-dg2: NOTRUN -> [SKIP][250] ([i915#8708]) +20 other tests skip
[250]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-8/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-cpu:
- shard-dg2-9: NOTRUN -> [SKIP][251] ([i915#5354]) +19 other tests skip
[251]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-plflip-blt:
- shard-dg1: NOTRUN -> [SKIP][252] +8 other tests skip
[252]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-19/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-wc:
- shard-tglu: NOTRUN -> [SKIP][253] +41 other tests skip
[253]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary:
- shard-dg2: NOTRUN -> [SKIP][254] ([i915#15102] / [i915#3458]) +15 other tests skip
[254]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-1/igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary.html
- shard-dg1: NOTRUN -> [SKIP][255] ([i915#15102] / [i915#3458]) +4 other tests skip
[255]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-12/igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary.html
* igt@kms_frontbuffer_tracking@psr-suspend:
- shard-tglu-1: NOTRUN -> [SKIP][256] ([i915#15102]) +13 other tests skip
[256]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_frontbuffer_tracking@psr-suspend.html
* igt@kms_hdr@bpc-switch-dpms:
- shard-dg2: NOTRUN -> [SKIP][257] ([i915#3555] / [i915#8228])
[257]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-1/igt@kms_hdr@bpc-switch-dpms.html
- shard-rkl: NOTRUN -> [SKIP][258] ([i915#3555] / [i915#8228])
[258]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-5/igt@kms_hdr@bpc-switch-dpms.html
- shard-dg1: NOTRUN -> [SKIP][259] ([i915#3555] / [i915#8228])
[259]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-13/igt@kms_hdr@bpc-switch-dpms.html
- shard-tglu: NOTRUN -> [SKIP][260] ([i915#3555] / [i915#8228])
[260]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-2/igt@kms_hdr@bpc-switch-dpms.html
* igt@kms_hdr@invalid-hdr:
- shard-dg2-9: NOTRUN -> [SKIP][261] ([i915#3555] / [i915#8228])
[261]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_hdr@invalid-hdr.html
* igt@kms_hdr@static-swap:
- shard-dg2: [PASS][262] -> [SKIP][263] ([i915#3555] / [i915#8228])
[262]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg2-10/igt@kms_hdr@static-swap.html
[263]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-6/igt@kms_hdr@static-swap.html
* igt@kms_hdr@static-toggle:
- shard-tglu-1: NOTRUN -> [SKIP][264] ([i915#3555] / [i915#8228])
[264]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_hdr@static-toggle.html
* igt@kms_invalid_mode@clock-too-high:
- shard-rkl: [PASS][265] -> [SKIP][266] ([i915#14544] / [i915#3555] / [i915#8826])
[265]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-4/igt@kms_invalid_mode@clock-too-high.html
[266]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_invalid_mode@clock-too-high.html
* igt@kms_invalid_mode@overflow-vrefresh:
- shard-rkl: [PASS][267] -> [SKIP][268] ([i915#14544] / [i915#8826])
[267]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-4/igt@kms_invalid_mode@overflow-vrefresh.html
[268]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_invalid_mode@overflow-vrefresh.html
* igt@kms_joiner@basic-force-big-joiner:
- shard-tglu: NOTRUN -> [SKIP][269] ([i915#12388])
[269]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-4/igt@kms_joiner@basic-force-big-joiner.html
* igt@kms_joiner@basic-force-ultra-joiner:
- shard-dg2: NOTRUN -> [SKIP][270] ([i915#10656])
[270]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-3/igt@kms_joiner@basic-force-ultra-joiner.html
* igt@kms_joiner@invalid-modeset-big-joiner:
- shard-dg2-9: NOTRUN -> [SKIP][271] ([i915#10656])
[271]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_joiner@invalid-modeset-big-joiner.html
* igt@kms_joiner@invalid-modeset-ultra-joiner:
- shard-dg2: NOTRUN -> [SKIP][272] ([i915#12339])
[272]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-3/igt@kms_joiner@invalid-modeset-ultra-joiner.html
- shard-dg1: NOTRUN -> [SKIP][273] ([i915#12339])
[273]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-15/igt@kms_joiner@invalid-modeset-ultra-joiner.html
* igt@kms_panel_fitting@atomic-fastset:
- shard-dg2: NOTRUN -> [SKIP][274] ([i915#6301])
[274]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-1/igt@kms_panel_fitting@atomic-fastset.html
* igt@kms_panel_fitting@legacy:
- shard-tglu: NOTRUN -> [SKIP][275] ([i915#6301]) +1 other test skip
[275]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-4/igt@kms_panel_fitting@legacy.html
* igt@kms_pipe_b_c_ivb@pipe-b-double-modeset-then-modeset-pipe-c:
- shard-dg2-9: NOTRUN -> [SKIP][276] +5 other tests skip
[276]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_pipe_b_c_ivb@pipe-b-double-modeset-then-modeset-pipe-c.html
* igt@kms_pipe_crc_basic@compare-crc-sanitycheck-xr24:
- shard-glk10: NOTRUN -> [SKIP][277] ([i915#11190])
[277]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-glk10/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-xr24.html
* igt@kms_pipe_stress@stress-xrgb8888-ytiled:
- shard-dg2: NOTRUN -> [SKIP][278] ([i915#13705])
[278]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-5/igt@kms_pipe_stress@stress-xrgb8888-ytiled.html
- shard-mtlp: NOTRUN -> [SKIP][279] ([i915#13705])
[279]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-mtlp-3/igt@kms_pipe_stress@stress-xrgb8888-ytiled.html
* igt@kms_plane@plane-position-covered:
- shard-rkl: [PASS][280] -> [SKIP][281] ([i915#14544] / [i915#8825])
[280]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@kms_plane@plane-position-covered.html
[281]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_plane@plane-position-covered.html
* igt@kms_plane_alpha_blend@alpha-basic:
- shard-glk: NOTRUN -> [FAIL][282] ([i915#12178])
[282]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-glk9/igt@kms_plane_alpha_blend@alpha-basic.html
* igt@kms_plane_alpha_blend@alpha-basic@pipe-a-hdmi-a-1:
- shard-glk: NOTRUN -> [FAIL][283] ([i915#7862]) +1 other test fail
[283]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-glk9/igt@kms_plane_alpha_blend@alpha-basic@pipe-a-hdmi-a-1.html
* igt@kms_plane_multiple@2x-tiling-4:
- shard-dg2: NOTRUN -> [SKIP][284] ([i915#13958]) +1 other test skip
[284]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-7/igt@kms_plane_multiple@2x-tiling-4.html
- shard-tglu-1: NOTRUN -> [SKIP][285] ([i915#13958])
[285]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_plane_multiple@2x-tiling-4.html
* igt@kms_plane_multiple@2x-tiling-none:
- shard-dg2-9: NOTRUN -> [SKIP][286] ([i915#13958])
[286]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_plane_multiple@2x-tiling-none.html
* igt@kms_plane_multiple@2x-tiling-yf:
- shard-tglu: NOTRUN -> [SKIP][287] ([i915#13958])
[287]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-6/igt@kms_plane_multiple@2x-tiling-yf.html
* igt@kms_plane_multiple@tiling-yf:
- shard-dg2-9: NOTRUN -> [SKIP][288] ([i915#14259])
[288]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_plane_multiple@tiling-yf.html
* igt@kms_plane_scaling@2x-scaler-multi-pipe:
- shard-dg2-9: NOTRUN -> [SKIP][289] ([i915#13046] / [i915#5354] / [i915#9423])
[289]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation:
- shard-tglu-1: NOTRUN -> [SKIP][290] ([i915#3555]) +4 other tests skip
[290]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-b:
- shard-tglu-1: NOTRUN -> [SKIP][291] ([i915#12247]) +3 other tests skip
[291]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-b.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5:
- shard-rkl: [PASS][292] -> [SKIP][293] ([i915#14544] / [i915#6953] / [i915#8152])
[292]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5.html
[293]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-a:
- shard-rkl: [PASS][294] -> [SKIP][295] ([i915#12247] / [i915#14544])
[294]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-a.html
[295]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-a.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-b:
- shard-rkl: [PASS][296] -> [SKIP][297] ([i915#12247] / [i915#14544] / [i915#8152])
[296]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-b.html
[297]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-b.html
* igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75@pipe-a:
- shard-dg1: [PASS][298] -> [DMESG-WARN][299] ([i915#4423]) +3 other tests dmesg-warn
[298]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg1-15/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75@pipe-a.html
[299]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-18/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75@pipe-a.html
* igt@kms_pm_backlight@bad-brightness:
- shard-tglu: NOTRUN -> [SKIP][300] ([i915#9812])
[300]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-2/igt@kms_pm_backlight@bad-brightness.html
* igt@kms_pm_dc@dc5-retention-flops:
- shard-dg2: NOTRUN -> [SKIP][301] ([i915#3828])
[301]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-8/igt@kms_pm_dc@dc5-retention-flops.html
- shard-tglu-1: NOTRUN -> [SKIP][302] ([i915#3828])
[302]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_pm_dc@dc5-retention-flops.html
* igt@kms_pm_dc@dc9-dpms:
- shard-rkl: NOTRUN -> [SKIP][303] ([i915#14544] / [i915#4281])
[303]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_pm_dc@dc9-dpms.html
* igt@kms_pm_lpsp@screens-disabled:
- shard-tglu: NOTRUN -> [SKIP][304] ([i915#8430])
[304]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-3/igt@kms_pm_lpsp@screens-disabled.html
* igt@kms_pm_rpm@dpms-lpsp:
- shard-dg2: NOTRUN -> [SKIP][305] ([i915#15073])
[305]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-6/igt@kms_pm_rpm@dpms-lpsp.html
* igt@kms_pm_rpm@modeset-non-lpsp-stress:
- shard-tglu: NOTRUN -> [SKIP][306] ([i915#15073]) +1 other test skip
[306]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-6/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
* igt@kms_pm_rpm@pm-caching:
- shard-dg1: NOTRUN -> [SKIP][307] ([i915#4077]) +4 other tests skip
[307]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-12/igt@kms_pm_rpm@pm-caching.html
- shard-mtlp: NOTRUN -> [SKIP][308] ([i915#4077]) +3 other tests skip
[308]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-mtlp-7/igt@kms_pm_rpm@pm-caching.html
* igt@kms_prime@basic-crc-hybrid:
- shard-dg2: NOTRUN -> [SKIP][309] ([i915#6524] / [i915#6805]) +1 other test skip
[309]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-5/igt@kms_prime@basic-crc-hybrid.html
- shard-tglu: NOTRUN -> [SKIP][310] ([i915#6524])
[310]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-3/igt@kms_prime@basic-crc-hybrid.html
* igt@kms_prime@basic-crc-vgem:
- shard-rkl: [PASS][311] -> [SKIP][312] ([i915#14544] / [i915#6524])
[311]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-7/igt@kms_prime@basic-crc-vgem.html
[312]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_prime@basic-crc-vgem.html
* igt@kms_prime@d3hot:
- shard-tglu-1: NOTRUN -> [SKIP][313] ([i915#6524])
[313]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_prime@d3hot.html
* igt@kms_properties@crtc-properties-legacy:
- shard-rkl: [PASS][314] -> [SKIP][315] ([i915#11521] / [i915#14544]) +1 other test skip
[314]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-2/igt@kms_properties@crtc-properties-legacy.html
[315]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_properties@crtc-properties-legacy.html
* igt@kms_psr2_sf@fbc-pr-overlay-plane-update-continuous-sf:
- shard-snb: NOTRUN -> [SKIP][316] ([i915#11520])
[316]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-snb6/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-continuous-sf.html
* igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area:
- shard-glk: NOTRUN -> [SKIP][317] ([i915#11520]) +13 other tests skip
[317]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-glk6/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html
- shard-rkl: NOTRUN -> [SKIP][318] ([i915#11520] / [i915#14544])
[318]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf:
- shard-glk10: NOTRUN -> [SKIP][319] ([i915#11520]) +4 other tests skip
[319]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-glk10/igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf.html
- shard-dg2-9: NOTRUN -> [SKIP][320] ([i915#11520]) +4 other tests skip
[320]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf.html
* igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-fully-sf:
- shard-rkl: NOTRUN -> [SKIP][321] ([i915#11520])
[321]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-2/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_sf@pr-cursor-plane-update-sf:
- shard-tglu: NOTRUN -> [SKIP][322] ([i915#11520]) +3 other tests skip
[322]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-3/igt@kms_psr2_sf@pr-cursor-plane-update-sf.html
* igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-sf:
- shard-dg2: NOTRUN -> [SKIP][323] ([i915#11520]) +9 other tests skip
[323]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-4/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-fully-sf:
- shard-dg1: NOTRUN -> [SKIP][324] ([i915#11520])
[324]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-19/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf:
- shard-tglu-1: NOTRUN -> [SKIP][325] ([i915#11520]) +5 other tests skip
[325]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html
* igt@kms_psr2_su@page_flip-nv12:
- shard-dg2-9: NOTRUN -> [SKIP][326] ([i915#9683])
[326]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_psr2_su@page_flip-nv12.html
* igt@kms_psr@fbc-pr-primary-mmap-cpu:
- shard-rkl: NOTRUN -> [SKIP][327] ([i915#1072] / [i915#14544] / [i915#9732]) +1 other test skip
[327]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_psr@fbc-pr-primary-mmap-cpu.html
* igt@kms_psr@fbc-pr-suspend:
- shard-dg2: NOTRUN -> [SKIP][328] ([i915#1072] / [i915#9732]) +23 other tests skip
[328]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-3/igt@kms_psr@fbc-pr-suspend.html
* igt@kms_psr@fbc-psr-primary-mmap-cpu:
- shard-dg2-9: NOTRUN -> [SKIP][329] ([i915#1072] / [i915#9732]) +10 other tests skip
[329]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_psr@fbc-psr-primary-mmap-cpu.html
* igt@kms_psr@fbc-psr-primary-render:
- shard-dg1: NOTRUN -> [SKIP][330] ([i915#1072] / [i915#9732])
[330]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-13/igt@kms_psr@fbc-psr-primary-render.html
* igt@kms_psr@pr-sprite-plane-move:
- shard-tglu: NOTRUN -> [SKIP][331] ([i915#9732]) +12 other tests skip
[331]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-6/igt@kms_psr@pr-sprite-plane-move.html
* igt@kms_psr@psr-sprite-blt:
- shard-snb: NOTRUN -> [SKIP][332] +48 other tests skip
[332]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-snb7/igt@kms_psr@psr-sprite-blt.html
* igt@kms_psr@psr-sprite-plane-onoff:
- shard-tglu-1: NOTRUN -> [SKIP][333] ([i915#9732]) +13 other tests skip
[333]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_psr@psr-sprite-plane-onoff.html
* igt@kms_psr@psr2-cursor-plane-move:
- shard-rkl: NOTRUN -> [SKIP][334] ([i915#1072] / [i915#9732]) +1 other test skip
[334]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-5/igt@kms_psr@psr2-cursor-plane-move.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
- shard-tglu: NOTRUN -> [SKIP][335] ([i915#5289])
[335]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-10/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html
* igt@kms_rotation_crc@sprite-rotation-270:
- shard-dg2: NOTRUN -> [SKIP][336] ([i915#12755])
[336]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-5/igt@kms_rotation_crc@sprite-rotation-270.html
* igt@kms_scaling_modes@scaling-mode-full-aspect:
- shard-tglu: NOTRUN -> [SKIP][337] ([i915#3555]) +2 other tests skip
[337]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-4/igt@kms_scaling_modes@scaling-mode-full-aspect.html
* igt@kms_scaling_modes@scaling-mode-none:
- shard-dg2: NOTRUN -> [SKIP][338] ([i915#3555]) +6 other tests skip
[338]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-1/igt@kms_scaling_modes@scaling-mode-none.html
* igt@kms_selftest@drm_framebuffer:
- shard-glk10: NOTRUN -> [ABORT][339] ([i915#13179]) +1 other test abort
[339]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-glk10/igt@kms_selftest@drm_framebuffer.html
* igt@kms_setmode@invalid-clone-single-crtc:
- shard-glk: NOTRUN -> [SKIP][340] +455 other tests skip
[340]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-glk8/igt@kms_setmode@invalid-clone-single-crtc.html
* igt@kms_setmode@invalid-clone-single-crtc-stealing:
- shard-dg1: NOTRUN -> [SKIP][341] ([i915#3555]) +1 other test skip
[341]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-16/igt@kms_setmode@invalid-clone-single-crtc-stealing.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-tglu-1: NOTRUN -> [SKIP][342] ([i915#8623])
[342]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_tiled_display@basic-test-pattern.html
- shard-glk: NOTRUN -> [FAIL][343] ([i915#10959])
[343]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-glk6/igt@kms_tiled_display@basic-test-pattern.html
- shard-dg2: NOTRUN -> [SKIP][344] ([i915#8623])
[344]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-7/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-dg2-9: NOTRUN -> [SKIP][345] ([i915#8623])
[345]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@kms_vblank@query-forked-hang:
- shard-glk10: NOTRUN -> [SKIP][346] +191 other tests skip
[346]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-glk10/igt@kms_vblank@query-forked-hang.html
* igt@kms_vblank@ts-continuation-suspend:
- shard-glk: NOTRUN -> [INCOMPLETE][347] ([i915#12276]) +1 other test incomplete
[347]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-glk1/igt@kms_vblank@ts-continuation-suspend.html
* igt@kms_vblank@wait-forked-busy-hang@pipe-b-hdmi-a-1:
- shard-rkl: NOTRUN -> [DMESG-WARN][348] ([i915#12964]) +4 other tests dmesg-warn
[348]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@kms_vblank@wait-forked-busy-hang@pipe-b-hdmi-a-1.html
* igt@kms_vrr@flip-basic-fastset:
- shard-tglu-1: NOTRUN -> [SKIP][349] ([i915#9906])
[349]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_vrr@flip-basic-fastset.html
* igt@kms_vrr@negative-basic:
- shard-dg2: NOTRUN -> [SKIP][350] ([i915#3555] / [i915#9906])
[350]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-1/igt@kms_vrr@negative-basic.html
* igt@kms_vrr@seamless-rr-switch-vrr:
- shard-tglu: NOTRUN -> [SKIP][351] ([i915#9906]) +1 other test skip
[351]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-9/igt@kms_vrr@seamless-rr-switch-vrr.html
- shard-dg2-9: NOTRUN -> [SKIP][352] ([i915#9906])
[352]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@kms_vrr@seamless-rr-switch-vrr.html
* igt@kms_writeback@writeback-check-output-xrgb2101010:
- shard-dg2: NOTRUN -> [SKIP][353] ([i915#2437] / [i915#9412])
[353]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-3/igt@kms_writeback@writeback-check-output-xrgb2101010.html
- shard-rkl: NOTRUN -> [SKIP][354] ([i915#2437] / [i915#9412])
[354]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-2/igt@kms_writeback@writeback-check-output-xrgb2101010.html
- shard-dg1: NOTRUN -> [SKIP][355] ([i915#2437] / [i915#9412])
[355]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-15/igt@kms_writeback@writeback-check-output-xrgb2101010.html
- shard-tglu: NOTRUN -> [SKIP][356] ([i915#2437] / [i915#9412])
[356]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-4/igt@kms_writeback@writeback-check-output-xrgb2101010.html
- shard-mtlp: NOTRUN -> [SKIP][357] ([i915#2437] / [i915#9412])
[357]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-mtlp-8/igt@kms_writeback@writeback-check-output-xrgb2101010.html
* igt@kms_writeback@writeback-fb-id:
- shard-glk: NOTRUN -> [SKIP][358] ([i915#2437]) +3 other tests skip
[358]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-glk9/igt@kms_writeback@writeback-fb-id.html
* igt@kms_writeback@writeback-fb-id-xrgb2101010:
- shard-tglu-1: NOTRUN -> [SKIP][359] ([i915#2437] / [i915#9412])
[359]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-1/igt@kms_writeback@writeback-fb-id-xrgb2101010.html
* igt@perf@global-sseu-config-invalid:
- shard-dg2: NOTRUN -> [SKIP][360] ([i915#7387])
[360]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-3/igt@perf@global-sseu-config-invalid.html
* igt@perf@non-zero-reason@0-rcs0:
- shard-dg2: NOTRUN -> [FAIL][361] ([i915#9100]) +1 other test fail
[361]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-4/igt@perf@non-zero-reason@0-rcs0.html
* igt@perf@polling@0-rcs0:
- shard-tglu: [PASS][362] -> [FAIL][363] ([i915#10538]) +1 other test fail
[362]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-tglu-10/igt@perf@polling@0-rcs0.html
[363]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-10/igt@perf@polling@0-rcs0.html
* igt@perf_pmu@most-busy-idle-check-all:
- shard-dg1: [PASS][364] -> [FAIL][365] ([i915#11943]) +1 other test fail
[364]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg1-17/igt@perf_pmu@most-busy-idle-check-all.html
[365]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-17/igt@perf_pmu@most-busy-idle-check-all.html
* igt@perf_pmu@rc6-all-gts:
- shard-dg2-9: NOTRUN -> [SKIP][366] ([i915#8516])
[366]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@perf_pmu@rc6-all-gts.html
* igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem:
- shard-dg1: NOTRUN -> [SKIP][367] ([i915#14121]) +1 other test skip
[367]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-15/igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem.html
* igt@prime_vgem@basic-fence-read:
- shard-dg2: NOTRUN -> [SKIP][368] ([i915#3291] / [i915#3708]) +2 other tests skip
[368]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-3/igt@prime_vgem@basic-fence-read.html
* igt@prime_vgem@fence-read-hang:
- shard-dg2: NOTRUN -> [SKIP][369] ([i915#3708]) +1 other test skip
[369]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-7/igt@prime_vgem@fence-read-hang.html
* igt@sriov_basic@enable-vfs-autoprobe-on:
- shard-tglu: NOTRUN -> [FAIL][370] ([i915#12910]) +9 other tests fail
[370]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-10/igt@sriov_basic@enable-vfs-autoprobe-on.html
* igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all:
- shard-dg2-9: NOTRUN -> [SKIP][371] ([i915#9917])
[371]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-9/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html
#### Possible fixes ####
* igt@fbdev@eof:
- shard-rkl: [SKIP][372] ([i915#14544] / [i915#2582]) -> [PASS][373] +1 other test pass
[372]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@fbdev@eof.html
[373]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-5/igt@fbdev@eof.html
* igt@gem_eio@reset-stress:
- shard-dg1: [FAIL][374] ([i915#5784]) -> [PASS][375]
[374]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg1-19/igt@gem_eio@reset-stress.html
[375]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-13/igt@gem_eio@reset-stress.html
* igt@gem_exec_big@single:
- shard-tglu: [ABORT][376] ([i915#11713] / [i915#14756]) -> [PASS][377]
[376]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-tglu-4/igt@gem_exec_big@single.html
[377]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-2/igt@gem_exec_big@single.html
* igt@gem_pxp@create-protected-buffer:
- shard-rkl: [TIMEOUT][378] ([i915#12964]) -> [PASS][379] +1 other test pass
[378]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-5/igt@gem_pxp@create-protected-buffer.html
[379]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-8/igt@gem_pxp@create-protected-buffer.html
* igt@gem_pxp@display-protected-crc:
- shard-rkl: [TIMEOUT][380] ([i915#12917] / [i915#12964]) -> [PASS][381]
[380]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@gem_pxp@display-protected-crc.html
[381]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-8/igt@gem_pxp@display-protected-crc.html
* igt@gem_workarounds@suspend-resume-context:
- shard-rkl: [INCOMPLETE][382] ([i915#13356]) -> [PASS][383]
[382]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-3/igt@gem_workarounds@suspend-resume-context.html
[383]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@gem_workarounds@suspend-resume-context.html
* igt@i915_pm_freq_api@freq-suspend@gt0:
- shard-dg2: [INCOMPLETE][384] ([i915#13356] / [i915#13820]) -> [PASS][385] +1 other test pass
[384]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg2-6/igt@i915_pm_freq_api@freq-suspend@gt0.html
[385]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-6/igt@i915_pm_freq_api@freq-suspend@gt0.html
* igt@i915_selftest@live@workarounds:
- shard-mtlp: [DMESG-FAIL][386] ([i915#12061]) -> [PASS][387] +1 other test pass
[386]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-mtlp-7/igt@i915_selftest@live@workarounds.html
[387]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-mtlp-8/igt@i915_selftest@live@workarounds.html
* igt@i915_suspend@basic-s2idle-without-i915:
- shard-rkl: [DMESG-WARN][388] ([i915#12917] / [i915#12964]) -> [PASS][389]
[388]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-5/igt@i915_suspend@basic-s2idle-without-i915.html
[389]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@i915_suspend@basic-s2idle-without-i915.html
* igt@i915_suspend@fence-restore-tiled2untiled:
- shard-rkl: [INCOMPLETE][390] ([i915#4817]) -> [PASS][391]
[390]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@i915_suspend@fence-restore-tiled2untiled.html
[391]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@i915_suspend@fence-restore-tiled2untiled.html
* igt@kms_async_flips@async-flip-suspend-resume:
- shard-dg2: [ABORT][392] -> [PASS][393] +1 other test pass
[392]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg2-10/igt@kms_async_flips@async-flip-suspend-resume.html
[393]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-6/igt@kms_async_flips@async-flip-suspend-resume.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip:
- shard-mtlp: [FAIL][394] ([i915#5138]) -> [PASS][395]
[394]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-mtlp-4/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
[395]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-mtlp-3/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
* igt@kms_big_fb@x-tiled-32bpp-rotate-0:
- shard-rkl: [SKIP][396] ([i915#14544]) -> [PASS][397] +39 other tests pass
[396]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_big_fb@x-tiled-32bpp-rotate-0.html
[397]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-2/igt@kms_big_fb@x-tiled-32bpp-rotate-0.html
* igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-rc-ccs:
- shard-rkl: [DMESG-WARN][398] ([i915#12964]) -> [PASS][399] +18 other tests pass
[398]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-4/igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-rc-ccs.html
[399]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-rc-ccs.html
* igt@kms_color@ctm-red-to-blue:
- shard-rkl: [SKIP][400] ([i915#12655] / [i915#14544]) -> [PASS][401]
[400]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_color@ctm-red-to-blue.html
[401]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@kms_color@ctm-red-to-blue.html
* igt@kms_cursor_crc@cursor-onscreen-256x85:
- shard-tglu: [FAIL][402] ([i915#13566]) -> [PASS][403] +3 other tests pass
[402]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-tglu-3/igt@kms_cursor_crc@cursor-onscreen-256x85.html
[403]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-9/igt@kms_cursor_crc@cursor-onscreen-256x85.html
* igt@kms_cursor_crc@cursor-random-256x85@pipe-a-hdmi-a-1:
- shard-rkl: [FAIL][404] ([i915#13566]) -> [PASS][405] +1 other test pass
[404]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-4/igt@kms_cursor_crc@cursor-random-256x85@pipe-a-hdmi-a-1.html
[405]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@kms_cursor_crc@cursor-random-256x85@pipe-a-hdmi-a-1.html
* igt@kms_cursor_crc@cursor-suspend:
- shard-snb: [ABORT][406] ([i915#14849] / [i915#14871]) -> [PASS][407] +1 other test pass
[406]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-snb5/igt@kms_cursor_crc@cursor-suspend.html
[407]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-snb7/igt@kms_cursor_crc@cursor-suspend.html
- shard-tglu: [ABORT][408] ([i915#14849] / [i915#14871]) -> [PASS][409] +1 other test pass
[408]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-tglu-5/igt@kms_cursor_crc@cursor-suspend.html
[409]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-5/igt@kms_cursor_crc@cursor-suspend.html
* igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size:
- shard-rkl: [SKIP][410] ([i915#11190] / [i915#14544]) -> [PASS][411]
[410]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size.html
[411]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-5/igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size.html
* igt@kms_flip@2x-absolute-wf_vblank-interruptible:
- shard-glk: [SKIP][412] -> [PASS][413] +2 other tests pass
[412]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-glk8/igt@kms_flip@2x-absolute-wf_vblank-interruptible.html
[413]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-glk6/igt@kms_flip@2x-absolute-wf_vblank-interruptible.html
* igt@kms_flip@flip-vs-wf_vblank-interruptible:
- shard-rkl: [SKIP][414] ([i915#14544] / [i915#3637]) -> [PASS][415] +2 other tests pass
[414]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_flip@flip-vs-wf_vblank-interruptible.html
[415]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-4/igt@kms_flip@flip-vs-wf_vblank-interruptible.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling:
- shard-rkl: [SKIP][416] ([i915#14544] / [i915#3555]) -> [PASS][417] +2 other tests pass
[416]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling.html
[417]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu:
- shard-dg1: [DMESG-WARN][418] ([i915#4423]) -> [PASS][419] +2 other tests pass
[418]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg1-18/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu.html
[419]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-16/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-rkl: [SKIP][420] ([i915#14544] / [i915#1849] / [i915#5354]) -> [PASS][421] +6 other tests pass
[420]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-suspend.html
[421]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-8/igt@kms_frontbuffer_tracking@fbc-suspend.html
* igt@kms_invalid_mode@bad-vsync-start:
- shard-rkl: [SKIP][422] ([i915#14544] / [i915#3555] / [i915#8826]) -> [PASS][423]
[422]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_invalid_mode@bad-vsync-start.html
[423]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-2/igt@kms_invalid_mode@bad-vsync-start.html
* igt@kms_plane@pixel-format-source-clamping:
- shard-rkl: [SKIP][424] ([i915#14544] / [i915#8825]) -> [PASS][425]
[424]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_plane@pixel-format-source-clamping.html
[425]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-5/igt@kms_plane@pixel-format-source-clamping.html
* igt@kms_plane@planar-pixel-format-settings:
- shard-rkl: [SKIP][426] ([i915#14544] / [i915#9581]) -> [PASS][427]
[426]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_plane@planar-pixel-format-settings.html
[427]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-4/igt@kms_plane@planar-pixel-format-settings.html
* igt@kms_plane_alpha_blend@alpha-7efc:
- shard-rkl: [SKIP][428] ([i915#14544] / [i915#7294]) -> [PASS][429]
[428]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_plane_alpha_blend@alpha-7efc.html
[429]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-2/igt@kms_plane_alpha_blend@alpha-7efc.html
* igt@kms_plane_scaling@plane-downscale-factor-0-5-with-modifiers:
- shard-rkl: [SKIP][430] ([i915#12247] / [i915#14544] / [i915#8152]) -> [PASS][431] +2 other tests pass
[430]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-modifiers.html
[431]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-modifiers.html
* igt@kms_plane_scaling@plane-downscale-factor-0-5-with-modifiers@pipe-a:
- shard-rkl: [SKIP][432] ([i915#12247] / [i915#14544]) -> [PASS][433] +1 other test pass
[432]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-modifiers@pipe-a.html
[433]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-modifiers@pipe-a.html
* igt@kms_plane_scaling@planes-downscale-factor-0-75-upscale-factor-0-25:
- shard-rkl: [SKIP][434] ([i915#14544] / [i915#6953] / [i915#8152]) -> [PASS][435]
[434]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_plane_scaling@planes-downscale-factor-0-75-upscale-factor-0-25.html
[435]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-4/igt@kms_plane_scaling@planes-downscale-factor-0-75-upscale-factor-0-25.html
* igt@kms_pm_dc@dc5-psr:
- shard-mtlp: [FAIL][436] -> [PASS][437]
[436]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-mtlp-5/igt@kms_pm_dc@dc5-psr.html
[437]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-mtlp-5/igt@kms_pm_dc@dc5-psr.html
* igt@kms_pm_rpm@modeset-lpsp:
- shard-dg2: [SKIP][438] ([i915#15073]) -> [PASS][439] +1 other test pass
[438]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg2-1/igt@kms_pm_rpm@modeset-lpsp.html
[439]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-4/igt@kms_pm_rpm@modeset-lpsp.html
* igt@kms_pm_rpm@modeset-lpsp-stress:
- shard-rkl: [SKIP][440] ([i915#15073]) -> [PASS][441] +2 other tests pass
[440]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-5/igt@kms_pm_rpm@modeset-lpsp-stress.html
[441]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-2/igt@kms_pm_rpm@modeset-lpsp-stress.html
* igt@kms_pm_rpm@modeset-non-lpsp:
- shard-rkl: [SKIP][442] ([i915#14544] / [i915#15073]) -> [PASS][443] +1 other test pass
[442]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_pm_rpm@modeset-non-lpsp.html
[443]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-5/igt@kms_pm_rpm@modeset-non-lpsp.html
* igt@kms_vblank@ts-continuation-modeset-rpm@pipe-a-hdmi-a-1:
- shard-rkl: [SKIP][444] ([i915#1311]) -> [PASS][445]
[444]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-7/igt@kms_vblank@ts-continuation-modeset-rpm@pipe-a-hdmi-a-1.html
[445]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-4/igt@kms_vblank@ts-continuation-modeset-rpm@pipe-a-hdmi-a-1.html
* igt@perf@rc6-disable:
- shard-rkl: [SKIP][446] -> [PASS][447]
[446]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-4/igt@perf@rc6-disable.html
[447]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@perf@rc6-disable.html
#### Warnings ####
* igt@device_reset@cold-reset-bound:
- shard-rkl: [SKIP][448] ([i915#11078]) -> [SKIP][449] ([i915#11078] / [i915#14544])
[448]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@device_reset@cold-reset-bound.html
[449]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@device_reset@cold-reset-bound.html
* igt@device_reset@unbind-cold-reset-rebind:
- shard-rkl: [SKIP][450] ([i915#11078] / [i915#14544]) -> [SKIP][451] ([i915#11078])
[450]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@device_reset@unbind-cold-reset-rebind.html
[451]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-8/igt@device_reset@unbind-cold-reset-rebind.html
* igt@gem_bad_reloc@negative-reloc-lut:
- shard-rkl: [SKIP][452] ([i915#3281]) -> [SKIP][453] ([i915#14544] / [i915#3281]) +6 other tests skip
[452]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@gem_bad_reloc@negative-reloc-lut.html
[453]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@gem_bad_reloc@negative-reloc-lut.html
* igt@gem_basic@multigpu-create-close:
- shard-rkl: [SKIP][454] ([i915#7697]) -> [SKIP][455] ([i915#14544] / [i915#7697]) +1 other test skip
[454]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@gem_basic@multigpu-create-close.html
[455]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@gem_basic@multigpu-create-close.html
* igt@gem_ccs@suspend-resume:
- shard-rkl: [SKIP][456] ([i915#9323]) -> [SKIP][457] ([i915#14544] / [i915#9323])
[456]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-2/igt@gem_ccs@suspend-resume.html
[457]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@gem_ccs@suspend-resume.html
* igt@gem_close_race@multigpu-basic-threads:
- shard-rkl: [SKIP][458] ([i915#14544] / [i915#7697]) -> [SKIP][459] ([i915#7697])
[458]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@gem_close_race@multigpu-basic-threads.html
[459]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@gem_close_race@multigpu-basic-threads.html
* igt@gem_create@create-ext-set-pat:
- shard-rkl: [SKIP][460] ([i915#8562]) -> [SKIP][461] ([i915#14544] / [i915#8562])
[460]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-7/igt@gem_create@create-ext-set-pat.html
[461]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@gem_create@create-ext-set-pat.html
* igt@gem_ctx_sseu@mmap-args:
- shard-rkl: [SKIP][462] ([i915#280]) -> [SKIP][463] ([i915#14544] / [i915#280]) +1 other test skip
[462]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-2/igt@gem_ctx_sseu@mmap-args.html
[463]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@gem_ctx_sseu@mmap-args.html
* igt@gem_exec_balancer@parallel-ordering:
- shard-rkl: [SKIP][464] ([i915#4525]) -> [SKIP][465] ([i915#14544] / [i915#4525]) +1 other test skip
[464]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-7/igt@gem_exec_balancer@parallel-ordering.html
[465]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@gem_exec_balancer@parallel-ordering.html
* igt@gem_exec_reloc@basic-gtt-cpu-active:
- shard-rkl: [SKIP][466] ([i915#14544] / [i915#3281]) -> [SKIP][467] ([i915#3281]) +5 other tests skip
[466]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@gem_exec_reloc@basic-gtt-cpu-active.html
[467]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-3/igt@gem_exec_reloc@basic-gtt-cpu-active.html
* igt@gem_lmem_swapping@heavy-verify-multi:
- shard-rkl: [SKIP][468] ([i915#14544] / [i915#4613]) -> [SKIP][469] ([i915#4613])
[468]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@gem_lmem_swapping@heavy-verify-multi.html
[469]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-4/igt@gem_lmem_swapping@heavy-verify-multi.html
* igt@gem_lmem_swapping@heavy-verify-random-ccs:
- shard-rkl: [SKIP][470] ([i915#4613]) -> [SKIP][471] ([i915#14544] / [i915#4613]) +3 other tests skip
[470]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-5/igt@gem_lmem_swapping@heavy-verify-random-ccs.html
[471]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@gem_lmem_swapping@heavy-verify-random-ccs.html
* igt@gem_media_vme:
- shard-rkl: [SKIP][472] ([i915#284]) -> [SKIP][473] ([i915#14544] / [i915#284])
[472]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-2/igt@gem_media_vme.html
[473]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@gem_media_vme.html
* igt@gem_pxp@hw-rejects-pxp-buffer:
- shard-rkl: [TIMEOUT][474] ([i915#12917] / [i915#12964]) -> [SKIP][475] ([i915#13717])
[474]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-7/igt@gem_pxp@hw-rejects-pxp-buffer.html
[475]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-8/igt@gem_pxp@hw-rejects-pxp-buffer.html
* igt@gem_pxp@hw-rejects-pxp-context:
- shard-rkl: [FAIL][476] ([i915#14981]) -> [TIMEOUT][477] ([i915#12917] / [i915#12964])
[476]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@gem_pxp@hw-rejects-pxp-context.html
[477]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-4/igt@gem_pxp@hw-rejects-pxp-context.html
* igt@gem_pxp@verify-pxp-key-change-after-suspend-resume:
- shard-rkl: [SKIP][478] ([i915#14544] / [i915#4270]) -> [TIMEOUT][479] ([i915#12917] / [i915#12964])
[478]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@gem_pxp@verify-pxp-key-change-after-suspend-resume.html
[479]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-5/igt@gem_pxp@verify-pxp-key-change-after-suspend-resume.html
* igt@gem_readwrite@beyond-eob:
- shard-rkl: [SKIP][480] ([i915#3282]) -> [SKIP][481] ([i915#14544] / [i915#3282]) +4 other tests skip
[480]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@gem_readwrite@beyond-eob.html
[481]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@gem_readwrite@beyond-eob.html
* igt@gem_set_tiling_vs_blt@tiled-to-untiled:
- shard-rkl: [SKIP][482] ([i915#14544] / [i915#8411]) -> [SKIP][483] ([i915#8411])
[482]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html
[483]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-2/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html
* igt@gem_set_tiling_vs_pwrite:
- shard-rkl: [SKIP][484] ([i915#14544] / [i915#3282]) -> [SKIP][485] ([i915#3282]) +2 other tests skip
[484]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@gem_set_tiling_vs_pwrite.html
[485]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-4/igt@gem_set_tiling_vs_pwrite.html
* igt@gem_userptr_blits@create-destroy-unsync:
- shard-rkl: [SKIP][486] ([i915#3297]) -> [SKIP][487] ([i915#14544] / [i915#3297]) +2 other tests skip
[486]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-2/igt@gem_userptr_blits@create-destroy-unsync.html
[487]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@gem_userptr_blits@create-destroy-unsync.html
* igt@gem_userptr_blits@forbidden-operations:
- shard-rkl: [SKIP][488] ([i915#14544] / [i915#3282] / [i915#3297]) -> [SKIP][489] ([i915#3282] / [i915#3297])
[488]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@gem_userptr_blits@forbidden-operations.html
[489]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@gem_userptr_blits@forbidden-operations.html
* igt@gem_userptr_blits@relocations:
- shard-rkl: [SKIP][490] ([i915#3281] / [i915#3297]) -> [SKIP][491] ([i915#14544] / [i915#3281] / [i915#3297])
[490]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-4/igt@gem_userptr_blits@relocations.html
[491]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@gem_userptr_blits@relocations.html
* igt@gem_userptr_blits@unsync-unmap:
- shard-rkl: [SKIP][492] ([i915#14544] / [i915#3297]) -> [SKIP][493] ([i915#3297])
[492]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@gem_userptr_blits@unsync-unmap.html
[493]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-2/igt@gem_userptr_blits@unsync-unmap.html
* igt@gen9_exec_parse@batch-without-end:
- shard-rkl: [SKIP][494] ([i915#14544] / [i915#2527]) -> [SKIP][495] ([i915#2527]) +1 other test skip
[494]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@gen9_exec_parse@batch-without-end.html
[495]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-2/igt@gen9_exec_parse@batch-without-end.html
* igt@gen9_exec_parse@unaligned-jump:
- shard-rkl: [SKIP][496] ([i915#2527]) -> [SKIP][497] ([i915#14544] / [i915#2527]) +1 other test skip
[496]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-5/igt@gen9_exec_parse@unaligned-jump.html
[497]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@gen9_exec_parse@unaligned-jump.html
* igt@i915_pm_freq_api@freq-basic-api:
- shard-rkl: [SKIP][498] ([i915#8399]) -> [SKIP][499] ([i915#14544] / [i915#8399])
[498]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-2/igt@i915_pm_freq_api@freq-basic-api.html
[499]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@i915_pm_freq_api@freq-basic-api.html
* igt@i915_pm_freq_api@freq-reset:
- shard-rkl: [SKIP][500] ([i915#14544] / [i915#8399]) -> [SKIP][501] ([i915#8399])
[500]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@i915_pm_freq_api@freq-reset.html
[501]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-8/igt@i915_pm_freq_api@freq-reset.html
* igt@i915_pm_rc6_residency@media-rc6-accuracy:
- shard-rkl: [SKIP][502] -> [SKIP][503] ([i915#14544]) +20 other tests skip
[502]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-2/igt@i915_pm_rc6_residency@media-rc6-accuracy.html
[503]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@i915_pm_rc6_residency@media-rc6-accuracy.html
* igt@i915_pm_rc6_residency@rc6-idle:
- shard-rkl: [SKIP][504] ([i915#14498] / [i915#14544]) -> [SKIP][505] ([i915#14498])
[504]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@i915_pm_rc6_residency@rc6-idle.html
[505]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-2/igt@i915_pm_rc6_residency@rc6-idle.html
* igt@i915_pm_rpm@gem-execbuf-stress-pc8:
- shard-rkl: [SKIP][506] ([i915#13328]) -> [SKIP][507]
[506]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-4/igt@i915_pm_rpm@gem-execbuf-stress-pc8.html
[507]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-5/igt@i915_pm_rpm@gem-execbuf-stress-pc8.html
* igt@i915_pm_sseu@full-enable:
- shard-rkl: [SKIP][508] ([i915#4387]) -> [SKIP][509] ([i915#14544] / [i915#4387])
[508]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-3/igt@i915_pm_sseu@full-enable.html
[509]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@i915_pm_sseu@full-enable.html
* igt@kms_atomic@plane-primary-overlay-mutable-zpos:
- shard-rkl: [SKIP][510] ([i915#14544]) -> [SKIP][511] ([i915#9531])
[510]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html
[511]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-3/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html
* igt@kms_big_fb@4-tiled-16bpp-rotate-90:
- shard-rkl: [SKIP][512] ([i915#5286]) -> [SKIP][513] ([i915#14544]) +4 other tests skip
[512]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-2/igt@kms_big_fb@4-tiled-16bpp-rotate-90.html
[513]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_big_fb@4-tiled-16bpp-rotate-90.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-0:
- shard-rkl: [SKIP][514] ([i915#14544]) -> [SKIP][515] ([i915#5286]) +3 other tests skip
[514]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_big_fb@4-tiled-32bpp-rotate-0.html
[515]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@kms_big_fb@4-tiled-32bpp-rotate-0.html
* igt@kms_big_fb@linear-64bpp-rotate-90:
- shard-rkl: [SKIP][516] ([i915#3638]) -> [SKIP][517] ([i915#14544]) +7 other tests skip
[516]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-4/igt@kms_big_fb@linear-64bpp-rotate-90.html
[517]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_big_fb@linear-64bpp-rotate-90.html
* igt@kms_big_fb@linear-8bpp-rotate-90:
- shard-rkl: [SKIP][518] ([i915#14544]) -> [SKIP][519] ([i915#3638])
[518]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_big_fb@linear-8bpp-rotate-90.html
[519]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-8/igt@kms_big_fb@linear-8bpp-rotate-90.html
* igt@kms_big_fb@yf-tiled-16bpp-rotate-270:
- shard-rkl: [SKIP][520] ([i915#14544]) -> [SKIP][521] +9 other tests skip
[520]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_big_fb@yf-tiled-16bpp-rotate-270.html
[521]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@kms_big_fb@yf-tiled-16bpp-rotate-270.html
* igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-2:
- shard-rkl: [SKIP][522] ([i915#6095]) -> [SKIP][523] ([i915#14098] / [i915#6095]) +2 other tests skip
[522]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-2.html
[523]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-5/igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-2.html
* igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs:
- shard-dg1: [SKIP][524] ([i915#6095]) -> [SKIP][525] ([i915#4423] / [i915#6095]) +1 other test skip
[524]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg1-15/igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs.html
[525]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-18/igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs.html
* igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs:
- shard-rkl: [SKIP][526] ([i915#14544]) -> [SKIP][527] ([i915#14098] / [i915#6095]) +4 other tests skip
[526]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs.html
[527]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs.html
* igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2:
- shard-rkl: [SKIP][528] ([i915#14098] / [i915#6095]) -> [SKIP][529] ([i915#6095]) +3 other tests skip
[528]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-3/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html
[529]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-8/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html
* igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs:
- shard-rkl: [SKIP][530] ([i915#12313]) -> [SKIP][531] ([i915#14544]) +1 other test skip
[530]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html
[531]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs:
- shard-rkl: [SKIP][532] ([i915#14544]) -> [SKIP][533] ([i915#12313])
[532]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs.html
[533]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-8/igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs:
- shard-rkl: [SKIP][534] ([i915#14098] / [i915#6095]) -> [SKIP][535] ([i915#14544]) +11 other tests skip
[534]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-2/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html
[535]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html
* igt@kms_chamelium_edid@dp-edid-stress-resolution-non-4k:
- shard-dg1: [SKIP][536] ([i915#11151] / [i915#4423] / [i915#7828]) -> [SKIP][537] ([i915#11151] / [i915#7828])
[536]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg1-18/igt@kms_chamelium_edid@dp-edid-stress-resolution-non-4k.html
[537]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-13/igt@kms_chamelium_edid@dp-edid-stress-resolution-non-4k.html
* igt@kms_chamelium_edid@hdmi-edid-read:
- shard-rkl: [SKIP][538] ([i915#11151] / [i915#7828]) -> [SKIP][539] ([i915#11151] / [i915#14544] / [i915#7828]) +7 other tests skip
[538]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-4/igt@kms_chamelium_edid@hdmi-edid-read.html
[539]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_chamelium_edid@hdmi-edid-read.html
* igt@kms_chamelium_frames@dp-crc-fast:
- shard-rkl: [SKIP][540] ([i915#11151] / [i915#14544] / [i915#7828]) -> [SKIP][541] ([i915#11151] / [i915#7828]) +4 other tests skip
[540]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_chamelium_frames@dp-crc-fast.html
[541]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-8/igt@kms_chamelium_frames@dp-crc-fast.html
* igt@kms_content_protection@dp-mst-lic-type-0:
- shard-rkl: [SKIP][542] ([i915#3116]) -> [SKIP][543] ([i915#14544])
[542]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-3/igt@kms_content_protection@dp-mst-lic-type-0.html
[543]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_content_protection@dp-mst-lic-type-0.html
* igt@kms_content_protection@lic-type-0:
- shard-rkl: [SKIP][544] ([i915#14544]) -> [SKIP][545] ([i915#9424])
[544]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_content_protection@lic-type-0.html
[545]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-5/igt@kms_content_protection@lic-type-0.html
* igt@kms_content_protection@srm:
- shard-dg1: [SKIP][546] ([i915#7116]) -> [SKIP][547] ([i915#4423] / [i915#7116])
[546]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg1-14/igt@kms_content_protection@srm.html
[547]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-12/igt@kms_content_protection@srm.html
* igt@kms_content_protection@uevent:
- shard-rkl: [SKIP][548] ([i915#14544]) -> [SKIP][549] ([i915#7118] / [i915#9424])
[548]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_content_protection@uevent.html
[549]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-8/igt@kms_content_protection@uevent.html
* igt@kms_cursor_crc@cursor-onscreen-128x42:
- shard-rkl: [FAIL][550] ([i915#13566]) -> [SKIP][551] ([i915#14544]) +1 other test skip
[550]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-4/igt@kms_cursor_crc@cursor-onscreen-128x42.html
[551]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_cursor_crc@cursor-onscreen-128x42.html
* igt@kms_cursor_crc@cursor-random-512x170:
- shard-rkl: [SKIP][552] ([i915#13049]) -> [SKIP][553] ([i915#14544]) +1 other test skip
[552]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-2/igt@kms_cursor_crc@cursor-random-512x170.html
[553]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_cursor_crc@cursor-random-512x170.html
* igt@kms_cursor_crc@cursor-random-512x512:
- shard-rkl: [SKIP][554] ([i915#14544]) -> [SKIP][555] ([i915#13049]) +1 other test skip
[554]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_cursor_crc@cursor-random-512x512.html
[555]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-5/igt@kms_cursor_crc@cursor-random-512x512.html
* igt@kms_cursor_crc@cursor-rapid-movement-32x32:
- shard-rkl: [SKIP][556] ([i915#3555]) -> [SKIP][557] ([i915#14544]) +2 other tests skip
[556]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-7/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html
[557]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html
* igt@kms_cursor_crc@cursor-sliding-128x42:
- shard-rkl: [SKIP][558] ([i915#14544]) -> [FAIL][559] ([i915#13566])
[558]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_cursor_crc@cursor-sliding-128x42.html
[559]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-2/igt@kms_cursor_crc@cursor-sliding-128x42.html
* igt@kms_cursor_crc@cursor-sliding-256x85:
- shard-rkl: [FAIL][560] ([i915#13566]) -> [DMESG-FAIL][561] ([i915#12964])
[560]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-4/igt@kms_cursor_crc@cursor-sliding-256x85.html
[561]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-2/igt@kms_cursor_crc@cursor-sliding-256x85.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size:
- shard-rkl: [SKIP][562] ([i915#4103]) -> [SKIP][563] ([i915#14544])
[562]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-5/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html
[563]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html
* igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
- shard-rkl: [SKIP][564] ([i915#9723]) -> [SKIP][565] ([i915#14544])
[564]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-2/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
[565]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
* igt@kms_display_modes@extended-mode-basic:
- shard-rkl: [SKIP][566] ([i915#13691]) -> [SKIP][567] ([i915#14544])
[566]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-5/igt@kms_display_modes@extended-mode-basic.html
[567]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_display_modes@extended-mode-basic.html
* igt@kms_dp_link_training@non-uhbr-sst:
- shard-rkl: [SKIP][568] ([i915#13749]) -> [SKIP][569] ([i915#14544])
[568]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-2/igt@kms_dp_link_training@non-uhbr-sst.html
[569]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_dp_link_training@non-uhbr-sst.html
- shard-dg1: [SKIP][570] ([i915#13749]) -> [SKIP][571] ([i915#13749] / [i915#4423])
[570]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg1-12/igt@kms_dp_link_training@non-uhbr-sst.html
[571]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-18/igt@kms_dp_link_training@non-uhbr-sst.html
* igt@kms_dsc@dsc-basic:
- shard-rkl: [SKIP][572] ([i915#3555] / [i915#3840]) -> [SKIP][573] ([i915#11190] / [i915#14544])
[572]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@kms_dsc@dsc-basic.html
[573]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_dsc@dsc-basic.html
* igt@kms_dsc@dsc-fractional-bpp:
- shard-rkl: [SKIP][574] ([i915#14544]) -> [SKIP][575] ([i915#3840])
[574]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_dsc@dsc-fractional-bpp.html
[575]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-4/igt@kms_dsc@dsc-fractional-bpp.html
* igt@kms_dsc@dsc-with-formats:
- shard-rkl: [SKIP][576] ([i915#3555] / [i915#3840]) -> [SKIP][577] ([i915#14544])
[576]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-4/igt@kms_dsc@dsc-with-formats.html
[577]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_dsc@dsc-with-formats.html
* igt@kms_feature_discovery@chamelium:
- shard-rkl: [SKIP][578] ([i915#14544] / [i915#4854]) -> [SKIP][579] ([i915#4854])
[578]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_feature_discovery@chamelium.html
[579]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-2/igt@kms_feature_discovery@chamelium.html
* igt@kms_feature_discovery@psr2:
- shard-rkl: [SKIP][580] ([i915#14544] / [i915#658]) -> [SKIP][581] ([i915#658])
[580]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_feature_discovery@psr2.html
[581]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-8/igt@kms_feature_discovery@psr2.html
* igt@kms_flip@2x-flip-vs-modeset:
- shard-rkl: [SKIP][582] ([i915#9934]) -> [SKIP][583] ([i915#14544] / [i915#9934]) +3 other tests skip
[582]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-2/igt@kms_flip@2x-flip-vs-modeset.html
[583]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_flip@2x-flip-vs-modeset.html
* igt@kms_flip@2x-flip-vs-suspend-interruptible:
- shard-glk: [INCOMPLETE][584] ([i915#12314] / [i915#12745] / [i915#4839]) -> [SKIP][585]
[584]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-glk5/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
[585]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-glk8/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
* igt@kms_flip@2x-modeset-vs-vblank-race:
- shard-rkl: [SKIP][586] ([i915#14544] / [i915#9934]) -> [SKIP][587] ([i915#9934]) +5 other tests skip
[586]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_flip@2x-modeset-vs-vblank-race.html
[587]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-4/igt@kms_flip@2x-modeset-vs-vblank-race.html
* igt@kms_flip@wf_vblank-ts-check-interruptible:
- shard-rkl: [DMESG-WARN][588] ([i915#12964]) -> [SKIP][589] ([i915#14544] / [i915#3637])
[588]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-7/igt@kms_flip@wf_vblank-ts-check-interruptible.html
[589]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_flip@wf_vblank-ts-check-interruptible.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling:
- shard-rkl: [SKIP][590] ([i915#2672] / [i915#3555]) -> [SKIP][591] ([i915#14544] / [i915#3555]) +4 other tests skip
[590]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-4/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
[591]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
- shard-dg1: [SKIP][592] ([i915#2672] / [i915#3555]) -> [SKIP][593] ([i915#2672] / [i915#3555] / [i915#4423])
[592]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg1-18/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
[593]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-18/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-valid-mode:
- shard-dg1: [SKIP][594] ([i915#2587] / [i915#2672]) -> [SKIP][595] ([i915#2587] / [i915#2672] / [i915#4423])
[594]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg1-18/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-valid-mode.html
[595]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-18/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling:
- shard-rkl: [SKIP][596] ([i915#14544] / [i915#3555]) -> [SKIP][597] ([i915#2672] / [i915#3555]) +3 other tests skip
[596]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling.html
[597]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-4/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling.html
* igt@kms_force_connector_basic@force-load-detect:
- shard-dg1: [SKIP][598] -> [ABORT][599] ([i915#4423])
[598]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg1-14/igt@kms_force_connector_basic@force-load-detect.html
[599]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-18/igt@kms_force_connector_basic@force-load-detect.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-move:
- shard-dg1: [SKIP][600] -> [SKIP][601] ([i915#4423]) +2 other tests skip
[600]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg1-16/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-move.html
[601]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-18/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@fbc-2p-shrfb-fliptrack-mmap-gtt:
- shard-rkl: [SKIP][602] -> [SKIP][603] ([i915#14544] / [i915#1849] / [i915#5354])
[602]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-2/igt@kms_frontbuffer_tracking@fbc-2p-shrfb-fliptrack-mmap-gtt.html
[603]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-2p-shrfb-fliptrack-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbc-tiling-4:
- shard-rkl: [SKIP][604] ([i915#14544] / [i915#1849] / [i915#5354]) -> [SKIP][605] ([i915#5439])
[604]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-tiling-4.html
[605]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-3/igt@kms_frontbuffer_tracking@fbc-tiling-4.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-move:
- shard-dg2: [SKIP][606] ([i915#3458]) -> [SKIP][607] ([i915#10433] / [i915#15102] / [i915#3458])
[606]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg2-8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-move.html
[607]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-move.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-rte:
- shard-rkl: [SKIP][608] ([i915#3023]) -> [SKIP][609] ([i915#14544] / [i915#1849] / [i915#5354]) +20 other tests skip
[608]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-2/igt@kms_frontbuffer_tracking@fbcpsr-1p-rte.html
[609]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-rte.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt:
- shard-rkl: [SKIP][610] ([i915#14544] / [i915#1849] / [i915#5354]) -> [SKIP][611] ([i915#1825]) +27 other tests skip
[610]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html
[611]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt:
- shard-dg1: [SKIP][612] ([i915#3458]) -> [SKIP][613] ([i915#15102] / [i915#3458]) +74 other tests skip
[612]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg1-12/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt.html
[613]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-19/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc:
- shard-rkl: [SKIP][614] ([i915#3023]) -> [SKIP][615] ([i915#15102] / [i915#3023]) +70 other tests skip
[614]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html
[615]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-5/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@pipe-fbc-rte:
- shard-rkl: [SKIP][616] ([i915#9766]) -> [SKIP][617] ([i915#14544] / [i915#1849] / [i915#5354])
[616]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
[617]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move:
- shard-dg2: [SKIP][618] ([i915#3458]) -> [SKIP][619] ([i915#15102] / [i915#3458]) +40 other tests skip
[618]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg2-3/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html
[619]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg2-5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt:
- shard-rkl: [SKIP][620] ([i915#14544] / [i915#1849] / [i915#5354]) -> [SKIP][621] ([i915#15102] / [i915#3023]) +8 other tests skip
[620]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt.html
[621]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt:
- shard-rkl: [SKIP][622] ([i915#1825]) -> [SKIP][623] ([i915#14544] / [i915#1849] / [i915#5354]) +32 other tests skip
[622]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-7/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt.html
[623]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary:
- shard-tglu: [SKIP][624] -> [SKIP][625] ([i915#15102]) +86 other tests skip
[624]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-tglu-2/igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary.html
[625]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-tglu-6/igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary.html
* igt@kms_joiner@invalid-modeset-big-joiner:
- shard-rkl: [SKIP][626] ([i915#10656]) -> [SKIP][627] ([i915#10656] / [i915#14544])
[626]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-4/igt@kms_joiner@invalid-modeset-big-joiner.html
[627]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_joiner@invalid-modeset-big-joiner.html
* igt@kms_joiner@invalid-modeset-force-big-joiner:
- shard-rkl: [SKIP][628] ([i915#12388]) -> [SKIP][629] ([i915#12388] / [i915#14544])
[628]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-3/igt@kms_joiner@invalid-modeset-force-big-joiner.html
[629]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_joiner@invalid-modeset-force-big-joiner.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-rkl: [SKIP][630] ([i915#4070] / [i915#4816]) -> [SKIP][631] ([i915#14544] / [i915#4070] / [i915#4816])
[630]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-5/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
[631]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
* igt@kms_plane_multiple@2x-tiling-none:
- shard-rkl: [SKIP][632] ([i915#13958]) -> [SKIP][633] ([i915#14544]) +1 other test skip
[632]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-7/igt@kms_plane_multiple@2x-tiling-none.html
[633]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_plane_multiple@2x-tiling-none.html
* igt@kms_plane_multiple@tiling-yf:
- shard-rkl: [SKIP][634] ([i915#14259]) -> [SKIP][635] ([i915#14544])
[634]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-3/igt@kms_plane_multiple@tiling-yf.html
[635]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_plane_multiple@tiling-yf.html
* igt@kms_plane_scaling@2x-scaler-multi-pipe:
- shard-rkl: [SKIP][636] -> [SKIP][637] ([i915#14544] / [i915#8152])
[636]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-7/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
[637]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
* igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b:
- shard-rkl: [SKIP][638] ([i915#12247]) -> [SKIP][639] ([i915#12247] / [i915#14544] / [i915#8152]) +4 other tests skip
[638]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-4/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b.html
[639]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b.html
* igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a:
- shard-rkl: [SKIP][640] ([i915#12247] / [i915#14544]) -> [SKIP][641] ([i915#12247])
[640]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a.html
[641]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-5/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a.html
* igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-b:
- shard-rkl: [SKIP][642] ([i915#12247] / [i915#14544] / [i915#8152]) -> [SKIP][643] ([i915#12247]) +1 other test skip
[642]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-b.html
[643]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-5/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-b.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation:
- shard-rkl: [SKIP][644] ([i915#3555]) -> [SKIP][645] ([i915#14544] / [i915#3555] / [i915#8152])
[644]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-7/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation.html
[645]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation.html
* igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a:
- shard-rkl: [SKIP][646] ([i915#12247]) -> [SKIP][647] ([i915#12247] / [i915#14544]) +2 other tests skip
[646]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-4/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a.html
[647]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a.html
* igt@kms_pm_backlight@basic-brightness:
- shard-rkl: [SKIP][648] ([i915#14544] / [i915#5354]) -> [SKIP][649] ([i915#5354])
[648]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_pm_backlight@basic-brightness.html
[649]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-5/igt@kms_pm_backlight@basic-brightness.html
* igt@kms_pm_backlight@fade-with-dpms:
- shard-rkl: [SKIP][650] ([i915#5354]) -> [SKIP][651] ([i915#14544] / [i915#5354])
[650]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-7/igt@kms_pm_backlight@fade-with-dpms.html
[651]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_pm_backlight@fade-with-dpms.html
* igt@kms_pm_dc@dc3co-vpb-simulation:
- shard-rkl: [SKIP][652] ([i915#9685]) -> [SKIP][653] ([i915#14544] / [i915#9685])
[652]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-3/igt@kms_pm_dc@dc3co-vpb-simulation.html
[653]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_pm_dc@dc3co-vpb-simulation.html
* igt@kms_pm_dc@dc5-retention-flops:
- shard-rkl: [SKIP][654] ([i915#14544] / [i915#3828]) -> [SKIP][655] ([i915#3828])
[654]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_pm_dc@dc5-retention-flops.html
[655]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@kms_pm_dc@dc5-retention-flops.html
* igt@kms_pm_lpsp@kms-lpsp:
- shard-rkl: [SKIP][656] ([i915#9340]) -> [SKIP][657] ([i915#3828])
[656]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-5/igt@kms_pm_lpsp@kms-lpsp.html
[657]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@kms_pm_lpsp@kms-lpsp.html
* igt@kms_pm_rpm@dpms-mode-unset-lpsp:
- shard-rkl: [SKIP][658] ([i915#15073]) -> [SKIP][659] ([i915#14544] / [i915#15073])
[658]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
[659]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
* igt@kms_pm_rpm@dpms-mode-unset-non-lpsp:
- shard-rkl: [SKIP][660] ([i915#14544] / [i915#15073]) -> [SKIP][661] ([i915#15073])
[660]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
[661]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-4/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
* igt@kms_psr2_sf@psr2-overlay-plane-update-continuous-sf:
- shard-rkl: [SKIP][662] ([i915#11520]) -> [SKIP][663] ([i915#11520] / [i915#14544]) +6 other tests skip
[662]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-5/igt@kms_psr2_sf@psr2-overlay-plane-update-continuous-sf.html
[663]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_psr2_sf@psr2-overlay-plane-update-continuous-sf.html
* igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area:
- shard-rkl: [SKIP][664] ([i915#11520] / [i915#14544]) -> [SKIP][665] ([i915#11520]) +5 other tests skip
[664]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area.html
[665]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-4/igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area.html
* igt@kms_psr2_su@frontbuffer-xrgb8888:
- shard-rkl: [SKIP][666] ([i915#14544] / [i915#9683]) -> [SKIP][667] ([i915#9683])
[666]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_psr2_su@frontbuffer-xrgb8888.html
[667]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-8/igt@kms_psr2_su@frontbuffer-xrgb8888.html
* igt@kms_psr@pr-cursor-plane-onoff:
- shard-rkl: [SKIP][668] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][669] ([i915#1072] / [i915#9732]) +11 other tests skip
[668]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_psr@pr-cursor-plane-onoff.html
[669]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-8/igt@kms_psr@pr-cursor-plane-onoff.html
* igt@kms_psr@psr-suspend:
- shard-dg1: [SKIP][670] ([i915#1072] / [i915#9732]) -> [SKIP][671] ([i915#1072] / [i915#4423] / [i915#9732])
[670]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg1-16/igt@kms_psr@psr-suspend.html
[671]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-15/igt@kms_psr@psr-suspend.html
* igt@kms_psr@psr2-cursor-mmap-gtt:
- shard-rkl: [SKIP][672] ([i915#1072] / [i915#9732]) -> [SKIP][673] ([i915#1072] / [i915#14544] / [i915#9732]) +22 other tests skip
[672]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-2/igt@kms_psr@psr2-cursor-mmap-gtt.html
[673]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_psr@psr2-cursor-mmap-gtt.html
* igt@kms_psr@psr2-sprite-plane-onoff:
- shard-dg1: [SKIP][674] ([i915#1072] / [i915#4423] / [i915#9732]) -> [SKIP][675] ([i915#1072] / [i915#9732])
[674]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-dg1-18/igt@kms_psr@psr2-sprite-plane-onoff.html
[675]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-dg1-16/igt@kms_psr@psr2-sprite-plane-onoff.html
* igt@kms_rotation_crc@primary-rotation-270:
- shard-rkl: [SKIP][676] ([i915#14544]) -> [DMESG-WARN][677] ([i915#12964])
[676]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_rotation_crc@primary-rotation-270.html
[677]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-4/igt@kms_rotation_crc@primary-rotation-270.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
- shard-rkl: [SKIP][678] ([i915#14544]) -> [SKIP][679] ([i915#5289])
[678]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html
[679]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html
* igt@kms_scaling_modes@scaling-mode-none:
- shard-rkl: [SKIP][680] ([i915#14544]) -> [SKIP][681] ([i915#3555]) +2 other tests skip
[680]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_scaling_modes@scaling-mode-none.html
[681]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-8/igt@kms_scaling_modes@scaling-mode-none.html
* igt@kms_sequence@get-idle:
- shard-rkl: [DMESG-WARN][682] ([i915#12964]) -> [SKIP][683] ([i915#14544])
[682]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-3/igt@kms_sequence@get-idle.html
[683]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_sequence@get-idle.html
* igt@kms_setmode@basic-clone-single-crtc:
- shard-rkl: [SKIP][684] ([i915#14544] / [i915#3555]) -> [SKIP][685] ([i915#3555])
[684]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_setmode@basic-clone-single-crtc.html
[685]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@kms_setmode@basic-clone-single-crtc.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-rkl: [SKIP][686] ([i915#8623]) -> [SKIP][687] ([i915#14544])
[686]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@kms_tiled_display@basic-test-pattern.html
[687]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_vblank@ts-continuation-dpms-suspend:
- shard-rkl: [INCOMPLETE][688] ([i915#12276]) -> [SKIP][689] ([i915#14544])
[688]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-4/igt@kms_vblank@ts-continuation-dpms-suspend.html
[689]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_vblank@ts-continuation-dpms-suspend.html
* igt@kms_vrr@seamless-rr-switch-drrs:
- shard-rkl: [SKIP][690] ([i915#14544]) -> [SKIP][691] ([i915#9906])
[690]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-6/igt@kms_vrr@seamless-rr-switch-drrs.html
[691]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-7/igt@kms_vrr@seamless-rr-switch-drrs.html
* igt@kms_vrr@seamless-rr-switch-vrr:
- shard-rkl: [SKIP][692] ([i915#9906]) -> [SKIP][693] ([i915#14544]) +1 other test skip
[692]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-2/igt@kms_vrr@seamless-rr-switch-vrr.html
[693]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_vrr@seamless-rr-switch-vrr.html
* igt@kms_writeback@writeback-check-output:
- shard-rkl: [SKIP][694] ([i915#2437]) -> [SKIP][695] ([i915#14544] / [i915#2437]) +1 other test skip
[694]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@kms_writeback@writeback-check-output.html
[695]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@kms_writeback@writeback-check-output.html
* igt@perf@gen8-unprivileged-single-ctx-counters:
- shard-rkl: [SKIP][696] ([i915#2436]) -> [SKIP][697] ([i915#14544] / [i915#2436])
[696]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@perf@gen8-unprivileged-single-ctx-counters.html
[697]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@perf@gen8-unprivileged-single-ctx-counters.html
* igt@perf_pmu@rc6-all-gts:
- shard-rkl: [SKIP][698] ([i915#8516]) -> [SKIP][699] ([i915#14544] / [i915#8516])
[698]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-8/igt@perf_pmu@rc6-all-gts.html
[699]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@perf_pmu@rc6-all-gts.html
* igt@prime_vgem@fence-read-hang:
- shard-rkl: [SKIP][700] ([i915#3708]) -> [SKIP][701] ([i915#14544] / [i915#3708])
[700]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-7/igt@prime_vgem@fence-read-hang.html
[701]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@prime_vgem@fence-read-hang.html
* igt@sriov_basic@enable-vfs-autoprobe-on:
- shard-rkl: [SKIP][702] ([i915#9917]) -> [SKIP][703] ([i915#14544] / [i915#9917]) +1 other test skip
[702]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8579/shard-rkl-2/igt@sriov_basic@enable-vfs-autoprobe-on.html
[703]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/shard-rkl-6/igt@sriov_basic@enable-vfs-autoprobe-on.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
[i915#10433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10433
[i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434
[i915#10538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10538
[i915#10656]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10656
[i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
[i915#10959]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10959
[i915#1099]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1099
[i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078
[i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151
[i915#11190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11190
[i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
[i915#11521]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11521
[i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681
[i915#11713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11713
[i915#11943]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11943
[i915#11965]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11965
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
[i915#12178]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12178
[i915#12247]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12247
[i915#12276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12276
[i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313
[i915#12314]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12314
[i915#12339]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12339
[i915#12388]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12388
[i915#12655]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12655
[i915#12745]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12745
[i915#12755]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12755
[i915#12910]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12910
[i915#12917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12917
[i915#12942]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12942
[i915#12964]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12964
[i915#13029]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13029
[i915#13046]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13046
[i915#13049]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13049
[i915#1311]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1311
[i915#13179]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13179
[i915#13328]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13328
[i915#13356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13356
[i915#13427]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13427
[i915#13447]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13447
[i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566
[i915#13691]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13691
[i915#13705]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13705
[i915#13707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13707
[i915#13717]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13717
[i915#13748]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13748
[i915#13749]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13749
[i915#13781]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13781
[i915#13784]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13784
[i915#13790]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13790
[i915#13809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13809
[i915#13820]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13820
[i915#13958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13958
[i915#14073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14073
[i915#14098]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14098
[i915#14118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14118
[i915#14121]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14121
[i915#14123]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14123
[i915#14259]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14259
[i915#14498]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14498
[i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544
[i915#14545]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14545
[i915#14553]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14553
[i915#14561]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14561
[i915#14600]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14600
[i915#14712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14712
[i915#14756]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14756
[i915#14849]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14849
[i915#14871]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14871
[i915#14981]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14981
[i915#15073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15073
[i915#15102]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15102
[i915#1769]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1769
[i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
[i915#1839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1839
[i915#1849]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1849
[i915#2065]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2065
[i915#2436]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2436
[i915#2437]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2437
[i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
[i915#2582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2582
[i915#2587]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2587
[i915#2658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2658
[i915#2672]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2672
[i915#2681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2681
[i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280
[i915#284]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/284
[i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856
[i915#3023]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3023
[i915#3116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3116
[i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
[i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291
[i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
[i915#3299]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3299
[i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458
[i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539
[i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
[i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
[i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638
[i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
[i915#3742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3742
[i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
[i915#3828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3828
[i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
[i915#3936]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3936
[i915#4070]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4070
[i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
[i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
[i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
[i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
[i915#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213
[i915#4215]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4215
[i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
[i915#4281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4281
[i915#4387]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4387
[i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423
[i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525
[i915#4537]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4537
[i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538
[i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
[i915#4771]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4771
[i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812
[i915#4816]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4816
[i915#4817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4817
[i915#4839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4839
[i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852
[i915#4854]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4854
[i915#4860]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4860
[i915#4880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4880
[i915#4881]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4881
[i915#4885]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4885
[i915#5138]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5138
[i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
[i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286
[i915#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289
[i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
[i915#5439]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5439
[i915#5493]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5493
[i915#5723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5723
[i915#5784]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5784
[i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
[i915#6230]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6230
[i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301
[i915#6344]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6344
[i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524
[i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658
[i915#6805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6805
[i915#6953]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6953
[i915#7116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7116
[i915#7118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7118
[i915#7294]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7294
[i915#7387]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7387
[i915#7443]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7443
[i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697
[i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
[i915#7862]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7862
[i915#8152]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8152
[i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
[i915#8381]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8381
[i915#8399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8399
[i915#8411]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8411
[i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428
[i915#8430]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8430
[i915#8516]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8516
[i915#8555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8555
[i915#8562]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8562
[i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623
[i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
[i915#8825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8825
[i915#8826]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8826
[i915#9053]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9053
[i915#9067]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9067
[i915#9100]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9100
[i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
[i915#9340]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9340
[i915#9412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9412
[i915#9423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9423
[i915#9424]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9424
[i915#9531]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9531
[i915#9581]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9581
[i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
[i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685
[i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688
[i915#9723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9723
[i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
[i915#9766]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9766
[i915#9809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9809
[i915#9812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9812
[i915#9833]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9833
[i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906
[i915#9917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9917
[i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_8579 -> IGTPW_13878
CI-20190529: 20190529
CI_DRM_17327: f929eafc95342ea5377f79705864d50dd325c79f @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_13878: 13878
IGT_8579: 8579
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13878/index.html
[-- Attachment #2: Type: text/html, Size: 230311 bytes --]
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH i-g-t 06/18] tests/intel/xe_oa: Add for_each_oa_unit
2025-10-08 23:31 ` Umesh Nerlige Ramappa
@ 2025-10-09 16:40 ` Umesh Nerlige Ramappa
2025-10-13 20:32 ` Dixit, Ashutosh
0 siblings, 1 reply; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2025-10-09 16:40 UTC (permalink / raw)
To: Ashutosh Dixit; +Cc: igt-dev
On Wed, Oct 08, 2025 at 04:31:23PM -0700, Umesh Nerlige Ramappa wrote:
>On Wed, Oct 08, 2025 at 02:17:53PM -0700, Ashutosh Dixit wrote:
>>Add a for_each_oa_unit iterator, which eliminates code duplication when
>>iterating over OA units obtained from OA unit query.
>>
>>Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
>>---
>>tests/intel/xe_oa.c | 21 +++++++++++----------
>>1 file changed, 11 insertions(+), 10 deletions(-)
>>
>>diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
>>index 012f5929ce..bc71bfcd30 100644
>>--- a/tests/intel/xe_oa.c
>>+++ b/tests/intel/xe_oa.c
>>@@ -477,18 +477,21 @@ static struct drm_xe_engine_class_instance *oa_unit_engine(struct drm_xe_oa_unit
>> return !oau ? NULL : oau->num_engines ? &oau->eci[random() % oau->num_engines] : NULL;
>>}
>>
>>+#define for_each_oa_unit(qoa, oau, poau, i) \
>>+ for (i = 0, qoa = xe_oa_units(drm_fd), poau = (u8 *)&qoa->oa_units[0]; \
>>+ oau = (struct drm_xe_oa_unit *)poau, i < qoa->num_oa_units; \
>>+ poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]), i++)
>>+
>>static struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
>>{
>>- struct drm_xe_query_oa_units *qoa = xe_oa_units(fd);
>>+ struct drm_xe_query_oa_units *qoa;
>> struct drm_xe_oa_unit *oau;
>> u8 *poau;
>>+ int i;
>>
>>- poau = (u8 *)&qoa->oa_units[0];
>>- for (int i = 0; i < qoa->num_oa_units; i++) {
>>- oau = (struct drm_xe_oa_unit *)poau;
>>+ for_each_oa_unit(qoa, oau, poau, i) {
>> if (oau->oa_unit_id == n)
>> return oau;
>>- poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]);
>> }
>>
>> return NULL;
>>@@ -496,16 +499,14 @@ static struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
>>
>>static struct drm_xe_oa_unit *oa_unit_by_type(int fd, int t)
>>{
>>- struct drm_xe_query_oa_units *qoa = xe_oa_units(fd);
>>+ struct drm_xe_query_oa_units *qoa;
>> struct drm_xe_oa_unit *oau;
>> u8 *poau;
>>+ int i;
>>
>>- poau = (u8 *)&qoa->oa_units[0];
>>- for (int i = 0; i < qoa->num_oa_units; i++) {
>>- oau = (struct drm_xe_oa_unit *)poau;
>>+ for_each_oa_unit(qoa, oau, poau, i) {
>> if (oau->oa_unit_type == t)
>> return oau;
>>- poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]);
>> }
>>
>> return NULL;
>
>If it's possible to keep the interface for iterators simple, I would
>go for that. i, poau can be hidden from the caller. Something like
>this:
>
>// NOTE: not compiled/tested
>
>static u32 xe_oa_first_unit(int fd, struct drm_xe_oa_unit **oau)
>{
> struct drm_xe_query_oa_units *qoa = xe_oa_units(fd);
> *oau = &qoa->oa_units[0];
>
> return qoa->num_oa_units;
>}
>
>static void xe_oa_next_unit(struct drm_xe_oa_unit **oau)
>{
> struct drm_xe_oa_unit *poau = *oau;
>
> return (u8 *)poau + sizeof(*poau) + poau->num_engines * sizeof(poau->eci[0]);
Not return, but update *oau.
*oau = (u8 *)poau + sizeof(*poau) + poau->num_engines * sizeof(poau->eci[0]);
>}
>
>#define for_each_oa_unit(fd, oau) \
> for (u32 i = 0, num = xe_oa_first_unit(fd, &oau); \
> oau && i < num; \
> i++, xe_oa_next_unit(&oau))
>
>static const struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
>{
> struct drm_xe_oa_unit *oau;
>
> for_each_oa_unit(fd, oau) {
> if (oau->oa_unit_id == n)
> return oau;
> }
>
> return NULL;
>}
>
>static const struct drm_xe_oa_unit *oa_unit_by_type(int fd, int t)
>{
> struct drm_xe_oa_unit *oau;
>
> for_each_oa_unit(fd, oau) {
> if (oau->oa_unit_type == t)
> return oau;
> }
>
> return NULL;
>}
>
>Thanks,
>Umesh
>
>
>
>>--
>>2.48.1
>>
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH i-g-t 03/18] tests/intel/xe_oa: Rename nth_oa_unit to oa_unit_by_id
2025-10-08 21:56 ` Umesh Nerlige Ramappa
@ 2025-10-10 21:31 ` Dixit, Ashutosh
0 siblings, 0 replies; 46+ messages in thread
From: Dixit, Ashutosh @ 2025-10-10 21:31 UTC (permalink / raw)
To: Umesh Nerlige Ramappa; +Cc: igt-dev
On Wed, 08 Oct 2025 14:56:30 -0700, Umesh Nerlige Ramappa wrote:
>
> On Wed, Oct 08, 2025 at 02:17:50PM -0700, Ashutosh Dixit wrote:
> > Rename nth_oa_unit to oa_unit_by_id. We will introduce oa_unit_by_type soon
> > and oa_unit_by_id fits that naming scheme.
> >
> > Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
>
> nit: s/n/id/ in function params
Fixed in v2. Thanks!
>
> Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>
> > ---
> > tests/intel/xe_oa.c | 8 ++++----
> > 1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
> > index a028823e51..65e03b1010 100644
> > --- a/tests/intel/xe_oa.c
> > +++ b/tests/intel/xe_oa.c
> > @@ -493,7 +493,7 @@ static struct drm_xe_engine_class_instance *oa_unit_engine(int fd, int n)
> > return hwe;
> > }
> >
> > -static struct drm_xe_oa_unit *nth_oa_unit(int fd, int n)
> > +static struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
> > {
> > struct drm_xe_query_oa_units *qoa = xe_oa_units(fd);
> > struct drm_xe_oa_unit *oau;
> > @@ -502,7 +502,7 @@ static struct drm_xe_oa_unit *nth_oa_unit(int fd, int n)
> > poau = (u8 *)&qoa->oa_units[0];
> > for (int i = 0; i < qoa->num_oa_units; i++) {
> > oau = (struct drm_xe_oa_unit *)poau;
> > - if (i == n)
> > + if (oau->oa_unit_id == n)
> > return oau;
> > poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]);
> > }
> > @@ -4348,7 +4348,7 @@ test_oa_unit_concurrent_oa_buffer_read(void)
> > struct drm_xe_engine_class_instance *hwe = oa_unit_engine(drm_fd, child);
> >
> > /* No OAM support yet */
> > - if (nth_oa_unit(drm_fd, child)->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
> > + if (oa_unit_by_id(drm_fd, child)->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
> > exit(0);
> >
> > test_blocking(40 * 1000 * 1000, false, 5 * 1000 * 1000, hwe);
> > @@ -5027,7 +5027,7 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
> > /* See xe_query_oa_units_new() */
> > igt_require(xe_dev->oa_units);
> > igt_require(xe_dev->oa_units->num_oa_units);
> > - oau = nth_oa_unit(drm_fd, 0);
> > + oau = oa_unit_by_id(drm_fd, 0);
> >
> > devid = intel_get_drm_devid(drm_fd);
> > sysfs = igt_sysfs_open(drm_fd);
> > --
> > 2.48.1
> >
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH i-g-t 07/18] tests/intel/xe_oa: Convert test_oa_formats to take an OA unit argument
2025-10-08 21:17 ` [PATCH i-g-t 07/18] tests/intel/xe_oa: Convert test_oa_formats to take an OA unit argument Ashutosh Dixit
@ 2025-10-10 22:22 ` Umesh Nerlige Ramappa
0 siblings, 0 replies; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2025-10-10 22:22 UTC (permalink / raw)
To: Ashutosh Dixit; +Cc: igt-dev
On Wed, Oct 08, 2025 at 02:17:54PM -0700, Ashutosh Dixit wrote:
>To enable OA IGT's to run on all OA units, OA unit tests are converted to
>take a 'struct drm_xe_oa_unit *' argument (instead of hwe). This patch
>converts the first unit test (test_oa_formats), so it introduces this new
>infrastructure.
>
>OA units are now identified via a name (corresponding to OA unit type) and
>id. OA units are longer identified by hwe, because some OA units have no
>associated hwe's.
>
>Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
LGTM,
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Umesh
>---
> tests/intel/xe_oa.c | 92 ++++++++++++++++++++++++++++++++++-----------
> 1 file changed, 71 insertions(+), 21 deletions(-)
>
>diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
>index bc71bfcd30..af01a79d38 100644
>--- a/tests/intel/xe_oa.c
>+++ b/tests/intel/xe_oa.c
>@@ -327,8 +327,6 @@ static int pm_fd = -1;
> static int stream_fd = -1;
> static uint32_t devid;
>
>-static struct drm_xe_engine_class_instance default_hwe;
>-
> static struct intel_xe_perf *intel_xe_perf;
> static uint64_t oa_exponent_default;
> static size_t default_oa_buffer_size;
>@@ -340,6 +338,54 @@ static uint32_t min_oa_exponent;
> static uint32_t buffer_fill_size;
> static uint32_t num_buf_sizes;
>
>+/* OA unit names */
>+static const char *oa_unit_name[] = {
>+ [DRM_XE_OA_UNIT_TYPE_OAG] = "oag",
>+ [DRM_XE_OA_UNIT_TYPE_OAM] = "oam",
>+ [DRM_XE_OA_UNIT_TYPE_OAM_SAG] = "sag",
>+};
>+
>+static struct intel_xe_perf_metric_set *oa_unit_metric_set(struct drm_xe_oa_unit *oau)
>+{
>+ const char *test_set_name = NULL;
>+ struct intel_xe_perf_metric_set *metric_set_iter;
>+ struct intel_xe_perf_metric_set *test_set = NULL;
>+
>+ if (oau->oa_unit_type == DRM_XE_OA_UNIT_TYPE_OAG)
>+ test_set_name = "TestOa";
>+ else if (HAS_OAM(devid) &&
>+ (oau->oa_unit_type == DRM_XE_OA_UNIT_TYPE_OAM ||
>+ oau->oa_unit_type == DRM_XE_OA_UNIT_TYPE_OAM_SAG))
>+ test_set_name = "MediaSet1";
>+ else
>+ igt_assert(!"reached");
>+
>+ igt_list_for_each_entry(metric_set_iter, &intel_xe_perf->metric_sets, link) {
>+ if (strcmp(metric_set_iter->symbol_name, test_set_name) == 0) {
>+ test_set = metric_set_iter;
>+ break;
>+ }
>+ }
>+
>+ igt_assert(test_set);
>+
>+ /*
>+ * configuration was loaded in init_sys_info() ->
>+ * intel_xe_perf_load_perf_configs(), and test_set->perf_oa_metrics_set
>+ * should point to metric id returned by the config add ioctl. 0 is
>+ * invalid.
>+ */
>+ igt_assert_neq_u64(test_set->perf_oa_metrics_set, 0);
>+
>+ igt_debug("oa_unit %d:%d - %s metric set UUID = %s\n",
>+ oau->oa_unit_id,
>+ oau->oa_unit_type,
>+ test_set->symbol_name,
>+ test_set->hw_config_guid);
>+
>+ return test_set;
>+}
>+
> static struct intel_xe_perf_metric_set *metric_set(const struct drm_xe_engine_class_instance *hwe)
> {
> const char *test_set_name = NULL;
>@@ -381,7 +427,7 @@ static struct intel_xe_perf_metric_set *metric_set(const struct drm_xe_engine_cl
>
> return test_set;
> }
>-#define default_test_set metric_set(&default_hwe)
>+#define default_test_set oa_unit_metric_set(oa_unit_by_type(drm_fd, DRM_XE_OA_UNIT_TYPE_OAG))
>
> static void set_fd_flags(int fd, int flags)
> {
>@@ -1548,11 +1594,11 @@ open_and_read_2_oa_reports(int format_id,
> uint32_t *oa_report0,
> uint32_t *oa_report1,
> bool timer_only,
>- const struct drm_xe_engine_class_instance *hwe)
>+ struct drm_xe_oa_unit *oau)
> {
>- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
>+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
> uint64_t properties[] = {
>- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
>+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
>
> /* Include OA reports in samples */
> DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
>@@ -1672,32 +1718,28 @@ print_reports(uint32_t *oa_report0, uint32_t *oa_report1, int fmt)
> }
>
> static bool
>-hwe_supports_oa_type(int oa_type, const struct drm_xe_engine_class_instance *hwe)
>+oau_supports_oa_type(int oa_type, struct drm_xe_oa_unit *oau)
> {
> switch (oa_type) {
> case DRM_XE_OA_FMT_TYPE_OAM:
> case DRM_XE_OA_FMT_TYPE_OAM_MPEC:
>- return hwe->engine_class == DRM_XE_ENGINE_CLASS_VIDEO_DECODE ||
>- hwe->engine_class == DRM_XE_ENGINE_CLASS_VIDEO_ENHANCE;
>+ return oau->oa_unit_type == DRM_XE_OA_UNIT_TYPE_OAM ||
>+ oau->oa_unit_type == DRM_XE_OA_UNIT_TYPE_OAM_SAG;
> case DRM_XE_OA_FMT_TYPE_OAG:
> case DRM_XE_OA_FMT_TYPE_OAR:
>- return hwe->engine_class == DRM_XE_ENGINE_CLASS_RENDER;
> case DRM_XE_OA_FMT_TYPE_OAC:
>- return hwe->engine_class == DRM_XE_ENGINE_CLASS_COMPUTE;
> case DRM_XE_OA_FMT_TYPE_PEC:
>- return hwe->engine_class == DRM_XE_ENGINE_CLASS_RENDER ||
>- hwe->engine_class == DRM_XE_ENGINE_CLASS_COMPUTE;
>+ return oau->oa_unit_type == DRM_XE_OA_UNIT_TYPE_OAG;
> default:
> return false;
> }
>-
> }
>
> /**
> * SUBTEST: oa-formats
> * Description: Test that supported OA formats work as expected
> */
>-static void test_oa_formats(const struct drm_xe_engine_class_instance *hwe)
>+static void test_oa_formats(struct drm_xe_oa_unit *oau)
> {
> for (int i = 0; i < XE_OA_FORMAT_MAX; i++) {
> struct oa_format format = get_oa_format(i);
>@@ -1707,7 +1749,7 @@ static void test_oa_formats(const struct drm_xe_engine_class_instance *hwe)
> if (!format.name) /* sparse, indexed by ID */
> continue;
>
>- if (!hwe_supports_oa_type(format.oa_type, hwe))
>+ if (!oau_supports_oa_type(format.oa_type, oau))
> continue;
>
> igt_debug("Checking OA format %s\n", format.name);
>@@ -1717,13 +1759,13 @@ static void test_oa_formats(const struct drm_xe_engine_class_instance *hwe)
> oa_report0,
> oa_report1,
> false, /* timer reports only */
>- hwe);
>+ oau);
>
> print_reports(oa_report0, oa_report1, i);
> sanity_check_reports(oa_report0, oa_report1, i);
>
>- if (i == metric_set(hwe)->perf_oa_format)
>- pec_sanity_check_reports(oa_report0, oa_report1, metric_set(hwe));
>+ if (i == oa_unit_metric_set(oau)->perf_oa_format)
>+ pec_sanity_check_reports(oa_report0, oa_report1, oa_unit_metric_set(oau));
> }
> }
>
>@@ -4946,6 +4988,14 @@ static const char *xe_engine_class_name(uint32_t engine_class)
> igt_require_f(hwe, "no render engine\n"); \
> igt_dynamic_f("rcs-%d", hwe->engine_instance)
>
>+#define __for_oa_unit_by_type(k) \
>+ if ((oau = oa_unit_by_type(drm_fd, k))) \
>+ igt_dynamic_f("%s-%d", oa_unit_name[oau->oa_unit_type], oau->oa_unit_id)
>+
>+#define __for_oa_unit_by_type_w_arg(k, str) \
>+ if ((oau = oa_unit_by_type(drm_fd, k))) \
>+ igt_dynamic_f("%s-%d-%s", oa_unit_name[oau->oa_unit_type], oau->oa_unit_id, str)
>+
> static int opt_handler(int opt, int opt_index, void *data)
> {
> uint32_t tmp;
>@@ -5057,8 +5107,8 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
> test_missing_sample_flags();
>
> igt_subtest_with_dynamic("oa-formats")
>- __for_one_hwe_in_oag(hwe)
>- test_oa_formats(hwe);
>+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
>+ test_oa_formats(oau);
>
> igt_subtest("invalid-oa-exponent")
> test_invalid_oa_exponent();
>--
>2.48.1
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH i-g-t 08/18] tests/intel/xe_oa: Convert several more tests to take OA unit arguments
2025-10-08 21:17 ` [PATCH i-g-t 08/18] tests/intel/xe_oa: Convert several more tests to take OA unit arguments Ashutosh Dixit
@ 2025-10-10 22:24 ` Umesh Nerlige Ramappa
0 siblings, 0 replies; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2025-10-10 22:24 UTC (permalink / raw)
To: Ashutosh Dixit; +Cc: igt-dev
On Wed, Oct 08, 2025 at 02:17:55PM -0700, Ashutosh Dixit wrote:
>Convert the following tests to take 'struct drm_xe_oa_unit *'
>arguments (instead of hwe), to enable these to be run on all OA units:
>
>- test_oa_exponents
>- test_buffer_fill
>- test_enable_disable
>- test_oa_tlb_invalidate
>- test_stress_open_close
>- test_tail_address_wrap
>
>Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Umesh
>---
> tests/intel/xe_oa.c | 60 ++++++++++++++++++++++-----------------------
> 1 file changed, 30 insertions(+), 30 deletions(-)
>
>diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
>index af01a79d38..ac15da09a3 100644
>--- a/tests/intel/xe_oa.c
>+++ b/tests/intel/xe_oa.c
>@@ -1896,9 +1896,9 @@ static bool expected_report_timing_delta(uint32_t delta, uint32_t expected_delta
> * SUBTEST: oa-exponents
> * Description: Test that oa exponent values behave as expected
> */
>-static void test_oa_exponents(const struct drm_xe_engine_class_instance *hwe)
>+static void test_oa_exponents(struct drm_xe_oa_unit *oau)
> {
>- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
>+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
> uint64_t fmt = test_set->perf_oa_format;
>
> load_helper_init();
>@@ -1910,7 +1910,7 @@ static void test_oa_exponents(const struct drm_xe_engine_class_instance *hwe)
> */
> for (int exponent = min_oa_exponent; exponent < max_oa_exponent; exponent++) {
> uint64_t properties[] = {
>- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
>+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
>
> /* Include OA reports in samples */
> DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
>@@ -2526,11 +2526,11 @@ num_valid_reports_captured(struct intel_xe_oa_open_prop *param,
> * Description: Open OA stream twice to verify OA TLB invalidation
> */
> static void
>-test_oa_tlb_invalidate(const struct drm_xe_engine_class_instance *hwe)
>+test_oa_tlb_invalidate(struct drm_xe_oa_unit *oau)
> {
>- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
>+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
> uint64_t properties[] = {
>- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
>+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
> DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
>
> DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
>@@ -2584,15 +2584,15 @@ wait_for_oa_buffer_overflow(int fd, int poll_period_us)
> * Description: Test filling and overflow of OA buffer
> */
> static void
>-test_buffer_fill(const struct drm_xe_engine_class_instance *hwe)
>+test_buffer_fill(struct drm_xe_oa_unit *oau)
> {
> /* ~5 micro second period */
> int oa_exponent = max_oa_exponent_for_period_lte(5000);
> uint64_t oa_period = oa_exponent_to_ns(oa_exponent);
>- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
>+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
> uint64_t fmt = test_set->perf_oa_format;
> uint64_t properties[] = {
>- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
>+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
>
> /* Include OA reports in samples */
> DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
>@@ -2724,13 +2724,13 @@ test_non_zero_reason(const struct drm_xe_engine_class_instance *hwe, size_t oa_b
> * Description: Test that OA stream enable/disable works as expected
> */
> static void
>-test_enable_disable(const struct drm_xe_engine_class_instance *hwe)
>+test_enable_disable(struct drm_xe_oa_unit *oau)
> {
> uint32_t num_reports = 5;
>- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
>+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
> uint64_t fmt = test_set->perf_oa_format;
> uint64_t properties[] = {
>- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
>+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
> DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
> DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
> DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(fmt),
>@@ -3505,16 +3505,16 @@ test_rc6_disable(void)
> * Description: Open/close OA streams in a tight loop
> */
> static void
>-test_stress_open_close(const struct drm_xe_engine_class_instance *hwe)
>+test_stress_open_close(struct drm_xe_oa_unit *oau)
> {
>- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
>+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
>
> load_helper_init();
> load_helper_run(HIGH);
>
> igt_until_timeout(2) {
> uint64_t properties[] = {
>- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
>+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
>
> /* XXX: even without periodic sampling we have to
> * specify at least one sample layout property...
>@@ -4613,14 +4613,14 @@ static void closed_fd_and_unmapped_access(const struct drm_xe_engine_class_insta
> * has zeroes in it.
> */
> static void
>-test_tail_address_wrap(const struct drm_xe_engine_class_instance *hwe, size_t oa_buffer_size)
>+test_tail_address_wrap(struct drm_xe_oa_unit *oau, size_t oa_buffer_size)
> {
>- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
>+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
> u64 exponent = max_oa_exponent_for_period_lte(20000);
> u64 buffer_size = oa_buffer_size ?: buffer_fill_size;
> u64 fmt = test_set->perf_oa_format;
> u64 properties[] = {
>- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
>+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
> DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
> DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
> DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(fmt),
>@@ -5114,13 +5114,13 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
> test_invalid_oa_exponent();
>
> igt_subtest_with_dynamic("oa-exponents")
>- __for_one_hwe_in_oag(hwe)
>- test_oa_exponents(hwe);
>+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
>+ test_oa_exponents(oau);
>
> igt_subtest_with_dynamic("buffer-fill") {
> igt_require(oau->capabilities & DRM_XE_OA_CAPS_OA_BUFFER_SIZE);
>- __for_one_hwe_in_oag(hwe)
>- test_buffer_fill(hwe);
>+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
>+ test_buffer_fill(oau);
> }
>
> /**
>@@ -5148,8 +5148,8 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
> test_non_sampling_read_error();
>
> igt_subtest_with_dynamic("enable-disable")
>- __for_one_hwe_in_oag(hwe)
>- test_enable_disable(hwe);
>+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
>+ test_enable_disable(oau);
>
> igt_subtest_with_dynamic("blocking") {
> igt_require(!igt_run_in_simulation());
>@@ -5183,8 +5183,8 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
> igt_subtest_with_dynamic("oa-tlb-invalidate") {
> igt_require(intel_graphics_ver(devid) <= IP_VER(12, 70) &&
> intel_graphics_ver(devid) != IP_VER(12, 60));
>- __for_one_hwe_in_oag(hwe)
>- test_oa_tlb_invalidate(hwe);
>+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
>+ test_oa_tlb_invalidate(oau);
> }
>
> igt_subtest_with_dynamic("unprivileged-single-ctx-counters") {
>@@ -5213,8 +5213,8 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
> }
>
> igt_subtest_with_dynamic("stress-open-close") {
>- __for_one_hwe_in_oag(hwe)
>- test_stress_open_close(hwe);
>+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
>+ test_stress_open_close(oau);
> }
>
> igt_subtest("invalid-create-userspace-config")
>@@ -5259,8 +5259,8 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
> long k = random() % num_buf_sizes;
>
> igt_require(oau->capabilities & DRM_XE_OA_CAPS_OA_BUFFER_SIZE);
>- __for_one_hwe_in_oag_w_arg(hwe, buf_sizes[k].name)
>- test_tail_address_wrap(hwe, buf_sizes[k].size);
>+ __for_oa_unit_by_type_w_arg(DRM_XE_OA_UNIT_TYPE_OAG, buf_sizes[k].name)
>+ test_tail_address_wrap(oau, buf_sizes[k].size);
> }
>
> igt_subtest_group {
>--
>2.48.1
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH i-g-t 09/18] tests/intel/xe_oa: Convert test_non_zero_reason to take an OA unit argument
2025-10-08 21:17 ` [PATCH i-g-t 09/18] tests/intel/xe_oa: Convert test_non_zero_reason to take an OA unit argument Ashutosh Dixit
@ 2025-10-10 22:24 ` Umesh Nerlige Ramappa
0 siblings, 0 replies; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2025-10-10 22:24 UTC (permalink / raw)
To: Ashutosh Dixit; +Cc: igt-dev
On Wed, Oct 08, 2025 at 02:17:56PM -0700, Ashutosh Dixit wrote:
>Convert test_non_zero_reason to take 'struct drm_xe_oa_unit *' argument, to
>enable it to be run on all OA units.
>
>Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Umesh
>---
> tests/intel/xe_oa.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
>diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
>index ac15da09a3..8ee8a85ed7 100644
>--- a/tests/intel/xe_oa.c
>+++ b/tests/intel/xe_oa.c
>@@ -2631,15 +2631,15 @@ test_buffer_fill(struct drm_xe_oa_unit *oau)
> * Description: Test reason field is non-zero. Can also check OA buffer wraparound issues
> */
> static void
>-test_non_zero_reason(const struct drm_xe_engine_class_instance *hwe, size_t oa_buffer_size)
>+test_non_zero_reason(struct drm_xe_oa_unit *oau, size_t oa_buffer_size)
> {
> /* ~20 micro second period */
> int oa_exponent = max_oa_exponent_for_period_lte(20000);
>- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
>+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
> uint64_t fmt = test_set->perf_oa_format;
> size_t report_size = get_oa_format(fmt).size;
> uint64_t properties[] = {
>- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
>+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
>
> /* Include OA reports in samples */
> DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
>@@ -2710,7 +2710,7 @@ test_non_zero_reason(const struct drm_xe_engine_class_instance *hwe, size_t oa_b
> */
> if (!oa_buffer_size && last_report && (offset / report_size == check_idx)) {
> sanity_check_reports(last_report, report, fmt);
>- pec_sanity_check_reports(last_report, report, metric_set(hwe));
>+ pec_sanity_check_reports(last_report, report, oa_unit_metric_set(oau));
> }
>
> last_report = report;
>@@ -5131,15 +5131,15 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
> long k = random() % num_buf_sizes;
>
> igt_require(oau->capabilities & DRM_XE_OA_CAPS_OA_BUFFER_SIZE);
>- __for_one_hwe_in_oag_w_arg(hwe, buf_sizes[k].name)
>- test_non_zero_reason(hwe, buf_sizes[k].size);
>+ __for_oa_unit_by_type_w_arg(DRM_XE_OA_UNIT_TYPE_OAG, buf_sizes[k].name)
>+ test_non_zero_reason(oau, buf_sizes[k].size);
> }
>
> igt_subtest_with_dynamic("non-zero-reason") {
> igt_require(!igt_run_in_simulation());
> igt_require(oau->capabilities & DRM_XE_OA_CAPS_OA_BUFFER_SIZE);
>- __for_one_hwe_in_oag(hwe)
>- test_non_zero_reason(hwe, 0);
>+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
>+ test_non_zero_reason(oau, 0);
> }
>
> igt_subtest("disabled-read-error")
>--
>2.48.1
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH i-g-t 10/18] tests/intel/xe_oa: Convert blocking/polling tests to take OA unit arguments
2025-10-08 21:17 ` [PATCH i-g-t 10/18] tests/intel/xe_oa: Convert blocking/polling tests to take OA unit arguments Ashutosh Dixit
@ 2025-10-10 22:25 ` Umesh Nerlige Ramappa
0 siblings, 0 replies; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2025-10-10 22:25 UTC (permalink / raw)
To: Ashutosh Dixit; +Cc: igt-dev
On Wed, Oct 08, 2025 at 02:17:57PM -0700, Ashutosh Dixit wrote:
>Convert blocking/polling tests to take 'struct drm_xe_oa_unit *' arguments,
>to enable these to be run on all OA units.
>
>Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>---
> tests/intel/xe_oa.c | 26 +++++++++++++-------------
> 1 file changed, 13 insertions(+), 13 deletions(-)
>
>diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
>index 8ee8a85ed7..739da370ef 100644
>--- a/tests/intel/xe_oa.c
>+++ b/tests/intel/xe_oa.c
>@@ -2099,7 +2099,7 @@ get_time(void)
> static void test_blocking(uint64_t requested_oa_period,
> bool set_kernel_hrtimer,
> uint64_t kernel_hrtimer,
>- const struct drm_xe_engine_class_instance *hwe)
>+ struct drm_xe_oa_unit *oau)
> {
> int oa_exponent = max_oa_exponent_for_period_lte(requested_oa_period);
> uint64_t oa_period = oa_exponent_to_ns(oa_exponent);
>@@ -2128,7 +2128,7 @@ static void test_blocking(uint64_t requested_oa_period,
> int min_iterations = (test_duration_ns / (oa_period + kernel_hrtimer + kernel_hrtimer / 5));
> int64_t start, end;
> int n = 0;
>- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
>+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
> size_t format_size = get_oa_format(test_set->perf_oa_format).size;
>
> ADD_PROPS(props, idx, SAMPLE_OA, true);
>@@ -2136,7 +2136,7 @@ static void test_blocking(uint64_t requested_oa_period,
> ADD_PROPS(props, idx, OA_FORMAT, __ff(test_set->perf_oa_format));
> ADD_PROPS(props, idx, OA_PERIOD_EXPONENT, oa_exponent);
> ADD_PROPS(props, idx, OA_DISABLED, true);
>- ADD_PROPS(props, idx, OA_UNIT_ID, 0);
>+ ADD_PROPS(props, idx, OA_UNIT_ID, oau->oa_unit_id);
>
> param.num_properties = (idx - props) / 2;
> param.properties_ptr = to_user_pointer(props);
>@@ -2242,7 +2242,7 @@ static void test_blocking(uint64_t requested_oa_period,
> static void test_polling(uint64_t requested_oa_period,
> bool set_kernel_hrtimer,
> uint64_t kernel_hrtimer,
>- const struct drm_xe_engine_class_instance *hwe)
>+ struct drm_xe_oa_unit *oau)
> {
> int oa_exponent = max_oa_exponent_for_period_lte(requested_oa_period);
> uint64_t oa_period = oa_exponent_to_ns(oa_exponent);
>@@ -2272,7 +2272,7 @@ static void test_polling(uint64_t requested_oa_period,
> int min_iterations = (test_duration_ns / (oa_period + (kernel_hrtimer + kernel_hrtimer / 5)));
> int64_t start, end;
> int n = 0;
>- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
>+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
> size_t format_size = get_oa_format(test_set->perf_oa_format).size;
>
> ADD_PROPS(props, idx, SAMPLE_OA, true);
>@@ -2280,7 +2280,7 @@ static void test_polling(uint64_t requested_oa_period,
> ADD_PROPS(props, idx, OA_FORMAT, __ff(test_set->perf_oa_format));
> ADD_PROPS(props, idx, OA_PERIOD_EXPONENT, oa_exponent);
> ADD_PROPS(props, idx, OA_DISABLED, true);
>- ADD_PROPS(props, idx, OA_UNIT_ID, 0);
>+ ADD_PROPS(props, idx, OA_UNIT_ID, oau->oa_unit_id);
>
> param.num_properties = (idx - props) / 2;
> param.properties_ptr = to_user_pointer(props);
>@@ -4389,13 +4389,13 @@ test_oa_unit_concurrent_oa_buffer_read(void)
> struct drm_xe_query_oa_units *qoa = xe_oa_units(drm_fd);
>
> igt_fork(child, qoa->num_oa_units) {
>- struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oa_unit_by_id(drm_fd, child));
>+ struct drm_xe_oa_unit *oau = oa_unit_by_id(drm_fd, child);
>
> /* No OAM support yet */
>- if (oa_unit_by_id(drm_fd, child)->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
>+ if (oau->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
> exit(0);
>
>- test_blocking(40 * 1000 * 1000, false, 5 * 1000 * 1000, hwe);
>+ test_blocking(40 * 1000 * 1000, false, 5 * 1000 * 1000, oau);
> }
> igt_waitchildren();
> }
>@@ -5153,20 +5153,20 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
>
> igt_subtest_with_dynamic("blocking") {
> igt_require(!igt_run_in_simulation());
>- __for_one_hwe_in_oag(hwe)
>+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
> test_blocking(40 * 1000 * 1000 /* 40ms oa period */,
> false /* set_kernel_hrtimer */,
> 5 * 1000 * 1000 /* default 5ms/200Hz hrtimer */,
>- hwe);
>+ oau);
> }
>
> igt_subtest_with_dynamic("polling") {
> igt_require(!igt_run_in_simulation());
>- __for_one_hwe_in_oag(hwe)
>+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
> test_polling(40 * 1000 * 1000 /* 40ms oa period */,
> false /* set_kernel_hrtimer */,
> 5 * 1000 * 1000 /* default 5ms/200Hz hrtimer */,
>- hwe);
>+ oau);
> }
>
> igt_subtest("polling-small-buf")
>--
>2.48.1
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH i-g-t 11/18] tests/intel/xe_oa: Convert test_mi_rpc to take an OA unit argument
2025-10-08 21:17 ` [PATCH i-g-t 11/18] tests/intel/xe_oa: Convert test_mi_rpc to take an OA unit argument Ashutosh Dixit
@ 2025-10-10 22:26 ` Umesh Nerlige Ramappa
0 siblings, 0 replies; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2025-10-10 22:26 UTC (permalink / raw)
To: Ashutosh Dixit; +Cc: igt-dev
On Wed, Oct 08, 2025 at 02:17:58PM -0700, Ashutosh Dixit wrote:
>Convert test_mi_rpc to take 'struct drm_xe_oa_unit *' argument, to enable
>it to be run on all OA units.
>
>Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Umesh
>---
> tests/intel/xe_oa.c | 11 ++++++-----
> 1 file changed, 6 insertions(+), 5 deletions(-)
>
>diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
>index 739da370ef..efcac06e15 100644
>--- a/tests/intel/xe_oa.c
>+++ b/tests/intel/xe_oa.c
>@@ -2994,15 +2994,16 @@ test_disabled_read_error(void)
> * Description: Test OAR/OAC using MI_REPORT_PERF_COUNT
> */
> static void
>-test_mi_rpc(struct drm_xe_engine_class_instance *hwe)
>+test_mi_rpc(struct drm_xe_oa_unit *oau)
>
> {
>+ struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oau);
> uint64_t fmt = ((IS_DG2(devid) || IS_METEORLAKE(devid)) &&
> hwe->engine_class == DRM_XE_ENGINE_CLASS_COMPUTE) ?
> XE_OAC_FORMAT_A24u64_B8_C8 : oar_unit_default_format();
>- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
>+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
> uint64_t properties[] = {
>- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
>+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
>
> /* On Gen12, MI RPC uses OAR. OAR is configured only for the
> * render context that wants to measure the performance. Hence a
>@@ -5177,8 +5178,8 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
>
> igt_subtest_group {
> igt_subtest_with_dynamic("mi-rpc")
>- __for_one_hwe_in_oag(hwe)
>- test_mi_rpc(hwe);
>+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
>+ test_mi_rpc(oau);
>
> igt_subtest_with_dynamic("oa-tlb-invalidate") {
> igt_require(intel_graphics_ver(devid) <= IP_VER(12, 70) &&
>--
>2.48.1
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH i-g-t 12/18] tests/intel/xe_oa: Convert test_single_ctx_render_target_writes_a_counter
2025-10-08 21:17 ` [PATCH i-g-t 12/18] tests/intel/xe_oa: Convert test_single_ctx_render_target_writes_a_counter Ashutosh Dixit
@ 2025-10-10 22:27 ` Umesh Nerlige Ramappa
0 siblings, 0 replies; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2025-10-10 22:27 UTC (permalink / raw)
To: Ashutosh Dixit; +Cc: igt-dev
On Wed, Oct 08, 2025 at 02:17:59PM -0700, Ashutosh Dixit wrote:
>Convert test_single_ctx_render_target_writes_a_counter to take 'struct
>drm_xe_oa_unit *' argument, to enable it to be run on all OA units.
>
>Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>---
> tests/intel/xe_oa.c | 18 +++++++++++-------
> 1 file changed, 11 insertions(+), 7 deletions(-)
>
>diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
>index efcac06e15..01df791dc5 100644
>--- a/tests/intel/xe_oa.c
>+++ b/tests/intel/xe_oa.c
>@@ -3125,12 +3125,14 @@ emit_stall_timestamp_and_rpc(struct intel_bb *ibb,
> emit_report_perf_count(ibb, dst, report_dst_offset, report_id);
> }
>
>-static void single_ctx_helper(struct drm_xe_engine_class_instance *hwe)
>+static void single_ctx_helper(struct drm_xe_oa_unit *oau)
> {
>- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
>+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
>+ struct drm_xe_engine_class_instance *hwe =
>+ &xe_find_engine_by_class(drm_fd, DRM_XE_ENGINE_CLASS_RENDER)->instance;
> uint64_t fmt = oar_unit_default_format();
> uint64_t properties[] = {
>- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
>+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
>
> /* Have a random value here for the context id, but initialize
> * it once you figure out the context ID for the work to be
>@@ -3172,6 +3174,8 @@ static void single_ctx_helper(struct drm_xe_engine_class_instance *hwe)
> uint32_t ctx_id_offset, counter_offset, dst_buf_size;
> struct oa_format format = get_oa_format(fmt);
>
>+ igt_require_f(hwe, "no render engine\n");
>+
> if (format.report_hdr_64bit) {
> ctx_id_offset = 4;
> counter_offset = 8;
>@@ -3429,7 +3433,7 @@ static void single_ctx_helper(struct drm_xe_engine_class_instance *hwe)
> * Description: A harder test for OAR/OAC using MI_REPORT_PERF_COUNT
> */
> static void
>-test_single_ctx_render_target_writes_a_counter(struct drm_xe_engine_class_instance *hwe)
>+test_single_ctx_render_target_writes_a_counter(struct drm_xe_oa_unit *oau)
> {
> int child_ret;
> struct igt_helper_process child = {};
>@@ -3444,7 +3448,7 @@ test_single_ctx_render_target_writes_a_counter(struct drm_xe_engine_class_instan
>
> igt_drop_root();
>
>- single_ctx_helper(hwe);
>+ single_ctx_helper(oau);
>
> drm_close_driver(drm_fd);
> }
>@@ -5190,8 +5194,8 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
>
> igt_subtest_with_dynamic("unprivileged-single-ctx-counters") {
> igt_require_f(render_copy, "no render-copy function\n");
>- __for_one_render_engine(hwe)
>- test_single_ctx_render_target_writes_a_counter(hwe);
>+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
>+ test_single_ctx_render_target_writes_a_counter(oau);
> }
> }
>
>--
>2.48.1
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH i-g-t 13/18] tests/intel/xe_oa: Convert OA buffer mmap tests to take OA unit arguments
2025-10-08 21:18 ` [PATCH i-g-t 13/18] tests/intel/xe_oa: Convert OA buffer mmap tests to take OA unit arguments Ashutosh Dixit
@ 2025-10-10 22:28 ` Umesh Nerlige Ramappa
0 siblings, 0 replies; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2025-10-10 22:28 UTC (permalink / raw)
To: Ashutosh Dixit; +Cc: igt-dev
On Wed, Oct 08, 2025 at 02:18:00PM -0700, Ashutosh Dixit wrote:
>Convert OA buffer mmap tests to take 'struct drm_xe_oa_unit *' arguments,
>to enable them to be run on all OA units.
>
>Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>---
> tests/intel/xe_oa.c | 71 +++++++++++++++++++++++----------------------
> 1 file changed, 36 insertions(+), 35 deletions(-)
>
>diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
>index 01df791dc5..1b16893de3 100644
>--- a/tests/intel/xe_oa.c
>+++ b/tests/intel/xe_oa.c
>@@ -4414,7 +4414,7 @@ static void *map_oa_buffer(u32 *size)
> return vaddr;
> }
>
>-static void invalid_param_map_oa_buffer(const struct drm_xe_engine_class_instance *hwe)
>+static void invalid_param_map_oa_buffer(struct drm_xe_oa_unit *oau)
> {
> void *oa_vaddr = NULL;
>
>@@ -4450,7 +4450,7 @@ static void unprivileged_try_to_map_oa_buffer(void)
> igt_assert_eq(errno, EACCES);
> }
>
>-static void unprivileged_map_oa_buffer(const struct drm_xe_engine_class_instance *hwe)
>+static void unprivileged_map_oa_buffer(struct drm_xe_oa_unit *oau)
> {
> igt_fork(child, 1) {
> igt_drop_root();
>@@ -4484,7 +4484,7 @@ static void try_invalid_access(void *vaddr)
> signal(SIGSEGV, old_sigsegv);
> }
>
>-static void map_oa_buffer_unprivilege_access(const struct drm_xe_engine_class_instance *hwe)
>+static void map_oa_buffer_unprivilege_access(struct drm_xe_oa_unit *oau)
> {
> void *vaddr;
> uint32_t size;
>@@ -4500,7 +4500,7 @@ static void map_oa_buffer_unprivilege_access(const struct drm_xe_engine_class_in
> munmap(vaddr, size);
> }
>
>-static void map_oa_buffer_forked_access(const struct drm_xe_engine_class_instance *hwe)
>+static void map_oa_buffer_forked_access(struct drm_xe_oa_unit *oau)
> {
> void *vaddr;
> uint32_t size;
>@@ -4516,10 +4516,10 @@ static void map_oa_buffer_forked_access(const struct drm_xe_engine_class_instanc
> }
>
> static void mmap_wait_for_periodic_reports(void *oa_vaddr, uint32_t n,
>- const struct drm_xe_engine_class_instance *hwe)
>+ struct drm_xe_oa_unit *oau)
> {
> uint32_t period_us = oa_exponent_to_ns(oa_exponent_default) / 1000;
>- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
>+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
> uint64_t fmt = test_set->perf_oa_format;
> uint32_t num_periodic_reports = 0;
> uint32_t report_words = get_oa_format(fmt).size >> 2;
>@@ -4537,9 +4537,9 @@ static void mmap_wait_for_periodic_reports(void *oa_vaddr, uint32_t n,
> }
>
> static void mmap_check_reports(void *oa_vaddr, uint32_t oa_size,
>- const struct drm_xe_engine_class_instance *hwe)
>+ struct drm_xe_oa_unit *oau)
> {
>- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
>+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
> uint64_t fmt = test_set->perf_oa_format;
> struct oa_format format = get_oa_format(fmt);
> size_t report_words = format.size >> 2;
>@@ -4557,22 +4557,22 @@ static void mmap_check_reports(void *oa_vaddr, uint32_t oa_size,
> sanity_check_reports(reports - 2 * report_words,
> reports - report_words, fmt);
> pec_sanity_check_reports(reports - 2 * report_words,
>- reports - report_words, metric_set(hwe));
>+ reports - report_words, oa_unit_metric_set(oau));
> }
> }
>
> igt_assert(timer_reports >= 3);
> }
>
>-static void check_reports_from_mapped_buffer(const struct drm_xe_engine_class_instance *hwe)
>+static void check_reports_from_mapped_buffer(struct drm_xe_oa_unit *oau)
> {
> void *vaddr;
> uint32_t size;
>
> vaddr = map_oa_buffer(&size);
>
>- mmap_wait_for_periodic_reports(vaddr, 10, hwe);
>- mmap_check_reports(vaddr, size, hwe);
>+ mmap_wait_for_periodic_reports(vaddr, 10, oau);
>+ mmap_check_reports(vaddr, size, oau);
>
> munmap(vaddr, size);
> }
>@@ -4581,13 +4581,14 @@ static void check_reports_from_mapped_buffer(const struct drm_xe_engine_class_in
> * SUBTEST: closed-fd-and-unmapped-access
> * Description: Unmap buffer, close fd and try to access
> */
>-static void closed_fd_and_unmapped_access(const struct drm_xe_engine_class_instance *hwe)
>+static void closed_fd_and_unmapped_access(struct drm_xe_oa_unit *oau)
> {
>+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
> uint64_t properties[] = {
>- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
>+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
> DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
>- DRM_XE_OA_PROPERTY_OA_METRIC_SET, default_test_set->perf_oa_metrics_set,
>- DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(default_test_set->perf_oa_format),
>+ DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
>+ DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
> DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT, oa_exponent_default,
> };
> struct intel_xe_oa_open_prop param = {
>@@ -4600,8 +4601,8 @@ static void closed_fd_and_unmapped_access(const struct drm_xe_engine_class_insta
> stream_fd = __perf_open(drm_fd, ¶m, false);
> vaddr = map_oa_buffer(&size);
>
>- mmap_wait_for_periodic_reports(vaddr, 10, hwe);
>- mmap_check_reports(vaddr, size, hwe);
>+ mmap_wait_for_periodic_reports(vaddr, 10, oau);
>+ mmap_check_reports(vaddr, size, oau);
>
> munmap(vaddr, size);
> __perf_close(stream_fd);
>@@ -4678,13 +4679,13 @@ test_tail_address_wrap(struct drm_xe_oa_unit *oau, size_t oa_buffer_size)
> * SUBTEST: privileged-forked-access-vaddr
> * Description: Verify that forked access to mapped buffer fails
> */
>-typedef void (*map_oa_buffer_test_t)(const struct drm_xe_engine_class_instance *hwe);
>+typedef void (*map_oa_buffer_test_t)(struct drm_xe_oa_unit *oau);
> static void test_mapped_oa_buffer(map_oa_buffer_test_t test_with_fd_open,
>- const struct drm_xe_engine_class_instance *hwe)
>+ struct drm_xe_oa_unit *oau)
> {
>- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
>+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
> uint64_t properties[] = {
>- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
>+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
> DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
> DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
> DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
>@@ -4698,7 +4699,7 @@ static void test_mapped_oa_buffer(map_oa_buffer_test_t test_with_fd_open,
> stream_fd = __perf_open(drm_fd, ¶m, false);
>
> igt_assert(test_with_fd_open);
>- test_with_fd_open(hwe);
>+ test_with_fd_open(oau);
>
> __perf_close(stream_fd);
> }
>@@ -5236,28 +5237,28 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
>
> igt_subtest_group {
> igt_subtest_with_dynamic("map-oa-buffer")
>- __for_one_hwe_in_oag(hwe)
>- test_mapped_oa_buffer(check_reports_from_mapped_buffer, hwe);
>+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
>+ test_mapped_oa_buffer(check_reports_from_mapped_buffer, oau);
>
> igt_subtest_with_dynamic("invalid-map-oa-buffer")
>- __for_one_hwe_in_oag(hwe)
>- test_mapped_oa_buffer(invalid_param_map_oa_buffer, hwe);
>+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
>+ test_mapped_oa_buffer(invalid_param_map_oa_buffer, oau);
>
> igt_subtest_with_dynamic("non-privileged-map-oa-buffer")
>- __for_one_hwe_in_oag(hwe)
>- test_mapped_oa_buffer(unprivileged_map_oa_buffer, hwe);
>+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
>+ test_mapped_oa_buffer(unprivileged_map_oa_buffer, oau);
>
> igt_subtest_with_dynamic("non-privileged-access-vaddr")
>- __for_one_hwe_in_oag(hwe)
>- test_mapped_oa_buffer(map_oa_buffer_unprivilege_access, hwe);
>+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
>+ test_mapped_oa_buffer(map_oa_buffer_unprivilege_access, oau);
>
> igt_subtest_with_dynamic("privileged-forked-access-vaddr")
>- __for_one_hwe_in_oag(hwe)
>- test_mapped_oa_buffer(map_oa_buffer_forked_access, hwe);
>+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
>+ test_mapped_oa_buffer(map_oa_buffer_forked_access, oau);
>
> igt_subtest_with_dynamic("closed-fd-and-unmapped-access")
>- __for_one_hwe_in_oag(hwe)
>- closed_fd_and_unmapped_access(hwe);
>+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
>+ closed_fd_and_unmapped_access(oau);
> }
>
> igt_subtest_with_dynamic("tail-address-wrap") {
>--
>2.48.1
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH i-g-t 14/18] tests/intel/xe_oa: Convert MMIO trigger tests to take OA unit arguments
2025-10-08 21:18 ` [PATCH i-g-t 14/18] tests/intel/xe_oa: Convert MMIO trigger " Ashutosh Dixit
@ 2025-10-10 22:29 ` Umesh Nerlige Ramappa
0 siblings, 0 replies; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2025-10-10 22:29 UTC (permalink / raw)
To: Ashutosh Dixit; +Cc: igt-dev
On Wed, Oct 08, 2025 at 02:18:01PM -0700, Ashutosh Dixit wrote:
>Convert MMIO trigger tests to take 'struct drm_xe_oa_unit *' arguments, to
>enable them to be run on all OA units.
>
>Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>---
> tests/intel/xe_oa.c | 41 ++++++++++++++++++++++-------------------
> 1 file changed, 22 insertions(+), 19 deletions(-)
>
>diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
>index 1b16893de3..a3f4a80d6a 100644
>--- a/tests/intel/xe_oa.c
>+++ b/tests/intel/xe_oa.c
>@@ -3992,11 +3992,12 @@ static u32 oa_get_mmio_base(const struct drm_xe_engine_class_instance *hwe)
> * SUBTEST: oa-regs-whitelisted
> * Description: Verify that OA registers are whitelisted
> */
>-static void test_oa_regs_whitelist(const struct drm_xe_engine_class_instance *hwe)
>+static void test_oa_regs_whitelist(struct drm_xe_oa_unit *oau)
> {
>- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
>+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
>+ struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oau);
> uint64_t properties[] = {
>- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
>+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
> DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
> DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
> DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
>@@ -4010,8 +4011,7 @@ static void test_oa_regs_whitelist(const struct drm_xe_engine_class_instance *hw
> u32 mmio_base;
>
> /* FIXME: Add support for OAM whitelist testing */
>- if (hwe->engine_class != DRM_XE_ENGINE_CLASS_RENDER &&
>- hwe->engine_class != DRM_XE_ENGINE_CLASS_COMPUTE)
>+ if (oau->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
> return;
>
> mmio_base = oa_get_mmio_base(hwe);
>@@ -4039,10 +4039,12 @@ static void test_oa_regs_whitelist(const struct drm_xe_engine_class_instance *hw
> }
>
> static void
>-__test_mmio_triggered_reports(struct drm_xe_engine_class_instance *hwe)
>+__test_mmio_triggered_reports(struct drm_xe_oa_unit *oau)
> {
>- struct intel_xe_perf_metric_set *test_set = default_test_set;
>+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
>+ struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oau);
> uint64_t properties[] = {
>+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
> DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
> DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
> DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
>@@ -4144,10 +4146,12 @@ __test_mmio_triggered_reports(struct drm_xe_engine_class_instance *hwe)
> }
>
> static void
>-__test_mmio_triggered_reports_read(struct drm_xe_engine_class_instance *hwe)
>+__test_mmio_triggered_reports_read(struct drm_xe_oa_unit *oau)
> {
>- struct intel_xe_perf_metric_set *test_set = default_test_set;
>+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
>+ struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oau);
> uint64_t properties[] = {
>+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
> DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
> DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
> DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
>@@ -4240,8 +4244,7 @@ __test_mmio_triggered_reports_read(struct drm_xe_engine_class_instance *hwe)
> * Description: Test MMIO trigger functionality with read system call
> */
> static void
>-test_mmio_triggered_reports(struct drm_xe_engine_class_instance *hwe,
>- bool with_read)
>+test_mmio_triggered_reports(struct drm_xe_oa_unit *oau, bool with_read)
> {
> struct igt_helper_process child = {};
> int ret;
>@@ -4251,9 +4254,9 @@ test_mmio_triggered_reports(struct drm_xe_engine_class_instance *hwe,
> igt_drop_root();
>
> if (with_read)
>- __test_mmio_triggered_reports_read(hwe);
>+ __test_mmio_triggered_reports_read(oau);
> else
>- __test_mmio_triggered_reports(hwe);
>+ __test_mmio_triggered_reports(oau);
> }
> ret = igt_wait_helper(&child);
> write_u64_file("/proc/sys/dev/xe/observation_paranoid", 1);
>@@ -5275,19 +5278,19 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
> }
>
> igt_subtest_with_dynamic("oa-regs-whitelisted")
>- __for_one_hwe_in_oag(hwe)
>- test_oa_regs_whitelist(hwe);
>+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
>+ test_oa_regs_whitelist(oau);
>
> igt_subtest_with_dynamic("mmio-triggered-reports") {
> igt_require(HAS_OA_MMIO_TRIGGER(devid));
>- __for_one_hwe_in_oag(hwe)
>- test_mmio_triggered_reports(hwe, false);
>+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
>+ test_mmio_triggered_reports(oau, false);
> }
>
> igt_subtest_with_dynamic("mmio-triggered-reports-read") {
> igt_require(HAS_OA_MMIO_TRIGGER(devid));
>- __for_one_hwe_in_oag(hwe)
>- test_mmio_triggered_reports(hwe, true);
>+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
>+ test_mmio_triggered_reports(oau, true);
> }
> }
>
>--
>2.48.1
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH i-g-t 15/18] tests/intel/xe_oa: Convert sync tests to take OA unit arguments
2025-10-08 21:18 ` [PATCH i-g-t 15/18] tests/intel/xe_oa: Convert sync " Ashutosh Dixit
@ 2025-10-10 22:30 ` Umesh Nerlige Ramappa
0 siblings, 0 replies; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2025-10-10 22:30 UTC (permalink / raw)
To: Ashutosh Dixit; +Cc: igt-dev
On Wed, Oct 08, 2025 at 02:18:02PM -0700, Ashutosh Dixit wrote:
>Convert sync tests to take 'struct drm_xe_oa_unit *' arguments, to enable
>them to be run on all OA units.
>
>Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>---
> tests/intel/xe_oa.c | 35 ++++++++---------------------------
> 1 file changed, 8 insertions(+), 27 deletions(-)
>
>diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
>index a3f4a80d6a..75142e610d 100644
>--- a/tests/intel/xe_oa.c
>+++ b/tests/intel/xe_oa.c
>@@ -4766,9 +4766,10 @@ struct oa_sync {
> };
>
> static void
>-oa_sync_init(enum oa_sync_type sync_type, const struct drm_xe_engine_class_instance *hwe,
>+oa_sync_init(enum oa_sync_type sync_type, struct drm_xe_oa_unit *oau,
> struct oa_sync *osync, struct drm_xe_sync *sync)
> {
>+ struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oau);
> uint64_t addr = 0x1a0000;
>
> osync->sync_type = sync_type;
>@@ -4890,15 +4891,15 @@ static void oa_sync_free(struct oa_sync *osync)
> * @wait-cfg: Exercise reconfig path and wait for syncs to signal
> * @wait: Don't exercise reconfig path and wait for syncs to signal
> */
>-static void test_syncs(const struct drm_xe_engine_class_instance *hwe,
>+static void test_syncs(struct drm_xe_oa_unit *oau,
> enum oa_sync_type sync_type, int flags)
> {
> struct drm_xe_ext_set_property extn[XE_OA_MAX_SET_PROPERTIES] = {};
>- struct intel_xe_perf_metric_set *test_set = metric_set(hwe);
>+ struct intel_xe_perf_metric_set *test_set = oa_unit_metric_set(oau);
> struct drm_xe_sync sync = {};
> struct oa_sync osync = {};
> uint64_t open_properties[] = {
>- DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
>+ DRM_XE_OA_PROPERTY_OA_UNIT_ID, oau->oa_unit_id,
> DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
> DRM_XE_OA_PROPERTY_OA_METRIC_SET, test_set->perf_oa_metrics_set,
> DRM_XE_OA_PROPERTY_OA_FORMAT, __ff(test_set->perf_oa_format),
>@@ -4929,7 +4930,7 @@ static void test_syncs(const struct drm_xe_engine_class_instance *hwe,
> if (sync_type == OA_SYNC_TYPE_USERPTR || sync_type == OA_SYNC_TYPE_UFENCE)
> flags |= WAIT;
>
>- oa_sync_init(sync_type, hwe, &osync, &sync);
>+ oa_sync_init(sync_type, oau, &osync, &sync);
>
> stream_fd = __perf_open(drm_fd, &open_param, false);
>
>@@ -4956,25 +4957,6 @@ exit:
> oa_sync_free(&osync);
> }
>
>-static const char *xe_engine_class_name(uint32_t engine_class)
>-{
>- switch (engine_class) {
>- case DRM_XE_ENGINE_CLASS_RENDER:
>- return "rcs";
>- case DRM_XE_ENGINE_CLASS_COPY:
>- return "bcs";
>- case DRM_XE_ENGINE_CLASS_VIDEO_DECODE:
>- return "vcs";
>- case DRM_XE_ENGINE_CLASS_VIDEO_ENHANCE:
>- return "vecs";
>- case DRM_XE_ENGINE_CLASS_COMPUTE:
>- return "ccs";
>- default:
>- igt_warn("Engine class 0x%x unknown\n", engine_class);
>- return "unknown";
>- }
>-}
>-
> #define __for_one_hwe_in_each_oa_unit(hwe) \
> for (int m = 0; !m || hwe; m++) \
> for_each_if(hwe = oa_unit_engine(oa_unit_by_id(drm_fd, m))) \
>@@ -5055,7 +5037,6 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
> { "ufence-wait", OA_SYNC_TYPE_UFENCE, WAIT },
> { NULL },
> };
>- struct drm_xe_engine_class_instance *hwe = NULL;
> struct drm_xe_oa_unit *oau;
> struct xe_device *xe_dev;
>
>@@ -5301,8 +5282,8 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
>
> for (const struct sync_section *s = sync_sections; s->name; s++) {
> igt_subtest_with_dynamic_f("syncs-%s", s->name) {
>- __for_one_hwe_in_oag(hwe)
>- test_syncs(hwe, s->sync_type, s->flags);
>+ __for_oa_unit_by_type(DRM_XE_OA_UNIT_TYPE_OAG)
>+ test_syncs(oau, s->sync_type, s->flags);
> }
> }
> }
>--
>2.48.1
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH i-g-t 16/18] tests/intel/xe_oa: Run test_oa_unit_exclusive_stream on multiple OA units
2025-10-08 21:18 ` [PATCH i-g-t 16/18] tests/intel/xe_oa: Run test_oa_unit_exclusive_stream on multiple OA units Ashutosh Dixit
@ 2025-10-10 22:31 ` Umesh Nerlige Ramappa
0 siblings, 0 replies; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2025-10-10 22:31 UTC (permalink / raw)
To: Ashutosh Dixit; +Cc: igt-dev
On Wed, Oct 08, 2025 at 02:18:03PM -0700, Ashutosh Dixit wrote:
>Change test_oa_unit_exclusive_stream to run simultaneously on all OA units
>which have an hwe. Also removed unused code now that all tests are
>converted to use OA units rather than hwe's.
>
>Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>---
> tests/intel/xe_oa.c | 86 ++++++---------------------------------------
> 1 file changed, 10 insertions(+), 76 deletions(-)
>
>diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
>index 75142e610d..2d956286d2 100644
>--- a/tests/intel/xe_oa.c
>+++ b/tests/intel/xe_oa.c
>@@ -385,48 +385,6 @@ static struct intel_xe_perf_metric_set *oa_unit_metric_set(struct drm_xe_oa_unit
>
> return test_set;
> }
>-
>-static struct intel_xe_perf_metric_set *metric_set(const struct drm_xe_engine_class_instance *hwe)
>-{
>- const char *test_set_name = NULL;
>- struct intel_xe_perf_metric_set *metric_set_iter;
>- struct intel_xe_perf_metric_set *test_set = NULL;
>-
>- if (hwe->engine_class == DRM_XE_ENGINE_CLASS_RENDER ||
>- hwe->engine_class == DRM_XE_ENGINE_CLASS_COMPUTE)
>- test_set_name = "TestOa";
>- else if ((hwe->engine_class == DRM_XE_ENGINE_CLASS_VIDEO_DECODE ||
>- hwe->engine_class == DRM_XE_ENGINE_CLASS_VIDEO_ENHANCE) &&
>- HAS_OAM(devid))
>- test_set_name = "MediaSet1";
>- else
>- igt_assert(!"reached");
>-
>- igt_list_for_each_entry(metric_set_iter, &intel_xe_perf->metric_sets, link) {
>- if (strcmp(metric_set_iter->symbol_name, test_set_name) == 0) {
>- test_set = metric_set_iter;
>- break;
>- }
>- }
>-
>- igt_assert(test_set);
>-
>- /*
>- * configuration was loaded in init_sys_info() ->
>- * intel_xe_perf_load_perf_configs(), and test_set->perf_oa_metrics_set
>- * should point to metric id returned by the config add ioctl. 0 is
>- * invalid.
>- */
>- igt_assert_neq_u64(test_set->perf_oa_metrics_set, 0);
>-
>- igt_debug("engine %d:%d - %s metric set UUID = %s\n",
>- hwe->engine_class,
>- hwe->engine_instance,
>- test_set->symbol_name,
>- test_set->hw_config_guid);
>-
>- return test_set;
>-}
> #define default_test_set oa_unit_metric_set(oa_unit_by_type(drm_fd, DRM_XE_OA_UNIT_TYPE_OAG))
>
> static void set_fd_flags(int fd, int flags)
>@@ -4293,8 +4251,8 @@ static void
> test_oa_unit_exclusive_stream(bool exponent)
> {
> struct drm_xe_query_oa_units *qoa = xe_oa_units(drm_fd);
>+ struct drm_xe_engine_class_instance *hwe;
> struct drm_xe_oa_unit *oau;
>- u8 *poau = (u8 *)&qoa->oa_units[0];
> uint64_t properties[] = {
> DRM_XE_OA_PROPERTY_OA_UNIT_ID, 0,
> DRM_XE_OA_PROPERTY_SAMPLE_OA, true,
>@@ -4315,12 +4273,12 @@ test_oa_unit_exclusive_stream(bool exponent)
>
> /* for each oa unit, open one random perf stream with sample OA */
> for (i = 0; i < qoa->num_oa_units; i++) {
>- struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oa_unit_by_id(drm_fd, i));
>+ oau = oa_unit_by_id(drm_fd, i);
>+ hwe = oa_unit_engine(oau);
>
>- oau = (struct drm_xe_oa_unit *)poau;
>- if (oau->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
>+ if (!hwe)
> continue;
>- test_set = metric_set(hwe);
>+ test_set = oa_unit_metric_set(oau);
>
> igt_debug("opening OA buffer with c:i %d:%d\n",
> hwe->engine_class, hwe->engine_instance);
>@@ -4336,7 +4294,6 @@ test_oa_unit_exclusive_stream(bool exponent)
> properties[9] = hwe->engine_instance;
> perf_fd[i] = intel_xe_perf_ioctl(drm_fd, DRM_XE_OBSERVATION_OP_STREAM_OPEN, ¶m);
> igt_assert(perf_fd[i] >= 0);
>- poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]);
> }
>
> /* Xe KMD holds reference to the exec_q's so they shouldn't be really destroyed */
>@@ -4345,15 +4302,15 @@ test_oa_unit_exclusive_stream(bool exponent)
> xe_exec_queue_destroy(drm_fd, exec_q[i]);
>
> /* for each oa unit make sure no other streams can be opened */
>- poau = (u8 *)&qoa->oa_units[0];
> for (i = 0; i < qoa->num_oa_units; i++) {
>- struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oa_unit_by_id(drm_fd, i));
> int err;
>
>- oau = (struct drm_xe_oa_unit *)poau;
>- if (oau->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
>+ oau = oa_unit_by_id(drm_fd, i);
>+ hwe = oa_unit_engine(oau);
>+
>+ if (!hwe)
> continue;
>- test_set = metric_set(hwe);
>+ test_set = oa_unit_metric_set(oau);
>
> igt_debug("try with exp with c:i %d:%d\n",
> hwe->engine_class, hwe->engine_instance);
>@@ -4376,7 +4333,6 @@ test_oa_unit_exclusive_stream(bool exponent)
> err = intel_xe_perf_ioctl(drm_fd, DRM_XE_OBSERVATION_OP_STREAM_OPEN, ¶m);
> igt_assert_lt(err, 0);
> igt_assert(errno == EBUSY || errno == ENODEV);
>- poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]);
> }
>
> for (i = 0; i < qoa->num_oa_units; i++) {
>@@ -4957,28 +4913,6 @@ exit:
> oa_sync_free(&osync);
> }
>
>-#define __for_one_hwe_in_each_oa_unit(hwe) \
>- for (int m = 0; !m || hwe; m++) \
>- for_each_if(hwe = oa_unit_engine(oa_unit_by_id(drm_fd, m))) \
>- igt_dynamic_f("%s-%d", xe_engine_class_name(hwe->engine_class), \
>- hwe->engine_instance)
>-
>-/* Only OAG (not OAM) is currently supported */
>-#define __for_one_hwe_in_oag(hwe) \
>- if ((hwe = oa_unit_engine(oa_unit_by_type(drm_fd, DRM_XE_OA_UNIT_TYPE_OAG)))) \
>- igt_dynamic_f("%s-%d", xe_engine_class_name(hwe->engine_class), \
>- hwe->engine_instance)
>-
>-#define __for_one_hwe_in_oag_w_arg(hwe, str) \
>- if ((hwe = oa_unit_engine(oa_unit_by_type(drm_fd, DRM_XE_OA_UNIT_TYPE_OAG)))) \
>- igt_dynamic_f("%s-%d-%s", xe_engine_class_name(hwe->engine_class), \
>- hwe->engine_instance, str)
>-
>-#define __for_one_render_engine(hwe) \
>- hwe = &xe_find_engine_by_class(drm_fd, DRM_XE_ENGINE_CLASS_RENDER)->instance; \
>- igt_require_f(hwe, "no render engine\n"); \
>- igt_dynamic_f("rcs-%d", hwe->engine_instance)
>-
> #define __for_oa_unit_by_type(k) \
> if ((oau = oa_unit_by_type(drm_fd, k))) \
> igt_dynamic_f("%s-%d", oa_unit_name[oau->oa_unit_type], oau->oa_unit_id)
>--
>2.48.1
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH i-g-t 17/18] tests/intel/xe_oa: Add new non-zero-reason-all test
2025-10-08 21:18 ` [PATCH i-g-t 17/18] tests/intel/xe_oa: Add new non-zero-reason-all test Ashutosh Dixit
@ 2025-10-10 22:32 ` Umesh Nerlige Ramappa
0 siblings, 0 replies; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2025-10-10 22:32 UTC (permalink / raw)
To: Ashutosh Dixit; +Cc: igt-dev
On Wed, Oct 08, 2025 at 02:18:04PM -0700, Ashutosh Dixit wrote:
>To demonstrate the new infrastructure, add a new non-zero-reason-all test
>which runs the non-zero-reason test on all OA units.
>
>Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>---
> tests/intel/xe_oa.c | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>
>diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
>index 2d956286d2..36b1785bbd 100644
>--- a/tests/intel/xe_oa.c
>+++ b/tests/intel/xe_oa.c
>@@ -4921,6 +4921,10 @@ exit:
> if ((oau = oa_unit_by_type(drm_fd, k))) \
> igt_dynamic_f("%s-%d-%s", oa_unit_name[oau->oa_unit_type], oau->oa_unit_id, str)
>
>+#define __for_each_oa_unit(qoa, oau, poau, i) \
>+ for_each_oa_unit(qoa, oau, poau, i) \
>+ igt_dynamic_f("%s-%d", oa_unit_name[oau->oa_unit_type], oau->oa_unit_id)
>+
> static int opt_handler(int opt, int opt_index, void *data)
> {
> uint32_t tmp;
>@@ -4971,8 +4975,11 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
> { "ufence-wait", OA_SYNC_TYPE_UFENCE, WAIT },
> { NULL },
> };
>+ struct drm_xe_query_oa_units *qoa;
> struct drm_xe_oa_unit *oau;
> struct xe_device *xe_dev;
>+ u8 *poau;
>+ int i;
>
> igt_fixture {
> struct stat sb;
>@@ -5066,6 +5073,16 @@ igt_main_args("b:t", long_options, help_str, opt_handler, NULL)
> test_non_zero_reason(oau, 0);
> }
>
>+ /**
>+ * SUBTEST: non-zero-reason-all
>+ * Description: Non zero reason over all OA units
>+ */
>+ igt_subtest_with_dynamic("non-zero-reason-all") {
>+ igt_require(oau->capabilities & DRM_XE_OA_CAPS_OA_BUFFER_SIZE);
>+ __for_each_oa_unit(qoa, oau, poau, i)
>+ test_non_zero_reason(oau, SZ_128K);
>+ }
>+
> igt_subtest("disabled-read-error")
> test_disabled_read_error();
> igt_subtest("non-sampling-read-error")
>--
>2.48.1
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* [PATCH i-g-t 04/18] tests/intel/xe_oa: Change oa_unit_engine to take an oa_unit argument
2025-10-13 20:30 [PATCH i-g-t v2 00/18] " Ashutosh Dixit
@ 2025-10-13 20:30 ` Ashutosh Dixit
0 siblings, 0 replies; 46+ messages in thread
From: Ashutosh Dixit @ 2025-10-13 20:30 UTC (permalink / raw)
To: igt-dev; +Cc: Umesh Nerlige Ramappa
To prevent code duplication with oa_unit_by_id(), pass 'struct
drm_xe_oa_unit *' as argument to oa_unit_engine().
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
---
tests/intel/xe_oa.c | 32 ++++++++------------------------
1 file changed, 8 insertions(+), 24 deletions(-)
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index a7141a4fb0..65b13267fb 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -472,25 +472,9 @@ static u64 oa_format_fields(u64 name)
}
#define __ff oa_format_fields
-static struct drm_xe_engine_class_instance *oa_unit_engine(int fd, int n)
+static struct drm_xe_engine_class_instance *oa_unit_engine(struct drm_xe_oa_unit *oau)
{
- struct drm_xe_query_oa_units *qoa = xe_oa_units(fd);
- struct drm_xe_engine_class_instance *hwe = NULL;
- struct drm_xe_oa_unit *oau;
- u8 *poau;
-
- poau = (u8 *)&qoa->oa_units[0];
- for (int i = 0; i < qoa->num_oa_units; i++) {
- oau = (struct drm_xe_oa_unit *)poau;
-
- if (i == n) {
- hwe = oau->num_engines ? &oau->eci[random() % oau->num_engines] : NULL;
- break;
- }
- poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]);
- }
-
- return hwe;
+ return !oau ? NULL : oau->num_engines ? &oau->eci[random() % oau->num_engines] : NULL;
}
static struct drm_xe_oa_unit *oa_unit_by_id(int fd, int id)
@@ -4263,7 +4247,7 @@ test_oa_unit_exclusive_stream(bool exponent)
/* for each oa unit, open one random perf stream with sample OA */
for (i = 0; i < qoa->num_oa_units; i++) {
- struct drm_xe_engine_class_instance *hwe = oa_unit_engine(drm_fd, i);
+ struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oa_unit_by_id(drm_fd, i));
oau = (struct drm_xe_oa_unit *)poau;
if (oau->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
@@ -4295,7 +4279,7 @@ test_oa_unit_exclusive_stream(bool exponent)
/* for each oa unit make sure no other streams can be opened */
poau = (u8 *)&qoa->oa_units[0];
for (i = 0; i < qoa->num_oa_units; i++) {
- struct drm_xe_engine_class_instance *hwe = oa_unit_engine(drm_fd, i);
+ struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oa_unit_by_id(drm_fd, i));
int err;
oau = (struct drm_xe_oa_unit *)poau;
@@ -4345,7 +4329,7 @@ test_oa_unit_concurrent_oa_buffer_read(void)
struct drm_xe_query_oa_units *qoa = xe_oa_units(drm_fd);
igt_fork(child, qoa->num_oa_units) {
- struct drm_xe_engine_class_instance *hwe = oa_unit_engine(drm_fd, child);
+ struct drm_xe_engine_class_instance *hwe = oa_unit_engine(oa_unit_by_id(drm_fd, child));
/* No OAM support yet */
if (oa_unit_by_id(drm_fd, child)->oa_unit_type != DRM_XE_OA_UNIT_TYPE_OAG)
@@ -4924,18 +4908,18 @@ static const char *xe_engine_class_name(uint32_t engine_class)
#define __for_one_hwe_in_each_oa_unit(hwe) \
for (int m = 0; !m || hwe; m++) \
- for_each_if(hwe = oa_unit_engine(drm_fd, m)) \
+ for_each_if(hwe = oa_unit_engine(oa_unit_by_id(drm_fd, m))) \
igt_dynamic_f("%s-%d", xe_engine_class_name(hwe->engine_class), \
hwe->engine_instance)
/* Only OAG (not OAM) is currently supported */
#define __for_one_hwe_in_oag(hwe) \
- if ((hwe = oa_unit_engine(drm_fd, 0))) \
+ if ((hwe = oa_unit_engine(oa_unit_by_id(drm_fd, 0)))) \
igt_dynamic_f("%s-%d", xe_engine_class_name(hwe->engine_class), \
hwe->engine_instance)
#define __for_one_hwe_in_oag_w_arg(hwe, str) \
- if ((hwe = oa_unit_engine(drm_fd, 0))) \
+ if ((hwe = oa_unit_engine(oa_unit_by_id(drm_fd, 0)))) \
igt_dynamic_f("%s-%d-%s", xe_engine_class_name(hwe->engine_class), \
hwe->engine_instance, str)
--
2.48.1
^ permalink raw reply related [flat|nested] 46+ messages in thread
* Re: [PATCH i-g-t 06/18] tests/intel/xe_oa: Add for_each_oa_unit
2025-10-09 16:40 ` Umesh Nerlige Ramappa
@ 2025-10-13 20:32 ` Dixit, Ashutosh
0 siblings, 0 replies; 46+ messages in thread
From: Dixit, Ashutosh @ 2025-10-13 20:32 UTC (permalink / raw)
To: Umesh Nerlige Ramappa; +Cc: igt-dev
On Thu, 09 Oct 2025 09:40:29 -0700, Umesh Nerlige Ramappa wrote:
>
Hi Umesh,
> On Wed, Oct 08, 2025 at 04:31:23PM -0700, Umesh Nerlige Ramappa wrote:
> > On Wed, Oct 08, 2025 at 02:17:53PM -0700, Ashutosh Dixit wrote:
> >> Add a for_each_oa_unit iterator, which eliminates code duplication when
> >> iterating over OA units obtained from OA unit query.
> >>
> >> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
> >> ---
> >> tests/intel/xe_oa.c | 21 +++++++++++----------
> >> 1 file changed, 11 insertions(+), 10 deletions(-)
> >>
> >> diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
> >> index 012f5929ce..bc71bfcd30 100644
> >> --- a/tests/intel/xe_oa.c
> >> +++ b/tests/intel/xe_oa.c
> >> @@ -477,18 +477,21 @@ static struct drm_xe_engine_class_instance *oa_unit_engine(struct drm_xe_oa_unit
> >> return !oau ? NULL : oau->num_engines ? &oau->eci[random() % oau->num_engines] : NULL;
> >> }
> >>
> >> +#define for_each_oa_unit(qoa, oau, poau, i) \
> >> + for (i = 0, qoa = xe_oa_units(drm_fd), poau = (u8 *)&qoa->oa_units[0]; \
> >> + oau = (struct drm_xe_oa_unit *)poau, i < qoa->num_oa_units; \
> >> + poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]), i++)
> >> +
> >> static struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
> >> {
> >> - struct drm_xe_query_oa_units *qoa = xe_oa_units(fd);
> >> + struct drm_xe_query_oa_units *qoa;
> >> struct drm_xe_oa_unit *oau;
> >> u8 *poau;
> >> + int i;
> >>
> >> - poau = (u8 *)&qoa->oa_units[0];
> >> - for (int i = 0; i < qoa->num_oa_units; i++) {
> >> - oau = (struct drm_xe_oa_unit *)poau;
> >> + for_each_oa_unit(qoa, oau, poau, i) {
> >> if (oau->oa_unit_id == n)
> >> return oau;
> >> - poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]);
> >> }
> >>
> >> return NULL;
> >> @@ -496,16 +499,14 @@ static struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
> >>
> >> static struct drm_xe_oa_unit *oa_unit_by_type(int fd, int t)
> >> {
> >> - struct drm_xe_query_oa_units *qoa = xe_oa_units(fd);
> >> + struct drm_xe_query_oa_units *qoa;
> >> struct drm_xe_oa_unit *oau;
> >> u8 *poau;
> >> + int i;
> >>
> >> - poau = (u8 *)&qoa->oa_units[0];
> >> - for (int i = 0; i < qoa->num_oa_units; i++) {
> >> - oau = (struct drm_xe_oa_unit *)poau;
> >> + for_each_oa_unit(qoa, oau, poau, i) {
> >> if (oau->oa_unit_type == t)
> >> return oau;
> >> - poau += sizeof(*oau) + oau->num_engines * sizeof(oau->eci[0]);
> >> }
> >>
> >> return NULL;
> >
> > If it's possible to keep the interface for iterators simple, I would go
> > for that. i, poau can be hidden from the caller. Something like this:
> >
> > // NOTE: not compiled/tested
> >
> > static u32 xe_oa_first_unit(int fd, struct drm_xe_oa_unit **oau)
> > {
> > struct drm_xe_query_oa_units *qoa = xe_oa_units(fd);
> > *oau = &qoa->oa_units[0];
> >
> > return qoa->num_oa_units;
> > }
> >
> > static void xe_oa_next_unit(struct drm_xe_oa_unit **oau)
> > {
> > struct drm_xe_oa_unit *poau = *oau;
> >
> > return (u8 *)poau + sizeof(*poau) + poau->num_engines * sizeof(poau->eci[0]);
>
> Not return, but update *oau.
>
> *oau = (u8 *)poau + sizeof(*poau) + poau->num_engines * sizeof(poau->eci[0]);
In v2, I have implemented something not identical, but very close to
this. But thanks for this suggestion, it has resulted in some cleaned up
code.
Ashutosh
>
> > }
> >
> > #define for_each_oa_unit(fd, oau) \
> > for (u32 i = 0, num = xe_oa_first_unit(fd, &oau); \
> > oau && i < num; \
> > i++, xe_oa_next_unit(&oau))
> >
> > static const struct drm_xe_oa_unit *oa_unit_by_id(int fd, int n)
> > {
> > struct drm_xe_oa_unit *oau;
> >
> > for_each_oa_unit(fd, oau) {
> > if (oau->oa_unit_id == n)
> > return oau;
> > }
> >
> > return NULL;
> > }
> >
> > static const struct drm_xe_oa_unit *oa_unit_by_type(int fd, int t)
> > {
> > struct drm_xe_oa_unit *oau;
> >
> > for_each_oa_unit(fd, oau) {
> > if (oau->oa_unit_type == t)
> > return oau;
> > }
> >
> > return NULL;
> > }
> >
> > Thanks,
> > Umesh
> >
> >
> >
> >> --
> >> 2.48.1
> >>
^ permalink raw reply [flat|nested] 46+ messages in thread
end of thread, other threads:[~2025-10-13 20:32 UTC | newest]
Thread overview: 46+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-08 21:17 [PATCH i-g-t 00/18] Change OA IGT's to run on all OA units Ashutosh Dixit
2025-10-08 21:17 ` [PATCH i-g-t 01/18] tests/intel/xe_oa: Add OAM formats to lnl_oa_formats Ashutosh Dixit
2025-10-08 21:55 ` Umesh Nerlige Ramappa
2025-10-08 21:17 ` [PATCH i-g-t 02/18] tests/intel/xe_oa: Get rid of unnecessary DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE Ashutosh Dixit
2025-10-08 21:55 ` Umesh Nerlige Ramappa
2025-10-08 21:17 ` [PATCH i-g-t 03/18] tests/intel/xe_oa: Rename nth_oa_unit to oa_unit_by_id Ashutosh Dixit
2025-10-08 21:56 ` Umesh Nerlige Ramappa
2025-10-10 21:31 ` Dixit, Ashutosh
2025-10-08 21:17 ` [PATCH i-g-t 04/18] tests/intel/xe_oa: Change oa_unit_engine to take an oa_unit argument Ashutosh Dixit
2025-10-08 22:40 ` Umesh Nerlige Ramappa
2025-10-08 23:19 ` Dixit, Ashutosh
2025-10-08 23:33 ` Umesh Nerlige Ramappa
2025-10-08 21:17 ` [PATCH i-g-t 05/18] tests/intel/xe_oa: Add oa_unit_by_type Ashutosh Dixit
2025-10-08 22:42 ` Umesh Nerlige Ramappa
2025-10-08 21:17 ` [PATCH i-g-t 06/18] tests/intel/xe_oa: Add for_each_oa_unit Ashutosh Dixit
2025-10-08 23:31 ` Umesh Nerlige Ramappa
2025-10-09 16:40 ` Umesh Nerlige Ramappa
2025-10-13 20:32 ` Dixit, Ashutosh
2025-10-08 21:17 ` [PATCH i-g-t 07/18] tests/intel/xe_oa: Convert test_oa_formats to take an OA unit argument Ashutosh Dixit
2025-10-10 22:22 ` Umesh Nerlige Ramappa
2025-10-08 21:17 ` [PATCH i-g-t 08/18] tests/intel/xe_oa: Convert several more tests to take OA unit arguments Ashutosh Dixit
2025-10-10 22:24 ` Umesh Nerlige Ramappa
2025-10-08 21:17 ` [PATCH i-g-t 09/18] tests/intel/xe_oa: Convert test_non_zero_reason to take an OA unit argument Ashutosh Dixit
2025-10-10 22:24 ` Umesh Nerlige Ramappa
2025-10-08 21:17 ` [PATCH i-g-t 10/18] tests/intel/xe_oa: Convert blocking/polling tests to take OA unit arguments Ashutosh Dixit
2025-10-10 22:25 ` Umesh Nerlige Ramappa
2025-10-08 21:17 ` [PATCH i-g-t 11/18] tests/intel/xe_oa: Convert test_mi_rpc to take an OA unit argument Ashutosh Dixit
2025-10-10 22:26 ` Umesh Nerlige Ramappa
2025-10-08 21:17 ` [PATCH i-g-t 12/18] tests/intel/xe_oa: Convert test_single_ctx_render_target_writes_a_counter Ashutosh Dixit
2025-10-10 22:27 ` Umesh Nerlige Ramappa
2025-10-08 21:18 ` [PATCH i-g-t 13/18] tests/intel/xe_oa: Convert OA buffer mmap tests to take OA unit arguments Ashutosh Dixit
2025-10-10 22:28 ` Umesh Nerlige Ramappa
2025-10-08 21:18 ` [PATCH i-g-t 14/18] tests/intel/xe_oa: Convert MMIO trigger " Ashutosh Dixit
2025-10-10 22:29 ` Umesh Nerlige Ramappa
2025-10-08 21:18 ` [PATCH i-g-t 15/18] tests/intel/xe_oa: Convert sync " Ashutosh Dixit
2025-10-10 22:30 ` Umesh Nerlige Ramappa
2025-10-08 21:18 ` [PATCH i-g-t 16/18] tests/intel/xe_oa: Run test_oa_unit_exclusive_stream on multiple OA units Ashutosh Dixit
2025-10-10 22:31 ` Umesh Nerlige Ramappa
2025-10-08 21:18 ` [PATCH i-g-t 17/18] tests/intel/xe_oa: Add new non-zero-reason-all test Ashutosh Dixit
2025-10-10 22:32 ` Umesh Nerlige Ramappa
2025-10-08 21:18 ` [PATCH i-g-t 18/18] tests/intel/xe_oa: Constify arguments to various functions Ashutosh Dixit
2025-10-08 22:21 ` ✓ Xe.CI.BAT: success for Change OA IGT's to run on all OA units Patchwork
2025-10-08 22:39 ` ✓ i915.CI.BAT: " Patchwork
2025-10-09 1:49 ` ✗ Xe.CI.Full: failure " Patchwork
2025-10-09 11:47 ` ✗ i915.CI.Full: " Patchwork
-- strict thread matches above, loose matches on Subject: below --
2025-10-13 20:30 [PATCH i-g-t v2 00/18] " Ashutosh Dixit
2025-10-13 20:30 ` [PATCH i-g-t 04/18] tests/intel/xe_oa: Change oa_unit_engine to take an oa_unit argument Ashutosh Dixit
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.