All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeevan B <jeevan.b@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: kunal1.joshi@intel.com, Jeevan B <jeevan.b@intel.com>,
	Santhosh Reddy Guddati <santhosh.reddy.guddati@intel.com>,
	Swati Sharma <swati2.sharma@intel.com>
Subject: [PATCH i-g-t 1/4] lib/igt_kms: Add is_joiner_mode function
Date: Wed,  4 Dec 2024 11:39:21 +0530	[thread overview]
Message-ID: <20241204060924.1155970-2-jeevan.b@intel.com> (raw)
In-Reply-To: <20241204060924.1155970-1-jeevan.b@intel.com>

Introduce a utility to check if bigjoiner or ultrajoiner
mode is required based on requirement.

Signed-off-by: Jeevan B <jeevan.b@intel.com>
Signed-off-by: Santhosh Reddy Guddati <santhosh.reddy.guddati@intel.com>
Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
---
 lib/igt_kms.c | 31 +++++++++++++++++++++++++++++++
 lib/igt_kms.h |  1 +
 2 files changed, 32 insertions(+)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 76f32e1e0..6fb5822ee 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -6441,6 +6441,37 @@ bool ultrajoiner_mode_found(int drm_fd, drmModeConnector *connector,
 	return found;
 }
 
+/**
+ * is_joiner_mode:
+ * @drm_fd: drm file descriptor
+ * @output: pointer to the output structure
+ *
+ * Checks if the current configuration requires Big Joiner or Ultra Joiner mode
+ * based on the maximum dot clock and connector settings.
+ *
+ * Returns: True if joiner mode is required, otherwise False.
+ */
+bool is_joiner_mode(int drm_fd, igt_output_t *output)
+{
+	bool is_joiner = false;
+	bool is_ultra_joiner = false;
+	int max_dotclock;
+	drmModeModeInfo mode;
+
+	max_dotclock = igt_get_max_dotclock(drm_fd);
+	is_joiner = bigjoiner_mode_found(drm_fd,
+					 output->config.connector,
+					 max_dotclock, &mode);
+	is_ultra_joiner = ultrajoiner_mode_found(drm_fd,
+						 output->config.connector,
+						 max_dotclock, &mode);
+
+	if (is_joiner || is_ultra_joiner)
+		return true;
+
+	return false;
+}
+
 /**
  * igt_has_force_joiner_debugfs
  * @drmfd: A drm file descriptor
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 301f370df..c2fbbb5b0 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -1248,6 +1248,7 @@ bool igt_ultrajoiner_possible(drmModeModeInfo *mode, int max_dotclock);
 bool ultrajoiner_mode_found(int drm_fd, drmModeConnector *connector,
 			  int max_dotclock, drmModeModeInfo *mode);
 bool igt_has_force_joiner_debugfs(int drmfd, char *conn_name);
+bool is_joiner_mode(int drm_fd, igt_output_t *output);
 bool igt_check_force_joiner_status(int drmfd, char *connector_name);
 bool igt_check_bigjoiner_support(igt_display_t *display);
 bool igt_parse_mode_string(const char *mode_string, drmModeModeInfo *mode);
-- 
2.25.1


  reply	other threads:[~2024-12-04  5:54 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-04  6:09 [PATCH i-g-t 0/4] Skip test if joiner display is connected Jeevan B
2024-12-04  6:09 ` Jeevan B [this message]
2024-12-04  6:09 ` [PATCH i-g-t 2/4] tests/kms_async_flips: Skip async flips on joiner output Jeevan B
2024-12-04  6:09 ` [PATCH i-g-t 3/4] tests/kms_display_modes: Skip test if joiner display is connected Jeevan B
2024-12-04  6:09 ` [PATCH i-g-t 4/4] lib/igt_kms: Add 6k resolution support for a single CRTC Jeevan B
2024-12-04  7:40 ` ✓ i915.CI.BAT: success for Skip test if joiner display is connected (rev6) Patchwork
2024-12-04  9:13 ` ✗ Xe.CI.BAT: failure " Patchwork
2024-12-04  9:14   ` B, Jeevan
2024-12-04  9:17 ` ✗ i915.CI.Full: " Patchwork
2024-12-04 10:08 ` ✗ Xe.CI.Full: " Patchwork
2024-12-09 14:36 ` ✓ i915.CI.Full: success " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2024-11-29  4:27 [PATCH i-g-t 0/4] Skip test if joiner display is connected Jeevan B
2024-11-29  4:27 ` [PATCH i-g-t 1/4] lib/igt_kms: Add is_joiner_mode function Jeevan B
2024-11-27  8:13 [PATCH i-g-t 0/4] Skip test if joiner display is connected Jeevan B
2024-11-27  8:13 ` [PATCH i-g-t 1/4] lib/igt_kms: Add is_joiner_mode function Jeevan B

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=20241204060924.1155970-2-jeevan.b@intel.com \
    --to=jeevan.b@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=kunal1.joshi@intel.com \
    --cc=santhosh.reddy.guddati@intel.com \
    --cc=swati2.sharma@intel.com \
    /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.