All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
To: igt-dev@lists.freedesktop.org
Subject: [igt-dev] [i-g-t V2 05/52] tests/kms_atomic_interruptible: Add support for Bigjoiner
Date: Tue,  6 Sep 2022 15:19:43 +0530	[thread overview]
Message-ID: <20220906095030.486152-6-bhanuprakash.modem@intel.com> (raw)
In-Reply-To: <20220906095030.486152-1-bhanuprakash.modem@intel.com>

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.

Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@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 038cb286..0dd293a1 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 is_valid_combo(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 (!igt_test_constraint(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 (!is_valid_combo(&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 (!is_valid_combo(&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 (!is_valid_combo(&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 (!is_valid_combo(&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 (!is_valid_combo(&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 (!is_valid_combo(&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 (!is_valid_combo(&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;
-- 
2.35.1

  parent reply	other threads:[~2022-09-06  9:52 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-06  9:49 [igt-dev] [i-g-t V2 00/52] Add IGT support for Bigjoiner Bhanuprakash Modem
2022-09-06  9:49 ` [igt-dev] [i-g-t V2 01/52] lib/igt_kms: Add a helper for igt test constraint Bhanuprakash Modem
2022-09-08 15:21   ` Petri Latvala
2022-09-09  9:39     ` Modem, Bhanuprakash
2022-09-09  9:57       ` Petri Latvala
2022-09-06  9:49 ` [igt-dev] [i-g-t V2 02/52] lib/igt_kms: Bigjoiner check in max_bpc constraint Bhanuprakash Modem
2022-09-06  9:49 ` [igt-dev] [i-g-t V2 03/52] tests/kms_async_flips: Add support for Bigjoiner Bhanuprakash Modem
2022-09-06  9:49 ` [igt-dev] [i-g-t V2 04/52] tests/kms_atomic: " Bhanuprakash Modem
2022-09-06  9:49 ` Bhanuprakash Modem [this message]
2022-09-06  9:49 ` [igt-dev] [i-g-t V2 06/52] tests/kms_atomic_transition: " Bhanuprakash Modem
2022-09-06  9:49 ` [igt-dev] [i-g-t V2 07/52] tests/kms_color_helper: Helper to check Bigjoiner constraint Bhanuprakash Modem
2022-09-06  9:49 ` [igt-dev] [i-g-t V2 08/52] tests/kms_color: Add support for Bigjoiner Bhanuprakash Modem
2022-09-06  9:49 ` [igt-dev] [i-g-t V2 09/52] tests/chamelium/kms_color_chamelium: " Bhanuprakash Modem
2022-09-06  9:49 ` [igt-dev] [i-g-t V2 10/52] tests/kms_concurrent: " Bhanuprakash Modem
2022-09-06  9:49 ` [igt-dev] [i-g-t V2 11/52] tests/kms_content_protection: " Bhanuprakash Modem
2022-09-06  9:49 ` [igt-dev] [i-g-t V2 12/52] tests/kms_cursor_crc: " Bhanuprakash Modem
2022-09-06  9:49 ` [igt-dev] [i-g-t V2 13/52] tests/kms_cursor_edge_walk: " Bhanuprakash Modem
2022-09-06  9:49 ` [igt-dev] [i-g-t V2 14/52] tests/kms_cursor_legacy: " Bhanuprakash Modem
2022-09-06  9:49 ` [igt-dev] [i-g-t V2 15/52] tests/kms_display_modes: " Bhanuprakash Modem
2022-09-06  9:49 ` [igt-dev] [i-g-t V2 16/52] tests/kms_dp_tiled_display: " Bhanuprakash Modem
2022-09-06  9:49 ` [igt-dev] [i-g-t V2 17/52] tests/kms_flip_event_leak: " Bhanuprakash Modem
2022-09-06  9:49 ` [igt-dev] [i-g-t V2 18/52] tests/kms_invalid_mode: " Bhanuprakash Modem
2022-09-06  9:49 ` [igt-dev] [i-g-t V2 19/52] tests/kms_lease: " Bhanuprakash Modem
2022-09-06  9:49 ` [igt-dev] [i-g-t V2 20/52] tests/kms_multipipe_modeset: Find the suitable mode instead of using default Bhanuprakash Modem
2022-09-06  9:49 ` [igt-dev] [i-g-t V2 21/52] tests/kms_pipe_crc_basic: Add support for Bigjoiner Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 22/52] tests/kms_plane: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 23/52] tests/kms_plane_alpha_blend: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 24/52] tests/kms_plane_cursor: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 25/52] tests/kms_plane_lowres: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 26/52] tests/kms_plane_multiple: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 27/52] tests/kms_plane_scaling: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 28/52] tests/kms_prime: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 29/52] tests/kms_properties: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 30/52] tests/kms_rmfb: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 31/52] tests/kms_rotation_crc: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 32/52] tests/kms_scaling_modes: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 33/52] tests/kms_sequence: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 34/52] tests/kms_universal_plane: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 35/52] tests/kms_vblank: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 36/52] tests/kms_vrr: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 37/52] tests/i915/kms_big_fb: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 38/52] tests/i915/kms_big_joiner: Negative tests " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 39/52] tests/i915/kms_busy: Add support " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 40/52] tests/i915/kms_ccs: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 41/52] tests/i915/kms_cdclk: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 42/52] tests/i915/kms_draw_crc: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 43/52] tests/i915/kms_fence_pin_leak: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 44/52] tests/i915/kms_flip_scaled_crc: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 45/52] tests/i915/kms_flip_tiling: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 46/52] tests/i915/kms_frontbuffer_tracking: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 47/52] tests/i915/kms_mmap_write_crc: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 48/52] tests/i915/kms_psr2_sf: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 49/52] tests/i915/kms_psr2_su: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 50/52] tests/i915/kms_psr: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 51/52] tests/i915/kms_psr_stress_test: " Bhanuprakash Modem
2022-09-06  9:50 ` [igt-dev] [i-g-t V2 52/52] tests/i915/kms_pwrite_crc: " Bhanuprakash Modem
2022-09-06 10:26 ` [igt-dev] ✓ Fi.CI.BAT: success for Add IGT " Patchwork
2022-09-06 12:15 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220906095030.486152-6-bhanuprakash.modem@intel.com \
    --to=bhanuprakash.modem@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.