From: Kunal Joshi <kunal1.joshi@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: Kunal Joshi <kunal1.joshi@intel.com>,
Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>,
Ankit Nautiyal <ankit.k.nautiyal@intel.com>,
Karthik B S <karthik.b.s@intel.com>,
Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Subject: [PATCH i-g-t 1/5] lib/igt_kms: move bigjoiner_mode_found to lib
Date: Thu, 28 Mar 2024 20:15:50 +0530 [thread overview]
Message-ID: <20240328144554.1371727-2-kunal1.joshi@intel.com> (raw)
In-Reply-To: <20240328144554.1371727-1-kunal1.joshi@intel.com>
move bigjoiner_mode_found to lib
v2: correct documentation (Ankit)
fix usage of mode (Ankit)
v3: state mode is filled in doc (Ankit)
Cc: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Karthik B S <karthik.b.s@intel.com>
Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
lib/igt_kms.c | 28 ++++++++++++++++++++++++++++
lib/igt_kms.h | 2 ++
tests/intel/kms_big_joiner.c | 14 +-------------
3 files changed, 31 insertions(+), 13 deletions(-)
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index e18f6fe59..548c9d1f3 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -6143,6 +6143,34 @@ bool igt_bigjoiner_possible(drmModeModeInfo *mode, int max_dotclock)
mode->clock > max_dotclock);
}
+/**
+ * bigjoiner_mode_found:
+ * @drm_fd: drm file descriptor
+ * @connector: libdrm connector
+ * @max_dot_clock: max dot clock frequency
+ * @mode: libdrm mode to be filled
+ *
+ * Bigjoiner will come in to the picture when the
+ * resolution > 5K or clock > max-dot-clock.
+ *
+ * Returns: True if big joiner found in connector modes
+ */
+bool bigjoiner_mode_found(int drm_fd, drmModeConnector *connector,
+ int max_dotclock, drmModeModeInfo *mode)
+{
+ bool found = false;
+
+ igt_sort_connector_modes(connector, sort_drm_modes_by_res_dsc);
+ found = igt_bigjoiner_possible(&connector->modes[0], max_dotclock);
+ if (!found) {
+ igt_sort_connector_modes(connector, sort_drm_modes_by_clk_dsc);
+ found = igt_bigjoiner_possible(&connector->modes[0], max_dotclock);
+ }
+ if (found)
+ *mode = connector->modes[0];
+ return found;
+}
+
/**
* igt_check_bigjoiner_support:
* @display: a pointer to an #igt_display_t structure
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index b3882808b..0fa7a2ea1 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -1212,6 +1212,8 @@ bool igt_max_bpc_constraint(igt_display_t *display, enum pipe pipe,
igt_output_t *output, int bpc);
int igt_get_max_dotclock(int fd);
bool igt_bigjoiner_possible(drmModeModeInfo *mode, int max_dotclock);
+bool bigjoiner_mode_found(int drm_fd, drmModeConnector *connector,
+ int max_dotclock, drmModeModeInfo *mode);
bool igt_check_bigjoiner_support(igt_display_t *display);
bool igt_parse_mode_string(const char *mode_string, drmModeModeInfo *mode);
bool intel_pipe_output_combo_valid(igt_display_t *display);
diff --git a/tests/intel/kms_big_joiner.c b/tests/intel/kms_big_joiner.c
index aba2adfbe..99b1b898d 100644
--- a/tests/intel/kms_big_joiner.c
+++ b/tests/intel/kms_big_joiner.c
@@ -199,16 +199,6 @@ static void test_dual_display(data_t *data)
igt_display_commit2(display, COMMIT_ATOMIC);
}
-static bool bigjoiner_mode_found(drmModeConnector *connector,
- int (*sort_method)(const void *, const void*),
- drmModeModeInfo *mode)
-{
- igt_sort_connector_modes(connector, sort_method);
- *mode = connector->modes[0];
-
- return igt_bigjoiner_possible(mode, max_dotclock);
-}
-
igt_main
{
data_t data;
@@ -235,9 +225,7 @@ igt_main
* Bigjoiner will come in to the picture when the
* resolution > 5K or clock > max-dot-clock.
*/
- found = (bigjoiner_mode_found(connector, sort_drm_modes_by_res_dsc, &mode) ||
- bigjoiner_mode_found(connector, sort_drm_modes_by_clk_dsc, &mode)) ?
- true : false;
+ found = bigjoiner_mode_found(data.drm_fd, connector, max_dotclock, &mode);
if (found) {
data.output[count].output_id = output->id;
--
2.25.1
next prev parent reply other threads:[~2024-03-28 14:35 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-28 14:45 [PATCH i-g-t 0/5] revamp big joiner test Kunal Joshi
2024-03-28 14:45 ` Kunal Joshi [this message]
2024-03-28 14:45 ` [PATCH i-g-t 2/5] tests/intel/kms_big_joiner: revamp bigjoiner Kunal Joshi
2024-03-28 14:45 ` [PATCH i-g-t 3/5] lib/igt_kms: add helper to enable/disable force joiner Kunal Joshi
2024-03-28 14:45 ` [PATCH i-g-t 4/5] tests/intel/kms_big_joiner: add tests for " Kunal Joshi
2024-04-01 5:16 ` Nautiyal, Ankit K
2024-03-28 14:45 ` [PATCH i-g-t 5/5] HAX: tests/intel-ci/fast-feedback: do not merge Kunal Joshi
2024-03-28 22:49 ` ✓ Fi.CI.BAT: success for revamp big joiner test (rev11) Patchwork
2024-03-28 23:01 ` ✗ CI.xeBAT: failure " Patchwork
2024-03-29 17:40 ` ✗ Fi.CI.IGT: " Patchwork
2024-04-01 5:17 ` [PATCH i-g-t 0/5] revamp big joiner test Nautiyal, Ankit K
2024-04-01 5:37 ` Joshi, Kunal1
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=20240328144554.1371727-2-kunal1.joshi@intel.com \
--to=kunal1.joshi@intel.com \
--cc=ankit.k.nautiyal@intel.com \
--cc=bhanuprakash.modem@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=karthik.b.s@intel.com \
--cc=stanislav.lisovskiy@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox