* Re: [igt-dev] [i-g-t v5 05/52] tests/kms_atomic_interruptible: Add support for Bigjoiner @ 2022-12-27 5:27 Gupta, Nidhi1 2022-12-28 4:10 ` [igt-dev] [i-g-t v5 39/52] tests/i915/kms_busy: " Gupta, Nidhi1 0 siblings, 1 reply; 9+ messages in thread From: Gupta, Nidhi1 @ 2022-12-27 5:27 UTC (permalink / raw) To: igt-dev [-- Attachment #1: Type: text/plain, Size: 7777 bytes --] On Tue, 2022-11-15 at 08:43 +0530, Bhanuprakash Modem wrote: >This patch will add a check to Skip the subtest if a selected >pipe/output combo won't support Bigjoiner or 8K mode. > >Example: >* Pipe-D wont support a mode > 5K >* To use 8K mode on a pipe then consecutive pipe must be available & free. > >V2: - Use updated helper name > >Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com<mailto:bhanuprakash.modem@intel.com>> Reviewed-by: Nidhi Gupta <nidhi1.gupta@intel.com<mailto:nidhi1.gupta@intel.com>> --- tests/kms_atomic_interruptible.c | 40 ++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) >diff --git a/tests/kms_atomic_interruptible.c >b/tests/kms_atomic_interruptible.c >index f461a15c..74b2e246 100644 >--- a/tests/kms_atomic_interruptible.c >+++ b/tests/kms_atomic_interruptible.c >@@ -82,11 +82,15 @@ static void run_plane_test(igt_display_t *display, enum pipe pipe, igt_output_t > igt_plane_t *primary, *plane; > int block; > >+ igt_info("Using (pipe %s + %s) to run the subtest.\n", >+ kmstest_pipe_name(pipe), igt_output_name(output)); >+ > /* > * Make sure we start with everything disabled to force a real modeset. > * igt_display_require only sets sw state, and assumes the first test > * doesn't care about hw state. > */ >+ igt_display_reset(display); > igt_display_commit2(display, COMMIT_ATOMIC); > > igt_output_set_pipe(output, pipe); >@@ -265,6 +269,21 @@ static void run_plane_test(igt_display_t *display, enum pipe pipe, igt_output_t > igt_remove_fb(display->drm_fd, &fb); > } > >+static bool pipe_output_combo_valid(igt_display_t *display, >+ enum pipe pipe, igt_output_t *output) { >+ bool ret = true; >+ >+ igt_display_reset(display); >+ >+ igt_output_set_pipe(output, pipe); >+ if (!i915_pipe_output_combo_valid(display)) >+ ret = false; >+ igt_output_set_pipe(output, PIPE_NONE); >+ >+ return ret; >+} >+ >igt_main >{ > igt_display_t display; >@@ -286,6 +305,9 @@ igt_main > igt_describe("Tests the interrupt properties of legacy modeset"); > igt_subtest_with_dynamic("legacy-setmode") { > for_each_pipe_with_valid_output(&display, pipe, output) { >+ if (!pipe_output_combo_valid(&display, pipe, output)) >+ continue; >+ > igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe)) > run_plane_test(&display, pipe, output, test_legacy_modeset, DRM_PLANE_TYPE_PRIMARY); > break; >@@ -295,6 +317,9 @@ igt_main > igt_describe("Tests the interrupt properties of atomic modeset"); > igt_subtest_with_dynamic("atomic-setmode") { > for_each_pipe_with_valid_output(&display, pipe, output) { >+ if (!pipe_output_combo_valid(&display, pipe, output)) >+ continue; >+ > igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe)) > run_plane_test(&display, pipe, output, test_atomic_modeset, DRM_PLANE_TYPE_PRIMARY); > break; >@@ -304,6 +329,9 @@ igt_main > igt_describe("Tests the interrupt properties for DPMS"); > igt_subtest_with_dynamic("legacy-dpms") { > for_each_pipe_with_valid_output(&display, pipe, output) { >+ if (!pipe_output_combo_valid(&display, pipe, output)) >+ continue; >+ > igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe)) > run_plane_test(&display, pipe, output, test_legacy_dpms, DRM_PLANE_TYPE_PRIMARY); > break; >@@ -313,6 +341,9 @@ igt_main > igt_describe("Tests the interrupt properties for pageflip"); > igt_subtest_with_dynamic("legacy-pageflip") { > for_each_pipe_with_valid_output(&display, pipe, output) { >+ if (!pipe_output_combo_valid(&display, pipe, output)) >+ continue; >+ > igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe)) > run_plane_test(&display, pipe, output, test_pageflip, DRM_PLANE_TYPE_PRIMARY); > break; >@@ -322,6 +353,9 @@ igt_main > igt_describe("Tests the interrupt properties for cursor"); > igt_subtest_with_dynamic("legacy-cursor") { > for_each_pipe_with_valid_output(&display, pipe, output) { >+ if (!pipe_output_combo_valid(&display, pipe, output)) >+ continue; >+ > igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe)) > run_plane_test(&display, pipe, output, test_setcursor, DRM_PLANE_TYPE_CURSOR); > break; >@@ -331,6 +365,9 @@ igt_main > igt_describe("Tests the interrupt properties for primary plane"); > igt_subtest_with_dynamic("universal-setplane-primary") { > for_each_pipe_with_valid_output(&display, pipe, output) { >+ if (!pipe_output_combo_valid(&display, pipe, output)) >+ continue; >+ > igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe)) > run_plane_test(&display, pipe, output, test_setplane, DRM_PLANE_TYPE_PRIMARY); > break; >@@ -340,6 +377,9 @@ igt_main > igt_describe("Tests the interrupt properties for cursor plane"); > igt_subtest_with_dynamic("universal-setplane-cursor") { > for_each_pipe_with_valid_output(&display, pipe, output) { >+ if (!pipe_output_combo_valid(&display, pipe, output)) >+ continue; >+ > igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe)) > run_plane_test(&display, pipe, output, test_setplane, DRM_PLANE_TYPE_CURSOR); > break; [-- Attachment #2: Type: text/html, Size: 26401 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [igt-dev] [i-g-t v5 39/52] tests/i915/kms_busy: Add support for Bigjoiner 2022-12-27 5:27 [igt-dev] [i-g-t v5 05/52] tests/kms_atomic_interruptible: Add support for Bigjoiner Gupta, Nidhi1 @ 2022-12-28 4:10 ` Gupta, Nidhi1 2022-12-29 3:26 ` [igt-dev] [i-g-t v5 10/52] tests/kms_concurrent: " Gupta, Nidhi1 0 siblings, 1 reply; 9+ messages in thread From: Gupta, Nidhi1 @ 2022-12-28 4:10 UTC (permalink / raw) To: igt-dev [-- Attachment #1: Type: text/plain, Size: 12611 bytes --] On Tue, 2022-11-15 at 08:43 +0530, Bhanuprakash Modem wrote: >This patch will add a check to Skip the subtest if a selected pipe/output >combo won't support Bigjoiner or 8K mode. > >Example: >* Pipe-D wont support a mode > 5K >* To use 8K mode on a pipe then consecutive pipe must be available & free. > >V2: - Use updated helper name > >Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com<mailto:bhanuprakash.modem@intel.com>> Reviewed-by: Nidhi Gupta <nidhi1.gupta@intel.com> >--- >tests/i915/kms_busy.c | 106 ++++++++++++++++++++++++++++-------------- > 1 file changed, 71 insertions(+), 35 deletions(-) >diff --git a/tests/i915/kms_busy.c b/tests/i915/kms_busy.c >index b0642612..20d3058f 100644 >--- a/tests/i915/kms_busy.c >+++ b/tests/i915/kms_busy.c >@@ -32,15 +32,12 @@ IGT_TEST_DESCRIPTION("Basic check of KMS ABI with busy framebuffers."); > >static bool all_pipes = false; > >-static igt_output_t * >-set_fb_on_crtc(igt_display_t *dpy, int pipe, struct igt_fb *fb) >+static void >+set_fb_on_crtc(igt_display_t *dpy, int pipe, >+ igt_output_t *output, struct igt_fb *fb) > { > drmModeModeInfoPtr mode; > igt_plane_t *primary; >- igt_output_t *output; >- >- output = igt_get_single_output_for_pipe(dpy, pipe); >- igt_require(output); > > igt_output_set_pipe(output, pipe); > mode = igt_output_get_mode(output); >@@ -51,8 +48,6 @@ set_fb_on_crtc(igt_display_t *dpy, int pipe, struct igt_fb *fb) > > primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY); > igt_plane_set_fb(primary, fb); >- >- return output; > } > > static void do_cleanup_display(igt_display_t *dpy) >@@ -136,18 +131,23 @@ static void flip_to_fb(igt_display_t *dpy, int pipe, > put_ahnd(ahnd); > } > >-static void test_flip(igt_display_t *dpy, int pipe, bool modeset) >+static void test_flip(igt_display_t *dpy, int pipe, >+ igt_output_t *output, bool modeset) >{ > struct igt_fb fb[2]; > int warmup[] = { 0, 1, 0, -1 }; > struct timespec tv = {}; >- igt_output_t *output; > int timeout; > > if (modeset) > igt_require(dpy->is_atomic); > >- output = set_fb_on_crtc(dpy, pipe, &fb[0]); >+ igt_info("Using (pipe %s + %s) to run the subtest.\n", >+ kmstest_pipe_name(pipe), igt_output_name(output)); >+ >+ igt_display_reset(dpy); >+ >+ set_fb_on_crtc(dpy, pipe, output, &fb[0]); > igt_display_commit2(dpy, COMMIT_LEGACY); > > igt_create_pattern_fb(dpy->drm_fd, >@@ -224,13 +224,18 @@ static void test_atomic_commit_hang(igt_display_t *dpy, igt_plane_t *primary, > } > > static void test_hang(igt_display_t *dpy, >- enum pipe pipe, bool modeset, bool hang_newfb) >+ enum pipe pipe, igt_output_t *output, >+ bool modeset, bool hang_newfb) > { > struct igt_fb fb[2]; >- igt_output_t *output; > igt_plane_t *primary; > >- output = set_fb_on_crtc(dpy, pipe, &fb[0]); >+ igt_info("Using (pipe %s + %s) to run the subtest.\n", >+ kmstest_pipe_name(pipe), igt_output_name(output)); >+ >+ igt_display_reset(dpy); >+ >+ set_fb_on_crtc(dpy, pipe, output, &fb[0]); > igt_display_commit2(dpy, COMMIT_ATOMIC); > primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY); > >@@ -265,16 +270,22 @@ static void test_hang(igt_display_t *dpy, > igt_remove_fb(dpy->drm_fd, &fb[0]); > } > >-static void test_pageflip_modeset_hang(igt_display_t *dpy, enum pipe pipe) >+static void >+test_pageflip_modeset_hang(igt_display_t *dpy, >+ igt_output_t *output, enum pipe pipe) > { > struct igt_fb fb; > struct drm_event_vblank ev; >- igt_output_t *output; > igt_plane_t *primary; > igt_spin_t *t; > uint64_t ahnd = get_reloc_ahnd(dpy->drm_fd, 0); > >- output = set_fb_on_crtc(dpy, pipe, &fb); >+ igt_info("Using (pipe %s + %s) to run the subtest.\n", >+ kmstest_pipe_name(pipe), igt_output_name(output)); >+ >+ igt_display_reset(dpy); >+ >+ set_fb_on_crtc(dpy, pipe, output, &fb); > primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY); > > igt_display_commit2(dpy, dpy->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY); >@@ -299,6 +310,22 @@ static void test_pageflip_modeset_hang(igt_display_t *dpy, enum pipe pipe) > igt_remove_fb(dpy->drm_fd, &fb); > } > >+static bool >+pipe_output_combo_valid(igt_display_t *dpy, >+ igt_output_t *output, enum pipe pipe) >+{ >+ bool ret = true; >+ >+ igt_display_reset(dpy); >+ >+ igt_output_set_pipe(output, pipe); >+ if (!i915_pipe_output_combo_valid(dpy)) >+ ret = false; >+ igt_output_set_pipe(output, PIPE_NONE); >+ >+ return ret; >+} >+ > static int opt_handler(int opt, int opt_index, void *data) > { > switch (opt) { >@@ -346,7 +373,8 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL) > { > igt_display_t display = { .drm_fd = -1, .n_pipes = IGT_MAX_PIPES }; > >- enum pipe active_pipes[IGT_MAX_PIPES]; >+ enum pipe pipe, active_pipes[IGT_MAX_PIPES]; >+ igt_output_t *output; > uint32_t last_pipe = 0; > int i; > struct { >@@ -367,8 +395,6 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL) > int fd; > > igt_fixture { >- enum pipe pipe; >- > fd = drm_open_driver_master(DRIVER_INTEL); > > igt_require_gem(fd); >@@ -391,63 +417,72 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL) > > igt_describe("Test for basic check of KMS ABI with busy framebuffers."); > igt_subtest_with_dynamic("basic") { /* just run on the first pipe */ >- enum pipe pipe; >+ for_each_pipe_with_single_output(&display, pipe, output) { >+ if (!pipe_output_combo_valid(&display, output, pipe)) >+ continue; > >- for_each_pipe(&display, pipe) { > igt_dynamic("flip") >- test_flip(&display, pipe, false); >+ test_flip(&display, pipe, output, false); > igt_dynamic("modeset") >- test_flip(&display, pipe, true); >+ test_flip(&display, pipe, output, true); > break; > } > } > > igt_subtest_with_dynamic("basic-hang") { >- enum pipe pipe; > igt_hang_t hang = igt_allow_hang(display.drm_fd, 0, 0); > errno = 0; > >- for_each_pipe(&display, pipe) { >+ for_each_pipe_with_single_output(&display, pipe, output) { >+ if (!pipe_output_combo_valid(&display, output, pipe)) >+ continue; >+ > if (!all_pipes && pipe != active_pipes[0] && > pipe != active_pipes[last_pipe]) > continue; > > igt_dynamic_f("flip-pipe-%s", kmstest_pipe_name(pipe)) >- test_flip(&display, pipe, false); >+ test_flip(&display, pipe, output, false); > igt_dynamic_f("modeset-pipe-%s", kmstest_pipe_name(pipe)) >- test_flip(&display, pipe, true); >+ test_flip(&display, pipe, output, true); > } > > igt_disallow_hang(display.drm_fd, hang); > } > > igt_subtest_with_dynamic("extended-pageflip-modeset-hang-oldfb") { >- enum pipe pipe; > igt_hang_t hang = igt_allow_hang(display.drm_fd, 0, 0); > errno = 0; > >- for_each_pipe(&display, pipe) { >+ for_each_pipe_with_single_output(&display, pipe, output) { >+ if (!pipe_output_combo_valid(&display, output, pipe)) >+ continue; >+ > if (!all_pipes && pipe != active_pipes[0] && > pipe != active_pipes[last_pipe]) > continue; > > igt_dynamic_f("pipe-%s", kmstest_pipe_name(pipe)) >- test_pageflip_modeset_hang(&display, pipe); >+ test_pageflip_modeset_hang(&display, output, pipe); > } > > igt_disallow_hang(display.drm_fd, hang); > } > > for (i = 0; i < sizeof(tests) / sizeof (tests[0]); i++) { >+ igt_fixture >+ igt_require(display.is_atomic); >+ > igt_subtest_with_dynamic(tests[i].name) { >- enum pipe pipe; > igt_hang_t hang; > errno = 0; > >- igt_require(display.is_atomic); > hang = igt_allow_hang(display.drm_fd, 0, 0); > >- for_each_pipe(&display, pipe) { >+ for_each_pipe_with_single_output(&display, pipe, output) { >+ if (!pipe_output_combo_valid(&display, output, pipe)) >+ continue; >+ > if (!all_pipes && pipe != active_pipes[0] && > pipe != active_pipes[last_pipe]) > continue; >@@ -456,7 +491,8 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL) > if (tests[i].reset) > igt_set_module_param_int(display.drm_fd, "force_reset_modeset_test", 1); > >- test_hang(&display, pipe, tests[i].modeset, tests[i].hang_newfb); >+ test_hang(&display, pipe, output, >+ tests[i].modeset, tests[i].hang_newfb); > > if (tests[i].reset) > igt_set_module_param_int(display.drm_fd, "force_reset_modeset_test", 0); > [-- Attachment #2: Type: text/html, Size: 46684 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [igt-dev] [i-g-t v5 10/52] tests/kms_concurrent: Add support for Bigjoiner 2022-12-28 4:10 ` [igt-dev] [i-g-t v5 39/52] tests/i915/kms_busy: " Gupta, Nidhi1 @ 2022-12-29 3:26 ` Gupta, Nidhi1 2022-12-29 5:11 ` [igt-dev] [i-g-t v5 42/52] tests/i915/kms_draw_crc: " Gupta, Nidhi1 0 siblings, 1 reply; 9+ messages in thread From: Gupta, Nidhi1 @ 2022-12-29 3:26 UTC (permalink / raw) To: igt-dev [-- Attachment #1: Type: text/plain, Size: 1853 bytes --] On Tue, 2022-11-15 at 08:43 +0530, Bhanuprakash Modem wrote: >This patch will add a check to Skip the subtest if a selected pipe/output >combo won't support Bigjoiner or 8K mode. > >Example: >* Pipe-D wont support a mode > 5K >* To use 8K mode on a pipe then consecutive pipe must be available & free. > >V2: - Use updated helper name > >Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> >--- Reviewed-by: Nidhi Gupta <nidhi1.gupta@intel.com> >tests/kms_concurrent.c | 10 +++++++++- >1 file changed, 9 insertions(+), 1 deletion(-) >diff --git a/tests/kms_concurrent.c b/tests/kms_concurrent.c >index 6f8ffd4a..e6d61a84 100644 >--- a/tests/kms_concurrent.c >+++ b/tests/kms_concurrent.c >@@ -330,9 +330,17 @@ run_tests_for_pipe(data_t *data, enum pipe pipe) > igt_describe("Test atomic mode setting concurrently with multiple planes and screen " > "resolution."); > igt_subtest_with_dynamic_f("pipe-%s", kmstest_pipe_name(pipe)) { >- for_each_valid_output_on_pipe(&data->display, pipe, output) >+ for_each_valid_output_on_pipe(&data->display, pipe, output) { >+ igt_display_reset(&data->display); >+ >+ igt_output_set_pipe(output, pipe); >+ if (!i915_pipe_output_combo_valid(&data->display)) >+ continue; >+ >+ igt_output_set_pipe(output, PIPE_NONE); > igt_dynamic_f("%s", igt_output_name(output)) > run_test(data, pipe, output); >+ } > } >} [-- Attachment #2: Type: text/html, Size: 7448 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [igt-dev] [i-g-t v5 42/52] tests/i915/kms_draw_crc: Add support for Bigjoiner 2022-12-29 3:26 ` [igt-dev] [i-g-t v5 10/52] tests/kms_concurrent: " Gupta, Nidhi1 @ 2022-12-29 5:11 ` Gupta, Nidhi1 2022-12-30 14:37 ` [igt-dev] [i-g-t v5 46/52] tests/i915/kms_frontbuffer_tracking: " Gupta, Nidhi1 0 siblings, 1 reply; 9+ messages in thread From: Gupta, Nidhi1 @ 2022-12-29 5:11 UTC (permalink / raw) To: igt-dev [-- Attachment #1: Type: text/plain, Size: 1692 bytes --] On Tue, 2022-11-15 at 08:43 +0530, Bhanuprakash Modem wrote: >This patch will add a check to Skip the subtest if a selected pipe/output >combo won't support Bigjoiner or 8K mode. > >Example: >* Pipe-D wont support a mode > 5K >* To use 8K mode on a pipe then consecutive pipe must be available & free. > >V2: - Use updated helper name > >Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> >--- Reviewed-by: Nidhi Gupta <nidhi1.gupta@intel.com> >tests/i915/kms_draw_crc.c | 10 ++++------ >1 file changed, 4 insertions(+), 6 deletions(-) >diff --git a/tests/i915/kms_draw_crc.c b/tests/i915/kms_draw_crc.c >index c2ac4721..01c3808c 100644 >--- a/tests/i915/kms_draw_crc.c >+++ b/tests/i915/kms_draw_crc.c >@@ -59,16 +59,14 @@ static void find_modeset_params(void) > { > enum pipe pipe; > >- igt_display_reset(&display); >- igt_display_commit(&display); >- > for_each_pipe_with_valid_output(&display, pipe, output) { >- igt_output_set_pipe(output, pipe); >+ igt_display_reset(&display); > >- mode = igt_output_get_mode(output); >- if (!mode) >+ igt_output_set_pipe(output, pipe); >+ if (!i915_pipe_output_combo_valid(&display)) > continue; > >+ mode = igt_output_get_mode(output); > pipe_crc = igt_pipe_crc_new(drm_fd, pipe, IGT_PIPE_CRC_SOURCE_AUTO); > /*Only one pipe/output is enough*/ > break; [-- Attachment #2: Type: text/html, Size: 6747 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [igt-dev] [i-g-t v5 46/52] tests/i915/kms_frontbuffer_tracking: Add support for Bigjoiner 2022-12-29 5:11 ` [igt-dev] [i-g-t v5 42/52] tests/i915/kms_draw_crc: " Gupta, Nidhi1 @ 2022-12-30 14:37 ` Gupta, Nidhi1 2022-12-30 14:46 ` [igt-dev] [i-g-t v5 18/52] tests/kms_invalid_mode: " Gupta, Nidhi1 0 siblings, 1 reply; 9+ messages in thread From: Gupta, Nidhi1 @ 2022-12-30 14:37 UTC (permalink / raw) To: igt-dev [-- Attachment #1: Type: text/plain, Size: 2252 bytes --] On Tue, 2022-11-15 at 08:43 +0530, Bhanuprakash Modem wrote: >As many 2x tests are currently running on Pipe-A & B only, those >tests will always SKIP if there is any 8K supported panel in the >config. Instead of Skipping the test, add some intelligence to >the subtest to identify the valid pipe/output combo to execute >the subtest. > >V2: - Use updated helper name > >Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> >--- Reviewed-by: Nidhi Gupta >tests/i915/kms_frontbuffer_tracking.c | 16 ++++++++++++---- >1 file changed, 12 insertions(+), 4 deletions(-) >diff --git a/tests/i915/kms_frontbuffer_tracking.c b/tests/i915/kms_frontbuffer_tracking.c >index 5b47999e..650e14a7 100644 >--- a/tests/i915/kms_frontbuffer_tracking.c >+++ b/tests/i915/kms_frontbuffer_tracking.c >@@ -403,15 +403,23 @@ static bool find_connector(bool edp_only, bool pipe_a, > if (pipe_a && pipe != PIPE_A) > continue; > >- if (output == forbidden_output || pipe == forbidden_pipe) >+ if (output == forbidden_output || pipe == forbidden_pipe) { >+ igt_output_set_pipe(output, pipe); >+ igt_output_override_mode(output, connector_get_mode(output)); >+ > continue; >+ } > > if (c->connector_type == DRM_MODE_CONNECTOR_eDP && opt.no_edp) > continue; > >- *ret_output = output; >- *ret_pipe = pipe; >- return true; >+ igt_output_set_pipe(output, pipe); >+ igt_output_override_mode(output, connector_get_mode(output)); >+ if (i915_pipe_output_combo_valid(&drm.display)) { >+ *ret_output = output; >+ *ret_pipe = pipe; >+ return true; >+ } > } > > return false; [-- Attachment #2: Type: text/html, Size: 9055 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [igt-dev] [i-g-t v5 18/52] tests/kms_invalid_mode: Add support for Bigjoiner 2022-12-30 14:37 ` [igt-dev] [i-g-t v5 46/52] tests/i915/kms_frontbuffer_tracking: " Gupta, Nidhi1 @ 2022-12-30 14:46 ` Gupta, Nidhi1 2022-12-30 15:27 ` [igt-dev] [i-g-t v5 33/52] tests/kms_sequence: " Gupta, Nidhi1 0 siblings, 1 reply; 9+ messages in thread From: Gupta, Nidhi1 @ 2022-12-30 14:46 UTC (permalink / raw) To: igt-dev [-- Attachment #1: Type: text/plain, Size: 1772 bytes --] On Tue, 2022-11-15 at 08:43 +0530, Bhanuprakash Modem wrote: >This patch will add a check to Skip the subtest if a selected pipe/output >combo won't support Bigjoiner or 8K mode. > >Example: >* Pipe-D wont support a mode > 5K >* To use 8K mode on a pipe then consecutive pipe must be available & free. > >V2: - Use updated helper name > >Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> >--- Reviewed-by: Nidhi Gupta <nidhi1.gupta@intel.com> > tests/kms_invalid_mode.c | 6 ++++++ > 1 file changed, 6 insertions(+) >diff --git a/tests/kms_invalid_mode.c b/tests/kms_invalid_mode.c >index 40042d4e..86f529e8 100644 >--- a/tests/kms_invalid_mode.c >+++ b/tests/kms_invalid_mode.c >@@ -301,6 +301,12 @@ igt_main > for (int i = 0; i < ARRAY_SIZE(subtests); i++) { > igt_subtest_with_dynamic(subtests[i].name) { > for_each_pipe_with_valid_output(&data.display, pipe, output) { >+ igt_display_reset(&data.display); >+ >+ igt_output_set_pipe(output, pipe); >+ if (!i915_pipe_output_combo_valid(&data.display)) >+ continue; >+ > igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe)) { > data.output = output; > data.pipe = pipe; [-- Attachment #2: Type: text/html, Size: 7279 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [igt-dev] [i-g-t v5 33/52] tests/kms_sequence: Add support for Bigjoiner 2022-12-30 14:46 ` [igt-dev] [i-g-t v5 18/52] tests/kms_invalid_mode: " Gupta, Nidhi1 @ 2022-12-30 15:27 ` Gupta, Nidhi1 0 siblings, 0 replies; 9+ messages in thread From: Gupta, Nidhi1 @ 2022-12-30 15:27 UTC (permalink / raw) To: igt-dev [-- Attachment #1: Type: text/plain, Size: 1912 bytes --] On Tue, 2022-11-15 at 08:43 +0530, Bhanuprakash Modem wrote: >This patch will add a check to Skip the subtest if a selected pipe/output >combo won't support Bigjoiner or 8K mode. > >Example: >* Pipe-D wont support a mode > 5K >* To use 8K mode on a pipe then consecutive pipe must be available & free. > >V2: - Use updated helper name > >Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> >--- Reviewed-by: Nidhi Gupta <nidhi1.gupta@intel.com> > tests/kms_sequence.c | 6 ++++++ > 1 file changed, 6 insertions(+) >diff --git a/tests/kms_sequence.c b/tests/kms_sequence.c >index c72857a3..c8a3d6bb 100644 >--- a/tests/kms_sequence.c >+++ b/tests/kms_sequence.c >@@ -285,6 +285,12 @@ igt_main > "drmCrtcQueueSequence"); > igt_subtest_with_dynamic_f("%s-%s", f->name, m->name) { > for_each_pipe_with_valid_output(&data.display, p, output) { >+ igt_display_reset(&data.display); >+ >+ igt_output_set_pipe(output, p); >+ if (!i915_pipe_output_combo_valid(&data.display)) >+ continue; >+ > igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(p)) { > data.pipe = p; > data.output = output; [-- Attachment #2: Type: text/html, Size: 8367 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* [igt-dev] [i-g-t v5 00/52] Add IGT support for Bigjoiner @ 2022-11-15 17:08 Bhanuprakash Modem 2022-11-15 17:08 ` [igt-dev] [i-g-t v5 10/52] tests/kms_concurrent: Add " Bhanuprakash Modem 0 siblings, 1 reply; 9+ messages in thread From: Bhanuprakash Modem @ 2022-11-15 17:08 UTC (permalink / raw) To: igt-dev Add IGT support for bigjoiner: * Pipe-D won't support mode > 5K * To use 8K mode on a pipe then consecutive pipe must be available & free. V2: - Rebase V3: - Optimizations in helper V4, V5: - Rebase Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> Bhanuprakash Modem (52): lib/igt_kms: Add a helper for valid pipe/output constraint lib/igt_kms: Bigjoiner check in max_bpc constraint tests/kms_async_flips: Add support for Bigjoiner tests/kms_atomic: Add support for Bigjoiner tests/kms_atomic_interruptible: Add support for Bigjoiner tests/kms_atomic_transition: Add support for Bigjoiner tests/kms_color_helper: Helper to check Bigjoiner constraint tests/kms_color: Add support for Bigjoiner tests/chamelium/kms_color_chamelium: Add support for Bigjoiner tests/kms_concurrent: Add support for Bigjoiner tests/kms_content_protection: Add support for Bigjoiner tests/kms_cursor_crc: Add support for Bigjoiner tests/kms_cursor_edge_walk: Add support for Bigjoiner tests/kms_cursor_legacy: Add support for Bigjoiner tests/kms_display_modes: Add support for Bigjoiner tests/kms_dp_tiled_display: Add support for Bigjoiner tests/kms_flip_event_leak: Add support for Bigjoiner tests/kms_invalid_mode: Add support for Bigjoiner tests/kms_lease: Add support for Bigjoiner tests/kms_multipipe_modeset: Find the suitable mode instead of using default tests/kms_pipe_crc_basic: Add support for Bigjoiner tests/kms_plane: Add support for Bigjoiner tests/kms_plane_alpha_blend: Add support for Bigjoiner tests/kms_plane_cursor: Add support for Bigjoiner tests/kms_plane_lowres: Add support for Bigjoiner tests/kms_plane_multiple: Add support for Bigjoiner tests/kms_plane_scaling: Add support for Bigjoiner tests/kms_prime: Add support for Bigjoiner tests/kms_properties: Add support for Bigjoiner tests/kms_rmfb: Add support for Bigjoiner tests/kms_rotation_crc: Add support for Bigjoiner tests/kms_scaling_modes: Add support for Bigjoiner tests/kms_sequence: Add support for Bigjoiner tests/kms_universal_plane: Add support for Bigjoiner tests/kms_vblank: Add support for Bigjoiner tests/kms_vrr: Add support for Bigjoiner tests/i915/kms_big_fb: Add support for Bigjoiner tests/i915/kms_big_joiner: Negative tests for Bigjoiner tests/i915/kms_busy: Add support for Bigjoiner tests/i915/kms_ccs: Add support for Bigjoiner tests/i915/kms_cdclk: Add support for Bigjoiner tests/i915/kms_draw_crc: Add support for Bigjoiner tests/i915/kms_fence_pin_leak: Add support for Bigjoiner tests/i915/kms_flip_scaled_crc: Add support for Bigjoiner tests/i915/kms_flip_tiling: Add support for Bigjoiner tests/i915/kms_frontbuffer_tracking: Add support for Bigjoiner tests/i915/kms_mmap_write_crc: Add support for Bigjoiner tests/i915/kms_psr2_sf: Add support for Bigjoiner tests/i915/kms_psr2_su: Add support for Bigjoiner tests/i915/kms_psr: Add support for Bigjoiner tests/i915/kms_psr_stress_test: Add support for Bigjoiner tests/i915/kms_pwrite_crc: Add support for Bigjoiner lib/igt_kms.c | 54 ++++++- lib/igt_kms.h | 1 + tests/chamelium/kms_color_chamelium.c | 9 ++ tests/i915/kms_big_fb.c | 13 ++ tests/i915/kms_big_joiner.c | 187 ++++++++++------------ tests/i915/kms_busy.c | 106 ++++++++----- tests/i915/kms_ccs.c | 18 ++- tests/i915/kms_cdclk.c | 93 ++++++----- tests/i915/kms_draw_crc.c | 10 +- tests/i915/kms_fence_pin_leak.c | 9 ++ tests/i915/kms_flip_scaled_crc.c | 13 +- tests/i915/kms_flip_tiling.c | 7 + tests/i915/kms_frontbuffer_tracking.c | 16 +- tests/i915/kms_mmap_write_crc.c | 6 + tests/i915/kms_psr.c | 4 + tests/i915/kms_psr2_sf.c | 7 + tests/i915/kms_psr2_su.c | 7 + tests/i915/kms_psr_stress_test.c | 8 +- tests/i915/kms_pwrite_crc.c | 12 +- tests/kms_async_flips.c | 24 ++- tests/kms_atomic.c | 32 +++- tests/kms_atomic_interruptible.c | 40 +++++ tests/kms_atomic_transition.c | 50 +++++- tests/kms_color.c | 9 +- tests/kms_color_helper.c | 12 ++ tests/kms_color_helper.h | 1 + tests/kms_concurrent.c | 10 +- tests/kms_content_protection.c | 15 ++ tests/kms_cursor_crc.c | 33 ++++ tests/kms_cursor_edge_walk.c | 6 + tests/kms_cursor_legacy.c | 202 +++++++++++++++--------- tests/kms_display_modes.c | 104 +++++++----- tests/kms_dp_tiled_display.c | 1 + tests/kms_flip_event_leak.c | 11 +- tests/kms_invalid_mode.c | 6 + tests/kms_lease.c | 8 +- tests/kms_multipipe_modeset.c | 9 ++ tests/kms_pipe_crc_basic.c | 24 +++ tests/kms_plane.c | 30 ++-- tests/kms_plane_alpha_blend.c | 9 +- tests/kms_plane_cursor.c | 6 + tests/kms_plane_lowres.c | 3 + tests/kms_plane_multiple.c | 15 +- tests/kms_plane_scaling.c | 218 +++++++++++++++++--------- tests/kms_prime.c | 11 +- tests/kms_properties.c | 18 +++ tests/kms_rmfb.c | 10 +- tests/kms_rotation_crc.c | 25 ++- tests/kms_scaling_modes.c | 8 +- tests/kms_sequence.c | 6 + tests/kms_universal_plane.c | 94 +++++++++-- tests/kms_vblank.c | 54 ++++++- tests/kms_vrr.c | 6 + 53 files changed, 1219 insertions(+), 471 deletions(-) -- 2.38.0 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [igt-dev] [i-g-t v5 10/52] tests/kms_concurrent: Add support for Bigjoiner 2022-11-15 17:08 [igt-dev] [i-g-t v5 00/52] Add IGT " Bhanuprakash Modem @ 2022-11-15 17:08 ` Bhanuprakash Modem 0 siblings, 0 replies; 9+ messages in thread From: Bhanuprakash Modem @ 2022-11-15 17:08 UTC (permalink / raw) To: igt-dev This patch will add a check to Skip the subtest if a selected pipe/output combo won't support Bigjoiner or 8K mode. Example: * Pipe-D wont support a mode > 5K * To use 8K mode on a pipe then consecutive pipe must be available & free. V2: - Use updated helper name Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> --- tests/kms_concurrent.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tests/kms_concurrent.c b/tests/kms_concurrent.c index 6f8ffd4a..e6d61a84 100644 --- a/tests/kms_concurrent.c +++ b/tests/kms_concurrent.c @@ -330,9 +330,17 @@ run_tests_for_pipe(data_t *data, enum pipe pipe) igt_describe("Test atomic mode setting concurrently with multiple planes and screen " "resolution."); igt_subtest_with_dynamic_f("pipe-%s", kmstest_pipe_name(pipe)) { - for_each_valid_output_on_pipe(&data->display, pipe, output) + for_each_valid_output_on_pipe(&data->display, pipe, output) { + igt_display_reset(&data->display); + + igt_output_set_pipe(output, pipe); + if (!i915_pipe_output_combo_valid(&data->display)) + continue; + + igt_output_set_pipe(output, PIPE_NONE); igt_dynamic_f("%s", igt_output_name(output)) run_test(data, pipe, output); + } } } -- 2.38.0 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [igt-dev] [i-g-t v5 00/52] Add IGT support for Bigjoiner @ 2022-11-15 16:58 Bhanuprakash Modem 2022-11-15 16:58 ` [igt-dev] [i-g-t v5 10/52] tests/kms_concurrent: Add " Bhanuprakash Modem 0 siblings, 1 reply; 9+ messages in thread From: Bhanuprakash Modem @ 2022-11-15 16:58 UTC (permalink / raw) To: igt-dev Add IGT support for bigjoiner: * Pipe-D won't support mode > 5K * To use 8K mode on a pipe then consecutive pipe must be available & free. V2: - Rebase V3: - Optimizations in helper V4, V5: - Rebase Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> Bhanuprakash Modem (52): lib/igt_kms: Add a helper for valid pipe/output constraint lib/igt_kms: Bigjoiner check in max_bpc constraint tests/kms_async_flips: Add support for Bigjoiner tests/kms_atomic: Add support for Bigjoiner tests/kms_atomic_interruptible: Add support for Bigjoiner tests/kms_atomic_transition: Add support for Bigjoiner tests/kms_color_helper: Helper to check Bigjoiner constraint tests/kms_color: Add support for Bigjoiner tests/chamelium/kms_color_chamelium: Add support for Bigjoiner tests/kms_concurrent: Add support for Bigjoiner tests/kms_content_protection: Add support for Bigjoiner tests/kms_cursor_crc: Add support for Bigjoiner tests/kms_cursor_edge_walk: Add support for Bigjoiner tests/kms_cursor_legacy: Add support for Bigjoiner tests/kms_display_modes: Add support for Bigjoiner tests/kms_dp_tiled_display: Add support for Bigjoiner tests/kms_flip_event_leak: Add support for Bigjoiner tests/kms_invalid_mode: Add support for Bigjoiner tests/kms_lease: Add support for Bigjoiner tests/kms_multipipe_modeset: Find the suitable mode instead of using default tests/kms_pipe_crc_basic: Add support for Bigjoiner tests/kms_plane: Add support for Bigjoiner tests/kms_plane_alpha_blend: Add support for Bigjoiner tests/kms_plane_cursor: Add support for Bigjoiner tests/kms_plane_lowres: Add support for Bigjoiner tests/kms_plane_multiple: Add support for Bigjoiner tests/kms_plane_scaling: Add support for Bigjoiner tests/kms_prime: Add support for Bigjoiner tests/kms_properties: Add support for Bigjoiner tests/kms_rmfb: Add support for Bigjoiner tests/kms_rotation_crc: Add support for Bigjoiner tests/kms_scaling_modes: Add support for Bigjoiner tests/kms_sequence: Add support for Bigjoiner tests/kms_universal_plane: Add support for Bigjoiner tests/kms_vblank: Add support for Bigjoiner tests/kms_vrr: Add support for Bigjoiner tests/i915/kms_big_fb: Add support for Bigjoiner tests/i915/kms_big_joiner: Negative tests for Bigjoiner tests/i915/kms_busy: Add support for Bigjoiner tests/i915/kms_ccs: Add support for Bigjoiner tests/i915/kms_cdclk: Add support for Bigjoiner tests/i915/kms_draw_crc: Add support for Bigjoiner tests/i915/kms_fence_pin_leak: Add support for Bigjoiner tests/i915/kms_flip_scaled_crc: Add support for Bigjoiner tests/i915/kms_flip_tiling: Add support for Bigjoiner tests/i915/kms_frontbuffer_tracking: Add support for Bigjoiner tests/i915/kms_mmap_write_crc: Add support for Bigjoiner tests/i915/kms_psr2_sf: Add support for Bigjoiner tests/i915/kms_psr2_su: Add support for Bigjoiner tests/i915/kms_psr: Add support for Bigjoiner tests/i915/kms_psr_stress_test: Add support for Bigjoiner tests/i915/kms_pwrite_crc: Add support for Bigjoiner lib/igt_kms.c | 54 ++++++- lib/igt_kms.h | 1 + tests/chamelium/kms_color_chamelium.c | 9 ++ tests/i915/kms_big_fb.c | 13 ++ tests/i915/kms_big_joiner.c | 187 ++++++++++------------ tests/i915/kms_busy.c | 106 ++++++++----- tests/i915/kms_ccs.c | 18 ++- tests/i915/kms_cdclk.c | 93 ++++++----- tests/i915/kms_draw_crc.c | 10 +- tests/i915/kms_fence_pin_leak.c | 9 ++ tests/i915/kms_flip_scaled_crc.c | 13 +- tests/i915/kms_flip_tiling.c | 7 + tests/i915/kms_frontbuffer_tracking.c | 16 +- tests/i915/kms_mmap_write_crc.c | 6 + tests/i915/kms_psr.c | 4 + tests/i915/kms_psr2_sf.c | 7 + tests/i915/kms_psr2_su.c | 7 + tests/i915/kms_psr_stress_test.c | 8 +- tests/i915/kms_pwrite_crc.c | 12 +- tests/kms_async_flips.c | 24 ++- tests/kms_atomic.c | 32 +++- tests/kms_atomic_interruptible.c | 40 +++++ tests/kms_atomic_transition.c | 50 +++++- tests/kms_color.c | 9 +- tests/kms_color_helper.c | 12 ++ tests/kms_color_helper.h | 1 + tests/kms_concurrent.c | 10 +- tests/kms_content_protection.c | 15 ++ tests/kms_cursor_crc.c | 33 ++++ tests/kms_cursor_edge_walk.c | 6 + tests/kms_cursor_legacy.c | 202 +++++++++++++++--------- tests/kms_display_modes.c | 104 +++++++----- tests/kms_dp_tiled_display.c | 1 + tests/kms_flip_event_leak.c | 11 +- tests/kms_invalid_mode.c | 6 + tests/kms_lease.c | 8 +- tests/kms_multipipe_modeset.c | 9 ++ tests/kms_pipe_crc_basic.c | 24 +++ tests/kms_plane.c | 30 ++-- tests/kms_plane_alpha_blend.c | 9 +- tests/kms_plane_cursor.c | 6 + tests/kms_plane_lowres.c | 3 + tests/kms_plane_multiple.c | 15 +- tests/kms_plane_scaling.c | 218 +++++++++++++++++--------- tests/kms_prime.c | 11 +- tests/kms_properties.c | 18 +++ tests/kms_rmfb.c | 10 +- tests/kms_rotation_crc.c | 25 ++- tests/kms_scaling_modes.c | 8 +- tests/kms_sequence.c | 6 + tests/kms_universal_plane.c | 94 +++++++++-- tests/kms_vblank.c | 54 ++++++- tests/kms_vrr.c | 6 + 53 files changed, 1219 insertions(+), 471 deletions(-) -- 2.38.0 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [igt-dev] [i-g-t v5 10/52] tests/kms_concurrent: Add support for Bigjoiner 2022-11-15 16:58 [igt-dev] [i-g-t v5 00/52] Add IGT " Bhanuprakash Modem @ 2022-11-15 16:58 ` Bhanuprakash Modem 0 siblings, 0 replies; 9+ messages in thread From: Bhanuprakash Modem @ 2022-11-15 16:58 UTC (permalink / raw) To: igt-dev This patch will add a check to Skip the subtest if a selected pipe/output combo won't support Bigjoiner or 8K mode. Example: * Pipe-D wont support a mode > 5K * To use 8K mode on a pipe then consecutive pipe must be available & free. V2: - Use updated helper name Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> --- tests/kms_concurrent.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tests/kms_concurrent.c b/tests/kms_concurrent.c index 6f8ffd4a..e6d61a84 100644 --- a/tests/kms_concurrent.c +++ b/tests/kms_concurrent.c @@ -330,9 +330,17 @@ run_tests_for_pipe(data_t *data, enum pipe pipe) igt_describe("Test atomic mode setting concurrently with multiple planes and screen " "resolution."); igt_subtest_with_dynamic_f("pipe-%s", kmstest_pipe_name(pipe)) { - for_each_valid_output_on_pipe(&data->display, pipe, output) + for_each_valid_output_on_pipe(&data->display, pipe, output) { + igt_display_reset(&data->display); + + igt_output_set_pipe(output, pipe); + if (!i915_pipe_output_combo_valid(&data->display)) + continue; + + igt_output_set_pipe(output, PIPE_NONE); igt_dynamic_f("%s", igt_output_name(output)) run_test(data, pipe, output); + } } } -- 2.38.0 ^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2022-12-30 15:28 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-12-27 5:27 [igt-dev] [i-g-t v5 05/52] tests/kms_atomic_interruptible: Add support for Bigjoiner Gupta, Nidhi1 2022-12-28 4:10 ` [igt-dev] [i-g-t v5 39/52] tests/i915/kms_busy: " Gupta, Nidhi1 2022-12-29 3:26 ` [igt-dev] [i-g-t v5 10/52] tests/kms_concurrent: " Gupta, Nidhi1 2022-12-29 5:11 ` [igt-dev] [i-g-t v5 42/52] tests/i915/kms_draw_crc: " Gupta, Nidhi1 2022-12-30 14:37 ` [igt-dev] [i-g-t v5 46/52] tests/i915/kms_frontbuffer_tracking: " Gupta, Nidhi1 2022-12-30 14:46 ` [igt-dev] [i-g-t v5 18/52] tests/kms_invalid_mode: " Gupta, Nidhi1 2022-12-30 15:27 ` [igt-dev] [i-g-t v5 33/52] tests/kms_sequence: " Gupta, Nidhi1 -- strict thread matches above, loose matches on Subject: below -- 2022-11-15 17:08 [igt-dev] [i-g-t v5 00/52] Add IGT " Bhanuprakash Modem 2022-11-15 17:08 ` [igt-dev] [i-g-t v5 10/52] tests/kms_concurrent: Add " Bhanuprakash Modem 2022-11-15 16:58 [igt-dev] [i-g-t v5 00/52] Add IGT " Bhanuprakash Modem 2022-11-15 16:58 ` [igt-dev] [i-g-t v5 10/52] tests/kms_concurrent: Add " Bhanuprakash Modem
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.