Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Mohammed Thasleem <mohammed.thasleem@intel.com>
To: igt-dev@lists.freedesktop.org
Subject: [igt-dev] [PATCH i-g-t v2 1/2] tests/kms_display_modes: Fixed mode selection for extended mode tests
Date: Wed,  7 Jun 2023 16:55:57 +0530	[thread overview]
Message-ID: <20230607112558.55830-2-mohammed.thasleem@intel.com> (raw)
In-Reply-To: <20230607112558.55830-1-mohammed.thasleem@intel.com>

Added check on DP-MST and 4k panels when two moniters connected
through MST.
This will find the connector mode combo that fits into the
bandwidth when more than one monitor is connected.

Example:
  When two monitors connected through MST, the second monitor
  also tries to use the same mode. So two such modes may not
  fit into the link bandwidth. So, iterate through connected
  outputs & modes and find a combination of modes those fit
  into the link BW.

v2: -Updated commit msg and description. (Bhanu)
    -Renamed restart with retry. (Bhanu)
    -Moved igt_pipe_crc_new before retry. (Bhanu)
    -Removed unrelated changes and new line. (Bhanu)
    -Minor changes.
v3: Updated discription and added EINVAL check.
v4: Removed EINVAL and ENOSPC checks.
    Added check for DP-MST and 4k panels.
    Updated discription.
v5: Defined 4k display modes globally.
v6: -Removed if loop checks.
    -Added igt override to avoid dp mst bw failure.
v7: Rebased on tip.

Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com>
---
 tests/kms_display_modes.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tests/kms_display_modes.c b/tests/kms_display_modes.c
index 93d91ef5..5108b4d4 100644
--- a/tests/kms_display_modes.c
+++ b/tests/kms_display_modes.c
@@ -142,6 +142,7 @@ static void run_extendedmode_basic(data_t *data,
 	igt_pipe_crc_t *pipe_crc[2] = { 0 };
 	igt_crc_t ref_crc[2], crc[2];
 	int width, height;
+	bool found;
 	cairo_t *cr;
 
 	igt_display_reset(display);
@@ -171,6 +172,10 @@ static void run_extendedmode_basic(data_t *data,
 	igt_fb_set_size(&fbs[1], plane[1], mode[1]->hdisplay, mode[1]->vdisplay);
 	igt_plane_set_size(plane[1], mode[1]->hdisplay, mode[1]->vdisplay);
 
+	/* In case of DP-MST find suitable mode(s) to fit into the link BW. */
+	found = igt_override_all_active_output_modes_to_fit_bw(display);
+	igt_require_f(found, "No valid mode combo found for MST modeset.\n");
+
 	igt_display_commit2(display, COMMIT_ATOMIC);
 
 	igt_pipe_crc_collect_crc(pipe_crc[0], &ref_crc[0]);
-- 
2.25.1

  reply	other threads:[~2023-06-07 11:31 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-07 11:25 [igt-dev] [PATCH i-g-t v2 0/2] Fixed mode selection for MST modeset Mohammed Thasleem
2023-06-07 11:25 ` Mohammed Thasleem [this message]
2023-06-07 11:25 ` [igt-dev] [PATCH i-g-t v2 2/2] tests/i915/kms_cdclk: " Mohammed Thasleem
  -- strict thread matches above, loose matches on Subject: below --
2023-06-07 11:53 [igt-dev] [PATCH i-g-t v2 0/2] " Mohammed Thasleem
2023-06-07 11:53 ` [igt-dev] [PATCH i-g-t v2 1/2] tests/kms_display_modes: Fixed mode selection for extended mode tests Mohammed Thasleem
2023-06-08 11:26   ` Modem, Bhanuprakash

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=20230607112558.55830-2-mohammed.thasleem@intel.com \
    --to=mohammed.thasleem@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox