* [igt-dev] [PATCH i-g-t 1/4] tests/kms_async_flips: Ger rid of i915 specific fb creation
@ 2023-05-16 6:22 Arun R Murthy
2023-05-16 6:22 ` [igt-dev] [PATCH i-g-t 2/4] " Arun R Murthy
` (9 more replies)
0 siblings, 10 replies; 24+ messages in thread
From: Arun R Murthy @ 2023-05-16 6:22 UTC (permalink / raw)
To: igt-dev; +Cc: Arun R Murthy
No idea why the test wants to create the fb differently between i915
vs. others. Unify it.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
tests/kms_async_flips.c | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index 51ffa523..fe27a9ec 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -115,6 +115,15 @@ static void wait_flip_event(data_t *data)
}
}
+static uint64_t default_modifier(data_t *data)
+{
+ if (igt_display_has_format_mod(&data->display, DRM_FORMAT_XRGB8888,
+ I915_FORMAT_MOD_X_TILED))
+ return I915_FORMAT_MOD_X_TILED;
+ else
+ return DRM_FORMAT_MOD_LINEAR;
+}
+
static void make_fb(data_t *data, struct igt_fb *fb,
uint32_t width, uint32_t height, int index)
{
@@ -123,14 +132,8 @@ static void make_fb(data_t *data, struct igt_fb *fb,
rec_width = width / (ARRAY_SIZE(data->bufs) * 2);
- if (is_i915_device(data->drm_fd)) {
- igt_create_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888,
- I915_FORMAT_MOD_X_TILED, fb);
- igt_draw_fill_fb(data->drm_fd, fb, 0x88);
- } else {
- igt_create_color_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888,
- DRM_FORMAT_MOD_LINEAR, 0.0, 0.0, 0.5, fb);
- }
+ igt_create_color_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888,
+ default_modifier(data), 0.0, 0.0, 0.5, fb);
cr = igt_get_cairo_ctx(data->drm_fd, fb);
igt_paint_color_rand(cr, rec_width * 2 + rec_width * index, 0, rec_width, height);
--
2.25.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [igt-dev] [PATCH i-g-t 2/4] tests/kms_async_flips: Ger rid of i915 specific fb creation
2023-05-16 6:22 [igt-dev] [PATCH i-g-t 1/4] tests/kms_async_flips: Ger rid of i915 specific fb creation Arun R Murthy
@ 2023-05-16 6:22 ` Arun R Murthy
2023-05-17 11:10 ` Kamil Konieczny
2023-05-16 6:22 ` [igt-dev] [PATCH i-g-t 3/4] tests/kms_async_flips: Split test_init() Arun R Murthy
` (8 subsequent siblings)
9 siblings, 1 reply; 24+ messages in thread
From: Arun R Murthy @ 2023-05-16 6:22 UTC (permalink / raw)
To: igt-dev; +Cc: Arun R Murthy
No idea why the test wants to create the fb differently between i915
vs. others. Unify it.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
tests/kms_async_flips.c | 25 +++++++++----------------
1 file changed, 9 insertions(+), 16 deletions(-)
diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index fe27a9ec..1c036426 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -548,27 +548,20 @@ static void test_crc(data_t *data)
static void run_test(data_t *data, void (*test)(data_t *))
{
- igt_output_t *output;
- enum pipe pipe;
igt_display_t *display = &data->display;
- for_each_pipe(display, pipe) {
- for_each_valid_output_on_pipe(display, pipe, output) {
- igt_display_reset(display);
+ for_each_valid_output_on_pipe(display, data->pipe, data->output) {
+ igt_display_reset(display);
- igt_output_set_pipe(output, pipe);
- if (!i915_pipe_output_combo_valid(display))
- continue;
+ igt_output_set_pipe(data->output, data->pipe);
+ if (!i915_pipe_output_combo_valid(display))
+ continue;
- igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe), output->name) {
- data->output = output;
- data->pipe = pipe;
- test(data);
- }
+ igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data->pipe), data->output->name)
+ test(data);
- if (!data->extended)
- break;
- }
+ if (!data->extended)
+ break;
}
}
--
2.25.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [igt-dev] [PATCH i-g-t 3/4] tests/kms_async_flips: Split test_init()
2023-05-16 6:22 [igt-dev] [PATCH i-g-t 1/4] tests/kms_async_flips: Ger rid of i915 specific fb creation Arun R Murthy
2023-05-16 6:22 ` [igt-dev] [PATCH i-g-t 2/4] " Arun R Murthy
@ 2023-05-16 6:22 ` Arun R Murthy
2023-05-17 9:04 ` Karthik B S
2023-05-16 6:22 ` [igt-dev] [PATCH i-g-t 4/4] tests/kms_async_flips: Test all modifiers Arun R Murthy
` (7 subsequent siblings)
9 siblings, 1 reply; 24+ messages in thread
From: Arun R Murthy @ 2023-05-16 6:22 UTC (permalink / raw)
To: igt-dev; +Cc: Arun R Murthy
Split the test_init() into two parts: one sets up the mode, the
other the framebuffers. Will be useful for testing different
modifiers.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
tests/kms_async_flips.c | 37 +++++++++++++++++++------------------
1 file changed, 19 insertions(+), 18 deletions(-)
diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index 1c036426..f54bd7ca 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -148,23 +148,31 @@ static void require_monotonic_timestamp(int fd)
static void test_init(data_t *data)
{
- int i;
- uint32_t width, height;
- igt_plane_t *plane;
- static uint32_t prev_output_id;
drmModeModeInfo *mode;
igt_display_reset(&data->display);
igt_display_commit(&data->display);
mode = igt_output_get_mode(data->output);
- width = mode->hdisplay;
- height = mode->vdisplay;
data->crtc_id = data->display.pipes[data->pipe].crtc_id;
data->refresh_rate = mode->vrefresh;
igt_output_set_pipe(data->output, data->pipe);
+}
+
+static void test_init_fbs(data_t *data)
+{
+ int i;
+ uint32_t width, height;
+ igt_plane_t *plane;
+ static uint32_t prev_output_id;
+ drmModeModeInfo *mode;
+
+ mode = igt_output_get_mode(data->output);
+ width = mode->hdisplay;
+ height = mode->vdisplay;
+
plane = igt_output_get_plane_type(data->output, DRM_PLANE_TYPE_PRIMARY);
if (prev_output_id != data->output->id) {
@@ -191,8 +199,6 @@ static void test_async_flip(data_t *data)
long long int fps;
struct timeval start, end, diff;
- test_init(data);
-
gettimeofday(&start, NULL);
frame = 1;
do {
@@ -287,8 +293,6 @@ static void test_timestamp(data_t *data)
unsigned int seq, seq1;
int ret;
- test_init(data);
-
/*
* In older platforms(<= gen10), async address update bit is double buffered.
* So flip timestamp can be verified only from the second flip.
@@ -346,8 +350,6 @@ static void test_cursor(data_t *data)
do_or_die(drmGetCap(data->drm_fd, DRM_CAP_CURSOR_WIDTH, &width));
do_or_die(drmGetCap(data->drm_fd, DRM_CAP_CURSOR_WIDTH, &height));
- test_init(data);
-
igt_create_color_fb(data->drm_fd, width, height, DRM_FORMAT_ARGB8888,
DRM_FORMAT_MOD_LINEAR, 1., 1., 1., &cursor_fb);
@@ -388,8 +390,6 @@ static void test_invalid(data_t *data)
width = mode->hdisplay;
height = mode->vdisplay;
- test_init(data);
-
igt_create_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888,
I915_FORMAT_MOD_Y_TILED, &fb);
@@ -493,8 +493,6 @@ static void test_crc(data_t *data)
data->frame_count = 0;
data->flip_pending = false;
- test_init(data);
-
cr = igt_get_cairo_ctx(data->drm_fd, &data->bufs[frame]);
igt_paint_color(cr, 0, 0, data->bufs[frame].width, data->bufs[frame].height, 1.0, 0.0, 0.0);
igt_put_cairo_ctx(cr);
@@ -550,15 +548,18 @@ static void run_test(data_t *data, void (*test)(data_t *))
{
igt_display_t *display = &data->display;
- for_each_valid_output_on_pipe(display, data->pipe, data->output) {
+ for_each_pipe_with_valid_output(display, data->pipe, data->output) {
igt_display_reset(display);
igt_output_set_pipe(data->output, data->pipe);
if (!i915_pipe_output_combo_valid(display))
continue;
- igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data->pipe), data->output->name)
+ test_init(data);
+ igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data->pipe), data->output->name) {
+ test_init_fbs(data);
test(data);
+ }
if (!data->extended)
break;
--
2.25.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [igt-dev] [PATCH i-g-t 4/4] tests/kms_async_flips: Test all modifiers
2023-05-16 6:22 [igt-dev] [PATCH i-g-t 1/4] tests/kms_async_flips: Ger rid of i915 specific fb creation Arun R Murthy
2023-05-16 6:22 ` [igt-dev] [PATCH i-g-t 2/4] " Arun R Murthy
2023-05-16 6:22 ` [igt-dev] [PATCH i-g-t 3/4] tests/kms_async_flips: Split test_init() Arun R Murthy
@ 2023-05-16 6:22 ` Arun R Murthy
2023-05-17 9:01 ` Karthik B S
2023-05-16 6:55 ` [igt-dev] [PATCH i-g-t 1/4] tests/kms_async_flips: Ger rid of i915 specific fb creation Saarinen, Jani
` (6 subsequent siblings)
9 siblings, 1 reply; 24+ messages in thread
From: Arun R Murthy @ 2023-05-16 6:22 UTC (permalink / raw)
To: igt-dev; +Cc: Arun R Murthy
Run the basic async flip test for all modifiers reported
by the plane (for the XRGB8888 format). The driver may not
support async flip with all modifiers so we allow this to fail.
TODO: probably shuould add an even more basic subtest that
makes sure the driver accepts async flips with a least
one format/modifier combo, if it advertises async flip
support
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
tests/kms_async_flips.c | 53 +++++++++++++++++++++++++++++++++--------
1 file changed, 43 insertions(+), 10 deletions(-)
diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index f54bd7ca..3b8cb988 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -53,6 +53,8 @@ typedef struct {
igt_output_t *output;
unsigned long flip_timestamp_us;
double flip_interval;
+ uint64_t modifier;
+ igt_plane_t *plane;
igt_pipe_crc_t *pipe_crc;
igt_crc_t ref_crc;
int flip_count;
@@ -61,6 +63,7 @@ typedef struct {
bool extended;
enum pipe pipe;
bool alternate_sync_async;
+ bool allow_fail;
} data_t;
static void flip_handler(int fd_, unsigned int sequence, unsigned int tv_sec,
@@ -133,7 +136,7 @@ static void make_fb(data_t *data, struct igt_fb *fb,
rec_width = width / (ARRAY_SIZE(data->bufs) * 2);
igt_create_color_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888,
- default_modifier(data), 0.0, 0.0, 0.5, fb);
+ data->modifier, 0.0, 0.0, 0.5, fb);
cr = igt_get_cairo_ctx(data->drm_fd, fb);
igt_paint_color_rand(cr, rec_width * 2 + rec_width * index, 0, rec_width, height);
@@ -159,24 +162,26 @@ static void test_init(data_t *data)
data->refresh_rate = mode->vrefresh;
igt_output_set_pipe(data->output, data->pipe);
+
+ data->plane = igt_output_get_plane_type(data->output, DRM_PLANE_TYPE_PRIMARY);
}
static void test_init_fbs(data_t *data)
{
int i;
uint32_t width, height;
- igt_plane_t *plane;
static uint32_t prev_output_id;
+ static uint64_t prev_modifier;
drmModeModeInfo *mode;
mode = igt_output_get_mode(data->output);
width = mode->hdisplay;
height = mode->vdisplay;
- plane = igt_output_get_plane_type(data->output, DRM_PLANE_TYPE_PRIMARY);
-
- if (prev_output_id != data->output->id) {
+ if (prev_output_id != data->output->id ||
+ prev_modifier != data->modifier) {
prev_output_id = data->output->id;
+ prev_modifier = data->modifier;
if (data->bufs[0].fb_id) {
for (i = 0; i < ARRAY_SIZE(data->bufs); i++)
@@ -187,8 +192,8 @@ static void test_init_fbs(data_t *data)
make_fb(data, &data->bufs[i], width, height, i);
}
- igt_plane_set_fb(plane, &data->bufs[0]);
- igt_plane_set_size(plane, width, height);
+ igt_plane_set_fb(data->plane, &data->bufs[0]);
+ igt_plane_set_size(data->plane, width, height);
igt_display_commit2(&data->display, data->display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
}
@@ -243,8 +248,10 @@ static void test_async_flip(data_t *data)
ret = drmModePageFlip(data->drm_fd, data->crtc_id,
data->bufs[frame % 4].fb_id,
flags, data);
-
- igt_assert(ret == 0);
+ if (frame == 1 && data->allow_fail)
+ igt_skip_on(ret == -EINVAL);
+ else
+ igt_assert(ret == 0);
wait_flip_event(data);
@@ -556,6 +563,8 @@ static void run_test(data_t *data, void (*test)(data_t *))
continue;
test_init(data);
+ data->allow_fail = false;
+ data->modifier = default_modifier(data);
igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data->pipe), data->output->name) {
test_init_fbs(data);
test(data);
@@ -566,6 +575,30 @@ static void run_test(data_t *data, void (*test)(data_t *))
}
}
+static void run_test_with_modifiers(data_t *data, void (*test)(data_t *))
+{
+ for_each_pipe_with_valid_output(&data->display, data->pipe, data->output) {
+ test_init(data);
+
+ for (int i = 0; i < data->plane->format_mod_count; i++) {
+ if (data->plane->formats[i] != DRM_FORMAT_XRGB8888)
+ continue;
+
+ data->allow_fail = true;
+ data->modifier = data->plane->modifiers[i];
+
+ igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data->pipe),
+ igt_fb_modifier_name(data->modifier)) {
+ test_init_fbs(data);
+ test(data);
+ }
+ }
+
+ if (!data->extended)
+ break;
+ }
+}
+
static int opt_handler(int opt, int opt_index, void *_data)
{
data_t *data = _data;
@@ -612,7 +645,7 @@ igt_main_args("e", NULL, help_str, opt_handler, &data)
igt_describe("Wait for page flip events in between successive asynchronous flips");
igt_subtest_with_dynamic("async-flip-with-page-flip-events") {
data.alternate_sync_async = false;
- run_test(&data, test_async_flip);
+ run_test_with_modifiers(&data, test_async_flip);
}
igt_describe("Alternate between sync and async flips");
--
2.25.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/4] tests/kms_async_flips: Ger rid of i915 specific fb creation
2023-05-16 6:22 [igt-dev] [PATCH i-g-t 1/4] tests/kms_async_flips: Ger rid of i915 specific fb creation Arun R Murthy
` (2 preceding siblings ...)
2023-05-16 6:22 ` [igt-dev] [PATCH i-g-t 4/4] tests/kms_async_flips: Test all modifiers Arun R Murthy
@ 2023-05-16 6:55 ` Saarinen, Jani
2023-05-16 7:24 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,1/4] " Patchwork
` (5 subsequent siblings)
9 siblings, 0 replies; 24+ messages in thread
From: Saarinen, Jani @ 2023-05-16 6:55 UTC (permalink / raw)
To: Murthy, Arun R, igt-dev@lists.freedesktop.org; +Cc: Murthy, Arun R
> -----Original Message-----
> From: igt-dev <igt-dev-bounces@lists.freedesktop.org> On Behalf Of Arun R
> Murthy
> Sent: Tuesday, May 16, 2023 9:22 AM
> To: igt-dev@lists.freedesktop.org
> Cc: Murthy, Arun R <arun.r.murthy@intel.com>
> Subject: [igt-dev] [PATCH i-g-t 1/4] tests/kms_async_flips: Ger rid of i915 specific fb creation
Ger rid of => Get rid of, same to patch #2.
>
> No idea why the test wants to create the fb differently between i915 vs. others.
> Unify it.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> ---
> tests/kms_async_flips.c | 19 +++++++++++--------
> 1 file changed, 11 insertions(+), 8 deletions(-)
>
> diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c index
> 51ffa523..fe27a9ec 100644
> --- a/tests/kms_async_flips.c
> +++ b/tests/kms_async_flips.c
> @@ -115,6 +115,15 @@ static void wait_flip_event(data_t *data)
> }
> }
>
> +static uint64_t default_modifier(data_t *data) {
> + if (igt_display_has_format_mod(&data->display,
> DRM_FORMAT_XRGB8888,
> + I915_FORMAT_MOD_X_TILED))
> + return I915_FORMAT_MOD_X_TILED;
> + else
> + return DRM_FORMAT_MOD_LINEAR;
> +}
> +
> static void make_fb(data_t *data, struct igt_fb *fb,
> uint32_t width, uint32_t height, int index) { @@ -123,14 +132,8
> @@ static void make_fb(data_t *data, struct igt_fb *fb,
>
> rec_width = width / (ARRAY_SIZE(data->bufs) * 2);
>
> - if (is_i915_device(data->drm_fd)) {
> - igt_create_fb(data->drm_fd, width, height,
> DRM_FORMAT_XRGB8888,
> - I915_FORMAT_MOD_X_TILED, fb);
> - igt_draw_fill_fb(data->drm_fd, fb, 0x88);
> - } else {
> - igt_create_color_fb(data->drm_fd, width, height,
> DRM_FORMAT_XRGB8888,
> - DRM_FORMAT_MOD_LINEAR, 0.0, 0.0, 0.5, fb);
> - }
> + igt_create_color_fb(data->drm_fd, width, height,
> DRM_FORMAT_XRGB8888,
> + default_modifier(data), 0.0, 0.0, 0.5, fb);
>
> cr = igt_get_cairo_ctx(data->drm_fd, fb);
> igt_paint_color_rand(cr, rec_width * 2 + rec_width * index, 0, rec_width,
> height);
> --
> 2.25.1
^ permalink raw reply [flat|nested] 24+ messages in thread
* [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,1/4] tests/kms_async_flips: Ger rid of i915 specific fb creation
2023-05-16 6:22 [igt-dev] [PATCH i-g-t 1/4] tests/kms_async_flips: Ger rid of i915 specific fb creation Arun R Murthy
` (3 preceding siblings ...)
2023-05-16 6:55 ` [igt-dev] [PATCH i-g-t 1/4] tests/kms_async_flips: Ger rid of i915 specific fb creation Saarinen, Jani
@ 2023-05-16 7:24 ` Patchwork
2023-05-17 3:50 ` [igt-dev] [PATCHv2 i-g-t 1/4] tests/kms_async_flips: Get " Arun R Murthy
` (4 subsequent siblings)
9 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2023-05-16 7:24 UTC (permalink / raw)
To: Arun R Murthy; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 4828 bytes --]
== Series Details ==
Series: series starting with [i-g-t,1/4] tests/kms_async_flips: Ger rid of i915 specific fb creation
URL : https://patchwork.freedesktop.org/series/117798/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_13149 -> IGTPW_8970
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_8970 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_8970, please notify your bug team 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_8970/index.html
Participating hosts (38 -> 35)
------------------------------
Missing (3): fi-kbl-soraka fi-snb-2520m fi-bsw-n3050
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_8970:
### IGT changes ###
#### Possible regressions ####
* igt@debugfs_test@read_all_entries:
- bat-rpls-2: [PASS][1] -> [ABORT][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13149/bat-rpls-2/igt@debugfs_test@read_all_entries.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8970/bat-rpls-2/igt@debugfs_test@read_all_entries.html
Known issues
------------
Here are the changes found in IGTPW_8970 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_module_load@load:
- bat-adls-5: [PASS][3] -> [ABORT][4] ([i915#4391])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13149/bat-adls-5/igt@i915_module_load@load.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8970/bat-adls-5/igt@i915_module_load@load.html
* igt@i915_pm_backlight@basic-brightness@edp-1:
- bat-rplp-1: NOTRUN -> [ABORT][5] ([i915#7077])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8970/bat-rplp-1/igt@i915_pm_backlight@basic-brightness@edp-1.html
* igt@kms_pipe_crc_basic@nonblocking-crc@pipe-c-dp-1:
- bat-dg2-8: [PASS][6] -> [FAIL][7] ([i915#7932])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13149/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc@pipe-c-dp-1.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8970/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc@pipe-c-dp-1.html
* igt@kms_pipe_crc_basic@read-crc:
- bat-adlp-9: NOTRUN -> [SKIP][8] ([i915#3546]) +1 similar issue
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8970/bat-adlp-9/igt@kms_pipe_crc_basic@read-crc.html
#### Possible fixes ####
* igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1:
- bat-dg2-8: [FAIL][9] ([i915#7932]) -> [PASS][10]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13149/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8970/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1.html
#### Warnings ####
* igt@kms_setmode@basic-clone-single-crtc:
- bat-rplp-1: [ABORT][11] ([i915#4579] / [i915#8260]) -> [SKIP][12] ([i915#3555] / [i915#4579])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13149/bat-rplp-1/igt@kms_setmode@basic-clone-single-crtc.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8970/bat-rplp-1/igt@kms_setmode@basic-clone-single-crtc.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#4391]: https://gitlab.freedesktop.org/drm/intel/issues/4391
[i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
[i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
[i915#7077]: https://gitlab.freedesktop.org/drm/intel/issues/7077
[i915#7920]: https://gitlab.freedesktop.org/drm/intel/issues/7920
[i915#7932]: https://gitlab.freedesktop.org/drm/intel/issues/7932
[i915#7953]: https://gitlab.freedesktop.org/drm/intel/issues/7953
[i915#8260]: https://gitlab.freedesktop.org/drm/intel/issues/8260
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7292 -> IGTPW_8970
CI-20190529: 20190529
CI_DRM_13149: 9bebeeea1972b311c83012ed7507a34bc4b6a723 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_8970: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8970/index.html
IGT_7292: 9d9475ffd3b5ae18fd8ec120595385f6c562f249 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8970/index.html
[-- Attachment #2: Type: text/html, Size: 5528 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* [igt-dev] [PATCHv2 i-g-t 1/4] tests/kms_async_flips: Get rid of i915 specific fb creation
2023-05-16 6:22 [igt-dev] [PATCH i-g-t 1/4] tests/kms_async_flips: Ger rid of i915 specific fb creation Arun R Murthy
` (4 preceding siblings ...)
2023-05-16 7:24 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,1/4] " Patchwork
@ 2023-05-17 3:50 ` Arun R Murthy
2023-05-17 3:50 ` [igt-dev] [PATCHv2 i-g-t 2/4] tests/kms_async_flips: Run the test only once per pipe Arun R Murthy
2023-05-17 5:49 ` [igt-dev] [PATCHv2 i-g-t 1/4] tests/kms_async_flips: Get rid of i915 specific fb creation Karthik B S
2023-05-17 4:45 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [PATCHv2,i-g-t,1/4] tests/kms_async_flips: Get rid of i915 specific fb creation (rev2) Patchwork
` (3 subsequent siblings)
9 siblings, 2 replies; 24+ messages in thread
From: Arun R Murthy @ 2023-05-17 3:50 UTC (permalink / raw)
To: igt-dev; +Cc: Arun R Murthy
No idea why the test wants to create the fb differently between i915
vs. others. Unify it.
v2: some correction in commit message
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
tests/kms_async_flips.c | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index 51ffa523..fe27a9ec 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -115,6 +115,15 @@ static void wait_flip_event(data_t *data)
}
}
+static uint64_t default_modifier(data_t *data)
+{
+ if (igt_display_has_format_mod(&data->display, DRM_FORMAT_XRGB8888,
+ I915_FORMAT_MOD_X_TILED))
+ return I915_FORMAT_MOD_X_TILED;
+ else
+ return DRM_FORMAT_MOD_LINEAR;
+}
+
static void make_fb(data_t *data, struct igt_fb *fb,
uint32_t width, uint32_t height, int index)
{
@@ -123,14 +132,8 @@ static void make_fb(data_t *data, struct igt_fb *fb,
rec_width = width / (ARRAY_SIZE(data->bufs) * 2);
- if (is_i915_device(data->drm_fd)) {
- igt_create_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888,
- I915_FORMAT_MOD_X_TILED, fb);
- igt_draw_fill_fb(data->drm_fd, fb, 0x88);
- } else {
- igt_create_color_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888,
- DRM_FORMAT_MOD_LINEAR, 0.0, 0.0, 0.5, fb);
- }
+ igt_create_color_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888,
+ default_modifier(data), 0.0, 0.0, 0.5, fb);
cr = igt_get_cairo_ctx(data->drm_fd, fb);
igt_paint_color_rand(cr, rec_width * 2 + rec_width * index, 0, rec_width, height);
--
2.25.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [igt-dev] [PATCHv2 i-g-t 2/4] tests/kms_async_flips: Run the test only once per pipe
2023-05-17 3:50 ` [igt-dev] [PATCHv2 i-g-t 1/4] tests/kms_async_flips: Get " Arun R Murthy
@ 2023-05-17 3:50 ` Arun R Murthy
2023-05-17 6:33 ` Karthik B S
2023-05-17 5:49 ` [igt-dev] [PATCHv2 i-g-t 1/4] tests/kms_async_flips: Get rid of i915 specific fb creation Karthik B S
1 sibling, 1 reply; 24+ messages in thread
From: Arun R Murthy @ 2023-05-17 3:50 UTC (permalink / raw)
To: igt-dev; +Cc: Arun R Murthy
No real reason to iterate over all the outputs here. Just
do the test once per pipe.
v2: corrected commit message
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
tests/kms_async_flips.c | 25 +++++++++----------------
1 file changed, 9 insertions(+), 16 deletions(-)
diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index fe27a9ec..1c036426 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -548,27 +548,20 @@ static void test_crc(data_t *data)
static void run_test(data_t *data, void (*test)(data_t *))
{
- igt_output_t *output;
- enum pipe pipe;
igt_display_t *display = &data->display;
- for_each_pipe(display, pipe) {
- for_each_valid_output_on_pipe(display, pipe, output) {
- igt_display_reset(display);
+ for_each_valid_output_on_pipe(display, data->pipe, data->output) {
+ igt_display_reset(display);
- igt_output_set_pipe(output, pipe);
- if (!i915_pipe_output_combo_valid(display))
- continue;
+ igt_output_set_pipe(data->output, data->pipe);
+ if (!i915_pipe_output_combo_valid(display))
+ continue;
- igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe), output->name) {
- data->output = output;
- data->pipe = pipe;
- test(data);
- }
+ igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data->pipe), data->output->name)
+ test(data);
- if (!data->extended)
- break;
- }
+ if (!data->extended)
+ break;
}
}
--
2.25.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [PATCHv2,i-g-t,1/4] tests/kms_async_flips: Get rid of i915 specific fb creation (rev2)
2023-05-16 6:22 [igt-dev] [PATCH i-g-t 1/4] tests/kms_async_flips: Ger rid of i915 specific fb creation Arun R Murthy
` (5 preceding siblings ...)
2023-05-17 3:50 ` [igt-dev] [PATCHv2 i-g-t 1/4] tests/kms_async_flips: Get " Arun R Murthy
@ 2023-05-17 4:45 ` Patchwork
2023-05-17 14:03 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
` (2 subsequent siblings)
9 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2023-05-17 4:45 UTC (permalink / raw)
To: Arun R Murthy; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 7316 bytes --]
== Series Details ==
Series: series starting with [PATCHv2,i-g-t,1/4] tests/kms_async_flips: Get rid of i915 specific fb creation (rev2)
URL : https://patchwork.freedesktop.org/series/117798/
State : success
== Summary ==
CI Bug Log - changes from IGT_7293 -> IGTPW_8980
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/index.html
Participating hosts (36 -> 37)
------------------------------
Additional (2): fi-kbl-soraka bat-mtlp-6
Missing (1): fi-snb-2520m
Known issues
------------
Here are the changes found in IGTPW_8980 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_huc_copy@huc-copy:
- fi-kbl-soraka: NOTRUN -> [SKIP][1] ([fdo#109271] / [i915#2190])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/fi-kbl-soraka/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_swapping@basic:
- fi-kbl-soraka: NOTRUN -> [SKIP][2] ([fdo#109271] / [i915#4613]) +3 similar issues
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/fi-kbl-soraka/igt@gem_lmem_swapping@basic.html
* igt@i915_selftest@live@gt_heartbeat:
- fi-apl-guc: [PASS][3] -> [DMESG-FAIL][4] ([i915#5334])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html
* igt@i915_selftest@live@gt_pm:
- fi-kbl-soraka: NOTRUN -> [DMESG-FAIL][5] ([i915#1886] / [i915#7913])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/fi-kbl-soraka/igt@i915_selftest@live@gt_pm.html
* igt@i915_selftest@live@slpc:
- bat-rpls-2: NOTRUN -> [DMESG-WARN][6] ([i915#6367])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/bat-rpls-2/igt@i915_selftest@live@slpc.html
* igt@i915_suspend@basic-s2idle-without-i915:
- bat-rpls-2: NOTRUN -> [ABORT][7] ([i915#6687])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/bat-rpls-2/igt@i915_suspend@basic-s2idle-without-i915.html
* igt@kms_chamelium_frames@hdmi-crc-fast:
- fi-kbl-soraka: NOTRUN -> [SKIP][8] ([fdo#109271]) +14 similar issues
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/fi-kbl-soraka/igt@kms_chamelium_frames@hdmi-crc-fast.html
* igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1:
- bat-dg2-8: [PASS][9] -> [FAIL][10] ([i915#7932])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1.html
* igt@kms_setmode@basic-clone-single-crtc:
- fi-kbl-soraka: NOTRUN -> [SKIP][11] ([fdo#109271] / [i915#4579])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/fi-kbl-soraka/igt@kms_setmode@basic-clone-single-crtc.html
#### Possible fixes ####
* igt@i915_selftest@live@migrate:
- bat-atsm-1: [DMESG-FAIL][12] ([i915#7699] / [i915#7913]) -> [PASS][13]
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/bat-atsm-1/igt@i915_selftest@live@migrate.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/bat-atsm-1/igt@i915_selftest@live@migrate.html
* igt@i915_selftest@live@reset:
- bat-rpls-2: [ABORT][14] ([i915#4983] / [i915#7461] / [i915#7913] / [i915#8347]) -> [PASS][15]
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/bat-rpls-2/igt@i915_selftest@live@reset.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/bat-rpls-2/igt@i915_selftest@live@reset.html
#### Warnings ####
* igt@kms_setmode@basic-clone-single-crtc:
- bat-rplp-1: [SKIP][16] ([i915#3555] / [i915#4579]) -> [ABORT][17] ([i915#4579] / [i915#8260])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/bat-rplp-1/igt@kms_setmode@basic-clone-single-crtc.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/bat-rplp-1/igt@kms_setmode@basic-clone-single-crtc.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
[i915#1886]: https://gitlab.freedesktop.org/drm/intel/issues/1886
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
[i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3595]: https://gitlab.freedesktop.org/drm/intel/issues/3595
[i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
[i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
[i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
[i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
[i915#4342]: https://gitlab.freedesktop.org/drm/intel/issues/4342
[i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
[i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
[i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274
[i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
[i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
[i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
[i915#6645]: https://gitlab.freedesktop.org/drm/intel/issues/6645
[i915#6687]: https://gitlab.freedesktop.org/drm/intel/issues/6687
[i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456
[i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461
[i915#7699]: https://gitlab.freedesktop.org/drm/intel/issues/7699
[i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
[i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
[i915#7932]: https://gitlab.freedesktop.org/drm/intel/issues/7932
[i915#8260]: https://gitlab.freedesktop.org/drm/intel/issues/8260
[i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7293 -> IGTPW_8980
CI-20190529: 20190529
CI_DRM_13154: d04e82f5245c285e7ae36955d89c4d217d04d664 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_8980: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/index.html
IGT_7293: a19a081d1b8a8f902d7d8009a6ea6c471d5531ad @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/index.html
[-- Attachment #2: Type: text/html, Size: 7305 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [igt-dev] [PATCHv2 i-g-t 1/4] tests/kms_async_flips: Get rid of i915 specific fb creation
2023-05-17 3:50 ` [igt-dev] [PATCHv2 i-g-t 1/4] tests/kms_async_flips: Get " Arun R Murthy
2023-05-17 3:50 ` [igt-dev] [PATCHv2 i-g-t 2/4] tests/kms_async_flips: Run the test only once per pipe Arun R Murthy
@ 2023-05-17 5:49 ` Karthik B S
1 sibling, 0 replies; 24+ messages in thread
From: Karthik B S @ 2023-05-17 5:49 UTC (permalink / raw)
To: Arun R Murthy, igt-dev
On 5/17/2023 9:20 AM, Arun R Murthy wrote:
> No idea why the test wants to create the fb differently between i915
> vs. others. Unify it.
>
> v2: some correction in commit message
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
> ---
> tests/kms_async_flips.c | 19 +++++++++++--------
> 1 file changed, 11 insertions(+), 8 deletions(-)
>
> diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
> index 51ffa523..fe27a9ec 100644
> --- a/tests/kms_async_flips.c
> +++ b/tests/kms_async_flips.c
> @@ -115,6 +115,15 @@ static void wait_flip_event(data_t *data)
> }
> }
>
> +static uint64_t default_modifier(data_t *data)
> +{
> + if (igt_display_has_format_mod(&data->display, DRM_FORMAT_XRGB8888,
> + I915_FORMAT_MOD_X_TILED))
> + return I915_FORMAT_MOD_X_TILED;
> + else
> + return DRM_FORMAT_MOD_LINEAR;
> +}
> +
> static void make_fb(data_t *data, struct igt_fb *fb,
> uint32_t width, uint32_t height, int index)
> {
> @@ -123,14 +132,8 @@ static void make_fb(data_t *data, struct igt_fb *fb,
>
> rec_width = width / (ARRAY_SIZE(data->bufs) * 2);
>
> - if (is_i915_device(data->drm_fd)) {
> - igt_create_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888,
> - I915_FORMAT_MOD_X_TILED, fb);
> - igt_draw_fill_fb(data->drm_fd, fb, 0x88);
> - } else {
> - igt_create_color_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888,
> - DRM_FORMAT_MOD_LINEAR, 0.0, 0.0, 0.5, fb);
> - }
> + igt_create_color_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888,
> + default_modifier(data), 0.0, 0.0, 0.5, fb);
>
> cr = igt_get_cairo_ctx(data->drm_fd, fb);
> igt_paint_color_rand(cr, rec_width * 2 + rec_width * index, 0, rec_width, height);
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [igt-dev] [PATCHv2 i-g-t 2/4] tests/kms_async_flips: Run the test only once per pipe
2023-05-17 3:50 ` [igt-dev] [PATCHv2 i-g-t 2/4] tests/kms_async_flips: Run the test only once per pipe Arun R Murthy
@ 2023-05-17 6:33 ` Karthik B S
2023-05-17 7:51 ` Murthy, Arun R
0 siblings, 1 reply; 24+ messages in thread
From: Karthik B S @ 2023-05-17 6:33 UTC (permalink / raw)
To: Arun R Murthy, igt-dev
On 5/17/2023 9:20 AM, Arun R Murthy wrote:
> No real reason to iterate over all the outputs here. Just
> do the test once per pipe.
>
> v2: corrected commit message
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> ---
> tests/kms_async_flips.c | 25 +++++++++----------------
> 1 file changed, 9 insertions(+), 16 deletions(-)
>
> diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
> index fe27a9ec..1c036426 100644
> --- a/tests/kms_async_flips.c
> +++ b/tests/kms_async_flips.c
> @@ -548,27 +548,20 @@ static void test_crc(data_t *data)
>
> static void run_test(data_t *data, void (*test)(data_t *))
> {
> - igt_output_t *output;
> - enum pipe pipe;
> igt_display_t *display = &data->display;
>
> - for_each_pipe(display, pipe) {
> - for_each_valid_output_on_pipe(display, pipe, output) {
> - igt_display_reset(display);
> + for_each_valid_output_on_pipe(display, data->pipe, data->output) {
> + igt_display_reset(display);
>
> - igt_output_set_pipe(output, pipe);
> - if (!i915_pipe_output_combo_valid(display))
> - continue;
> + igt_output_set_pipe(data->output, data->pipe);
> + if (!i915_pipe_output_combo_valid(display))
> + continue;
>
> - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe), output->name) {
> - data->output = output;
> - data->pipe = pipe;
> - test(data);
> - }
> + igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data->pipe), data->output->name)
> + test(data);
>
> - if (!data->extended)
> - break;
> - }
> + if (!data->extended)
> + break;
Hi,
Based on discussion on the previous revision, I think it would be better
to remove this completely and run on all outputs even on regular CI runs?
Thanks,
Karthik.B.S
> }
> }
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [igt-dev] [PATCHv2 i-g-t 2/4] tests/kms_async_flips: Run the test only once per pipe
2023-05-17 6:33 ` Karthik B S
@ 2023-05-17 7:51 ` Murthy, Arun R
0 siblings, 0 replies; 24+ messages in thread
From: Murthy, Arun R @ 2023-05-17 7:51 UTC (permalink / raw)
To: B S, Karthik, igt-dev@lists.freedesktop.org
> -----Original Message-----
> From: B S, Karthik <karthik.b.s@intel.com>
> Sent: Wednesday, May 17, 2023 12:04 PM
> To: Murthy, Arun R <arun.r.murthy@intel.com>; igt-
> dev@lists.freedesktop.org
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Subject: Re: [PATCHv2 i-g-t 2/4] tests/kms_async_flips: Run the test only once
> per pipe
>
>
> On 5/17/2023 9:20 AM, Arun R Murthy wrote:
> > No real reason to iterate over all the outputs here. Just do the test
> > once per pipe.
> >
> > v2: corrected commit message
> >
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> > ---
> > tests/kms_async_flips.c | 25 +++++++++----------------
> > 1 file changed, 9 insertions(+), 16 deletions(-)
> >
> > diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c index
> > fe27a9ec..1c036426 100644
> > --- a/tests/kms_async_flips.c
> > +++ b/tests/kms_async_flips.c
> > @@ -548,27 +548,20 @@ static void test_crc(data_t *data)
> >
> > static void run_test(data_t *data, void (*test)(data_t *))
> > {
> > - igt_output_t *output;
> > - enum pipe pipe;
> > igt_display_t *display = &data->display;
> >
> > - for_each_pipe(display, pipe) {
> > - for_each_valid_output_on_pipe(display, pipe, output) {
> > - igt_display_reset(display);
> > + for_each_valid_output_on_pipe(display, data->pipe, data->output) {
> > + igt_display_reset(display);
> >
> > - igt_output_set_pipe(output, pipe);
> > - if (!i915_pipe_output_combo_valid(display))
> > - continue;
> > + igt_output_set_pipe(data->output, data->pipe);
> > + if (!i915_pipe_output_combo_valid(display))
> > + continue;
> >
> > - igt_dynamic_f("pipe-%s-%s",
> kmstest_pipe_name(pipe), output->name) {
> > - data->output = output;
> > - data->pipe = pipe;
> > - test(data);
> > - }
> > + igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data-
> >pipe), data->output->name)
> > + test(data);
> >
> > - if (!data->extended)
> > - break;
> > - }
> > + if (!data->extended)
> > + break;
>
> Hi,
>
> Based on discussion on the previous revision, I think it would be better to
> remove this completely and run on all outputs even on regular CI runs?
>
Ok, Agree will remove this patch.
Thanks and Regards,
Arun R Murthy
--------------------
> Thanks,
> Karthik.B.S
> > }
> > }
> >
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 4/4] tests/kms_async_flips: Test all modifiers
2023-05-16 6:22 ` [igt-dev] [PATCH i-g-t 4/4] tests/kms_async_flips: Test all modifiers Arun R Murthy
@ 2023-05-17 9:01 ` Karthik B S
0 siblings, 0 replies; 24+ messages in thread
From: Karthik B S @ 2023-05-17 9:01 UTC (permalink / raw)
To: Arun R Murthy, igt-dev
On 5/16/2023 11:52 AM, Arun R Murthy wrote:
> Run the basic async flip test for all modifiers reported
> by the plane (for the XRGB8888 format). The driver may not
> support async flip with all modifiers so we allow this to fail.
>
> TODO: probably shuould add an even more basic subtest that
> makes sure the driver accepts async flips with a least
> one format/modifier combo, if it advertises async flip
> support
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> ---
> tests/kms_async_flips.c | 53 +++++++++++++++++++++++++++++++++--------
> 1 file changed, 43 insertions(+), 10 deletions(-)
>
> diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
> index f54bd7ca..3b8cb988 100644
> --- a/tests/kms_async_flips.c
> +++ b/tests/kms_async_flips.c
> @@ -53,6 +53,8 @@ typedef struct {
> igt_output_t *output;
> unsigned long flip_timestamp_us;
> double flip_interval;
> + uint64_t modifier;
> + igt_plane_t *plane;
> igt_pipe_crc_t *pipe_crc;
> igt_crc_t ref_crc;
> int flip_count;
> @@ -61,6 +63,7 @@ typedef struct {
> bool extended;
> enum pipe pipe;
> bool alternate_sync_async;
> + bool allow_fail;
> } data_t;
>
> static void flip_handler(int fd_, unsigned int sequence, unsigned int tv_sec,
> @@ -133,7 +136,7 @@ static void make_fb(data_t *data, struct igt_fb *fb,
> rec_width = width / (ARRAY_SIZE(data->bufs) * 2);
>
> igt_create_color_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888,
> - default_modifier(data), 0.0, 0.0, 0.5, fb);
> + data->modifier, 0.0, 0.0, 0.5, fb);
>
> cr = igt_get_cairo_ctx(data->drm_fd, fb);
> igt_paint_color_rand(cr, rec_width * 2 + rec_width * index, 0, rec_width, height);
> @@ -159,24 +162,26 @@ static void test_init(data_t *data)
> data->refresh_rate = mode->vrefresh;
>
> igt_output_set_pipe(data->output, data->pipe);
> +
> + data->plane = igt_output_get_plane_type(data->output, DRM_PLANE_TYPE_PRIMARY);
> }
>
> static void test_init_fbs(data_t *data)
> {
> int i;
> uint32_t width, height;
> - igt_plane_t *plane;
> static uint32_t prev_output_id;
> + static uint64_t prev_modifier;
> drmModeModeInfo *mode;
>
> mode = igt_output_get_mode(data->output);
> width = mode->hdisplay;
> height = mode->vdisplay;
>
> - plane = igt_output_get_plane_type(data->output, DRM_PLANE_TYPE_PRIMARY);
> -
> - if (prev_output_id != data->output->id) {
> + if (prev_output_id != data->output->id ||
> + prev_modifier != data->modifier) {
> prev_output_id = data->output->id;
> + prev_modifier = data->modifier;
>
> if (data->bufs[0].fb_id) {
> for (i = 0; i < ARRAY_SIZE(data->bufs); i++)
> @@ -187,8 +192,8 @@ static void test_init_fbs(data_t *data)
> make_fb(data, &data->bufs[i], width, height, i);
> }
>
> - igt_plane_set_fb(plane, &data->bufs[0]);
> - igt_plane_set_size(plane, width, height);
> + igt_plane_set_fb(data->plane, &data->bufs[0]);
> + igt_plane_set_size(data->plane, width, height);
>
> igt_display_commit2(&data->display, data->display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
> }
> @@ -243,8 +248,10 @@ static void test_async_flip(data_t *data)
> ret = drmModePageFlip(data->drm_fd, data->crtc_id,
> data->bufs[frame % 4].fb_id,
> flags, data);
> -
> - igt_assert(ret == 0);
> + if (frame == 1 && data->allow_fail)
> + igt_skip_on(ret == -EINVAL);
> + else
> + igt_assert(ret == 0);
>
> wait_flip_event(data);
>
> @@ -556,6 +563,8 @@ static void run_test(data_t *data, void (*test)(data_t *))
> continue;
>
> test_init(data);
> + data->allow_fail = false;
> + data->modifier = default_modifier(data);
> igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data->pipe), data->output->name) {
> test_init_fbs(data);
> test(data);
> @@ -566,6 +575,30 @@ static void run_test(data_t *data, void (*test)(data_t *))
> }
> }
>
> +static void run_test_with_modifiers(data_t *data, void (*test)(data_t *))
> +{
> + for_each_pipe_with_valid_output(&data->display, data->pipe, data->output) {
Hi,
Don't we want to run this with all pipes at least once like the other
subtests? Any particular reason for this?
> + test_init(data);
> +
> + for (int i = 0; i < data->plane->format_mod_count; i++) {
> + if (data->plane->formats[i] != DRM_FORMAT_XRGB8888)
> + continue;
> +
> + data->allow_fail = true;
> + data->modifier = data->plane->modifiers[i];
> +
> + igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data->pipe),
Please add output name print here as well, like in patch 2.
> + igt_fb_modifier_name(data->modifier)) {
> + test_init_fbs(data);
> + test(data);
> + }
> + }
> +
> + if (!data->extended)
> + break;
Should this be removed similar to patch 2, so that all outputs can be
verified even on normal CI run?
Thanks,
Karthik.B.S
> + }
> +}
> +
> static int opt_handler(int opt, int opt_index, void *_data)
> {
> data_t *data = _data;
> @@ -612,7 +645,7 @@ igt_main_args("e", NULL, help_str, opt_handler, &data)
> igt_describe("Wait for page flip events in between successive asynchronous flips");
> igt_subtest_with_dynamic("async-flip-with-page-flip-events") {
> data.alternate_sync_async = false;
> - run_test(&data, test_async_flip);
> + run_test_with_modifiers(&data, test_async_flip);
> }
>
> igt_describe("Alternate between sync and async flips");
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 3/4] tests/kms_async_flips: Split test_init()
2023-05-16 6:22 ` [igt-dev] [PATCH i-g-t 3/4] tests/kms_async_flips: Split test_init() Arun R Murthy
@ 2023-05-17 9:04 ` Karthik B S
0 siblings, 0 replies; 24+ messages in thread
From: Karthik B S @ 2023-05-17 9:04 UTC (permalink / raw)
To: Arun R Murthy, igt-dev
On 5/16/2023 11:52 AM, Arun R Murthy wrote:
> Split the test_init() into two parts: one sets up the mode, the
> other the framebuffers. Will be useful for testing different
> modifiers.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
> ---
> tests/kms_async_flips.c | 37 +++++++++++++++++++------------------
> 1 file changed, 19 insertions(+), 18 deletions(-)
>
> diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
> index 1c036426..f54bd7ca 100644
> --- a/tests/kms_async_flips.c
> +++ b/tests/kms_async_flips.c
> @@ -148,23 +148,31 @@ static void require_monotonic_timestamp(int fd)
>
> static void test_init(data_t *data)
> {
> - int i;
> - uint32_t width, height;
> - igt_plane_t *plane;
> - static uint32_t prev_output_id;
> drmModeModeInfo *mode;
>
> igt_display_reset(&data->display);
> igt_display_commit(&data->display);
>
> mode = igt_output_get_mode(data->output);
> - width = mode->hdisplay;
> - height = mode->vdisplay;
>
> data->crtc_id = data->display.pipes[data->pipe].crtc_id;
> data->refresh_rate = mode->vrefresh;
>
> igt_output_set_pipe(data->output, data->pipe);
> +}
> +
> +static void test_init_fbs(data_t *data)
> +{
> + int i;
> + uint32_t width, height;
> + igt_plane_t *plane;
> + static uint32_t prev_output_id;
> + drmModeModeInfo *mode;
> +
> + mode = igt_output_get_mode(data->output);
> + width = mode->hdisplay;
> + height = mode->vdisplay;
> +
> plane = igt_output_get_plane_type(data->output, DRM_PLANE_TYPE_PRIMARY);
>
> if (prev_output_id != data->output->id) {
> @@ -191,8 +199,6 @@ static void test_async_flip(data_t *data)
> long long int fps;
> struct timeval start, end, diff;
>
> - test_init(data);
> -
> gettimeofday(&start, NULL);
> frame = 1;
> do {
> @@ -287,8 +293,6 @@ static void test_timestamp(data_t *data)
> unsigned int seq, seq1;
> int ret;
>
> - test_init(data);
> -
> /*
> * In older platforms(<= gen10), async address update bit is double buffered.
> * So flip timestamp can be verified only from the second flip.
> @@ -346,8 +350,6 @@ static void test_cursor(data_t *data)
> do_or_die(drmGetCap(data->drm_fd, DRM_CAP_CURSOR_WIDTH, &width));
> do_or_die(drmGetCap(data->drm_fd, DRM_CAP_CURSOR_WIDTH, &height));
>
> - test_init(data);
> -
> igt_create_color_fb(data->drm_fd, width, height, DRM_FORMAT_ARGB8888,
> DRM_FORMAT_MOD_LINEAR, 1., 1., 1., &cursor_fb);
>
> @@ -388,8 +390,6 @@ static void test_invalid(data_t *data)
> width = mode->hdisplay;
> height = mode->vdisplay;
>
> - test_init(data);
> -
> igt_create_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888,
> I915_FORMAT_MOD_Y_TILED, &fb);
>
> @@ -493,8 +493,6 @@ static void test_crc(data_t *data)
> data->frame_count = 0;
> data->flip_pending = false;
>
> - test_init(data);
> -
> cr = igt_get_cairo_ctx(data->drm_fd, &data->bufs[frame]);
> igt_paint_color(cr, 0, 0, data->bufs[frame].width, data->bufs[frame].height, 1.0, 0.0, 0.0);
> igt_put_cairo_ctx(cr);
> @@ -550,15 +548,18 @@ static void run_test(data_t *data, void (*test)(data_t *))
> {
> igt_display_t *display = &data->display;
>
> - for_each_valid_output_on_pipe(display, data->pipe, data->output) {
> + for_each_pipe_with_valid_output(display, data->pipe, data->output) {
> igt_display_reset(display);
>
> igt_output_set_pipe(data->output, data->pipe);
> if (!i915_pipe_output_combo_valid(display))
> continue;
>
> - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data->pipe), data->output->name)
> + test_init(data);
> + igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data->pipe), data->output->name) {
> + test_init_fbs(data);
> test(data);
> + }
>
> if (!data->extended)
> break;
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 2/4] tests/kms_async_flips: Ger rid of i915 specific fb creation
2023-05-16 6:22 ` [igt-dev] [PATCH i-g-t 2/4] " Arun R Murthy
@ 2023-05-17 11:10 ` Kamil Konieczny
2023-05-17 11:26 ` Murthy, Arun R
0 siblings, 1 reply; 24+ messages in thread
From: Kamil Konieczny @ 2023-05-17 11:10 UTC (permalink / raw)
To: igt-dev; +Cc: Arun R Murthy
Hi Arun,
On 2023-05-16 at 11:52:04 +0530, Arun R Murthy wrote:
> No idea why the test wants to create the fb differently between i915
> vs. others. Unify it.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> ---
> tests/kms_async_flips.c | 25 +++++++++----------------
> 1 file changed, 9 insertions(+), 16 deletions(-)
>
> diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
> index fe27a9ec..1c036426 100644
> --- a/tests/kms_async_flips.c
> +++ b/tests/kms_async_flips.c
> @@ -548,27 +548,20 @@ static void test_crc(data_t *data)
>
> static void run_test(data_t *data, void (*test)(data_t *))
> {
> - igt_output_t *output;
> - enum pipe pipe;
> igt_display_t *display = &data->display;
>
> - for_each_pipe(display, pipe) {
> - for_each_valid_output_on_pipe(display, pipe, output) {
> - igt_display_reset(display);
> + for_each_valid_output_on_pipe(display, data->pipe, data->output) {
> + igt_display_reset(display);
Above change is not described, is it really the same functionality ?
Regards,
Kamil
>
> - igt_output_set_pipe(output, pipe);
> - if (!i915_pipe_output_combo_valid(display))
> - continue;
> + igt_output_set_pipe(data->output, data->pipe);
> + if (!i915_pipe_output_combo_valid(display))
> + continue;
>
> - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe), output->name) {
> - data->output = output;
> - data->pipe = pipe;
> - test(data);
> - }
> + igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data->pipe), data->output->name)
> + test(data);
>
> - if (!data->extended)
> - break;
> - }
> + if (!data->extended)
> + break;
> }
> }
>
> --
> 2.25.1
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 2/4] tests/kms_async_flips: Ger rid of i915 specific fb creation
2023-05-17 11:10 ` Kamil Konieczny
@ 2023-05-17 11:26 ` Murthy, Arun R
0 siblings, 0 replies; 24+ messages in thread
From: Murthy, Arun R @ 2023-05-17 11:26 UTC (permalink / raw)
To: Kamil Konieczny, igt-dev@lists.freedesktop.org
> -----Original Message-----
> From: Kamil Konieczny <kamil.konieczny@linux.intel.com>
> Sent: Wednesday, May 17, 2023 4:41 PM
> To: igt-dev@lists.freedesktop.org
> Cc: Murthy, Arun R <arun.r.murthy@intel.com>; Ville Syrjälä
> <ville.syrjala@linux.intel.com>
> Subject: Re: [igt-dev] [PATCH i-g-t 2/4] tests/kms_async_flips: Ger rid of i915
> specific fb creation
>
> Hi Arun,
>
> On 2023-05-16 at 11:52:04 +0530, Arun R Murthy wrote:
> > No idea why the test wants to create the fb differently between i915
> > vs. others. Unify it.
> >
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> > ---
> > tests/kms_async_flips.c | 25 +++++++++----------------
> > 1 file changed, 9 insertions(+), 16 deletions(-)
> >
> > diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c index
> > fe27a9ec..1c036426 100644
> > --- a/tests/kms_async_flips.c
> > +++ b/tests/kms_async_flips.c
> > @@ -548,27 +548,20 @@ static void test_crc(data_t *data)
> >
> > static void run_test(data_t *data, void (*test)(data_t *)) {
> > - igt_output_t *output;
> > - enum pipe pipe;
> > igt_display_t *display = &data->display;
> >
> > - for_each_pipe(display, pipe) {
> > - for_each_valid_output_on_pipe(display, pipe, output) {
> > - igt_display_reset(display);
> > + for_each_valid_output_on_pipe(display, data->pipe, data->output) {
> > + igt_display_reset(display);
>
> Above change is not described, is it really the same functionality ?
>
Have updated the patch description in the latest version.
Please review the latest version 2.
Thanks and Regards,
Arun R Murthy
--------------------
> Regards,
> Kamil
>
> >
> > - igt_output_set_pipe(output, pipe);
> > - if (!i915_pipe_output_combo_valid(display))
> > - continue;
> > + igt_output_set_pipe(data->output, data->pipe);
> > + if (!i915_pipe_output_combo_valid(display))
> > + continue;
> >
> > - igt_dynamic_f("pipe-%s-%s",
> kmstest_pipe_name(pipe), output->name) {
> > - data->output = output;
> > - data->pipe = pipe;
> > - test(data);
> > - }
> > + igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data-
> >pipe), data->output->name)
> > + test(data);
> >
> > - if (!data->extended)
> > - break;
> > - }
> > + if (!data->extended)
> > + break;
> > }
> > }
> >
> > --
> > 2.25.1
> >
^ permalink raw reply [flat|nested] 24+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [PATCHv2,i-g-t,1/4] tests/kms_async_flips: Get rid of i915 specific fb creation (rev2)
2023-05-16 6:22 [igt-dev] [PATCH i-g-t 1/4] tests/kms_async_flips: Ger rid of i915 specific fb creation Arun R Murthy
` (6 preceding siblings ...)
2023-05-17 4:45 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [PATCHv2,i-g-t,1/4] tests/kms_async_flips: Get rid of i915 specific fb creation (rev2) Patchwork
@ 2023-05-17 14:03 ` Patchwork
2023-05-18 11:25 ` [igt-dev] [PATCHv2 i-g-t 1/4] tests/kms_async_flips: Get rid of i915 specific fb creation Arun R Murthy
2023-05-18 11:58 ` [igt-dev] ✗ Fi.CI.BUILD: failure for series starting with [i-g-t,3/4] tests/kms_async_flips: Split test_init() (rev5) Patchwork
9 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2023-05-17 14:03 UTC (permalink / raw)
To: Murthy, Arun R; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 17770 bytes --]
== Series Details ==
Series: series starting with [PATCHv2,i-g-t,1/4] tests/kms_async_flips: Get rid of i915 specific fb creation (rev2)
URL : https://patchwork.freedesktop.org/series/117798/
State : success
== Summary ==
CI Bug Log - changes from IGT_7293_full -> IGTPW_8980_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/index.html
Participating hosts (7 -> 7)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_8980_full:
### IGT changes ###
#### Possible regressions ####
* igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-linear (NEW):
- {shard-rkl}: NOTRUN -> [SKIP][1] +2 similar issues
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-rkl-7/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-linear.html
* igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-y-rc_ccs-cc (NEW):
- {shard-dg1}: NOTRUN -> [SKIP][2] +2 similar issues
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-dg1-14/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-y-rc_ccs-cc.html
- {shard-tglu}: NOTRUN -> [SKIP][3] +2 similar issues
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-tglu-8/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-y-rc_ccs-cc.html
New tests
---------
New tests have been introduced between IGT_7293_full and IGTPW_8980_full:
### New IGT tests (8) ###
* igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-linear:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-x:
- Statuses : 6 pass(s)
- Exec time: [0.0] s
* igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-y:
- Statuses : 5 pass(s)
- Exec time: [0.0] s
* igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-y-ccs:
- Statuses : 2 skip(s)
- Exec time: [0.0] s
* igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-y-rc_ccs:
- Statuses : 3 skip(s)
- Exec time: [0.0] s
* igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-y-rc_ccs-cc:
- Statuses : 3 skip(s)
- Exec time: [0.0] s
* igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-yf:
- Statuses : 2 pass(s)
- Exec time: [0.0] s
* igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-yf-ccs:
- Statuses : 2 skip(s)
- Exec time: [0.0] s
Known issues
------------
Here are the changes found in IGTPW_8980_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@drm_buddy@all-tests:
- shard-apl: NOTRUN -> [SKIP][4] ([fdo#109271] / [i915#4579])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-apl1/igt@drm_buddy@all-tests.html
* igt@gem_close_race@multigpu-basic-process:
- shard-apl: NOTRUN -> [SKIP][5] ([fdo#109271]) +46 similar issues
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-apl1/igt@gem_close_race@multigpu-basic-process.html
* igt@gem_exec_fair@basic-pace-share@rcs0:
- shard-glk: [PASS][6] -> [FAIL][7] ([i915#2842])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/shard-glk5/igt@gem_exec_fair@basic-pace-share@rcs0.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-glk5/igt@gem_exec_fair@basic-pace-share@rcs0.html
* igt@gem_exec_fair@basic-pace-solo@rcs0:
- shard-apl: [PASS][8] -> [FAIL][9] ([i915#2842])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/shard-apl4/igt@gem_exec_fair@basic-pace-solo@rcs0.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-apl7/igt@gem_exec_fair@basic-pace-solo@rcs0.html
* igt@gem_lmem_swapping@smem-oom:
- shard-apl: NOTRUN -> [SKIP][10] ([fdo#109271] / [i915#4613]) +1 similar issue
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-apl2/igt@gem_lmem_swapping@smem-oom.html
* igt@i915_suspend@basic-s2idle-without-i915:
- shard-snb: [PASS][11] -> [ABORT][12] ([i915#4528] / [i915#8189] / [i915#8213])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/shard-snb4/igt@i915_suspend@basic-s2idle-without-i915.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-snb2/igt@i915_suspend@basic-s2idle-without-i915.html
* igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-linear (NEW):
- shard-glk: NOTRUN -> [SKIP][13] ([fdo#109271]) +2 similar issues
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-glk3/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-linear.html
* igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc:
- shard-apl: NOTRUN -> [SKIP][14] ([fdo#109271] / [i915#3886])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-apl3/igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_content_protection@type1:
- shard-snb: NOTRUN -> [SKIP][15] ([fdo#109271] / [i915#4579])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-snb7/igt@kms_content_protection@type1.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
- shard-glk: [PASS][16] -> [FAIL][17] ([i915#2346])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/shard-glk6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-glk5/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
* igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a1:
- shard-glk: [PASS][18] -> [FAIL][19] ([i915#2122])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/shard-glk2/igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a1.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-glk8/igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a1.html
* igt@kms_flip@flip-vs-modeset-vs-hang@a-hdmi-a2:
- shard-glk: [PASS][20] -> [SKIP][21] ([fdo#109271]) +3 similar issues
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/shard-glk2/igt@kms_flip@flip-vs-modeset-vs-hang@a-hdmi-a2.html
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-glk5/igt@kms_flip@flip-vs-modeset-vs-hang@a-hdmi-a2.html
* igt@kms_flip@flip-vs-modeset-vs-hang@c-dp1:
- shard-apl: [PASS][22] -> [SKIP][23] ([fdo#109271] / [i915#4579])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/shard-apl4/igt@kms_flip@flip-vs-modeset-vs-hang@c-dp1.html
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-apl4/igt@kms_flip@flip-vs-modeset-vs-hang@c-dp1.html
* igt@kms_flip@flip-vs-modeset-vs-hang@c-hdmi-a2:
- shard-glk: [PASS][24] -> [SKIP][25] ([fdo#109271] / [i915#4579])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/shard-glk2/igt@kms_flip@flip-vs-modeset-vs-hang@c-hdmi-a2.html
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-glk5/igt@kms_flip@flip-vs-modeset-vs-hang@c-hdmi-a2.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-pgflip-blt:
- shard-snb: NOTRUN -> [SKIP][26] ([fdo#109271]) +9 similar issues
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-snb5/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-pgflip-blt.html
* igt@kms_plane_alpha_blend@alpha-opaque-fb@pipe-a-dp-1:
- shard-apl: NOTRUN -> [FAIL][27] ([i915#4573]) +1 similar issue
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-apl3/igt@kms_plane_alpha_blend@alpha-opaque-fb@pipe-a-dp-1.html
* igt@kms_vblank@pipe-b-wait-forked-hang:
- shard-apl: [PASS][28] -> [SKIP][29] ([fdo#109271]) +2 similar issues
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/shard-apl3/igt@kms_vblank@pipe-b-wait-forked-hang.html
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-apl4/igt@kms_vblank@pipe-b-wait-forked-hang.html
#### Possible fixes ####
* igt@gem_exec_fair@basic-deadline:
- shard-glk: [FAIL][30] ([i915#2846]) -> [PASS][31]
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/shard-glk2/igt@gem_exec_fair@basic-deadline.html
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-glk4/igt@gem_exec_fair@basic-deadline.html
* igt@gem_exec_fair@basic-none-solo@rcs0:
- shard-apl: [FAIL][32] ([i915#2842]) -> [PASS][33]
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/shard-apl3/igt@gem_exec_fair@basic-none-solo@rcs0.html
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-apl4/igt@gem_exec_fair@basic-none-solo@rcs0.html
* igt@gem_exec_fair@basic-pace-share@rcs0:
- {shard-tglu}: [FAIL][34] ([i915#2842]) -> [PASS][35]
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/shard-tglu-5/igt@gem_exec_fair@basic-pace-share@rcs0.html
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-tglu-4/igt@gem_exec_fair@basic-pace-share@rcs0.html
* igt@gem_spin_batch@user-each:
- shard-apl: [FAIL][36] ([i915#2898]) -> [PASS][37]
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/shard-apl3/igt@gem_spin_batch@user-each.html
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-apl2/igt@gem_spin_batch@user-each.html
* igt@i915_pm_rc6_residency@rc6-idle@rcs0:
- {shard-tglu}: [WARN][38] ([i915#2681]) -> [PASS][39]
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/shard-tglu-4/igt@i915_pm_rc6_residency@rc6-idle@rcs0.html
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-tglu-7/igt@i915_pm_rc6_residency@rc6-idle@rcs0.html
* igt@i915_pm_rc6_residency@rc6-idle@vecs0:
- {shard-dg1}: [FAIL][40] ([i915#3591]) -> [PASS][41]
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/shard-dg1-12/igt@i915_pm_rc6_residency@rc6-idle@vecs0.html
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-dg1-15/igt@i915_pm_rc6_residency@rc6-idle@vecs0.html
* igt@i915_pm_rpm@modeset-lpsp-stress:
- {shard-rkl}: [SKIP][42] ([i915#1397]) -> [PASS][43] +2 similar issues
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/shard-rkl-4/igt@i915_pm_rpm@modeset-lpsp-stress.html
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-rkl-7/igt@i915_pm_rpm@modeset-lpsp-stress.html
* igt@i915_suspend@debugfs-reader:
- shard-apl: [ABORT][44] -> [PASS][45]
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/shard-apl1/igt@i915_suspend@debugfs-reader.html
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-apl7/igt@i915_suspend@debugfs-reader.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
- {shard-rkl}: [FAIL][46] ([i915#3743]) -> [PASS][47]
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/shard-rkl-7/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-rkl-6/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html
* igt@kms_cursor_legacy@forked-move@pipe-b:
- {shard-rkl}: [INCOMPLETE][48] ([i915#8011]) -> [PASS][49]
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/shard-rkl-7/igt@kms_cursor_legacy@forked-move@pipe-b.html
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-rkl-1/igt@kms_cursor_legacy@forked-move@pipe-b.html
* igt@kms_flip@plain-flip-fb-recreate@b-vga1:
- shard-snb: [INCOMPLETE][50] -> [PASS][51]
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/shard-snb6/igt@kms_flip@plain-flip-fb-recreate@b-vga1.html
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-snb7/igt@kms_flip@plain-flip-fb-recreate@b-vga1.html
#### Warnings ####
* igt@kms_content_protection@mei_interface:
- shard-snb: [SKIP][52] ([fdo#109271] / [i915#4579]) -> [SKIP][53] ([fdo#109271])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7293/shard-snb4/igt@kms_content_protection@mei_interface.html
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/shard-snb2/igt@kms_content_protection@mei_interface.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
[fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283
[fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300
[fdo#109314]: https://bugs.freedesktop.org/show_bug.cgi?id=109314
[fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
[fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
[fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
[fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
[i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
[i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122
[i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
[i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
[i915#2876]: https://gitlab.freedesktop.org/drm/intel/issues/2876
[i915#2898]: https://gitlab.freedesktop.org/drm/intel/issues/2898
[i915#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023
[i915#315]: https://gitlab.freedesktop.org/drm/intel/issues/315
[i915#3323]: https://gitlab.freedesktop.org/drm/intel/issues/3323
[i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
[i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
[i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
[i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
[i915#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743
[i915#3778]: https://gitlab.freedesktop.org/drm/intel/issues/3778
[i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
[i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
[i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
[i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
[i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
[i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
[i915#4387]: https://gitlab.freedesktop.org/drm/intel/issues/4387
[i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
[i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
[i915#4573]: https://gitlab.freedesktop.org/drm/intel/issues/4573
[i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#5122]: https://gitlab.freedesktop.org/drm/intel/issues/5122
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
[i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
[i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
[i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
[i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
[i915#5493]: https://gitlab.freedesktop.org/drm/intel/issues/5493
[i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723
[i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
[i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
[i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
[i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
[i915#6786]: https://gitlab.freedesktop.org/drm/intel/issues/6786
[i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
[i915#7276]: https://gitlab.freedesktop.org/drm/intel/issues/7276
[i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456
[i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
[i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
[i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
[i915#7941]: https://gitlab.freedesktop.org/drm/intel/issues/7941
[i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011
[i915#8189]: https://gitlab.freedesktop.org/drm/intel/issues/8189
[i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213
[i915#8381]: https://gitlab.freedesktop.org/drm/intel/issues/8381
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7293 -> IGTPW_8980
CI-20190529: 20190529
CI_DRM_13154: d04e82f5245c285e7ae36955d89c4d217d04d664 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_8980: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/index.html
IGT_7293: a19a081d1b8a8f902d7d8009a6ea6c471d5531ad @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8980/index.html
[-- Attachment #2: Type: text/html, Size: 17221 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* [igt-dev] [PATCHv2 i-g-t 1/4] tests/kms_async_flips: Get rid of i915 specific fb creation
2023-05-16 6:22 [igt-dev] [PATCH i-g-t 1/4] tests/kms_async_flips: Ger rid of i915 specific fb creation Arun R Murthy
` (7 preceding siblings ...)
2023-05-17 14:03 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2023-05-18 11:25 ` Arun R Murthy
2023-05-18 11:25 ` [igt-dev] [PATCHv3 i-g-t 2/4] tests/kms_async_flips: Run the test for all outputs Arun R Murthy
` (2 more replies)
2023-05-18 11:58 ` [igt-dev] ✗ Fi.CI.BUILD: failure for series starting with [i-g-t,3/4] tests/kms_async_flips: Split test_init() (rev5) Patchwork
9 siblings, 3 replies; 24+ messages in thread
From: Arun R Murthy @ 2023-05-18 11:25 UTC (permalink / raw)
To: igt-dev; +Cc: Arun R Murthy
No idea why the test wants to create the fb differently between i915
vs. others. Unify it.
v2: some correction in commit message
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
---
tests/kms_async_flips.c | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index 51ffa523..fe27a9ec 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -115,6 +115,15 @@ static void wait_flip_event(data_t *data)
}
}
+static uint64_t default_modifier(data_t *data)
+{
+ if (igt_display_has_format_mod(&data->display, DRM_FORMAT_XRGB8888,
+ I915_FORMAT_MOD_X_TILED))
+ return I915_FORMAT_MOD_X_TILED;
+ else
+ return DRM_FORMAT_MOD_LINEAR;
+}
+
static void make_fb(data_t *data, struct igt_fb *fb,
uint32_t width, uint32_t height, int index)
{
@@ -123,14 +132,8 @@ static void make_fb(data_t *data, struct igt_fb *fb,
rec_width = width / (ARRAY_SIZE(data->bufs) * 2);
- if (is_i915_device(data->drm_fd)) {
- igt_create_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888,
- I915_FORMAT_MOD_X_TILED, fb);
- igt_draw_fill_fb(data->drm_fd, fb, 0x88);
- } else {
- igt_create_color_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888,
- DRM_FORMAT_MOD_LINEAR, 0.0, 0.0, 0.5, fb);
- }
+ igt_create_color_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888,
+ default_modifier(data), 0.0, 0.0, 0.5, fb);
cr = igt_get_cairo_ctx(data->drm_fd, fb);
igt_paint_color_rand(cr, rec_width * 2 + rec_width * index, 0, rec_width, height);
--
2.25.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [igt-dev] [PATCHv3 i-g-t 2/4] tests/kms_async_flips: Run the test for all outputs
2023-05-18 11:25 ` [igt-dev] [PATCHv2 i-g-t 1/4] tests/kms_async_flips: Get rid of i915 specific fb creation Arun R Murthy
@ 2023-05-18 11:25 ` Arun R Murthy
2023-05-18 11:56 ` Karthik B S
2023-05-18 11:25 ` [igt-dev] [PATCH i-g-t 3/4] tests/kms_async_flips: Split test_init() Arun R Murthy
2023-05-18 11:25 ` [igt-dev] [PATCHv2 i-g-t 4/4] tests/kms_async_flips: Test all modifiers Arun R Murthy
2 siblings, 1 reply; 24+ messages in thread
From: Arun R Murthy @ 2023-05-18 11:25 UTC (permalink / raw)
To: igt-dev; +Cc: Arun R Murthy
Iterate all outputs, in case we have output specific stuff
(eg. PSR) that could affect the behaviour or async flips
v2: corrected commit message
v3: run test for all outputs
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
tests/kms_async_flips.c | 43 ++++++++---------------------------------
1 file changed, 8 insertions(+), 35 deletions(-)
diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index fe27a9ec..99653f1e 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -58,7 +58,6 @@ typedef struct {
int flip_count;
int frame_count;
bool flip_pending;
- bool extended;
enum pipe pipe;
bool alternate_sync_async;
} data_t;
@@ -548,49 +547,23 @@ static void test_crc(data_t *data)
static void run_test(data_t *data, void (*test)(data_t *))
{
- igt_output_t *output;
- enum pipe pipe;
igt_display_t *display = &data->display;
- for_each_pipe(display, pipe) {
- for_each_valid_output_on_pipe(display, pipe, output) {
- igt_display_reset(display);
-
- igt_output_set_pipe(output, pipe);
- if (!i915_pipe_output_combo_valid(display))
- continue;
-
- igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe), output->name) {
- data->output = output;
- data->pipe = pipe;
- test(data);
- }
-
- if (!data->extended)
- break;
- }
- }
-}
+ for_each_valid_output_on_pipe(display, data->pipe, data->output) {
+ igt_display_reset(display);
-static int opt_handler(int opt, int opt_index, void *_data)
-{
- data_t *data = _data;
+ igt_output_set_pipe(data->output, data->pipe);
+ if (!i915_pipe_output_combo_valid(display))
+ continue;
- switch (opt) {
- case 'e':
- data->extended = true;
- break;
+ igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data->pipe), data->output->name)
+ test(data);
}
-
- return IGT_OPT_HANDLER_SUCCESS;
}
-static const char help_str[] =
- " --e \t\tRun the extended tests\n";
-
static data_t data;
-igt_main_args("e", NULL, help_str, opt_handler, &data)
+igt_main_args("e", NULL, NULL, NULL, &data)
{
int i;
--
2.25.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [igt-dev] [PATCH i-g-t 3/4] tests/kms_async_flips: Split test_init()
2023-05-18 11:25 ` [igt-dev] [PATCHv2 i-g-t 1/4] tests/kms_async_flips: Get rid of i915 specific fb creation Arun R Murthy
2023-05-18 11:25 ` [igt-dev] [PATCHv3 i-g-t 2/4] tests/kms_async_flips: Run the test for all outputs Arun R Murthy
@ 2023-05-18 11:25 ` Arun R Murthy
2023-05-18 11:25 ` [igt-dev] [PATCHv2 i-g-t 4/4] tests/kms_async_flips: Test all modifiers Arun R Murthy
2 siblings, 0 replies; 24+ messages in thread
From: Arun R Murthy @ 2023-05-18 11:25 UTC (permalink / raw)
To: igt-dev; +Cc: Arun R Murthy
Split the test_init() into two parts: one sets up the mode, the
other the framebuffers. Will be useful for testing different
modifiers.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
---
tests/kms_async_flips.c | 37 +++++++++++++++++++------------------
1 file changed, 19 insertions(+), 18 deletions(-)
diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index 99653f1e..c86bc18b 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -147,23 +147,31 @@ static void require_monotonic_timestamp(int fd)
static void test_init(data_t *data)
{
- int i;
- uint32_t width, height;
- igt_plane_t *plane;
- static uint32_t prev_output_id;
drmModeModeInfo *mode;
igt_display_reset(&data->display);
igt_display_commit(&data->display);
mode = igt_output_get_mode(data->output);
- width = mode->hdisplay;
- height = mode->vdisplay;
data->crtc_id = data->display.pipes[data->pipe].crtc_id;
data->refresh_rate = mode->vrefresh;
igt_output_set_pipe(data->output, data->pipe);
+}
+
+static void test_init_fbs(data_t *data)
+{
+ int i;
+ uint32_t width, height;
+ igt_plane_t *plane;
+ static uint32_t prev_output_id;
+ drmModeModeInfo *mode;
+
+ mode = igt_output_get_mode(data->output);
+ width = mode->hdisplay;
+ height = mode->vdisplay;
+
plane = igt_output_get_plane_type(data->output, DRM_PLANE_TYPE_PRIMARY);
if (prev_output_id != data->output->id) {
@@ -190,8 +198,6 @@ static void test_async_flip(data_t *data)
long long int fps;
struct timeval start, end, diff;
- test_init(data);
-
gettimeofday(&start, NULL);
frame = 1;
do {
@@ -286,8 +292,6 @@ static void test_timestamp(data_t *data)
unsigned int seq, seq1;
int ret;
- test_init(data);
-
/*
* In older platforms(<= gen10), async address update bit is double buffered.
* So flip timestamp can be verified only from the second flip.
@@ -345,8 +349,6 @@ static void test_cursor(data_t *data)
do_or_die(drmGetCap(data->drm_fd, DRM_CAP_CURSOR_WIDTH, &width));
do_or_die(drmGetCap(data->drm_fd, DRM_CAP_CURSOR_WIDTH, &height));
- test_init(data);
-
igt_create_color_fb(data->drm_fd, width, height, DRM_FORMAT_ARGB8888,
DRM_FORMAT_MOD_LINEAR, 1., 1., 1., &cursor_fb);
@@ -387,8 +389,6 @@ static void test_invalid(data_t *data)
width = mode->hdisplay;
height = mode->vdisplay;
- test_init(data);
-
igt_create_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888,
I915_FORMAT_MOD_Y_TILED, &fb);
@@ -492,8 +492,6 @@ static void test_crc(data_t *data)
data->frame_count = 0;
data->flip_pending = false;
- test_init(data);
-
cr = igt_get_cairo_ctx(data->drm_fd, &data->bufs[frame]);
igt_paint_color(cr, 0, 0, data->bufs[frame].width, data->bufs[frame].height, 1.0, 0.0, 0.0);
igt_put_cairo_ctx(cr);
@@ -549,15 +547,18 @@ static void run_test(data_t *data, void (*test)(data_t *))
{
igt_display_t *display = &data->display;
- for_each_valid_output_on_pipe(display, data->pipe, data->output) {
+ for_each_pipe_with_valid_output(display, data->pipe, data->output) {
igt_display_reset(display);
igt_output_set_pipe(data->output, data->pipe);
if (!i915_pipe_output_combo_valid(display))
continue;
- igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data->pipe), data->output->name)
+ test_init(data);
+ igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data->pipe), data->output->name) {
+ test_init_fbs(data);
test(data);
+ }
}
}
--
2.25.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [igt-dev] [PATCHv2 i-g-t 4/4] tests/kms_async_flips: Test all modifiers
2023-05-18 11:25 ` [igt-dev] [PATCHv2 i-g-t 1/4] tests/kms_async_flips: Get rid of i915 specific fb creation Arun R Murthy
2023-05-18 11:25 ` [igt-dev] [PATCHv3 i-g-t 2/4] tests/kms_async_flips: Run the test for all outputs Arun R Murthy
2023-05-18 11:25 ` [igt-dev] [PATCH i-g-t 3/4] tests/kms_async_flips: Split test_init() Arun R Murthy
@ 2023-05-18 11:25 ` Arun R Murthy
2023-05-18 11:58 ` Karthik B S
2 siblings, 1 reply; 24+ messages in thread
From: Arun R Murthy @ 2023-05-18 11:25 UTC (permalink / raw)
To: igt-dev; +Cc: Arun R Murthy
Run the basic async flip test for all modifiers reported
by the plane (for the XRGB8888 format). The driver may not
support async flip with all modifiers so we allow this to fail.
v2: print output name along with the modifier
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
tests/kms_async_flips.c | 51 +++++++++++++++++++++++++++++++++--------
1 file changed, 41 insertions(+), 10 deletions(-)
diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index c86bc18b..3fbd4084 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -53,6 +53,8 @@ typedef struct {
igt_output_t *output;
unsigned long flip_timestamp_us;
double flip_interval;
+ uint64_t modifier;
+ igt_plane_t *plane;
igt_pipe_crc_t *pipe_crc;
igt_crc_t ref_crc;
int flip_count;
@@ -60,6 +62,7 @@ typedef struct {
bool flip_pending;
enum pipe pipe;
bool alternate_sync_async;
+ bool allow_fail;
} data_t;
static void flip_handler(int fd_, unsigned int sequence, unsigned int tv_sec,
@@ -132,7 +135,7 @@ static void make_fb(data_t *data, struct igt_fb *fb,
rec_width = width / (ARRAY_SIZE(data->bufs) * 2);
igt_create_color_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888,
- default_modifier(data), 0.0, 0.0, 0.5, fb);
+ data->modifier, 0.0, 0.0, 0.5, fb);
cr = igt_get_cairo_ctx(data->drm_fd, fb);
igt_paint_color_rand(cr, rec_width * 2 + rec_width * index, 0, rec_width, height);
@@ -158,24 +161,26 @@ static void test_init(data_t *data)
data->refresh_rate = mode->vrefresh;
igt_output_set_pipe(data->output, data->pipe);
+
+ data->plane = igt_output_get_plane_type(data->output, DRM_PLANE_TYPE_PRIMARY);
}
static void test_init_fbs(data_t *data)
{
int i;
uint32_t width, height;
- igt_plane_t *plane;
static uint32_t prev_output_id;
+ static uint64_t prev_modifier;
drmModeModeInfo *mode;
mode = igt_output_get_mode(data->output);
width = mode->hdisplay;
height = mode->vdisplay;
- plane = igt_output_get_plane_type(data->output, DRM_PLANE_TYPE_PRIMARY);
-
- if (prev_output_id != data->output->id) {
+ if (prev_output_id != data->output->id ||
+ prev_modifier != data->modifier) {
prev_output_id = data->output->id;
+ prev_modifier = data->modifier;
if (data->bufs[0].fb_id) {
for (i = 0; i < ARRAY_SIZE(data->bufs); i++)
@@ -186,8 +191,8 @@ static void test_init_fbs(data_t *data)
make_fb(data, &data->bufs[i], width, height, i);
}
- igt_plane_set_fb(plane, &data->bufs[0]);
- igt_plane_set_size(plane, width, height);
+ igt_plane_set_fb(data->plane, &data->bufs[0]);
+ igt_plane_set_size(data->plane, width, height);
igt_display_commit2(&data->display, data->display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
}
@@ -242,8 +247,10 @@ static void test_async_flip(data_t *data)
ret = drmModePageFlip(data->drm_fd, data->crtc_id,
data->bufs[frame % 4].fb_id,
flags, data);
-
- igt_assert(ret == 0);
+ if (frame == 1 && data->allow_fail)
+ igt_skip_on(ret == -EINVAL);
+ else
+ igt_assert(ret == 0);
wait_flip_event(data);
@@ -555,6 +562,8 @@ static void run_test(data_t *data, void (*test)(data_t *))
continue;
test_init(data);
+ data->allow_fail = false;
+ data->modifier = default_modifier(data);
igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data->pipe), data->output->name) {
test_init_fbs(data);
test(data);
@@ -562,6 +571,28 @@ static void run_test(data_t *data, void (*test)(data_t *))
}
}
+static void run_test_with_modifiers(data_t *data, void (*test)(data_t *))
+{
+ for_each_pipe_with_valid_output(&data->display, data->pipe, data->output) {
+ test_init(data);
+
+ for (int i = 0; i < data->plane->format_mod_count; i++) {
+ if (data->plane->formats[i] != DRM_FORMAT_XRGB8888)
+ continue;
+
+ data->allow_fail = true;
+ data->modifier = data->plane->modifiers[i];
+
+ igt_dynamic_f("pipe-%s-%s-%s", kmstest_pipe_name(data->pipe),
+ data->output->name,
+ igt_fb_modifier_name(data->modifier)) {
+ test_init_fbs(data);
+ test(data);
+ }
+ }
+ }
+}
+
static data_t data;
igt_main_args("e", NULL, NULL, NULL, &data)
@@ -592,7 +623,7 @@ igt_main_args("e", NULL, NULL, NULL, &data)
igt_describe("Wait for page flip events in between successive asynchronous flips");
igt_subtest_with_dynamic("async-flip-with-page-flip-events") {
data.alternate_sync_async = false;
- run_test(&data, test_async_flip);
+ run_test_with_modifiers(&data, test_async_flip);
}
igt_describe("Alternate between sync and async flips");
--
2.25.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* Re: [igt-dev] [PATCHv3 i-g-t 2/4] tests/kms_async_flips: Run the test for all outputs
2023-05-18 11:25 ` [igt-dev] [PATCHv3 i-g-t 2/4] tests/kms_async_flips: Run the test for all outputs Arun R Murthy
@ 2023-05-18 11:56 ` Karthik B S
0 siblings, 0 replies; 24+ messages in thread
From: Karthik B S @ 2023-05-18 11:56 UTC (permalink / raw)
To: Arun R Murthy, igt-dev
On 5/18/2023 4:55 PM, Arun R Murthy wrote:
> Iterate all outputs, in case we have output specific stuff
> (eg. PSR) that could affect the behaviour or async flips
>
> v2: corrected commit message
> v3: run test for all outputs
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> ---
> tests/kms_async_flips.c | 43 ++++++++---------------------------------
> 1 file changed, 8 insertions(+), 35 deletions(-)
>
> diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
> index fe27a9ec..99653f1e 100644
> --- a/tests/kms_async_flips.c
> +++ b/tests/kms_async_flips.c
> @@ -58,7 +58,6 @@ typedef struct {
> int flip_count;
> int frame_count;
> bool flip_pending;
> - bool extended;
> enum pipe pipe;
> bool alternate_sync_async;
> } data_t;
> @@ -548,49 +547,23 @@ static void test_crc(data_t *data)
>
> static void run_test(data_t *data, void (*test)(data_t *))
> {
> - igt_output_t *output;
> - enum pipe pipe;
> igt_display_t *display = &data->display;
>
> - for_each_pipe(display, pipe) {
> - for_each_valid_output_on_pipe(display, pipe, output) {
> - igt_display_reset(display);
> -
> - igt_output_set_pipe(output, pipe);
> - if (!i915_pipe_output_combo_valid(display))
> - continue;
> -
> - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe), output->name) {
> - data->output = output;
> - data->pipe = pipe;
> - test(data);
> - }
> -
> - if (!data->extended)
> - break;
> - }
> - }
> -}
> + for_each_valid_output_on_pipe(display, data->pipe, data->output) {
Hi,
Please replace this with 'for_each_pipe_with_valid_output' to iterate
over all pipes.
Thanks,
Karthik.B.S
> + igt_display_reset(display);
>
> -static int opt_handler(int opt, int opt_index, void *_data)
> -{
> - data_t *data = _data;
> + igt_output_set_pipe(data->output, data->pipe);
> + if (!i915_pipe_output_combo_valid(display))
> + continue;
>
> - switch (opt) {
> - case 'e':
> - data->extended = true;
> - break;
> + igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data->pipe), data->output->name)
> + test(data);
> }
> -
> - return IGT_OPT_HANDLER_SUCCESS;
> }
>
> -static const char help_str[] =
> - " --e \t\tRun the extended tests\n";
> -
> static data_t data;
>
> -igt_main_args("e", NULL, help_str, opt_handler, &data)
> +igt_main_args("e", NULL, NULL, NULL, &data)
> {
> int i;
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* [igt-dev] ✗ Fi.CI.BUILD: failure for series starting with [i-g-t,3/4] tests/kms_async_flips: Split test_init() (rev5)
2023-05-16 6:22 [igt-dev] [PATCH i-g-t 1/4] tests/kms_async_flips: Ger rid of i915 specific fb creation Arun R Murthy
` (8 preceding siblings ...)
2023-05-18 11:25 ` [igt-dev] [PATCHv2 i-g-t 1/4] tests/kms_async_flips: Get rid of i915 specific fb creation Arun R Murthy
@ 2023-05-18 11:58 ` Patchwork
9 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2023-05-18 11:58 UTC (permalink / raw)
To: Arun R Murthy; +Cc: igt-dev
== Series Details ==
Series: series starting with [i-g-t,3/4] tests/kms_async_flips: Split test_init() (rev5)
URL : https://patchwork.freedesktop.org/series/117798/
State : failure
== Summary ==
Applying: tests/kms_async_flips: Split test_init()
Using index info to reconstruct a base tree...
M tests/kms_async_flips.c
Falling back to patching base and 3-way merge...
Auto-merging tests/kms_async_flips.c
CONFLICT (content): Merge conflict in tests/kms_async_flips.c
Patch failed at 0001 tests/kms_async_flips: Split test_init()
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [igt-dev] [PATCHv2 i-g-t 4/4] tests/kms_async_flips: Test all modifiers
2023-05-18 11:25 ` [igt-dev] [PATCHv2 i-g-t 4/4] tests/kms_async_flips: Test all modifiers Arun R Murthy
@ 2023-05-18 11:58 ` Karthik B S
0 siblings, 0 replies; 24+ messages in thread
From: Karthik B S @ 2023-05-18 11:58 UTC (permalink / raw)
To: Arun R Murthy, igt-dev
On 5/18/2023 4:55 PM, Arun R Murthy wrote:
> Run the basic async flip test for all modifiers reported
> by the plane (for the XRGB8888 format). The driver may not
> support async flip with all modifiers so we allow this to fail.
>
> v2: print output name along with the modifier
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
> ---
> tests/kms_async_flips.c | 51 +++++++++++++++++++++++++++++++++--------
> 1 file changed, 41 insertions(+), 10 deletions(-)
>
> diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
> index c86bc18b..3fbd4084 100644
> --- a/tests/kms_async_flips.c
> +++ b/tests/kms_async_flips.c
> @@ -53,6 +53,8 @@ typedef struct {
> igt_output_t *output;
> unsigned long flip_timestamp_us;
> double flip_interval;
> + uint64_t modifier;
> + igt_plane_t *plane;
> igt_pipe_crc_t *pipe_crc;
> igt_crc_t ref_crc;
> int flip_count;
> @@ -60,6 +62,7 @@ typedef struct {
> bool flip_pending;
> enum pipe pipe;
> bool alternate_sync_async;
> + bool allow_fail;
> } data_t;
>
> static void flip_handler(int fd_, unsigned int sequence, unsigned int tv_sec,
> @@ -132,7 +135,7 @@ static void make_fb(data_t *data, struct igt_fb *fb,
> rec_width = width / (ARRAY_SIZE(data->bufs) * 2);
>
> igt_create_color_fb(data->drm_fd, width, height, DRM_FORMAT_XRGB8888,
> - default_modifier(data), 0.0, 0.0, 0.5, fb);
> + data->modifier, 0.0, 0.0, 0.5, fb);
>
> cr = igt_get_cairo_ctx(data->drm_fd, fb);
> igt_paint_color_rand(cr, rec_width * 2 + rec_width * index, 0, rec_width, height);
> @@ -158,24 +161,26 @@ static void test_init(data_t *data)
> data->refresh_rate = mode->vrefresh;
>
> igt_output_set_pipe(data->output, data->pipe);
> +
> + data->plane = igt_output_get_plane_type(data->output, DRM_PLANE_TYPE_PRIMARY);
> }
>
> static void test_init_fbs(data_t *data)
> {
> int i;
> uint32_t width, height;
> - igt_plane_t *plane;
> static uint32_t prev_output_id;
> + static uint64_t prev_modifier;
> drmModeModeInfo *mode;
>
> mode = igt_output_get_mode(data->output);
> width = mode->hdisplay;
> height = mode->vdisplay;
>
> - plane = igt_output_get_plane_type(data->output, DRM_PLANE_TYPE_PRIMARY);
> -
> - if (prev_output_id != data->output->id) {
> + if (prev_output_id != data->output->id ||
> + prev_modifier != data->modifier) {
> prev_output_id = data->output->id;
> + prev_modifier = data->modifier;
>
> if (data->bufs[0].fb_id) {
> for (i = 0; i < ARRAY_SIZE(data->bufs); i++)
> @@ -186,8 +191,8 @@ static void test_init_fbs(data_t *data)
> make_fb(data, &data->bufs[i], width, height, i);
> }
>
> - igt_plane_set_fb(plane, &data->bufs[0]);
> - igt_plane_set_size(plane, width, height);
> + igt_plane_set_fb(data->plane, &data->bufs[0]);
> + igt_plane_set_size(data->plane, width, height);
>
> igt_display_commit2(&data->display, data->display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
> }
> @@ -242,8 +247,10 @@ static void test_async_flip(data_t *data)
> ret = drmModePageFlip(data->drm_fd, data->crtc_id,
> data->bufs[frame % 4].fb_id,
> flags, data);
> -
> - igt_assert(ret == 0);
> + if (frame == 1 && data->allow_fail)
> + igt_skip_on(ret == -EINVAL);
> + else
> + igt_assert(ret == 0);
>
> wait_flip_event(data);
>
> @@ -555,6 +562,8 @@ static void run_test(data_t *data, void (*test)(data_t *))
> continue;
>
> test_init(data);
> + data->allow_fail = false;
> + data->modifier = default_modifier(data);
> igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data->pipe), data->output->name) {
> test_init_fbs(data);
> test(data);
> @@ -562,6 +571,28 @@ static void run_test(data_t *data, void (*test)(data_t *))
> }
> }
>
> +static void run_test_with_modifiers(data_t *data, void (*test)(data_t *))
> +{
> + for_each_pipe_with_valid_output(&data->display, data->pipe, data->output) {
> + test_init(data);
> +
> + for (int i = 0; i < data->plane->format_mod_count; i++) {
> + if (data->plane->formats[i] != DRM_FORMAT_XRGB8888)
> + continue;
> +
> + data->allow_fail = true;
> + data->modifier = data->plane->modifiers[i];
> +
> + igt_dynamic_f("pipe-%s-%s-%s", kmstest_pipe_name(data->pipe),
> + data->output->name,
> + igt_fb_modifier_name(data->modifier)) {
> + test_init_fbs(data);
> + test(data);
> + }
> + }
> + }
> +}
> +
> static data_t data;
>
> igt_main_args("e", NULL, NULL, NULL, &data)
> @@ -592,7 +623,7 @@ igt_main_args("e", NULL, NULL, NULL, &data)
> igt_describe("Wait for page flip events in between successive asynchronous flips");
> igt_subtest_with_dynamic("async-flip-with-page-flip-events") {
> data.alternate_sync_async = false;
> - run_test(&data, test_async_flip);
> + run_test_with_modifiers(&data, test_async_flip);
> }
>
> igt_describe("Alternate between sync and async flips");
^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2023-05-18 11:59 UTC | newest]
Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-16 6:22 [igt-dev] [PATCH i-g-t 1/4] tests/kms_async_flips: Ger rid of i915 specific fb creation Arun R Murthy
2023-05-16 6:22 ` [igt-dev] [PATCH i-g-t 2/4] " Arun R Murthy
2023-05-17 11:10 ` Kamil Konieczny
2023-05-17 11:26 ` Murthy, Arun R
2023-05-16 6:22 ` [igt-dev] [PATCH i-g-t 3/4] tests/kms_async_flips: Split test_init() Arun R Murthy
2023-05-17 9:04 ` Karthik B S
2023-05-16 6:22 ` [igt-dev] [PATCH i-g-t 4/4] tests/kms_async_flips: Test all modifiers Arun R Murthy
2023-05-17 9:01 ` Karthik B S
2023-05-16 6:55 ` [igt-dev] [PATCH i-g-t 1/4] tests/kms_async_flips: Ger rid of i915 specific fb creation Saarinen, Jani
2023-05-16 7:24 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,1/4] " Patchwork
2023-05-17 3:50 ` [igt-dev] [PATCHv2 i-g-t 1/4] tests/kms_async_flips: Get " Arun R Murthy
2023-05-17 3:50 ` [igt-dev] [PATCHv2 i-g-t 2/4] tests/kms_async_flips: Run the test only once per pipe Arun R Murthy
2023-05-17 6:33 ` Karthik B S
2023-05-17 7:51 ` Murthy, Arun R
2023-05-17 5:49 ` [igt-dev] [PATCHv2 i-g-t 1/4] tests/kms_async_flips: Get rid of i915 specific fb creation Karthik B S
2023-05-17 4:45 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [PATCHv2,i-g-t,1/4] tests/kms_async_flips: Get rid of i915 specific fb creation (rev2) Patchwork
2023-05-17 14:03 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2023-05-18 11:25 ` [igt-dev] [PATCHv2 i-g-t 1/4] tests/kms_async_flips: Get rid of i915 specific fb creation Arun R Murthy
2023-05-18 11:25 ` [igt-dev] [PATCHv3 i-g-t 2/4] tests/kms_async_flips: Run the test for all outputs Arun R Murthy
2023-05-18 11:56 ` Karthik B S
2023-05-18 11:25 ` [igt-dev] [PATCH i-g-t 3/4] tests/kms_async_flips: Split test_init() Arun R Murthy
2023-05-18 11:25 ` [igt-dev] [PATCHv2 i-g-t 4/4] tests/kms_async_flips: Test all modifiers Arun R Murthy
2023-05-18 11:58 ` Karthik B S
2023-05-18 11:58 ` [igt-dev] ✗ Fi.CI.BUILD: failure for series starting with [i-g-t,3/4] tests/kms_async_flips: Split test_init() (rev5) Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox