* [igt-dev] [PATCH i-g-t v2 0/2] Psr2 dsc testcases
@ 2023-02-03 7:58 Jouni Högander
2023-02-03 7:58 ` [igt-dev] [PATCH i-g-t v2 1/2] tests/i915/kms_psr2_sf: Some cleanups after Jouni Högander
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Jouni Högander @ 2023-02-03 7:58 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.
v2:
- check dsc is enabled
- remove unused variables
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 | 370 +++++++++++++++++++++++++--------------
tests/meson.build | 9 +-
2 files changed, 248 insertions(+), 131 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 7+ messages in thread* [igt-dev] [PATCH i-g-t v2 1/2] tests/i915/kms_psr2_sf: Some cleanups after 2023-02-03 7:58 [igt-dev] [PATCH i-g-t v2 0/2] Psr2 dsc testcases Jouni Högander @ 2023-02-03 7:58 ` Jouni Högander 2023-02-03 7:58 ` [igt-dev] [PATCH i-g-t v2 2/2] kms_psr2_sf: Add dynamic subtests which use DSC feature Jouni Högander ` (2 subsequent siblings) 3 siblings, 0 replies; 7+ messages in thread From: Jouni Högander @ 2023-02-03 7:58 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> Reviewed-by: Jeevan B <jeevan.b@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] 7+ messages in thread
* [igt-dev] [PATCH i-g-t v2 2/2] kms_psr2_sf: Add dynamic subtests which use DSC feature 2023-02-03 7:58 [igt-dev] [PATCH i-g-t v2 0/2] Psr2 dsc testcases Jouni Högander 2023-02-03 7:58 ` [igt-dev] [PATCH i-g-t v2 1/2] tests/i915/kms_psr2_sf: Some cleanups after Jouni Högander @ 2023-02-03 7:58 ` Jouni Högander 2023-02-06 18:14 ` Swati Sharma 2023-02-03 13:09 ` [igt-dev] ✓ Fi.CI.BAT: success for Psr2 dsc testcases (rev2) Patchwork 2023-02-04 1:24 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork 3 siblings, 1 reply; 7+ messages in thread From: Jouni Högander @ 2023-02-03 7:58 UTC (permalink / raw) To: igt-dev Add mechanism to add coexisting features with selective fetch and add dynamic subtests for DSC as coexisting feature. v2: - check dsc is enabled (Swati) - remove unused variables 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 | 333 ++++++++++++++++++++++++++------------- tests/meson.build | 9 +- 2 files changed, 234 insertions(+), 108 deletions(-) diff --git a/tests/i915/kms_psr2_sf.c b/tests/i915/kms_psr2_sf.c index 078884ac..2d761d31 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,11 @@ typedef struct { uint32_t screen_changes; int cur_x, cur_y; enum pipe pipe; + enum { + FEATURE_NONE = 0, + FEATURE_DSC = 1, + FEATURE_COUNT = 2, + } coexist_feature; } data_t; static const char *op_str(enum operations op) @@ -104,6 +110,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 +242,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; @@ -357,6 +383,10 @@ static void prepare(data_t *data) igt_plane_set_size(primary, view_w, view_h); igt_plane_set_position(primary, 0, 0); igt_display_commit2(&data->display, COMMIT_ATOMIC); + + if (data->coexist_feature & FEATURE_DSC) + igt_require_f(igt_is_dsc_enabled(data->drm_fd, output->name), + "DSC is not enabled\n"); } static inline void manual(const char *expected) @@ -816,6 +846,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 +874,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 +913,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 +930,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 +956,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 +982,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 +1008,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 +1030,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 +1052,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 +1074,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 +1098,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 +1123,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 +1145,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 +1167,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 +1191,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 +1221,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 d93a07c9..6fb1bb86 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -233,7 +233,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', @@ -436,6 +435,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] 7+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 2/2] kms_psr2_sf: Add dynamic subtests which use DSC feature 2023-02-03 7:58 ` [igt-dev] [PATCH i-g-t v2 2/2] kms_psr2_sf: Add dynamic subtests which use DSC feature Jouni Högander @ 2023-02-06 18:14 ` Swati Sharma 2023-02-07 6:47 ` Hogander, Jouni 0 siblings, 1 reply; 7+ messages in thread From: Swati Sharma @ 2023-02-06 18:14 UTC (permalink / raw) To: Jouni Högander, igt-dev Patch LGTM. Reviewed-by: Swati Sharma <swati2.sharma@intel.com> On 03-Feb-23 1:28 PM, Jouni Högander wrote: > Add mechanism to add coexisting features with selective fetch > and add dynamic subtests for DSC as coexisting feature. > > v2: > - check dsc is enabled (Swati) > - remove unused variables > > 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 | 333 ++++++++++++++++++++++++++------------- > tests/meson.build | 9 +- > 2 files changed, 234 insertions(+), 108 deletions(-) > > diff --git a/tests/i915/kms_psr2_sf.c b/tests/i915/kms_psr2_sf.c > index 078884ac..2d761d31 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,11 @@ typedef struct { > uint32_t screen_changes; > int cur_x, cur_y; > enum pipe pipe; > + enum { > + FEATURE_NONE = 0, > + FEATURE_DSC = 1, > + FEATURE_COUNT = 2, > + } coexist_feature; > } data_t; > > static const char *op_str(enum operations op) > @@ -104,6 +110,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 +242,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; > @@ -357,6 +383,10 @@ static void prepare(data_t *data) > igt_plane_set_size(primary, view_w, view_h); > igt_plane_set_position(primary, 0, 0); > igt_display_commit2(&data->display, COMMIT_ATOMIC); > + > + if (data->coexist_feature & FEATURE_DSC) > + igt_require_f(igt_is_dsc_enabled(data->drm_fd, output->name), > + "DSC is not enabled\n"); > } > > static inline void manual(const char *expected) > @@ -816,6 +846,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 +874,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 +913,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 +930,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 +956,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 +982,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 +1008,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 +1030,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 +1052,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 +1074,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 +1098,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 +1123,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 +1145,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 +1167,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 +1191,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 +1221,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 d93a07c9..6fb1bb86 100644 > --- a/tests/meson.build > +++ b/tests/meson.build > @@ -233,7 +233,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', > @@ -436,6 +435,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] 7+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 2/2] kms_psr2_sf: Add dynamic subtests which use DSC feature 2023-02-06 18:14 ` Swati Sharma @ 2023-02-07 6:47 ` Hogander, Jouni 0 siblings, 0 replies; 7+ messages in thread From: Hogander, Jouni @ 2023-02-07 6:47 UTC (permalink / raw) To: igt-dev@lists.freedesktop.org, Sharma, Swati2 On Mon, 2023-02-06 at 23:44 +0530, Swati Sharma wrote: > Patch LGTM. > Reviewed-by: Swati Sharma <swati2.sharma@intel.com> Thank you Swati. These two patches are now merged. > > On 03-Feb-23 1:28 PM, Jouni Högander wrote: > > Add mechanism to add coexisting features with selective fetch > > and add dynamic subtests for DSC as coexisting feature. > > > > v2: > > - check dsc is enabled (Swati) > > - remove unused variables > > > > 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 | 333 ++++++++++++++++++++++++++-------- > > ----- > > tests/meson.build | 9 +- > > 2 files changed, 234 insertions(+), 108 deletions(-) > > > > diff --git a/tests/i915/kms_psr2_sf.c b/tests/i915/kms_psr2_sf.c > > index 078884ac..2d761d31 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,11 @@ typedef struct { > > uint32_t screen_changes; > > int cur_x, cur_y; > > enum pipe pipe; > > + enum { > > + FEATURE_NONE = 0, > > + FEATURE_DSC = 1, > > + FEATURE_COUNT = 2, > > + } coexist_feature; > > } data_t; > > > > static const char *op_str(enum operations op) > > @@ -104,6 +110,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 +242,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; > > @@ -357,6 +383,10 @@ static void prepare(data_t *data) > > igt_plane_set_size(primary, view_w, view_h); > > igt_plane_set_position(primary, 0, 0); > > igt_display_commit2(&data->display, COMMIT_ATOMIC); > > + > > + if (data->coexist_feature & FEATURE_DSC) > > + igt_require_f(igt_is_dsc_enabled(data->drm_fd, > > output->name), > > + "DSC is not enabled\n"); > > } > > > > static inline void manual(const char *expected) > > @@ -816,6 +846,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 +874,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 +913,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 +930,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 +956,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 +982,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 +1008,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 +1030,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 +1052,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 +1074,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 +1098,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 +1123,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 +1145,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 +1167,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 +1191,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 +1221,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 d93a07c9..6fb1bb86 100644 > > --- a/tests/meson.build > > +++ b/tests/meson.build > > @@ -233,7 +233,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', > > @@ -436,6 +435,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] 7+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for Psr2 dsc testcases (rev2) 2023-02-03 7:58 [igt-dev] [PATCH i-g-t v2 0/2] Psr2 dsc testcases Jouni Högander 2023-02-03 7:58 ` [igt-dev] [PATCH i-g-t v2 1/2] tests/i915/kms_psr2_sf: Some cleanups after Jouni Högander 2023-02-03 7:58 ` [igt-dev] [PATCH i-g-t v2 2/2] kms_psr2_sf: Add dynamic subtests which use DSC feature Jouni Högander @ 2023-02-03 13:09 ` Patchwork 2023-02-04 1:24 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork 3 siblings, 0 replies; 7+ messages in thread From: Patchwork @ 2023-02-03 13:09 UTC (permalink / raw) To: Hogander, Jouni; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 2813 bytes --] == Series Details == Series: Psr2 dsc testcases (rev2) URL : https://patchwork.freedesktop.org/series/113308/ State : success == Summary == CI Bug Log - changes from IGT_7146 -> IGTPW_8440 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/index.html Participating hosts (25 -> 25) ------------------------------ Additional (1): fi-blb-e6850 Missing (1): fi-snb-2520m Known issues ------------ Here are the changes found in IGTPW_8440 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_pm_rpm@module-reload: - fi-blb-e6850: NOTRUN -> [SKIP][1] ([fdo#109271]) +51 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/fi-blb-e6850/igt@i915_pm_rpm@module-reload.html #### Possible fixes #### * igt@i915_selftest@live@gt_heartbeat: - {bat-jsl-1}: [DMESG-FAIL][2] ([i915#5334]) -> [PASS][3] [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/bat-jsl-1/igt@i915_selftest@live@gt_heartbeat.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/bat-jsl-1/igt@i915_selftest@live@gt_heartbeat.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 [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983 [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334 [i915#6311]: https://gitlab.freedesktop.org/drm/intel/issues/6311 [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367 [i915#7359]: https://gitlab.freedesktop.org/drm/intel/issues/7359 [i915#7996]: https://gitlab.freedesktop.org/drm/intel/issues/7996 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7146 -> IGTPW_8440 CI-20190529: 20190529 CI_DRM_12688: 9fcffc218abe16fc5fbfca231fda6a7218661eb6 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_8440: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/index.html IGT_7146: cfb2b835a2d688f123c9ffe5ecc7148e19e30e39 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Testlist changes ---------------- +igt@kms_plane_alpha_blend@alpha-7efc +igt@kms_plane_alpha_blend@alpha-basic +igt@kms_plane_alpha_blend@alpha-opaque-fb +igt@kms_plane_alpha_blend@alpha-transparent-fb +igt@kms_plane_alpha_blend@constant-alpha-max +igt@kms_plane_alpha_blend@constant-alpha-mid +igt@kms_plane_alpha_blend@constant-alpha-min +igt@kms_plane_alpha_blend@coverage-7efc +igt@kms_plane_alpha_blend@coverage-vs-premult-vs-constant == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/index.html [-- Attachment #2: Type: text/html, Size: 3143 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for Psr2 dsc testcases (rev2) 2023-02-03 7:58 [igt-dev] [PATCH i-g-t v2 0/2] Psr2 dsc testcases Jouni Högander ` (2 preceding siblings ...) 2023-02-03 13:09 ` [igt-dev] ✓ Fi.CI.BAT: success for Psr2 dsc testcases (rev2) Patchwork @ 2023-02-04 1:24 ` Patchwork 3 siblings, 0 replies; 7+ messages in thread From: Patchwork @ 2023-02-04 1:24 UTC (permalink / raw) To: Hogander, Jouni; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 20033 bytes --] == Series Details == Series: Psr2 dsc testcases (rev2) URL : https://patchwork.freedesktop.org/series/113308/ State : success == Summary == CI Bug Log - changes from IGT_7146_full -> IGTPW_8440_full ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/index.html Participating hosts (11 -> 9) ------------------------------ Missing (2): shard-rkl0 shard-tglu-9 Known issues ------------ Here are the changes found in IGTPW_8440_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_fair@basic-deadline: - shard-glk: [PASS][1] -> [FAIL][2] ([i915#2846]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-glk4/igt@gem_exec_fair@basic-deadline.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-glk3/igt@gem_exec_fair@basic-deadline.html * igt@gem_exec_fair@basic-throttle@rcs0: - shard-glk: [PASS][3] -> [FAIL][4] ([i915#2842]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-glk1/igt@gem_exec_fair@basic-throttle@rcs0.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-glk4/igt@gem_exec_fair@basic-throttle@rcs0.html * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bc-hdmi-a1-hdmi-a2: - shard-glk: [PASS][5] -> [FAIL][6] ([i915#79]) +1 similar issue [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-glk1/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bc-hdmi-a1-hdmi-a2.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-glk8/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bc-hdmi-a1-hdmi-a2.html #### Possible fixes #### * igt@fbdev@unaligned-read: - {shard-rkl}: [SKIP][7] ([i915#2582]) -> [PASS][8] +1 similar issue [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-rkl-1/igt@fbdev@unaligned-read.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-rkl-6/igt@fbdev@unaligned-read.html * igt@feature_discovery@psr2: - {shard-rkl}: [SKIP][9] ([i915#658]) -> [PASS][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-rkl-1/igt@feature_discovery@psr2.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-rkl-6/igt@feature_discovery@psr2.html * igt@gem_exec_reloc@basic-gtt-cpu: - {shard-rkl}: [SKIP][11] ([i915#3281]) -> [PASS][12] +2 similar issues [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-rkl-3/igt@gem_exec_reloc@basic-gtt-cpu.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-rkl-5/igt@gem_exec_reloc@basic-gtt-cpu.html * igt@gem_madvise@dontneed-before-pwrite: - {shard-rkl}: [SKIP][13] ([i915#3282]) -> [PASS][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-rkl-3/igt@gem_madvise@dontneed-before-pwrite.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-rkl-5/igt@gem_madvise@dontneed-before-pwrite.html * igt@gen9_exec_parse@bb-chained: - {shard-rkl}: [SKIP][15] ([i915#2527]) -> [PASS][16] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-rkl-1/igt@gen9_exec_parse@bb-chained.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-rkl-5/igt@gen9_exec_parse@bb-chained.html * igt@i915_pm_rpm@drm-resources-equal: - {shard-rkl}: [SKIP][17] ([fdo#109308]) -> [PASS][18] [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-rkl-2/igt@i915_pm_rpm@drm-resources-equal.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-rkl-6/igt@i915_pm_rpm@drm-resources-equal.html * igt@i915_pm_rpm@modeset-lpsp-stress-no-wait: - {shard-dg1}: [SKIP][19] ([i915#1397]) -> [PASS][20] [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-dg1-12/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-dg1-14/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html * igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_rc_ccs: - {shard-tglu}: [SKIP][21] ([i915#1845] / [i915#7651]) -> [PASS][22] +2 similar issues [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-tglu-6/igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_rc_ccs.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-tglu-7/igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_rc_ccs.html * igt@kms_fbcon_fbt@psr-suspend: - {shard-rkl}: [SKIP][23] ([fdo#110189] / [i915#3955]) -> [PASS][24] [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-rkl-1/igt@kms_fbcon_fbt@psr-suspend.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-rkl-6/igt@kms_fbcon_fbt@psr-suspend.html * igt@kms_fence_pin_leak: - {shard-tglu}: [SKIP][25] ([fdo#109274] / [i915#1845]) -> [PASS][26] [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-tglu-6/igt@kms_fence_pin_leak.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-tglu-7/igt@kms_fence_pin_leak.html * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-mmap-cpu: - {shard-tglu}: [SKIP][27] ([i915#1849]) -> [PASS][28] +2 similar issues [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-tglu-6/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-mmap-cpu.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-tglu-1/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite: - {shard-rkl}: [SKIP][29] ([i915#1849] / [i915#4098]) -> [PASS][30] +11 similar issues [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-rkl-3/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite.html * igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes: - {shard-rkl}: [SKIP][31] ([i915#1849]) -> [PASS][32] +1 similar issue [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-rkl-4/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-rkl-6/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes.html * igt@kms_psr@suspend: - {shard-rkl}: [SKIP][33] ([i915#1072]) -> [PASS][34] [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-rkl-2/igt@kms_psr@suspend.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-rkl-6/igt@kms_psr@suspend.html * igt@kms_psr_stress_test@flip-primary-invalidate-overlay: - {shard-rkl}: [SKIP][35] ([i915#5461]) -> [PASS][36] [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-rkl-5/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-rkl-6/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html * igt@kms_rotation_crc@exhaust-fences: - {shard-rkl}: [SKIP][37] ([i915#1845] / [i915#4098]) -> [PASS][38] +23 similar issues [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-rkl-4/igt@kms_rotation_crc@exhaust-fences.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-rkl-6/igt@kms_rotation_crc@exhaust-fences.html * igt@kms_vblank@pipe-c-query-busy-hang: - {shard-tglu}: [SKIP][39] ([i915#7651]) -> [PASS][40] +7 similar issues [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-tglu-6/igt@kms_vblank@pipe-c-query-busy-hang.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-tglu-1/igt@kms_vblank@pipe-c-query-busy-hang.html * igt@perf@gen12-oa-tlb-invalidate: - {shard-rkl}: [SKIP][41] ([fdo#109289]) -> [PASS][42] [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-rkl-5/igt@perf@gen12-oa-tlb-invalidate.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-rkl-6/igt@perf@gen12-oa-tlb-invalidate.html * igt@perf_pmu@idle@rcs0: - {shard-rkl}: [FAIL][43] ([i915#4349]) -> [PASS][44] [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-rkl-2/igt@perf_pmu@idle@rcs0.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-rkl-4/igt@perf_pmu@idle@rcs0.html * igt@prime_vgem@basic-read: - {shard-rkl}: [SKIP][45] ([fdo#109295] / [i915#3291] / [i915#3708]) -> [PASS][46] [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-rkl-1/igt@prime_vgem@basic-read.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-rkl-5/igt@prime_vgem@basic-read.html * igt@testdisplay: - {shard-rkl}: [SKIP][47] ([i915#4098]) -> [PASS][48] [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7146/shard-rkl-1/igt@testdisplay.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/shard-rkl-6/igt@testdisplay.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#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274 [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280 [fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289 [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295 [fdo#109303]: https://bugs.freedesktop.org/show_bug.cgi?id=109303 [fdo#109307]: https://bugs.freedesktop.org/show_bug.cgi?id=109307 [fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308 [fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312 [fdo#109313]: https://bugs.freedesktop.org/show_bug.cgi?id=109313 [fdo#109314]: https://bugs.freedesktop.org/show_bug.cgi?id=109314 [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#110542]: https://bugs.freedesktop.org/show_bug.cgi?id=110542 [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#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644 [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132 [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397 [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825 [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839 [i915#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#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190 [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#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658 [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#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318 [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359 [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458 [i915#3528]: https://gitlab.freedesktop.org/drm/intel/issues/3528 [i915#3536]: https://gitlab.freedesktop.org/drm/intel/issues/3536 [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#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#3825]: https://gitlab.freedesktop.org/drm/intel/issues/3825 [i915#3826]: https://gitlab.freedesktop.org/drm/intel/issues/3826 [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840 [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886 [i915#3952]: https://gitlab.freedesktop.org/drm/intel/issues/3952 [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955 [i915#3966]: https://gitlab.freedesktop.org/drm/intel/issues/3966 [i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989 [i915#4036]: https://gitlab.freedesktop.org/drm/intel/issues/4036 [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#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078 [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212 [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213 [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270 [i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433 [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349 [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525 [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538 [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454 [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565 [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613 [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#4854]: https://gitlab.freedesktop.org/drm/intel/issues/4854 [i915#4859]: https://gitlab.freedesktop.org/drm/intel/issues/4859 [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860 [i915#4877]: https://gitlab.freedesktop.org/drm/intel/issues/4877 [i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880 [i915#4881]: https://gitlab.freedesktop.org/drm/intel/issues/4881 [i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885 [i915#5115]: https://gitlab.freedesktop.org/drm/intel/issues/5115 [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176 [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235 [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286 [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289 [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325 [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533 [i915#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#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784 [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095 [i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230 [i915#6245]: https://gitlab.freedesktop.org/drm/intel/issues/6245 [i915#6252]: https://gitlab.freedesktop.org/drm/intel/issues/6252 [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301 [i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334 [i915#6335]: https://gitlab.freedesktop.org/drm/intel/issues/6335 [i915#6344]: https://gitlab.freedesktop.org/drm/intel/issues/6344 [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#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [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#7052]: https://gitlab.freedesktop.org/drm/intel/issues/7052 [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116 [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118 [i915#7443]: https://gitlab.freedesktop.org/drm/intel/issues/7443 [i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456 [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 [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7146 -> IGTPW_8440 CI-20190529: 20190529 CI_DRM_12688: 9fcffc218abe16fc5fbfca231fda6a7218661eb6 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_8440: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/index.html IGT_7146: cfb2b835a2d688f123c9ffe5ecc7148e19e30e39 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8440/index.html [-- Attachment #2: Type: text/html, Size: 13066 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-02-07 6:47 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-02-03 7:58 [igt-dev] [PATCH i-g-t v2 0/2] Psr2 dsc testcases Jouni Högander 2023-02-03 7:58 ` [igt-dev] [PATCH i-g-t v2 1/2] tests/i915/kms_psr2_sf: Some cleanups after Jouni Högander 2023-02-03 7:58 ` [igt-dev] [PATCH i-g-t v2 2/2] kms_psr2_sf: Add dynamic subtests which use DSC feature Jouni Högander 2023-02-06 18:14 ` Swati Sharma 2023-02-07 6:47 ` Hogander, Jouni 2023-02-03 13:09 ` [igt-dev] ✓ Fi.CI.BAT: success for Psr2 dsc testcases (rev2) Patchwork 2023-02-04 1:24 ` [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