[PATCH i-g-t 4/6] tests/intel/kms_joiner_helper: Add lib changes to check joiner is enabled
Jeevan B
jeevan.b at intel.com
Thu Jan 30 17:20:29 UTC 2025
Added a library change where we if joiner is enabled or not.
Signed-off-by: Jeevan B <jeevan.b at intel.com>
---
tests/intel/kms_joiner_helper.c | 38 +++++++++++++++++++++++++++++++++
tests/intel/kms_joiner_helper.h | 2 ++
2 files changed, 40 insertions(+)
diff --git a/tests/intel/kms_joiner_helper.c b/tests/intel/kms_joiner_helper.c
index af89be777..a86099fb7 100644
--- a/tests/intel/kms_joiner_helper.c
+++ b/tests/intel/kms_joiner_helper.c
@@ -3,6 +3,44 @@
#include "igt_kms.h"
#include "intel_chipset.h"
+/**
+ * is_joiner_has
+ * @drmfd: A drm file descriptor
+ *
+ * Returns: True if joiner is enabled, false otherwise.
+ */
+bool is_joiner_has(int drmfd)
+{
+ if (!igt_check_joiner_enabled(drmfd)) {
+ igt_debug("Joiner is NOT Enabled\n");
+ return false;
+ }
+
+ return true;
+}
+
+/**
+ * igt_check_joiner_enabled:
+ * @drmfd: A drm file descriptor
+ *
+ * Returns: True if joiner is enabled, false otherwise.
+ */
+bool igt_check_joiner_enabled(int drmfd)
+{
+ char buf[4096];
+ int dir, res;
+
+ dir = igt_debugfs_dir(drmfd);
+ igt_assert(dir >= 0);
+
+ res = igt_debugfs_simple_read(dir, "i915_display_info",
+ buf, sizeof(buf));
+ close(dir);
+
+ return res > 0 ? (strstr(buf, "pipes as a master") &&
+ strstr(buf, "pipes as a slave")) : 0;
+}
+
/*
* Detect if the output needs 1, 2, or 4 pipes (non-joiner, big joiner, ultra).
* This re-uses your existing logic from:
diff --git a/tests/intel/kms_joiner_helper.h b/tests/intel/kms_joiner_helper.h
index 95e71a229..e38b9f61b 100644
--- a/tests/intel/kms_joiner_helper.h
+++ b/tests/intel/kms_joiner_helper.h
@@ -3,6 +3,8 @@
#include "igt_kms.h"
+bool is_joiner_has(int drmfd);
+bool igt_check_joiner_enabled(int drmfd);
void igt_set_all_master_pipes_for_platform(igt_display_t *display,
uint32_t *master_pipes);
bool igt_assign_pipes_for_outputs(int drm_fd,
--
2.25.1
More information about the igt-dev
mailing list