Re: [igt-dev] [i-g-t v5 05/52] tests/kms_atomic_interruptible: Add support for Bigjoiner

Gupta, Nidhi1
2022-12-27T05:27:36Z

[-- 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 --]