All of lore.kernel.org
 help / color / mirror / Atom feed
* 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 42/52] tests/i915/kms_draw_crc: 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/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;
-- 
2.38.0

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [igt-dev] [i-g-t v5 42/52] tests/i915/kms_draw_crc: 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:59 ` Bhanuprakash Modem
  0 siblings, 0 replies; 9+ messages in thread
From: Bhanuprakash Modem @ 2022-11-15 16:59 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/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;
-- 
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 42/52] tests/i915/kms_draw_crc: Add " Bhanuprakash Modem
2022-11-15 16:58 [igt-dev] [i-g-t v5 00/52] Add IGT " Bhanuprakash Modem
2022-11-15 16:59 ` [igt-dev] [i-g-t v5 42/52] tests/i915/kms_draw_crc: 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.