* [igt-dev] [PATCH i-g-t 0/2] Psr2 dsc testcases
@ 2023-01-25 9:07 Jouni Högander
2023-01-25 9:07 ` [igt-dev] [PATCH i-g-t 1/2] tests/i915/kms_psr2_sf: Some cleanups after Jouni Högander
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Jouni Högander @ 2023-01-25 9:07 UTC (permalink / raw)
To: igt-dev
This patch set is doing some cleanup to kms_psr2_sf testcases and adding
mechanism to stress other features with PSR2. It is utilizing this new
mechanism for testing DSC with PSR2.
Cc: Jeevan B <jeevan.b@intel.com>
Cc: Swati Sharma <swati2.sharma@intel.com>
Jouni Högander (2):
tests/i915/kms_psr2_sf: Some cleanups after
kms_psr2_sf: Add dynamic subtests which use DSC feature
tests/i915/kms_psr2_sf.c | 368 +++++++++++++++++++++++++--------------
tests/meson.build | 9 +-
2 files changed, 246 insertions(+), 131 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 8+ messages in thread* [igt-dev] [PATCH i-g-t 1/2] tests/i915/kms_psr2_sf: Some cleanups after 2023-01-25 9:07 [igt-dev] [PATCH i-g-t 0/2] Psr2 dsc testcases Jouni Högander @ 2023-01-25 9:07 ` Jouni Högander 2023-01-30 9:12 ` B, Jeevan 2023-01-25 9:07 ` [igt-dev] [PATCH i-g-t 2/2] kms_psr2_sf: Add dynamic subtests which use DSC feature Jouni Högander ` (2 subsequent siblings) 3 siblings, 1 reply; 8+ messages in thread From: Jouni Högander @ 2023-01-25 9:07 UTC (permalink / raw) To: igt-dev Handle setting output for pipe in prepare and remove separate setup_output. Carry all test parameters in data structure Cc: Jeevan B <jeevan.b@intel.com> Cc: Swati Sharma <swati2.sharma@intel.com> Signed-off-by: Jouni Högander <jouni.hogander@intel.com> --- tests/i915/kms_psr2_sf.c | 145 ++++++++++++++++++--------------------- 1 file changed, 68 insertions(+), 77 deletions(-) diff --git a/tests/i915/kms_psr2_sf.c b/tests/i915/kms_psr2_sf.c index cfde6cfc..078884ac 100644 --- a/tests/i915/kms_psr2_sf.c +++ b/tests/i915/kms_psr2_sf.c @@ -85,6 +85,7 @@ typedef struct { cairo_t *cr; uint32_t screen_changes; int cur_x, cur_y; + enum pipe pipe; } data_t; static const char *op_str(enum operations op) @@ -103,30 +104,10 @@ static const char *op_str(enum operations op) return name[op]; } -static void setup_output(data_t *data) -{ - igt_display_t *display = &data->display; - igt_output_t *output; - enum pipe pipe; - - for_each_pipe_with_valid_output(display, pipe, output) { - drmModeConnectorPtr c = output->config.connector; - - if (c->connector_type != DRM_MODE_CONNECTOR_eDP) - continue; - - igt_output_set_pipe(output, pipe); - data->output = output; - data->mode = igt_output_get_mode(output); - - return; - } -} - static void display_init(data_t *data) { igt_display_require(&data->display, data->drm_fd); - setup_output(data); + igt_display_reset(&data->display); } static void display_fini(data_t *data) @@ -237,11 +218,15 @@ static void plane_move_setup_square(data_t *data, igt_fb_t *fb, uint32_t h, set_clip(&data->plane_move_clip, x, y, SQUARE_SIZE, SQUARE_SIZE); } -static void prepare(data_t *data, igt_output_t *output) +static void prepare(data_t *data) { + igt_output_t *output = data->output; igt_plane_t *primary, *sprite = NULL, *cursor = NULL; int fb_w, fb_h, x, y, view_w, view_h; + igt_output_set_pipe(output, data->pipe); + data->mode = igt_output_get_mode(output); + if (data->big_fb_test) { fb_w = data->big_fb_width; fb_h = data->big_fb_height; @@ -808,8 +793,9 @@ static void run(data_t *data) } } -static void cleanup(data_t *data, igt_output_t *output) +static void cleanup(data_t *data) { + igt_output_t *output = data->output; igt_plane_t *primary; igt_plane_t *sprite; @@ -838,20 +824,13 @@ static void cleanup(data_t *data, igt_output_t *output) igt_remove_fb(data->drm_fd, &data->fb_test); } -static int check_psr2_support(data_t *data, enum pipe pipe) +static int check_psr2_support(data_t *data) { int status; - igt_output_t *output; - igt_display_t *display = &data->display; - - igt_display_reset(display); - output = data->output; - igt_output_set_pipe(output, pipe); - - prepare(data, output); + prepare(data); status = psr_wait_entry(data->debugfs_fd, PSR_MODE_2); - cleanup(data, output); + cleanup(data); return status; } @@ -861,7 +840,6 @@ igt_main data_t data = {}; igt_output_t *outputs[IGT_MAX_PIPES * IGT_MAX_PIPES]; int i, j; - enum pipe pipe; int pipes[IGT_MAX_PIPES * IGT_MAX_PIPES]; int n_pipes = 0; @@ -898,9 +876,9 @@ igt_main igt_require_f(psr2_selective_fetch_check(data.debugfs_fd), "PSR2 selective fetch not enabled\n"); - for_each_pipe_with_valid_output(&data.display, pipe, data.output) { - if (check_psr2_support(&data, pipe)) { - pipes[n_pipes] = pipe; + for_each_pipe_with_valid_output(&data.display, data.pipe, data.output) { + if (check_psr2_support(&data)) { + pipes[n_pipes] = data.pipe; outputs[n_pipes] = data.output; n_pipes++; } @@ -913,13 +891,14 @@ igt_main for (i = 0; i < n_pipes; i++) { igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), igt_output_name(outputs[i])) { - igt_output_set_pipe(outputs[i], pipes[i]); + data.pipe = pipes[i]; + data.output = outputs[i]; for (j = 1; j <= MAX_DAMAGE_AREAS; j++) { data.damage_area_count = j; data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; - prepare(&data, outputs[i]); + prepare(&data); run(&data); - cleanup(&data, outputs[i]); + cleanup(&data); } } } @@ -932,13 +911,14 @@ igt_main for (i = 0; i < n_pipes; i++) { igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), igt_output_name(outputs[i])) { - igt_output_set_pipe(outputs[i], pipes[i]); + data.pipe = pipes[i]; + data.output = outputs[i]; for (j = 1; j <= MAX_DAMAGE_AREAS; j++) { data.damage_area_count = j; data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; - prepare(&data, outputs[i]); + prepare(&data); run(&data); - cleanup(&data, outputs[i]); + cleanup(&data); } } } @@ -951,13 +931,14 @@ igt_main for (i = 0; i < n_pipes; i++) { igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), igt_output_name(outputs[i])) { - igt_output_set_pipe(outputs[i], pipes[i]); + data.pipe = pipes[i]; + data.output = outputs[i]; for (j = 1; j <= MAX_DAMAGE_AREAS; j++) { data.damage_area_count = j; data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - prepare(&data, outputs[i]); + prepare(&data); run(&data); - cleanup(&data, outputs[i]); + cleanup(&data); } } } @@ -970,11 +951,12 @@ igt_main for (i = 0; i < n_pipes; i++) { igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), igt_output_name(outputs[i])) { - igt_output_set_pipe(outputs[i], pipes[i]); + data.pipe = pipes[i]; + data.output = outputs[i]; data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - prepare(&data, outputs[i]); + prepare(&data); run(&data); - cleanup(&data, outputs[i]); + cleanup(&data); } } } @@ -985,11 +967,12 @@ igt_main for (i = 0; i < n_pipes; i++) { igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), igt_output_name(outputs[i])) { - igt_output_set_pipe(outputs[i], pipes[i]); + data.pipe = pipes[i]; + data.output = outputs[i]; data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - prepare(&data, outputs[i]); + prepare(&data); run(&data); - cleanup(&data, outputs[i]); + cleanup(&data); } } } @@ -1000,11 +983,12 @@ igt_main for (i = 0; i < n_pipes; i++) { igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), igt_output_name(outputs[i])) { - igt_output_set_pipe(outputs[i], pipes[i]); + data.pipe = pipes[i]; + data.output = outputs[i]; data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - prepare(&data, outputs[i]); + prepare(&data); run(&data); - cleanup(&data, outputs[i]); + cleanup(&data); } } } @@ -1015,11 +999,12 @@ igt_main for (i = 0; i < n_pipes; i++) { igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), igt_output_name(outputs[i])) { - igt_output_set_pipe(outputs[i], pipes[i]); + data.pipe = pipes[i]; + data.output = outputs[i]; data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - prepare(&data, outputs[i]); + prepare(&data); run(&data); - cleanup(&data, outputs[i]); + cleanup(&data); } } } @@ -1032,13 +1017,14 @@ igt_main for (i = 0; i < n_pipes; i++) { igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), igt_output_name(outputs[i])) { - igt_output_set_pipe(outputs[i], pipes[i]); + data.pipe = pipes[i]; + data.output = outputs[i]; for (j = POS_TOP_LEFT; j <= POS_BOTTOM_RIGHT ; j++) { data.pos = j; data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - prepare(&data, outputs[i]); + prepare(&data); run(&data); - cleanup(&data, outputs[i]); + cleanup(&data); } } } @@ -1050,11 +1036,12 @@ igt_main for (i = 0; i < n_pipes; i++) { igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), igt_output_name(outputs[i])) { - igt_output_set_pipe(outputs[i], pipes[i]); + data.pipe = pipes[i]; + data.output = outputs[i]; data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - prepare(&data, outputs[i]); + prepare(&data); run(&data); - cleanup(&data, outputs[i]); + cleanup(&data); } } } @@ -1065,11 +1052,12 @@ igt_main for (i = 0; i < n_pipes; i++) { igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), igt_output_name(outputs[i])) { - igt_output_set_pipe(outputs[i], pipes[i]); + data.pipe = pipes[i]; + data.output = outputs[i]; data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - prepare(&data, outputs[i]); + prepare(&data); run(&data); - cleanup(&data, outputs[i]); + cleanup(&data); } } } @@ -1080,11 +1068,12 @@ igt_main for (i = 0; i < n_pipes; i++) { igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), igt_output_name(outputs[i])) { - igt_output_set_pipe(outputs[i], pipes[i]); + data.pipe = pipes[i]; + data.output = outputs[i]; data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - prepare(&data, outputs[i]); + prepare(&data); run(&data); - cleanup(&data, outputs[i]); + cleanup(&data); } } } @@ -1097,13 +1086,14 @@ igt_main for (i = 0; i < n_pipes; i++) { igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), igt_output_name(outputs[i])) { - igt_output_set_pipe(outputs[i], pipes[i]); + data.pipe = pipes[i]; + data.output = outputs[i]; for (j = 1; j <= MAX_DAMAGE_AREAS; j++) { data.damage_area_count = j; data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; - prepare(&data, outputs[i]); + prepare(&data); run(&data); - cleanup(&data, outputs[i]); + cleanup(&data); } } } @@ -1119,13 +1109,14 @@ igt_main igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { for (i = 0; i < n_pipes; i++) { igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i])) { - igt_output_set_pipe(outputs[i], pipes[i]); + igt_output_name(outputs[i])) { + data.pipe = pipes[i]; + data.output = outputs[i]; data.damage_area_count = 1; data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - prepare(&data, outputs[i]); + prepare(&data); run(&data); - cleanup(&data, outputs[i]); + cleanup(&data); } } } -- 2.34.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/2] tests/i915/kms_psr2_sf: Some cleanups after 2023-01-25 9:07 ` [igt-dev] [PATCH i-g-t 1/2] tests/i915/kms_psr2_sf: Some cleanups after Jouni Högander @ 2023-01-30 9:12 ` B, Jeevan 0 siblings, 0 replies; 8+ messages in thread From: B, Jeevan @ 2023-01-30 9:12 UTC (permalink / raw) To: Hogander, Jouni, igt-dev@lists.freedesktop.org LGTM. Reviewed-by: Jeevan B <jeevan.b@intel.com> > -----Original Message----- > From: Hogander, Jouni <jouni.hogander@intel.com> > Sent: Wednesday, January 25, 2023 2:38 PM > To: igt-dev@lists.freedesktop.org > Cc: Hogander, Jouni <jouni.hogander@intel.com>; B, Jeevan > <jeevan.b@intel.com>; Sharma, Swati2 <swati2.sharma@intel.com> > Subject: [PATCH i-g-t 1/2] tests/i915/kms_psr2_sf: Some cleanups after > > Handle setting output for pipe in prepare and remove separate setup_output. > Carry all test parameters in data structure > > Cc: Jeevan B <jeevan.b@intel.com> > Cc: Swati Sharma <swati2.sharma@intel.com> > Signed-off-by: Jouni Högander <jouni.hogander@intel.com> > --- > tests/i915/kms_psr2_sf.c | 145 ++++++++++++++++++--------------------- > 1 file changed, 68 insertions(+), 77 deletions(-) > > diff --git a/tests/i915/kms_psr2_sf.c b/tests/i915/kms_psr2_sf.c index > cfde6cfc..078884ac 100644 > --- a/tests/i915/kms_psr2_sf.c > +++ b/tests/i915/kms_psr2_sf.c > @@ -85,6 +85,7 @@ typedef struct { > cairo_t *cr; > uint32_t screen_changes; > int cur_x, cur_y; > + enum pipe pipe; > } data_t; > > static const char *op_str(enum operations op) @@ -103,30 +104,10 @@ static > const char *op_str(enum operations op) > return name[op]; > } > > -static void setup_output(data_t *data) > -{ > - igt_display_t *display = &data->display; > - igt_output_t *output; > - enum pipe pipe; > - > - for_each_pipe_with_valid_output(display, pipe, output) { > - drmModeConnectorPtr c = output->config.connector; > - > - if (c->connector_type != DRM_MODE_CONNECTOR_eDP) > - continue; > - > - igt_output_set_pipe(output, pipe); > - data->output = output; > - data->mode = igt_output_get_mode(output); > - > - return; > - } > -} > - > static void display_init(data_t *data) > { > igt_display_require(&data->display, data->drm_fd); > - setup_output(data); > + igt_display_reset(&data->display); > } > > static void display_fini(data_t *data) > @@ -237,11 +218,15 @@ static void plane_move_setup_square(data_t *data, > igt_fb_t *fb, uint32_t h, > set_clip(&data->plane_move_clip, x, y, SQUARE_SIZE, SQUARE_SIZE); } > > -static void prepare(data_t *data, igt_output_t *output) > +static void prepare(data_t *data) > { > + igt_output_t *output = data->output; > igt_plane_t *primary, *sprite = NULL, *cursor = NULL; > int fb_w, fb_h, x, y, view_w, view_h; > > + igt_output_set_pipe(output, data->pipe); > + data->mode = igt_output_get_mode(output); > + > if (data->big_fb_test) { > fb_w = data->big_fb_width; > fb_h = data->big_fb_height; > @@ -808,8 +793,9 @@ static void run(data_t *data) > } > } > > -static void cleanup(data_t *data, igt_output_t *output) > +static void cleanup(data_t *data) > { > + igt_output_t *output = data->output; > igt_plane_t *primary; > igt_plane_t *sprite; > > @@ -838,20 +824,13 @@ static void cleanup(data_t *data, igt_output_t > *output) > igt_remove_fb(data->drm_fd, &data->fb_test); } > > -static int check_psr2_support(data_t *data, enum pipe pipe) > +static int check_psr2_support(data_t *data) > { > int status; > > - igt_output_t *output; > - igt_display_t *display = &data->display; > - > - igt_display_reset(display); > - output = data->output; > - igt_output_set_pipe(output, pipe); > - > - prepare(data, output); > + prepare(data); > status = psr_wait_entry(data->debugfs_fd, PSR_MODE_2); > - cleanup(data, output); > + cleanup(data); > > return status; > } > @@ -861,7 +840,6 @@ igt_main > data_t data = {}; > igt_output_t *outputs[IGT_MAX_PIPES * IGT_MAX_PIPES]; > int i, j; > - enum pipe pipe; > int pipes[IGT_MAX_PIPES * IGT_MAX_PIPES]; > int n_pipes = 0; > > @@ -898,9 +876,9 @@ igt_main > igt_require_f(psr2_selective_fetch_check(data.debugfs_fd), > "PSR2 selective fetch not enabled\n"); > > - for_each_pipe_with_valid_output(&data.display, pipe, > data.output) { > - if (check_psr2_support(&data, pipe)) { > - pipes[n_pipes] = pipe; > + for_each_pipe_with_valid_output(&data.display, data.pipe, > data.output) { > + if (check_psr2_support(&data)) { > + pipes[n_pipes] = data.pipe; > outputs[n_pipes] = data.output; > n_pipes++; > } > @@ -913,13 +891,14 @@ igt_main > for (i = 0; i < n_pipes; i++) { > igt_dynamic_f("pipe-%s-%s", > kmstest_pipe_name(pipes[i]), > igt_output_name(outputs[i])) { > - igt_output_set_pipe(outputs[i], pipes[i]); > + data.pipe = pipes[i]; > + data.output = outputs[i]; > for (j = 1; j <= MAX_DAMAGE_AREAS; j++) { > data.damage_area_count = j; > data.test_plane_id = > DRM_PLANE_TYPE_PRIMARY; > - prepare(&data, outputs[i]); > + prepare(&data); > run(&data); > - cleanup(&data, outputs[i]); > + cleanup(&data); > } > } > } > @@ -932,13 +911,14 @@ igt_main > for (i = 0; i < n_pipes; i++) { > igt_dynamic_f("pipe-%s-%s", > kmstest_pipe_name(pipes[i]), > igt_output_name(outputs[i])) { > - igt_output_set_pipe(outputs[i], pipes[i]); > + data.pipe = pipes[i]; > + data.output = outputs[i]; > for (j = 1; j <= MAX_DAMAGE_AREAS; j++) { > data.damage_area_count = j; > data.test_plane_id = > DRM_PLANE_TYPE_PRIMARY; > - prepare(&data, outputs[i]); > + prepare(&data); > run(&data); > - cleanup(&data, outputs[i]); > + cleanup(&data); > } > } > } > @@ -951,13 +931,14 @@ igt_main > for (i = 0; i < n_pipes; i++) { > igt_dynamic_f("pipe-%s-%s", > kmstest_pipe_name(pipes[i]), > igt_output_name(outputs[i])) { > - igt_output_set_pipe(outputs[i], pipes[i]); > + data.pipe = pipes[i]; > + data.output = outputs[i]; > for (j = 1; j <= MAX_DAMAGE_AREAS; j++) { > data.damage_area_count = j; > data.test_plane_id = > DRM_PLANE_TYPE_OVERLAY; > - prepare(&data, outputs[i]); > + prepare(&data); > run(&data); > - cleanup(&data, outputs[i]); > + cleanup(&data); > } > } > } > @@ -970,11 +951,12 @@ igt_main > for (i = 0; i < n_pipes; i++) { > igt_dynamic_f("pipe-%s-%s", > kmstest_pipe_name(pipes[i]), > igt_output_name(outputs[i])) { > - igt_output_set_pipe(outputs[i], pipes[i]); > + data.pipe = pipes[i]; > + data.output = outputs[i]; > data.test_plane_id = > DRM_PLANE_TYPE_CURSOR; > - prepare(&data, outputs[i]); > + prepare(&data); > run(&data); > - cleanup(&data, outputs[i]); > + cleanup(&data); > } > } > } > @@ -985,11 +967,12 @@ igt_main > for (i = 0; i < n_pipes; i++) { > igt_dynamic_f("pipe-%s-%s", > kmstest_pipe_name(pipes[i]), > igt_output_name(outputs[i])) { > - igt_output_set_pipe(outputs[i], pipes[i]); > + data.pipe = pipes[i]; > + data.output = outputs[i]; > data.test_plane_id = > DRM_PLANE_TYPE_CURSOR; > - prepare(&data, outputs[i]); > + prepare(&data); > run(&data); > - cleanup(&data, outputs[i]); > + cleanup(&data); > } > } > } > @@ -1000,11 +983,12 @@ igt_main > for (i = 0; i < n_pipes; i++) { > igt_dynamic_f("pipe-%s-%s", > kmstest_pipe_name(pipes[i]), > igt_output_name(outputs[i])) { > - igt_output_set_pipe(outputs[i], pipes[i]); > + data.pipe = pipes[i]; > + data.output = outputs[i]; > data.test_plane_id = > DRM_PLANE_TYPE_CURSOR; > - prepare(&data, outputs[i]); > + prepare(&data); > run(&data); > - cleanup(&data, outputs[i]); > + cleanup(&data); > } > } > } > @@ -1015,11 +999,12 @@ igt_main > for (i = 0; i < n_pipes; i++) { > igt_dynamic_f("pipe-%s-%s", > kmstest_pipe_name(pipes[i]), > igt_output_name(outputs[i])) { > - igt_output_set_pipe(outputs[i], pipes[i]); > + data.pipe = pipes[i]; > + data.output = outputs[i]; > data.test_plane_id = > DRM_PLANE_TYPE_CURSOR; > - prepare(&data, outputs[i]); > + prepare(&data); > run(&data); > - cleanup(&data, outputs[i]); > + cleanup(&data); > } > } > } > @@ -1032,13 +1017,14 @@ igt_main > for (i = 0; i < n_pipes; i++) { > igt_dynamic_f("pipe-%s-%s", > kmstest_pipe_name(pipes[i]), > igt_output_name(outputs[i])) { > - igt_output_set_pipe(outputs[i], pipes[i]); > + data.pipe = pipes[i]; > + data.output = outputs[i]; > for (j = POS_TOP_LEFT; j <= > POS_BOTTOM_RIGHT ; j++) { > data.pos = j; > data.test_plane_id = > DRM_PLANE_TYPE_OVERLAY; > - prepare(&data, outputs[i]); > + prepare(&data); > run(&data); > - cleanup(&data, outputs[i]); > + cleanup(&data); > } > } > } > @@ -1050,11 +1036,12 @@ igt_main > for (i = 0; i < n_pipes; i++) { > igt_dynamic_f("pipe-%s-%s", > kmstest_pipe_name(pipes[i]), > igt_output_name(outputs[i])) { > - igt_output_set_pipe(outputs[i], pipes[i]); > + data.pipe = pipes[i]; > + data.output = outputs[i]; > data.test_plane_id = > DRM_PLANE_TYPE_OVERLAY; > - prepare(&data, outputs[i]); > + prepare(&data); > run(&data); > - cleanup(&data, outputs[i]); > + cleanup(&data); > } > } > } > @@ -1065,11 +1052,12 @@ igt_main > for (i = 0; i < n_pipes; i++) { > igt_dynamic_f("pipe-%s-%s", > kmstest_pipe_name(pipes[i]), > igt_output_name(outputs[i])) { > - igt_output_set_pipe(outputs[i], pipes[i]); > + data.pipe = pipes[i]; > + data.output = outputs[i]; > data.test_plane_id = > DRM_PLANE_TYPE_OVERLAY; > - prepare(&data, outputs[i]); > + prepare(&data); > run(&data); > - cleanup(&data, outputs[i]); > + cleanup(&data); > } > } > } > @@ -1080,11 +1068,12 @@ igt_main > for (i = 0; i < n_pipes; i++) { > igt_dynamic_f("pipe-%s-%s", > kmstest_pipe_name(pipes[i]), > igt_output_name(outputs[i])) { > - igt_output_set_pipe(outputs[i], pipes[i]); > + data.pipe = pipes[i]; > + data.output = outputs[i]; > data.test_plane_id = > DRM_PLANE_TYPE_OVERLAY; > - prepare(&data, outputs[i]); > + prepare(&data); > run(&data); > - cleanup(&data, outputs[i]); > + cleanup(&data); > } > } > } > @@ -1097,13 +1086,14 @@ igt_main > for (i = 0; i < n_pipes; i++) { > igt_dynamic_f("pipe-%s-%s", > kmstest_pipe_name(pipes[i]), > igt_output_name(outputs[i])) { > - igt_output_set_pipe(outputs[i], pipes[i]); > + data.pipe = pipes[i]; > + data.output = outputs[i]; > for (j = 1; j <= MAX_DAMAGE_AREAS; j++) { > data.damage_area_count = j; > data.test_plane_id = > DRM_PLANE_TYPE_PRIMARY; > - prepare(&data, outputs[i]); > + prepare(&data); > run(&data); > - cleanup(&data, outputs[i]); > + cleanup(&data); > } > } > } > @@ -1119,13 +1109,14 @@ igt_main > igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { > for (i = 0; i < n_pipes; i++) { > igt_dynamic_f("pipe-%s-%s", > kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i])) { > - igt_output_set_pipe(outputs[i], pipes[i]); > + igt_output_name(outputs[i])) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > data.damage_area_count = 1; > data.test_plane_id = > DRM_PLANE_TYPE_OVERLAY; > - prepare(&data, outputs[i]); > + prepare(&data); > run(&data); > - cleanup(&data, outputs[i]); > + cleanup(&data); > } > } > } > -- > 2.34.1 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [igt-dev] [PATCH i-g-t 2/2] kms_psr2_sf: Add dynamic subtests which use DSC feature 2023-01-25 9:07 [igt-dev] [PATCH i-g-t 0/2] Psr2 dsc testcases Jouni Högander 2023-01-25 9:07 ` [igt-dev] [PATCH i-g-t 1/2] tests/i915/kms_psr2_sf: Some cleanups after Jouni Högander @ 2023-01-25 9:07 ` Jouni Högander 2023-02-01 10:27 ` Swati Sharma 2023-01-25 14:25 ` [igt-dev] ✓ Fi.CI.BAT: success for Psr2 dsc testcases Patchwork 2023-01-25 22:18 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork 3 siblings, 1 reply; 8+ messages in thread From: Jouni Högander @ 2023-01-25 9:07 UTC (permalink / raw) To: igt-dev Add mechanism to add coexisting features with selective fetch and add dynamic subtests for DSC as coexisting feature. Cc: Jeevan B <jeevan.b@intel.com> Cc: Swati Sharma <swati2.sharma@intel.com> Signed-off-by: Jouni Högander <jouni.hogander@intel.com> --- tests/i915/kms_psr2_sf.c | 331 ++++++++++++++++++++++++++------------- tests/meson.build | 9 +- 2 files changed, 232 insertions(+), 108 deletions(-) diff --git a/tests/i915/kms_psr2_sf.c b/tests/i915/kms_psr2_sf.c index 078884ac..cb965989 100644 --- a/tests/i915/kms_psr2_sf.c +++ b/tests/i915/kms_psr2_sf.c @@ -25,6 +25,7 @@ #include "igt.h" #include "igt_sysfs.h" #include "igt_psr.h" +#include "kms_dsc_helper.h" #include <errno.h> #include <stdbool.h> #include <stdio.h> @@ -86,6 +87,13 @@ typedef struct { uint32_t screen_changes; int cur_x, cur_y; enum pipe pipe; + bool force_dsc_en_orig; + int force_dsc_restore_fd; + enum { + FEATURE_NONE = 0, + FEATURE_DSC = 1, + FEATURE_COUNT = 2, + } coexist_feature; } data_t; static const char *op_str(enum operations op) @@ -104,6 +112,18 @@ static const char *op_str(enum operations op) return name[op]; } +static const char *coexist_feature_str(int coexist_feature) +{ + switch (coexist_feature) { + case FEATURE_NONE: + return ""; + case FEATURE_DSC: + return "-dsc"; + default: + igt_assert(false); + } +} + static void display_init(data_t *data) { igt_display_require(&data->display, data->drm_fd); @@ -224,9 +244,17 @@ static void prepare(data_t *data) igt_plane_t *primary, *sprite = NULL, *cursor = NULL; int fb_w, fb_h, x, y, view_w, view_h; - igt_output_set_pipe(output, data->pipe); data->mode = igt_output_get_mode(output); + if (data->coexist_feature & FEATURE_DSC) { + save_force_dsc_en(data->drm_fd, output); + force_dsc_enable(data->drm_fd, output); + igt_output_set_pipe(output, PIPE_NONE); + igt_display_commit2(&data->display, COMMIT_ATOMIC); + } + + igt_output_set_pipe(output, data->pipe); + if (data->big_fb_test) { fb_w = data->big_fb_width; fb_h = data->big_fb_height; @@ -816,6 +844,11 @@ static void cleanup(data_t *data) igt_plane_set_fb(sprite, NULL); } + if (data->coexist_feature & FEATURE_DSC) { + restore_force_dsc_en(); + igt_output_set_pipe(output, PIPE_NONE); + } + igt_display_commit2(&data->display, COMMIT_ATOMIC); igt_remove_fb(data->drm_fd, &data->fb_primary); @@ -839,9 +872,10 @@ igt_main { data_t data = {}; igt_output_t *outputs[IGT_MAX_PIPES * IGT_MAX_PIPES]; - int i, j; + int i, j, k; int pipes[IGT_MAX_PIPES * IGT_MAX_PIPES]; int n_pipes = 0; + int coexist_features[IGT_MAX_PIPES * IGT_MAX_PIPES]; igt_fixture { drmModeResPtr res; @@ -877,9 +911,14 @@ igt_main "PSR2 selective fetch not enabled\n"); for_each_pipe_with_valid_output(&data.display, data.pipe, data.output) { + coexist_features[n_pipes] = 0; if (check_psr2_support(&data)) { pipes[n_pipes] = data.pipe; outputs[n_pipes] = data.output; + + if (check_dsc_on_connector(data.drm_fd, data.output)) + coexist_features[n_pipes] |= FEATURE_DSC; + n_pipes++; } } @@ -889,16 +928,22 @@ igt_main igt_describe("Test that selective fetch works on primary plane"); igt_subtest_with_dynamic_f("primary-%s-sf-dmg-area", op_str(data.op)) { for (i = 0; i < n_pipes; i++) { - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i])) { - data.pipe = pipes[i]; - data.output = outputs[i]; - for (j = 1; j <= MAX_DAMAGE_AREAS; j++) { - data.damage_area_count = j; + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; - prepare(&data); - run(&data); - cleanup(&data); + data.coexist_feature = j; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + prepare(&data); + run(&data); + cleanup(&data); + } } } } @@ -909,16 +954,22 @@ igt_main igt_describe("Test that selective fetch works on primary plane with big fb"); igt_subtest_with_dynamic_f("primary-%s-sf-dmg-area-big-fb", op_str(data.op)) { for (i = 0; i < n_pipes; i++) { - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i])) { - data.pipe = pipes[i]; - data.output = outputs[i]; - for (j = 1; j <= MAX_DAMAGE_AREAS; j++) { - data.damage_area_count = j; + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; - prepare(&data); - run(&data); - cleanup(&data); + data.coexist_feature = j; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + prepare(&data); + run(&data); + cleanup(&data); + } } } } @@ -929,16 +980,22 @@ igt_main igt_describe("Test that selective fetch works on overlay plane"); igt_subtest_with_dynamic_f("overlay-%s-sf-dmg-area", op_str(data.op)) { for (i = 0; i < n_pipes; i++) { - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i])) { - data.pipe = pipes[i]; - data.output = outputs[i]; - for (j = 1; j <= MAX_DAMAGE_AREAS; j++) { - data.damage_area_count = j; + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - prepare(&data); - run(&data); - cleanup(&data); + data.coexist_feature = j; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + prepare(&data); + run(&data); + cleanup(&data); + } } } } @@ -949,14 +1006,20 @@ igt_main igt_describe("Test that selective fetch works on cursor plane"); igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { for (i = 0; i < n_pipes; i++) { - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i])) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - prepare(&data); - run(&data); - cleanup(&data); + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } @@ -965,14 +1028,20 @@ igt_main igt_describe("Test that selective fetch works on moving cursor plane (no update)"); igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { for (i = 0; i < n_pipes; i++) { - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i])) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - prepare(&data); - run(&data); - cleanup(&data); + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } @@ -981,14 +1050,20 @@ igt_main igt_describe("Test that selective fetch works on moving cursor plane exceeding partially visible area (no update)"); igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { for (i = 0; i < n_pipes; i++) { - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i])) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - prepare(&data); - run(&data); - cleanup(&data); + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } @@ -997,14 +1072,20 @@ igt_main igt_describe("Test that selective fetch works on moving cursor plane exceeding fully visible area (no update)"); igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { for (i = 0; i < n_pipes; i++) { - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i])) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - prepare(&data); - run(&data); - cleanup(&data); + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } @@ -1015,16 +1096,22 @@ igt_main igt_describe("Test that selective fetch works on moving overlay plane"); igt_subtest_with_dynamic_f("%s-sf-dmg-area", op_str(data.op)) { for (i = 0; i < n_pipes; i++) { - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i])) { - data.pipe = pipes[i]; - data.output = outputs[i]; - for (j = POS_TOP_LEFT; j <= POS_BOTTOM_RIGHT ; j++) { - data.pos = j; + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - prepare(&data); - run(&data); - cleanup(&data); + data.coexist_feature = j; + for (k = POS_TOP_LEFT; k <= POS_BOTTOM_RIGHT ; k++) { + data.pos = k; + prepare(&data); + run(&data); + cleanup(&data); + } } } } @@ -1034,14 +1121,20 @@ igt_main igt_describe("Test that selective fetch works on moving overlay plane (no update)"); igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { for (i = 0; i < n_pipes; i++) { - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i])) { + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { data.pipe = pipes[i]; data.output = outputs[i]; data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); + } } } } @@ -1050,14 +1143,20 @@ igt_main igt_describe("Test that selective fetch works on moving overlay plane partially exceeding visible area (no update)"); igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { for (i = 0; i < n_pipes; i++) { - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i])) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - prepare(&data); - run(&data); - cleanup(&data); + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } @@ -1066,14 +1165,20 @@ igt_main igt_describe("Test that selective fetch works on moving overlay plane fully exceeding visible area (no update)"); igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { for (i = 0; i < n_pipes; i++) { - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i])) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - prepare(&data); - run(&data); - cleanup(&data); + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } @@ -1084,16 +1189,22 @@ igt_main "with blended overlay plane"); igt_subtest_with_dynamic_f("%s-sf-dmg-area", op_str(data.op)) { for (i = 0; i < n_pipes; i++) { - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i])) { - data.pipe = pipes[i]; - data.output = outputs[i]; - for (j = 1; j <= MAX_DAMAGE_AREAS; j++) { - data.damage_area_count = j; - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; - prepare(&data); - run(&data); - cleanup(&data); + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } @@ -1108,15 +1219,21 @@ igt_main igt_describe("Test that selective fetch works on overlay plane"); igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { for (i = 0; i < n_pipes; i++) { - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i])) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.damage_area_count = 1; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - prepare(&data); - run(&data); - cleanup(&data); + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.damage_area_count = 1; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } diff --git a/tests/meson.build b/tests/meson.build index cce9d89e..da8a4204 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -232,7 +232,6 @@ i915_progs = [ 'kms_pipe_b_c_ivb', 'kms_psr', 'kms_psr2_su', - 'kms_psr2_sf', 'kms_psr_stress_test', 'kms_pwrite_crc', 'sysfs_defaults', @@ -435,6 +434,14 @@ test_executables += executable('kms_dsc', install : true) test_list += 'kms_dsc' +test_executables += executable('kms_psr2_sf', + [ join_paths('i915', 'kms_psr2_sf.c'), join_paths ('i915', 'kms_dsc_helper.c')], + dependencies : test_deps, + install_dir : libexecdir, + install_rpath : libexecdir_rpathdir, + install : true) +test_list += 'kms_psr2_sf' + if chamelium.found() test_executables += executable('kms_chamelium_color', [ 'chamelium/kms_chamelium_color.c', 'kms_color_helper.c' ], -- 2.34.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 2/2] kms_psr2_sf: Add dynamic subtests which use DSC feature 2023-01-25 9:07 ` [igt-dev] [PATCH i-g-t 2/2] kms_psr2_sf: Add dynamic subtests which use DSC feature Jouni Högander @ 2023-02-01 10:27 ` Swati Sharma 2023-02-01 12:12 ` Hogander, Jouni 0 siblings, 1 reply; 8+ messages in thread From: Swati Sharma @ 2023-02-01 10:27 UTC (permalink / raw) To: Jouni Högander, igt-dev Hi Jouni, Changes look good. Few things to mention here: 1. DSC is supported from gen11+ platforms (though h/w supports from gen10 but our driver has support from gen11+) Should we add that restriction? 2. Are we doing manual inspection to check if pattern has no corruption? 3. We aren't using igt_is_dsc_enabled() to verify if DSC got enabled or not. On 25-Jan-23 2:37 PM, Jouni Högander wrote: > Add mechanism to add coexisting features with selective fetch > and add dynamic subtests for DSC as coexisting feature. > > Cc: Jeevan B <jeevan.b@intel.com> > Cc: Swati Sharma <swati2.sharma@intel.com> > Signed-off-by: Jouni Högander <jouni.hogander@intel.com> > --- > tests/i915/kms_psr2_sf.c | 331 ++++++++++++++++++++++++++------------- > tests/meson.build | 9 +- > 2 files changed, 232 insertions(+), 108 deletions(-) > > diff --git a/tests/i915/kms_psr2_sf.c b/tests/i915/kms_psr2_sf.c > index 078884ac..cb965989 100644 > --- a/tests/i915/kms_psr2_sf.c > +++ b/tests/i915/kms_psr2_sf.c > @@ -25,6 +25,7 @@ > #include "igt.h" > #include "igt_sysfs.h" > #include "igt_psr.h" > +#include "kms_dsc_helper.h" > #include <errno.h> > #include <stdbool.h> > #include <stdio.h> > @@ -86,6 +87,13 @@ typedef struct { > uint32_t screen_changes; > int cur_x, cur_y; > enum pipe pipe; > + bool force_dsc_en_orig; > + int force_dsc_restore_fd; > + enum { > + FEATURE_NONE = 0, > + FEATURE_DSC = 1, > + FEATURE_COUNT = 2, > + } coexist_feature; > } data_t; > > static const char *op_str(enum operations op) > @@ -104,6 +112,18 @@ static const char *op_str(enum operations op) > return name[op]; > } > > +static const char *coexist_feature_str(int coexist_feature) > +{ > + switch (coexist_feature) { > + case FEATURE_NONE: > + return ""; > + case FEATURE_DSC: > + return "-dsc"; > + default: > + igt_assert(false); > + } > +} > + > static void display_init(data_t *data) > { > igt_display_require(&data->display, data->drm_fd); > @@ -224,9 +244,17 @@ static void prepare(data_t *data) > igt_plane_t *primary, *sprite = NULL, *cursor = NULL; > int fb_w, fb_h, x, y, view_w, view_h; > > - igt_output_set_pipe(output, data->pipe); > data->mode = igt_output_get_mode(output); > > + if (data->coexist_feature & FEATURE_DSC) { > + save_force_dsc_en(data->drm_fd, output); > + force_dsc_enable(data->drm_fd, output); > + igt_output_set_pipe(output, PIPE_NONE); > + igt_display_commit2(&data->display, COMMIT_ATOMIC); > + } > + > + igt_output_set_pipe(output, data->pipe); > + > if (data->big_fb_test) { > fb_w = data->big_fb_width; > fb_h = data->big_fb_height; > @@ -816,6 +844,11 @@ static void cleanup(data_t *data) > igt_plane_set_fb(sprite, NULL); > } > > + if (data->coexist_feature & FEATURE_DSC) { > + restore_force_dsc_en(); > + igt_output_set_pipe(output, PIPE_NONE); > + } > + > igt_display_commit2(&data->display, COMMIT_ATOMIC); > > igt_remove_fb(data->drm_fd, &data->fb_primary); > @@ -839,9 +872,10 @@ igt_main > { > data_t data = {}; > igt_output_t *outputs[IGT_MAX_PIPES * IGT_MAX_PIPES]; > - int i, j; > + int i, j, k; > int pipes[IGT_MAX_PIPES * IGT_MAX_PIPES]; > int n_pipes = 0; > + int coexist_features[IGT_MAX_PIPES * IGT_MAX_PIPES]; > > igt_fixture { > drmModeResPtr res; > @@ -877,9 +911,14 @@ igt_main > "PSR2 selective fetch not enabled\n"); > > for_each_pipe_with_valid_output(&data.display, data.pipe, data.output) { > + coexist_features[n_pipes] = 0; > if (check_psr2_support(&data)) { > pipes[n_pipes] = data.pipe; > outputs[n_pipes] = data.output; > + > + if (check_dsc_on_connector(data.drm_fd, data.output)) > + coexist_features[n_pipes] |= FEATURE_DSC; > + > n_pipes++; > } > } > @@ -889,16 +928,22 @@ igt_main > igt_describe("Test that selective fetch works on primary plane"); > igt_subtest_with_dynamic_f("primary-%s-sf-dmg-area", op_str(data.op)) { > for (i = 0; i < n_pipes; i++) { > - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i])) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - for (j = 1; j <= MAX_DAMAGE_AREAS; j++) { > - data.damage_area_count = j; > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; > - prepare(&data); > - run(&data); > - cleanup(&data); > + data.coexist_feature = j; > + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { > + data.damage_area_count = k; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > } > } > } > @@ -909,16 +954,22 @@ igt_main > igt_describe("Test that selective fetch works on primary plane with big fb"); > igt_subtest_with_dynamic_f("primary-%s-sf-dmg-area-big-fb", op_str(data.op)) { > for (i = 0; i < n_pipes; i++) { > - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i])) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - for (j = 1; j <= MAX_DAMAGE_AREAS; j++) { > - data.damage_area_count = j; > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; > - prepare(&data); > - run(&data); > - cleanup(&data); > + data.coexist_feature = j; > + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { > + data.damage_area_count = k; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > } > } > } > @@ -929,16 +980,22 @@ igt_main > igt_describe("Test that selective fetch works on overlay plane"); > igt_subtest_with_dynamic_f("overlay-%s-sf-dmg-area", op_str(data.op)) { > for (i = 0; i < n_pipes; i++) { > - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i])) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - for (j = 1; j <= MAX_DAMAGE_AREAS; j++) { > - data.damage_area_count = j; > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > - prepare(&data); > - run(&data); > - cleanup(&data); > + data.coexist_feature = j; > + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { > + data.damage_area_count = k; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > } > } > } > @@ -949,14 +1006,20 @@ igt_main > igt_describe("Test that selective fetch works on cursor plane"); > igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { > for (i = 0; i < n_pipes; i++) { > - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i])) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > - prepare(&data); > - run(&data); > - cleanup(&data); > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > + data.coexist_feature = j; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > } > } > } > @@ -965,14 +1028,20 @@ igt_main > igt_describe("Test that selective fetch works on moving cursor plane (no update)"); > igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { > for (i = 0; i < n_pipes; i++) { > - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i])) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > - prepare(&data); > - run(&data); > - cleanup(&data); > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > + data.coexist_feature = j; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > } > } > } > @@ -981,14 +1050,20 @@ igt_main > igt_describe("Test that selective fetch works on moving cursor plane exceeding partially visible area (no update)"); > igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { > for (i = 0; i < n_pipes; i++) { > - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i])) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > - prepare(&data); > - run(&data); > - cleanup(&data); > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > + data.coexist_feature = j; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > } > } > } > @@ -997,14 +1072,20 @@ igt_main > igt_describe("Test that selective fetch works on moving cursor plane exceeding fully visible area (no update)"); > igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { > for (i = 0; i < n_pipes; i++) { > - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i])) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > - prepare(&data); > - run(&data); > - cleanup(&data); > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > + data.coexist_feature = j; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > } > } > } > @@ -1015,16 +1096,22 @@ igt_main > igt_describe("Test that selective fetch works on moving overlay plane"); > igt_subtest_with_dynamic_f("%s-sf-dmg-area", op_str(data.op)) { > for (i = 0; i < n_pipes; i++) { > - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i])) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - for (j = POS_TOP_LEFT; j <= POS_BOTTOM_RIGHT ; j++) { > - data.pos = j; > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > - prepare(&data); > - run(&data); > - cleanup(&data); > + data.coexist_feature = j; > + for (k = POS_TOP_LEFT; k <= POS_BOTTOM_RIGHT ; k++) { > + data.pos = k; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > } > } > } > @@ -1034,14 +1121,20 @@ igt_main > igt_describe("Test that selective fetch works on moving overlay plane (no update)"); > igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { > for (i = 0; i < n_pipes; i++) { > - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i])) { > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > data.pipe = pipes[i]; > data.output = outputs[i]; > data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > + data.coexist_feature = j; > prepare(&data); > run(&data); > cleanup(&data); > + } > } > } > } > @@ -1050,14 +1143,20 @@ igt_main > igt_describe("Test that selective fetch works on moving overlay plane partially exceeding visible area (no update)"); > igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { > for (i = 0; i < n_pipes; i++) { > - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i])) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > - prepare(&data); > - run(&data); > - cleanup(&data); > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > + data.coexist_feature = j; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > } > } > } > @@ -1066,14 +1165,20 @@ igt_main > igt_describe("Test that selective fetch works on moving overlay plane fully exceeding visible area (no update)"); > igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { > for (i = 0; i < n_pipes; i++) { > - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i])) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > - prepare(&data); > - run(&data); > - cleanup(&data); > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > + data.coexist_feature = j; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > } > } > } > @@ -1084,16 +1189,22 @@ igt_main > "with blended overlay plane"); > igt_subtest_with_dynamic_f("%s-sf-dmg-area", op_str(data.op)) { > for (i = 0; i < n_pipes; i++) { > - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i])) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - for (j = 1; j <= MAX_DAMAGE_AREAS; j++) { > - data.damage_area_count = j; > - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; > - prepare(&data); > - run(&data); > - cleanup(&data); > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { > + data.damage_area_count = k; > + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; > + data.coexist_feature = j; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > } > } > } > @@ -1108,15 +1219,21 @@ igt_main > igt_describe("Test that selective fetch works on overlay plane"); > igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { > for (i = 0; i < n_pipes; i++) { > - igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i])) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.damage_area_count = 1; > - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > - prepare(&data); > - run(&data); > - cleanup(&data); > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.damage_area_count = 1; > + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > + data.coexist_feature = j; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > } > } > } > diff --git a/tests/meson.build b/tests/meson.build > index cce9d89e..da8a4204 100644 > --- a/tests/meson.build > +++ b/tests/meson.build > @@ -232,7 +232,6 @@ i915_progs = [ > 'kms_pipe_b_c_ivb', > 'kms_psr', > 'kms_psr2_su', > - 'kms_psr2_sf', > 'kms_psr_stress_test', > 'kms_pwrite_crc', > 'sysfs_defaults', > @@ -435,6 +434,14 @@ test_executables += executable('kms_dsc', > install : true) > test_list += 'kms_dsc' > > +test_executables += executable('kms_psr2_sf', > + [ join_paths('i915', 'kms_psr2_sf.c'), join_paths ('i915', 'kms_dsc_helper.c')], > + dependencies : test_deps, > + install_dir : libexecdir, > + install_rpath : libexecdir_rpathdir, > + install : true) > +test_list += 'kms_psr2_sf' > + > if chamelium.found() > test_executables += executable('kms_chamelium_color', > [ 'chamelium/kms_chamelium_color.c', 'kms_color_helper.c' ], -- ~Swati Sharma ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 2/2] kms_psr2_sf: Add dynamic subtests which use DSC feature 2023-02-01 10:27 ` Swati Sharma @ 2023-02-01 12:12 ` Hogander, Jouni 0 siblings, 0 replies; 8+ messages in thread From: Hogander, Jouni @ 2023-02-01 12:12 UTC (permalink / raw) To: igt-dev@lists.freedesktop.org, Sharma, Swati2 Thank you Swati for checking my patch. See my responses inline below. On Wed, 2023-02-01 at 15:57 +0530, Swati Sharma wrote: > Hi Jouni, > > Changes look good. Few things to mention here: > 1. DSC is supported from gen11+ platforms (though h/w supports from > gen10 but our driver has support from gen11+) > Should we add that restriction? Dsc debugfs are not created so our check_dsc_on_connector will inform "not supported" and these dynamic subtests are not run. > 2. Are we doing manual inspection to check if pattern has no > corruption? In case of psr2 we have CRC calculation for selective update. The panel is checking these and interrupting/informing about CRC checksum mismatch and this will trigger psr2 disable and eventually test failure. Generally DSC CRC check is not implemented for kms_dsc either. So I think it should be implemented there first if wanted. > 3. We aren't using igt_is_dsc_enabled() to verify if DSC got enabled > or not. This actually make sense. I will add it. > > On 25-Jan-23 2:37 PM, Jouni Högander wrote: > > Add mechanism to add coexisting features with selective fetch > > and add dynamic subtests for DSC as coexisting feature. > > > > Cc: Jeevan B <jeevan.b@intel.com> > > Cc: Swati Sharma <swati2.sharma@intel.com> > > Signed-off-by: Jouni Högander <jouni.hogander@intel.com> > > --- > > tests/i915/kms_psr2_sf.c | 331 ++++++++++++++++++++++++++-------- > > ----- > > tests/meson.build | 9 +- > > 2 files changed, 232 insertions(+), 108 deletions(-) > > > > diff --git a/tests/i915/kms_psr2_sf.c b/tests/i915/kms_psr2_sf.c > > index 078884ac..cb965989 100644 > > --- a/tests/i915/kms_psr2_sf.c > > +++ b/tests/i915/kms_psr2_sf.c > > @@ -25,6 +25,7 @@ > > #include "igt.h" > > #include "igt_sysfs.h" > > #include "igt_psr.h" > > +#include "kms_dsc_helper.h" > > #include <errno.h> > > #include <stdbool.h> > > #include <stdio.h> > > @@ -86,6 +87,13 @@ typedef struct { > > uint32_t screen_changes; > > int cur_x, cur_y; > > enum pipe pipe; > > + bool force_dsc_en_orig; > > + int force_dsc_restore_fd; > > + enum { > > + FEATURE_NONE = 0, > > + FEATURE_DSC = 1, > > + FEATURE_COUNT = 2, > > + } coexist_feature; > > } data_t; > > > > static const char *op_str(enum operations op) > > @@ -104,6 +112,18 @@ static const char *op_str(enum operations op) > > return name[op]; > > } > > > > +static const char *coexist_feature_str(int coexist_feature) > > +{ > > + switch (coexist_feature) { > > + case FEATURE_NONE: > > + return ""; > > + case FEATURE_DSC: > > + return "-dsc"; > > + default: > > + igt_assert(false); > > + } > > +} > > + > > static void display_init(data_t *data) > > { > > igt_display_require(&data->display, data->drm_fd); > > @@ -224,9 +244,17 @@ static void prepare(data_t *data) > > igt_plane_t *primary, *sprite = NULL, *cursor = NULL; > > int fb_w, fb_h, x, y, view_w, view_h; > > > > - igt_output_set_pipe(output, data->pipe); > > data->mode = igt_output_get_mode(output); > > > > + if (data->coexist_feature & FEATURE_DSC) { > > + save_force_dsc_en(data->drm_fd, output); > > + force_dsc_enable(data->drm_fd, output); > > + igt_output_set_pipe(output, PIPE_NONE); > > + igt_display_commit2(&data->display, COMMIT_ATOMIC); > > + } > > + > > + igt_output_set_pipe(output, data->pipe); > > + > > if (data->big_fb_test) { > > fb_w = data->big_fb_width; > > fb_h = data->big_fb_height; > > @@ -816,6 +844,11 @@ static void cleanup(data_t *data) > > igt_plane_set_fb(sprite, NULL); > > } > > > > + if (data->coexist_feature & FEATURE_DSC) { > > + restore_force_dsc_en(); > > + igt_output_set_pipe(output, PIPE_NONE); > > + } > > + > > igt_display_commit2(&data->display, COMMIT_ATOMIC); > > > > igt_remove_fb(data->drm_fd, &data->fb_primary); > > @@ -839,9 +872,10 @@ igt_main > > { > > data_t data = {}; > > igt_output_t *outputs[IGT_MAX_PIPES * IGT_MAX_PIPES]; > > - int i, j; > > + int i, j, k; > > int pipes[IGT_MAX_PIPES * IGT_MAX_PIPES]; > > int n_pipes = 0; > > + int coexist_features[IGT_MAX_PIPES * IGT_MAX_PIPES]; > > > > igt_fixture { > > drmModeResPtr res; > > @@ -877,9 +911,14 @@ igt_main > > "PSR2 selective fetch not > > enabled\n"); > > > > for_each_pipe_with_valid_output(&data.display, > > data.pipe, data.output) { > > + coexist_features[n_pipes] = 0; > > if (check_psr2_support(&data)) { > > pipes[n_pipes] = data.pipe; > > outputs[n_pipes] = data.output; > > + > > + if > > (check_dsc_on_connector(data.drm_fd, data.output)) > > + coexist_features[n_pipes] > > |= FEATURE_DSC; > > + > > n_pipes++; > > } > > } > > @@ -889,16 +928,22 @@ igt_main > > igt_describe("Test that selective fetch works on primary > > plane"); > > igt_subtest_with_dynamic_f("primary-%s-sf-dmg-area", > > op_str(data.op)) { > > for (i = 0; i < n_pipes; i++) { > > - igt_dynamic_f("pipe-%s-%s", > > kmstest_pipe_name(pipes[i]), > > - > > igt_output_name(outputs[i])) > > { > > - data.pipe = pipes[i]; > > - data.output = outputs[i]; > > - for (j = 1; j <= MAX_DAMAGE_AREAS; > > j++) { > > - data.damage_area_count = j; > > + for (j = FEATURE_NONE; j < FEATURE_COUNT; > > j++) { > > + if (j != FEATURE_NONE && > > !(coexist_features[i] & j)) > > + continue; > > + igt_dynamic_f("pipe-%s-%s%s", > > kmstest_pipe_name(pipes[i]), > > + > > igt_output_name(outputs[i]), > > + > > coexist_feature_str(j)) { > > + data.pipe = pipes[i]; > > + data.output = outputs[i]; > > data.test_plane_id = > > DRM_PLANE_TYPE_PRIMARY; > > - prepare(&data); > > - run(&data); > > - cleanup(&data); > > + data.coexist_feature = j; > > + for (k = 1; k <= > > MAX_DAMAGE_AREAS; k++) { > > + data.damage_area_co > > unt = k; > > + prepare(&data); > > + run(&data); > > + cleanup(&data); > > + } > > } > > } > > } > > @@ -909,16 +954,22 @@ igt_main > > igt_describe("Test that selective fetch works on primary > > plane with big fb"); > > igt_subtest_with_dynamic_f("primary-%s-sf-dmg-area-big-fb", > > op_str(data.op)) { > > for (i = 0; i < n_pipes; i++) { > > - igt_dynamic_f("pipe-%s-%s", > > kmstest_pipe_name(pipes[i]), > > - > > igt_output_name(outputs[i])) > > { > > - data.pipe = pipes[i]; > > - data.output = outputs[i]; > > - for (j = 1; j <= MAX_DAMAGE_AREAS; > > j++) { > > - data.damage_area_count = j; > > + for (j = FEATURE_NONE; j < FEATURE_COUNT; > > j++) { > > + if (j != FEATURE_NONE && > > !(coexist_features[i] & j)) > > + continue; > > + igt_dynamic_f("pipe-%s-%s%s", > > kmstest_pipe_name(pipes[i]), > > + > > igt_output_name(outputs[i]), > > + > > coexist_feature_str(j)) { > > + data.pipe = pipes[i]; > > + data.output = outputs[i]; > > data.test_plane_id = > > DRM_PLANE_TYPE_PRIMARY; > > - prepare(&data); > > - run(&data); > > - cleanup(&data); > > + data.coexist_feature = j; > > + for (k = 1; k <= > > MAX_DAMAGE_AREAS; k++) { > > + data.damage_area_co > > unt = k; > > + prepare(&data); > > + run(&data); > > + cleanup(&data); > > + } > > } > > } > > } > > @@ -929,16 +980,22 @@ igt_main > > igt_describe("Test that selective fetch works on overlay > > plane"); > > igt_subtest_with_dynamic_f("overlay-%s-sf-dmg-area", > > op_str(data.op)) { > > for (i = 0; i < n_pipes; i++) { > > - igt_dynamic_f("pipe-%s-%s", > > kmstest_pipe_name(pipes[i]), > > - > > igt_output_name(outputs[i])) > > { > > - data.pipe = pipes[i]; > > - data.output = outputs[i]; > > - for (j = 1; j <= MAX_DAMAGE_AREAS; > > j++) { > > - data.damage_area_count = j; > > + for (j = FEATURE_NONE; j < FEATURE_COUNT; > > j++) { > > + if (j != FEATURE_NONE && > > !(coexist_features[i] & j)) > > + continue; > > + igt_dynamic_f("pipe-%s-%s%s", > > kmstest_pipe_name(pipes[i]), > > + > > igt_output_name(outputs[i]), > > + > > coexist_feature_str(j)) { > > + data.pipe = pipes[i]; > > + data.output = outputs[i]; > > data.test_plane_id = > > DRM_PLANE_TYPE_OVERLAY; > > - prepare(&data); > > - run(&data); > > - cleanup(&data); > > + data.coexist_feature = j; > > + for (k = 1; k <= > > MAX_DAMAGE_AREAS; k++) { > > + data.damage_area_co > > unt = k; > > + prepare(&data); > > + run(&data); > > + cleanup(&data); > > + } > > } > > } > > } > > @@ -949,14 +1006,20 @@ igt_main > > igt_describe("Test that selective fetch works on cursor > > plane"); > > igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) > > { > > for (i = 0; i < n_pipes; i++) { > > - igt_dynamic_f("pipe-%s-%s", > > kmstest_pipe_name(pipes[i]), > > - > > igt_output_name(outputs[i])) > > { > > - data.pipe = pipes[i]; > > - data.output = outputs[i]; > > - data.test_plane_id = > > DRM_PLANE_TYPE_CURSOR; > > - prepare(&data); > > - run(&data); > > - cleanup(&data); > > + for (j = FEATURE_NONE; j < FEATURE_COUNT; > > j++) { > > + if (j != FEATURE_NONE && > > !(coexist_features[i] & j)) > > + continue; > > + igt_dynamic_f("pipe-%s-%s%s", > > kmstest_pipe_name(pipes[i]), > > + > > igt_output_name(outputs[i]), > > + > > coexist_feature_str(j)) { > > + data.pipe = pipes[i]; > > + data.output = outputs[i]; > > + data.test_plane_id = > > DRM_PLANE_TYPE_CURSOR; > > + data.coexist_feature = j; > > + prepare(&data); > > + run(&data); > > + cleanup(&data); > > + } > > } > > } > > } > > @@ -965,14 +1028,20 @@ igt_main > > igt_describe("Test that selective fetch works on moving > > cursor plane (no update)"); > > igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) > > { > > for (i = 0; i < n_pipes; i++) { > > - igt_dynamic_f("pipe-%s-%s", > > kmstest_pipe_name(pipes[i]), > > - > > igt_output_name(outputs[i])) > > { > > - data.pipe = pipes[i]; > > - data.output = outputs[i]; > > - data.test_plane_id = > > DRM_PLANE_TYPE_CURSOR; > > - prepare(&data); > > - run(&data); > > - cleanup(&data); > > + for (j = FEATURE_NONE; j < FEATURE_COUNT; > > j++) { > > + if (j != FEATURE_NONE && > > !(coexist_features[i] & j)) > > + continue; > > + igt_dynamic_f("pipe-%s-%s%s", > > kmstest_pipe_name(pipes[i]), > > + > > igt_output_name(outputs[i]), > > + > > coexist_feature_str(j)) { > > + data.pipe = pipes[i]; > > + data.output = outputs[i]; > > + data.test_plane_id = > > DRM_PLANE_TYPE_CURSOR; > > + data.coexist_feature = j; > > + prepare(&data); > > + run(&data); > > + cleanup(&data); > > + } > > } > > } > > } > > @@ -981,14 +1050,20 @@ igt_main > > igt_describe("Test that selective fetch works on moving > > cursor plane exceeding partially visible area (no update)"); > > igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) > > { > > for (i = 0; i < n_pipes; i++) { > > - igt_dynamic_f("pipe-%s-%s", > > kmstest_pipe_name(pipes[i]), > > - > > igt_output_name(outputs[i])) > > { > > - data.pipe = pipes[i]; > > - data.output = outputs[i]; > > - data.test_plane_id = > > DRM_PLANE_TYPE_CURSOR; > > - prepare(&data); > > - run(&data); > > - cleanup(&data); > > + for (j = FEATURE_NONE; j < FEATURE_COUNT; > > j++) { > > + if (j != FEATURE_NONE && > > !(coexist_features[i] & j)) > > + continue; > > + igt_dynamic_f("pipe-%s-%s%s", > > kmstest_pipe_name(pipes[i]), > > + > > igt_output_name(outputs[i]), > > + > > coexist_feature_str(j)) { > > + data.pipe = pipes[i]; > > + data.output = outputs[i]; > > + data.test_plane_id = > > DRM_PLANE_TYPE_CURSOR; > > + data.coexist_feature = j; > > + prepare(&data); > > + run(&data); > > + cleanup(&data); > > + } > > } > > } > > } > > @@ -997,14 +1072,20 @@ igt_main > > igt_describe("Test that selective fetch works on moving > > cursor plane exceeding fully visible area (no update)"); > > igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) > > { > > for (i = 0; i < n_pipes; i++) { > > - igt_dynamic_f("pipe-%s-%s", > > kmstest_pipe_name(pipes[i]), > > - > > igt_output_name(outputs[i])) > > { > > - data.pipe = pipes[i]; > > - data.output = outputs[i]; > > - data.test_plane_id = > > DRM_PLANE_TYPE_CURSOR; > > - prepare(&data); > > - run(&data); > > - cleanup(&data); > > + for (j = FEATURE_NONE; j < FEATURE_COUNT; > > j++) { > > + if (j != FEATURE_NONE && > > !(coexist_features[i] & j)) > > + continue; > > + igt_dynamic_f("pipe-%s-%s%s", > > kmstest_pipe_name(pipes[i]), > > + > > igt_output_name(outputs[i]), > > + > > coexist_feature_str(j)) { > > + data.pipe = pipes[i]; > > + data.output = outputs[i]; > > + data.test_plane_id = > > DRM_PLANE_TYPE_CURSOR; > > + data.coexist_feature = j; > > + prepare(&data); > > + run(&data); > > + cleanup(&data); > > + } > > } > > } > > } > > @@ -1015,16 +1096,22 @@ igt_main > > igt_describe("Test that selective fetch works on moving > > overlay plane"); > > igt_subtest_with_dynamic_f("%s-sf-dmg-area", > > op_str(data.op)) { > > for (i = 0; i < n_pipes; i++) { > > - igt_dynamic_f("pipe-%s-%s", > > kmstest_pipe_name(pipes[i]), > > - > > igt_output_name(outputs[i])) > > { > > - data.pipe = pipes[i]; > > - data.output = outputs[i]; > > - for (j = POS_TOP_LEFT; j <= > > POS_BOTTOM_RIGHT ; j++) { > > - data.pos = j; > > + for (j = FEATURE_NONE; j < FEATURE_COUNT; > > j++) { > > + if (j != FEATURE_NONE && > > !(coexist_features[i] & j)) > > + continue; > > + igt_dynamic_f("pipe-%s-%s%s", > > kmstest_pipe_name(pipes[i]), > > + > > igt_output_name(outputs[i]), > > + > > coexist_feature_str(j)) { > > + data.pipe = pipes[i]; > > + data.output = outputs[i]; > > data.test_plane_id = > > DRM_PLANE_TYPE_OVERLAY; > > - prepare(&data); > > - run(&data); > > - cleanup(&data); > > + data.coexist_feature = j; > > + for (k = POS_TOP_LEFT; k <= > > POS_BOTTOM_RIGHT ; k++) { > > + data.pos = k; > > + prepare(&data); > > + run(&data); > > + cleanup(&data); > > + } > > } > > } > > } > > @@ -1034,14 +1121,20 @@ igt_main > > igt_describe("Test that selective fetch works on moving > > overlay plane (no update)"); > > igt_subtest_with_dynamic_f("overlay-%s-sf", > > op_str(data.op)) { > > for (i = 0; i < n_pipes; i++) { > > - igt_dynamic_f("pipe-%s-%s", > > kmstest_pipe_name(pipes[i]), > > - > > igt_output_name(outputs[i])) > > { > > + for (j = FEATURE_NONE; j < FEATURE_COUNT; > > j++) { > > + if (j != FEATURE_NONE && > > !(coexist_features[i] & j)) > > + continue; > > + igt_dynamic_f("pipe-%s-%s%s", > > kmstest_pipe_name(pipes[i]), > > + > > igt_output_name(outputs[i]), > > + > > coexist_feature_str(j)) { > > data.pipe = pipes[i]; > > data.output = outputs[i]; > > data.test_plane_id = > > DRM_PLANE_TYPE_OVERLAY; > > + data.coexist_feature = j; > > prepare(&data); > > run(&data); > > cleanup(&data); > > + } > > } > > } > > } > > @@ -1050,14 +1143,20 @@ igt_main > > igt_describe("Test that selective fetch works on moving > > overlay plane partially exceeding visible area (no update)"); > > igt_subtest_with_dynamic_f("overlay-%s-sf", > > op_str(data.op)) { > > for (i = 0; i < n_pipes; i++) { > > - igt_dynamic_f("pipe-%s-%s", > > kmstest_pipe_name(pipes[i]), > > - > > igt_output_name(outputs[i])) > > { > > - data.pipe = pipes[i]; > > - data.output = outputs[i]; > > - data.test_plane_id = > > DRM_PLANE_TYPE_OVERLAY; > > - prepare(&data); > > - run(&data); > > - cleanup(&data); > > + for (j = FEATURE_NONE; j < FEATURE_COUNT; > > j++) { > > + if (j != FEATURE_NONE && > > !(coexist_features[i] & j)) > > + continue; > > + igt_dynamic_f("pipe-%s-%s%s", > > kmstest_pipe_name(pipes[i]), > > + > > igt_output_name(outputs[i]), > > + > > coexist_feature_str(j)) { > > + data.pipe = pipes[i]; > > + data.output = outputs[i]; > > + data.test_plane_id = > > DRM_PLANE_TYPE_OVERLAY; > > + data.coexist_feature = j; > > + prepare(&data); > > + run(&data); > > + cleanup(&data); > > + } > > } > > } > > } > > @@ -1066,14 +1165,20 @@ igt_main > > igt_describe("Test that selective fetch works on moving > > overlay plane fully exceeding visible area (no update)"); > > igt_subtest_with_dynamic_f("overlay-%s-sf", > > op_str(data.op)) { > > for (i = 0; i < n_pipes; i++) { > > - igt_dynamic_f("pipe-%s-%s", > > kmstest_pipe_name(pipes[i]), > > - > > igt_output_name(outputs[i])) > > { > > - data.pipe = pipes[i]; > > - data.output = outputs[i]; > > - data.test_plane_id = > > DRM_PLANE_TYPE_OVERLAY; > > - prepare(&data); > > - run(&data); > > - cleanup(&data); > > + for (j = FEATURE_NONE; j < FEATURE_COUNT; > > j++) { > > + if (j != FEATURE_NONE && > > !(coexist_features[i] & j)) > > + continue; > > + igt_dynamic_f("pipe-%s-%s%s", > > kmstest_pipe_name(pipes[i]), > > + > > igt_output_name(outputs[i]), > > + > > coexist_feature_str(j)) { > > + data.pipe = pipes[i]; > > + data.output = outputs[i]; > > + data.test_plane_id = > > DRM_PLANE_TYPE_OVERLAY; > > + data.coexist_feature = j; > > + prepare(&data); > > + run(&data); > > + cleanup(&data); > > + } > > } > > } > > } > > @@ -1084,16 +1189,22 @@ igt_main > > "with blended overlay plane"); > > igt_subtest_with_dynamic_f("%s-sf-dmg-area", > > op_str(data.op)) { > > for (i = 0; i < n_pipes; i++) { > > - igt_dynamic_f("pipe-%s-%s", > > kmstest_pipe_name(pipes[i]), > > - > > igt_output_name(outputs[i])) > > { > > - data.pipe = pipes[i]; > > - data.output = outputs[i]; > > - for (j = 1; j <= MAX_DAMAGE_AREAS; > > j++) { > > - data.damage_area_count = j; > > - data.test_plane_id = > > DRM_PLANE_TYPE_PRIMARY; > > - prepare(&data); > > - run(&data); > > - cleanup(&data); > > + for (j = FEATURE_NONE; j < FEATURE_COUNT; > > j++) { > > + if (j != FEATURE_NONE && > > !(coexist_features[i] & j)) > > + continue; > > + igt_dynamic_f("pipe-%s-%s%s", > > kmstest_pipe_name(pipes[i]), > > + > > igt_output_name(outputs[i]), > > + > > coexist_feature_str(j)) { > > + data.pipe = pipes[i]; > > + data.output = outputs[i]; > > + for (k = 1; k <= > > MAX_DAMAGE_AREAS; k++) { > > + data.damage_area_co > > unt = k; > > + data.test_plane_id > > = DRM_PLANE_TYPE_PRIMARY; > > + data.coexist_featur > > e = j; > > + prepare(&data); > > + run(&data); > > + cleanup(&data); > > + } > > } > > } > > } > > @@ -1108,15 +1219,21 @@ igt_main > > igt_describe("Test that selective fetch works on overlay > > plane"); > > igt_subtest_with_dynamic_f("overlay-%s-sf", > > op_str(data.op)) { > > for (i = 0; i < n_pipes; i++) { > > - igt_dynamic_f("pipe-%s-%s", > > kmstest_pipe_name(pipes[i]), > > - igt_output_name(outputs[i])) > > { > > - data.pipe = pipes[i]; > > - data.output = outputs[i]; > > - data.damage_area_count = 1; > > - data.test_plane_id = > > DRM_PLANE_TYPE_OVERLAY; > > - prepare(&data); > > - run(&data); > > - cleanup(&data); > > + for (j = FEATURE_NONE; j < FEATURE_COUNT; > > j++) { > > + if (j != FEATURE_NONE && > > !(coexist_features[i] & j)) > > + continue; > > + igt_dynamic_f("pipe-%s-%s%s", > > kmstest_pipe_name(pipes[i]), > > + > > igt_output_name(outputs[i]), > > + > > coexist_feature_str(j)) { > > + data.pipe = pipes[i]; > > + data.output = outputs[i]; > > + data.damage_area_count = 1; > > + data.test_plane_id = > > DRM_PLANE_TYPE_OVERLAY; > > + data.coexist_feature = j; > > + prepare(&data); > > + run(&data); > > + cleanup(&data); > > + } > > } > > } > > } > > diff --git a/tests/meson.build b/tests/meson.build > > index cce9d89e..da8a4204 100644 > > --- a/tests/meson.build > > +++ b/tests/meson.build > > @@ -232,7 +232,6 @@ i915_progs = [ > > 'kms_pipe_b_c_ivb', > > 'kms_psr', > > 'kms_psr2_su', > > - 'kms_psr2_sf', > > 'kms_psr_stress_test', > > 'kms_pwrite_crc', > > 'sysfs_defaults', > > @@ -435,6 +434,14 @@ test_executables += executable('kms_dsc', > > install : true) > > test_list += 'kms_dsc' > > > > +test_executables += executable('kms_psr2_sf', > > + [ join_paths('i915', 'kms_psr2_sf.c'), join_paths > > ('i915', 'kms_dsc_helper.c')], > > + dependencies : test_deps, > > + install_dir : libexecdir, > > + install_rpath : libexecdir_rpathdir, > > + install : true) > > +test_list += 'kms_psr2_sf' > > + > > if chamelium.found() > > test_executables += executable('kms_chamelium_color', > > [ 'chamelium/kms_chamelium_color.c', > > 'kms_color_helper.c' ], > ^ permalink raw reply [flat|nested] 8+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for Psr2 dsc testcases 2023-01-25 9:07 [igt-dev] [PATCH i-g-t 0/2] Psr2 dsc testcases Jouni Högander 2023-01-25 9:07 ` [igt-dev] [PATCH i-g-t 1/2] tests/i915/kms_psr2_sf: Some cleanups after Jouni Högander 2023-01-25 9:07 ` [igt-dev] [PATCH i-g-t 2/2] kms_psr2_sf: Add dynamic subtests which use DSC feature Jouni Högander @ 2023-01-25 14:25 ` Patchwork 2023-01-25 22:18 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork 3 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2023-01-25 14:25 UTC (permalink / raw) To: Jouni Högander; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 3680 bytes --] == Series Details == Series: Psr2 dsc testcases URL : https://patchwork.freedesktop.org/series/113308/ State : success == Summary == CI Bug Log - changes from CI_DRM_12635 -> IGTPW_8401 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/index.html Participating hosts (36 -> 36) ------------------------------ Additional (1): bat-atsm-1 Missing (1): fi-kbl-soraka Known issues ------------ Here are the changes found in IGTPW_8401 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions-varying-size: - fi-bsw-n3050: [PASS][1] -> [FAIL][2] ([i915#6298]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/fi-bsw-n3050/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions-varying-size.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/fi-bsw-n3050/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions-varying-size.html * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-d-hdmi-a-2: - bat-dg1-6: [PASS][3] -> [FAIL][4] ([fdo#103375]) +1 similar issue [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/bat-dg1-6/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-d-hdmi-a-2.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/bat-dg1-6/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-d-hdmi-a-2.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#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#1836]: https://gitlab.freedesktop.org/drm/intel/issues/1836 [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582 [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983 [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354 [i915#6077]: https://gitlab.freedesktop.org/drm/intel/issues/6077 [i915#6078]: https://gitlab.freedesktop.org/drm/intel/issues/6078 [i915#6093]: https://gitlab.freedesktop.org/drm/intel/issues/6093 [i915#6094]: https://gitlab.freedesktop.org/drm/intel/issues/6094 [i915#6166]: https://gitlab.freedesktop.org/drm/intel/issues/6166 [i915#6298]: https://gitlab.freedesktop.org/drm/intel/issues/6298 [i915#6311]: https://gitlab.freedesktop.org/drm/intel/issues/6311 [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621 [i915#6645]: https://gitlab.freedesktop.org/drm/intel/issues/6645 [i915#7357]: https://gitlab.freedesktop.org/drm/intel/issues/7357 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7136 -> IGTPW_8401 CI-20190529: 20190529 CI_DRM_12635: 479665dac7e36fbde1a1c7aab8fd0b1dfec208ab @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_8401: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/index.html IGT_7136: 31b6af91747ad8c705399c9006cdb81cb1864146 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Testlist changes ---------------- -igt@perf_pmu@pmu-read == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/index.html [-- Attachment #2: Type: text/html, Size: 3023 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for Psr2 dsc testcases 2023-01-25 9:07 [igt-dev] [PATCH i-g-t 0/2] Psr2 dsc testcases Jouni Högander ` (2 preceding siblings ...) 2023-01-25 14:25 ` [igt-dev] ✓ Fi.CI.BAT: success for Psr2 dsc testcases Patchwork @ 2023-01-25 22:18 ` Patchwork 3 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2023-01-25 22:18 UTC (permalink / raw) To: Jouni Högander; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 24958 bytes --] == Series Details == Series: Psr2 dsc testcases URL : https://patchwork.freedesktop.org/series/113308/ State : success == Summary == CI Bug Log - changes from CI_DRM_12635_full -> IGTPW_8401_full ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/index.html Participating hosts (12 -> 10) ------------------------------ Missing (2): pig-skl-6260u pig-kbl-iris Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_8401_full: ### IGT changes ### #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * igt@gem_exec_suspend@basic-s4-devices@smem: - {shard-dg1}: NOTRUN -> [INCOMPLETE][1] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-dg1-18/igt@gem_exec_suspend@basic-s4-devices@smem.html * igt@gem_lmem_evict@dontneed-evict-race: - {shard-dg1}: NOTRUN -> [DMESG-WARN][2] [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-dg1-15/igt@gem_lmem_evict@dontneed-evict-race.html * igt@kms_cursor_edge_walk@top-edge@pipe-d-hdmi-a-4-256x256: - {shard-dg1}: NOTRUN -> [FAIL][3] +54 similar issues [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-dg1-16/igt@kms_cursor_edge_walk@top-edge@pipe-d-hdmi-a-4-256x256.html Known issues ------------ Here are the changes found in IGTPW_8401_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@feature_discovery@display-4x: - shard-glk: NOTRUN -> [SKIP][4] ([fdo#109271]) +40 similar issues [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-glk4/igt@feature_discovery@display-4x.html * igt@gem_exec_fair@basic-none-share@rcs0: - shard-glk: NOTRUN -> [FAIL][5] ([i915#2842]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-glk1/igt@gem_exec_fair@basic-none-share@rcs0.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/CI_DRM_12635/shard-glk4/igt@gem_exec_fair@basic-pace-share@rcs0.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-glk8/igt@gem_exec_fair@basic-pace-share@rcs0.html - shard-apl: [PASS][8] -> [FAIL][9] ([i915#2842]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-apl2/igt@gem_exec_fair@basic-pace-share@rcs0.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-apl6/igt@gem_exec_fair@basic-pace-share@rcs0.html * igt@gem_lmem_swapping@heavy-verify-multi-ccs: - shard-glk: NOTRUN -> [SKIP][10] ([fdo#109271] / [i915#4613]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-glk6/igt@gem_lmem_swapping@heavy-verify-multi-ccs.html * igt@gem_lmem_swapping@parallel-random-verify: - shard-apl: NOTRUN -> [SKIP][11] ([fdo#109271] / [i915#4613]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-apl7/igt@gem_lmem_swapping@parallel-random-verify.html * igt@gem_render_copy@x-tiled-to-vebox-yf-tiled: - shard-snb: NOTRUN -> [SKIP][12] ([fdo#109271]) +14 similar issues [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-snb2/igt@gem_render_copy@x-tiled-to-vebox-yf-tiled.html * igt@i915_pm_dc@dc3co-vpb-simulation: - shard-glk: NOTRUN -> [SKIP][13] ([fdo#109271] / [i915#658]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-glk7/igt@i915_pm_dc@dc3co-vpb-simulation.html * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip: - shard-glk: [PASS][14] -> [DMESG-WARN][15] ([i915#2017]) [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-glk1/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-glk5/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html * igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc: - shard-apl: NOTRUN -> [SKIP][16] ([fdo#109271] / [i915#3886]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-apl3/igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc.html * igt@kms_ccs@pipe-c-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc: - shard-glk: NOTRUN -> [SKIP][17] ([fdo#109271] / [i915#3886]) +2 similar issues [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-glk3/igt@kms_ccs@pipe-c-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc.html * igt@kms_ccs@pipe-d-crc-primary-basic-4_tiled_dg2_mc_ccs: - shard-apl: NOTRUN -> [SKIP][18] ([fdo#109271]) +7 similar issues [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-apl1/igt@kms_ccs@pipe-d-crc-primary-basic-4_tiled_dg2_mc_ccs.html * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-dp1: - shard-apl: [PASS][19] -> [FAIL][20] ([i915#79]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-apl7/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-dp1.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-apl6/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-dp1.html * igt@perf_pmu@module-unload: - shard-snb: [PASS][21] -> [INCOMPLETE][22] ([i915#4528]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-snb7/igt@perf_pmu@module-unload.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-snb7/igt@perf_pmu@module-unload.html #### Possible fixes #### * igt@drm_fdinfo@idle@rcs0: - {shard-rkl}: [FAIL][23] ([i915#7742]) -> [PASS][24] +1 similar issue [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-rkl-2/igt@drm_fdinfo@idle@rcs0.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-rkl-4/igt@drm_fdinfo@idle@rcs0.html * igt@gem_exec_fair@basic-deadline: - {shard-rkl}: [FAIL][25] ([i915#2846]) -> [PASS][26] [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-rkl-2/igt@gem_exec_fair@basic-deadline.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-rkl-5/igt@gem_exec_fair@basic-deadline.html * igt@gem_exec_fair@basic-none-share@rcs0: - {shard-rkl}: [FAIL][27] ([i915#2842]) -> [PASS][28] [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-rkl-4/igt@gem_exec_fair@basic-none-share@rcs0.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-rkl-5/igt@gem_exec_fair@basic-none-share@rcs0.html * igt@gem_exec_fair@basic-none@vcs0: - shard-glk: [FAIL][29] ([i915#2842]) -> [PASS][30] [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-glk1/igt@gem_exec_fair@basic-none@vcs0.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-glk1/igt@gem_exec_fair@basic-none@vcs0.html * igt@gem_exec_reloc@basic-gtt-cpu: - {shard-rkl}: [SKIP][31] ([i915#3281]) -> [PASS][32] +9 similar issues [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-rkl-2/igt@gem_exec_reloc@basic-gtt-cpu.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-rkl-5/igt@gem_exec_reloc@basic-gtt-cpu.html * igt@gem_partial_pwrite_pread@writes-after-reads-uncached: - {shard-rkl}: [SKIP][33] ([i915#3282]) -> [PASS][34] +6 similar issues [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-rkl-4/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-rkl-5/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html * igt@gen9_exec_parse@allowed-single: - shard-apl: [DMESG-WARN][35] ([i915#5566] / [i915#716]) -> [PASS][36] [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-apl3/igt@gen9_exec_parse@allowed-single.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-apl3/igt@gen9_exec_parse@allowed-single.html * igt@gen9_exec_parse@batch-zero-length: - {shard-rkl}: [SKIP][37] ([i915#2527]) -> [PASS][38] +1 similar issue [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-rkl-1/igt@gen9_exec_parse@batch-zero-length.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-rkl-5/igt@gen9_exec_parse@batch-zero-length.html * igt@i915_pm_dc@dc6-dpms: - {shard-rkl}: [SKIP][39] ([i915#3361]) -> [PASS][40] +1 similar issue [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-rkl-5/igt@i915_pm_dc@dc6-dpms.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-rkl-2/igt@i915_pm_dc@dc6-dpms.html * igt@i915_pm_rps@engine-order: - shard-apl: [FAIL][41] ([i915#6537]) -> [PASS][42] [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-apl1/igt@i915_pm_rps@engine-order.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-apl7/igt@i915_pm_rps@engine-order.html * igt@i915_pm_sseu@full-enable: - {shard-rkl}: [SKIP][43] ([i915#4387]) -> [PASS][44] [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-rkl-1/igt@i915_pm_sseu@full-enable.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-rkl-5/igt@i915_pm_sseu@full-enable.html * igt@i915_selftest@mock@sanitycheck: - shard-snb: [SKIP][45] ([fdo#109271]) -> [PASS][46] [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-snb4/igt@i915_selftest@mock@sanitycheck.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-snb2/igt@i915_selftest@mock@sanitycheck.html * igt@kms_atomic@plane-immutable-zpos: - {shard-rkl}: [SKIP][47] ([i915#1845] / [i915#4098]) -> [PASS][48] +4 similar issues [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-rkl-5/igt@kms_atomic@plane-immutable-zpos.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-rkl-6/igt@kms_atomic@plane-immutable-zpos.html * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip: - {shard-dg1}: [FAIL][49] -> [PASS][50] [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-dg1-17/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-dg1-14/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html * igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size: - shard-apl: [FAIL][51] ([i915#2346]) -> [PASS][52] [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-apl2/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-apl6/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html - shard-glk: [FAIL][53] ([i915#2346]) -> [PASS][54] +1 similar issue [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-glk4/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-glk9/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html * igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a2: - shard-glk: [FAIL][55] ([i915#79]) -> [PASS][56] [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-glk6/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a2.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-glk6/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a2.html * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite: - {shard-rkl}: [SKIP][57] ([i915#1849] / [i915#4098]) -> [PASS][58] +7 similar issues [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-rkl-4/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite.html * igt@kms_properties@crtc-properties-atomic: - {shard-rkl}: [SKIP][59] ([i915#1849]) -> [PASS][60] [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-rkl-3/igt@kms_properties@crtc-properties-atomic.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-rkl-6/igt@kms_properties@crtc-properties-atomic.html * igt@kms_psr@sprite_mmap_gtt: - {shard-rkl}: [SKIP][61] ([i915#1072]) -> [PASS][62] [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-rkl-3/igt@kms_psr@sprite_mmap_gtt.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-rkl-6/igt@kms_psr@sprite_mmap_gtt.html * igt@perf@polling-small-buf: - {shard-rkl}: [FAIL][63] ([i915#1722]) -> [PASS][64] [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-rkl-1/igt@perf@polling-small-buf.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-rkl-5/igt@perf@polling-small-buf.html * igt@perf_pmu@semaphore-busy@vcs1: - {shard-dg1}: [FAIL][65] ([i915#4349]) -> [PASS][66] +1 similar issue [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12635/shard-dg1-12/igt@perf_pmu@semaphore-busy@vcs1.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/shard-dg1-18/igt@perf_pmu@semaphore-busy@vcs1.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#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274 [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279 [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280 [fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283 [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289 [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295 [fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302 [fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308 [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309 [fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312 [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315 [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506 [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642 [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189 [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614 [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615 [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054 [fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#1257]: https://gitlab.freedesktop.org/drm/intel/issues/1257 [i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132 [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397 [i915#1722]: https://gitlab.freedesktop.org/drm/intel/issues/1722 [i915#1755]: https://gitlab.freedesktop.org/drm/intel/issues/1755 [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825 [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839 [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845 [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849 [i915#1902]: https://gitlab.freedesktop.org/drm/intel/issues/1902 [i915#2017]: https://gitlab.freedesktop.org/drm/intel/issues/2017 [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2433]: https://gitlab.freedesktop.org/drm/intel/issues/2433 [i915#2434]: https://gitlab.freedesktop.org/drm/intel/issues/2434 [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437 [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527 [i915#2532]: https://gitlab.freedesktop.org/drm/intel/issues/2532 [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575 [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582 [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587 [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672 [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681 [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705 [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280 [i915#284]: https://gitlab.freedesktop.org/drm/intel/issues/284 [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842 [i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846 [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856 [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920 [i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116 [i915#315]: https://gitlab.freedesktop.org/drm/intel/issues/315 [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281 [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282 [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291 [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297 [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299 [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301 [i915#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318 [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359 [i915#3361]: https://gitlab.freedesktop.org/drm/intel/issues/3361 [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458 [i915#3528]: https://gitlab.freedesktop.org/drm/intel/issues/3528 [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539 [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546 [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#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638 [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734 [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742 [i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804 [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886 [i915#3952]: https://gitlab.freedesktop.org/drm/intel/issues/3952 [i915#404]: https://gitlab.freedesktop.org/drm/intel/issues/404 [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098 [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212 [i915#426]: https://gitlab.freedesktop.org/drm/intel/issues/426 [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270 [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312 [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#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565 [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613 [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771 [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812 [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833 [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852 [i915#4859]: https://gitlab.freedesktop.org/drm/intel/issues/4859 [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860 [i915#4873]: https://gitlab.freedesktop.org/drm/intel/issues/4873 [i915#4877]: https://gitlab.freedesktop.org/drm/intel/issues/4877 [i915#4884]: https://gitlab.freedesktop.org/drm/intel/issues/4884 [i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885 [i915#5138]: https://gitlab.freedesktop.org/drm/intel/issues/5138 [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#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288 [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289 [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325 [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533 [i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439 [i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461 [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563 [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566 [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#6227]: https://gitlab.freedesktop.org/drm/intel/issues/6227 [i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230 [i915#6245]: https://gitlab.freedesktop.org/drm/intel/issues/6245 [i915#6247]: https://gitlab.freedesktop.org/drm/intel/issues/6247 [i915#6248]: https://gitlab.freedesktop.org/drm/intel/issues/6248 [i915#6252]: https://gitlab.freedesktop.org/drm/intel/issues/6252 [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301 [i915#6355]: https://gitlab.freedesktop.org/drm/intel/issues/6355 [i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433 [i915#6497]: https://gitlab.freedesktop.org/drm/intel/issues/6497 [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524 [i915#6537]: https://gitlab.freedesktop.org/drm/intel/issues/6537 [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [i915#6590]: https://gitlab.freedesktop.org/drm/intel/issues/6590 [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621 [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768 [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944 [i915#6946]: https://gitlab.freedesktop.org/drm/intel/issues/6946 [i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953 [i915#7076]: https://gitlab.freedesktop.org/drm/intel/issues/7076 [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116 [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118 [i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716 [i915#7443]: https://gitlab.freedesktop.org/drm/intel/issues/7443 [i915#7479]: https://gitlab.freedesktop.org/drm/intel/issues/7479 [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561 [i915#7582]: https://gitlab.freedesktop.org/drm/intel/issues/7582 [i915#7651]: https://gitlab.freedesktop.org/drm/intel/issues/7651 [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697 [i915#7701]: https://gitlab.freedesktop.org/drm/intel/issues/7701 [i915#7707]: https://gitlab.freedesktop.org/drm/intel/issues/7707 [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711 [i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79 [i915#7949]: https://gitlab.freedesktop.org/drm/intel/issues/7949 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7136 -> IGTPW_8401 * Piglit: piglit_4509 -> None CI-20190529: 20190529 CI_DRM_12635: 479665dac7e36fbde1a1c7aab8fd0b1dfec208ab @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_8401: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/index.html IGT_7136: 31b6af91747ad8c705399c9006cdb81cb1864146 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8401/index.html [-- Attachment #2: Type: text/html, Size: 18866 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-02-01 12:12 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-01-25 9:07 [igt-dev] [PATCH i-g-t 0/2] Psr2 dsc testcases Jouni Högander 2023-01-25 9:07 ` [igt-dev] [PATCH i-g-t 1/2] tests/i915/kms_psr2_sf: Some cleanups after Jouni Högander 2023-01-30 9:12 ` B, Jeevan 2023-01-25 9:07 ` [igt-dev] [PATCH i-g-t 2/2] kms_psr2_sf: Add dynamic subtests which use DSC feature Jouni Högander 2023-02-01 10:27 ` Swati Sharma 2023-02-01 12:12 ` Hogander, Jouni 2023-01-25 14:25 ` [igt-dev] ✓ Fi.CI.BAT: success for Psr2 dsc testcases Patchwork 2023-01-25 22:18 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox