All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t 0/7] cleanup and fixes for kms_big_joiner
@ 2024-04-19  6:39 Kunal Joshi
  2024-04-19  6:39 ` [PATCH i-g-t 1/7] lib/igt_kms: don't run on unsupported platform Kunal Joshi
                   ` (8 more replies)
  0 siblings, 9 replies; 23+ messages in thread
From: Kunal Joshi @ 2024-04-19  6:39 UTC (permalink / raw)
  To: igt-dev; +Cc: Kunal Joshi

fixes and cleanup for kms_big_joiner test

Kunal Joshi (7):
  lib/igt_kms: don't run on unsupported platform
  tests/intel/kms_big_joiner: fix crash in multi joiner test
  tests/intel/kms_big_joiner: add missing commit after reset
  lib/igt_kms: add support for forcing bigjoiner on particular connector
  tests/intel/kms_big_joiner: use kmstest_force_connector_bigjoiner
  lib/igt_kms: remove unused igt_force_and_check_bigjoiner_status
  HAX: Do not merge

 lib/igt_kms.c                         | 105 +++++++++++++++++++-------
 lib/igt_kms.h                         |   2 +-
 tests/intel-ci/fast-feedback.testlist |   5 +-
 tests/intel/kms_big_joiner.c          |  28 ++++---
 4 files changed, 98 insertions(+), 42 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH i-g-t 1/7] lib/igt_kms: don't run on unsupported platform
  2024-04-19  6:39 [PATCH i-g-t 0/7] cleanup and fixes for kms_big_joiner Kunal Joshi
@ 2024-04-19  6:39 ` Kunal Joshi
  2024-04-19  9:32   ` Modem, Bhanuprakash
  2024-04-19  6:39 ` [PATCH i-g-t 2/7] tests/intel/kms_big_joiner: fix crash in multi joiner test Kunal Joshi
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 23+ messages in thread
From: Kunal Joshi @ 2024-04-19  6:39 UTC (permalink / raw)
  To: igt-dev
  Cc: Kunal Joshi, Ville Syrjälä, Ankit Nautiyal, Bhanuprakash Modem

kmd exposes debugfs for all the platforms, so add
a check in igt

v2: dsc is required for gen12, so test only
for devid 13 and 13+ (Ankit)

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
Suggested-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
 lib/igt_kms.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 3216fe7e4..378c97f88 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -6246,6 +6246,14 @@ bool igt_has_force_joiner_debugfs(int drmfd, igt_output_t *output)
 	char buf[512];
 	int debugfs_fd, ret;
 
+	/*
+	 * bigjoiner is supported on display>= 12 with and only on
+	 * Pipe A for Display 11
+	 * For simplicity avoid Display 11 and 12, check for >= 13
+	 */
+	if (intel_display_ver(intel_get_drm_devid(drmfd)) < 13)
+		return false;
+
 	igt_assert_f(output->name, "Connector name cannot be NULL\n");
 	debugfs_fd = igt_debugfs_connector_dir(drmfd, output->name, O_RDONLY);
 	if (debugfs_fd < 0)
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH i-g-t 2/7] tests/intel/kms_big_joiner: fix crash in multi joiner test
  2024-04-19  6:39 [PATCH i-g-t 0/7] cleanup and fixes for kms_big_joiner Kunal Joshi
  2024-04-19  6:39 ` [PATCH i-g-t 1/7] lib/igt_kms: don't run on unsupported platform Kunal Joshi
@ 2024-04-19  6:39 ` Kunal Joshi
  2024-04-19  9:42   ` Modem, Bhanuprakash
  2024-04-19  6:39 ` [PATCH i-g-t 3/7] tests/intel/kms_big_joiner: add missing commit after reset Kunal Joshi
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 23+ messages in thread
From: Kunal Joshi @ 2024-04-19  6:39 UTC (permalink / raw)
  To: igt-dev
  Cc: Kunal Joshi, Ville Syrjälä, Ankit Nautiyal, Bhanuprakash Modem

Fix test from crashing on out of bound.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
---
 tests/intel/kms_big_joiner.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/tests/intel/kms_big_joiner.c b/tests/intel/kms_big_joiner.c
index 078f76ac1..88923be6b 100644
--- a/tests/intel/kms_big_joiner.c
+++ b/tests/intel/kms_big_joiner.c
@@ -162,7 +162,7 @@ static void test_single_joiner(data_t *data, int output_count, bool force_joiner
 
 static void test_multi_joiner(data_t *data, int output_count, bool force_joiner)
 {
-	int i;
+	int i, cleanup;
 	uint32_t available_pipe_mask;
 	enum pipe pipe, master_pipe;
 	igt_output_t **outputs;
@@ -173,6 +173,7 @@ static void test_multi_joiner(data_t *data, int output_count, bool force_joiner)
 
 	available_pipe_mask = BIT(data->n_pipes) - 1;
 	outputs = force_joiner ? data->non_big_joiner_output : data->big_joiner_output;
+	cleanup = 0;
 
 	igt_display_reset(&data->display);
 	igt_display_commit2(&data->display, COMMIT_ATOMIC);
@@ -183,6 +184,7 @@ static void test_multi_joiner(data_t *data, int output_count, bool force_joiner)
 			master_pipe = setup_pipe(data, output, pipe, available_pipe_mask);
 			if (master_pipe == PIPE_NONE)
 				continue;
+			cleanup++;
 			mode = igt_output_get_mode(output);
 			primary[i] = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
 			igt_create_pattern_fb(data->drm_fd, mode->hdisplay, mode->vdisplay, DRM_FORMAT_XRGB8888,
@@ -195,7 +197,7 @@ static void test_multi_joiner(data_t *data, int output_count, bool force_joiner)
 		}
 	}
 	igt_display_commit2(&data->display, COMMIT_ATOMIC);
-	for (i = 0; i < output_count; i++) {
+	for (i = 0; i < cleanup; i++) {
 		igt_plane_set_fb(primary[i], NULL);
 		igt_remove_fb(data->drm_fd, &fb[i]);
 	}
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH i-g-t 3/7] tests/intel/kms_big_joiner: add missing commit after reset
  2024-04-19  6:39 [PATCH i-g-t 0/7] cleanup and fixes for kms_big_joiner Kunal Joshi
  2024-04-19  6:39 ` [PATCH i-g-t 1/7] lib/igt_kms: don't run on unsupported platform Kunal Joshi
  2024-04-19  6:39 ` [PATCH i-g-t 2/7] tests/intel/kms_big_joiner: fix crash in multi joiner test Kunal Joshi
@ 2024-04-19  6:39 ` Kunal Joshi
  2024-04-19  9:53   ` Modem, Bhanuprakash
  2024-04-19  6:39 ` [PATCH i-g-t 4/7] lib/igt_kms: add support for forcing bigjoiner on particular connector Kunal Joshi
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 23+ messages in thread
From: Kunal Joshi @ 2024-04-19  6:39 UTC (permalink / raw)
  To: igt-dev
  Cc: Kunal Joshi, Ville Syrjälä, Ankit Nautiyal, Bhanuprakash Modem

add missing commit after reset

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
---
 tests/intel/kms_big_joiner.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tests/intel/kms_big_joiner.c b/tests/intel/kms_big_joiner.c
index 88923be6b..f325a9839 100644
--- a/tests/intel/kms_big_joiner.c
+++ b/tests/intel/kms_big_joiner.c
@@ -267,6 +267,7 @@ static void test_joiner_on_last_pipe(data_t *data, bool force_joiner)
 
 	for (i = 0; i < len; i++) {
 		igt_display_reset(&data->display);
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 		output = outputs[i];
 		igt_output_set_pipe(output, data->pipe_seq[data->n_pipes - 1]);
 		mode = igt_output_get_mode(output);
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH i-g-t 4/7] lib/igt_kms: add support for forcing bigjoiner on particular connector
  2024-04-19  6:39 [PATCH i-g-t 0/7] cleanup and fixes for kms_big_joiner Kunal Joshi
                   ` (2 preceding siblings ...)
  2024-04-19  6:39 ` [PATCH i-g-t 3/7] tests/intel/kms_big_joiner: add missing commit after reset Kunal Joshi
@ 2024-04-19  6:39 ` Kunal Joshi
  2024-04-19 10:26   ` Modem, Bhanuprakash
  2024-04-19  6:39 ` [PATCH i-g-t 5/7] tests/intel/kms_big_joiner: use kmstest_force_connector_bigjoiner Kunal Joshi
                   ` (4 subsequent siblings)
  8 siblings, 1 reply; 23+ messages in thread
From: Kunal Joshi @ 2024-04-19  6:39 UTC (permalink / raw)
  To: igt-dev
  Cc: Kunal Joshi, Ville Syrjälä, Ankit Nautiyal, Bhanuprakash Modem

add kmstest_force_connector_bigjoiner function which
force bigjoiner on provided connector as well as resets on exit.

v2: remove redundant function (Bhanu)

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
---
 lib/igt_kms.c | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++
 lib/igt_kms.h |  1 +
 2 files changed, 70 insertions(+)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 378c97f88..324b0527f 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1607,6 +1607,32 @@ static bool connector_attr_set_sysfs(int drm_fd,
 	return true;
 }
 
+static bool connector_attr_set_debugfs(int drm_fd,
+				       drmModeConnector *connector,
+				       const char *attr, const char *value,
+				       const char *reset_value)
+{
+	char name[80];
+	int idx, dir;
+
+	snprintf(name, sizeof(name), "%s-%d",
+		 kmstest_connector_type_str(connector->connector_type),
+		 connector->connector_type_id);
+
+	dir = igt_debugfs_connector_dir(drm_fd, name, O_DIRECTORY);
+	if (dir < 0)
+		return false;
+
+	if (!connector_attr_set(idx, connector, dir,
+				igt_sysfs_set, attr,
+				value, reset_value))
+		return false;
+
+	igt_info("Connector %s/%s is now %s\n", name, attr, value);
+
+	return true;
+}
+
 static void dump_connector_attrs(void)
 {
 	char name[80];
@@ -1690,6 +1716,49 @@ bool kmstest_force_connector(int drm_fd, drmModeConnector *connector,
 	return true;
 }
 
+static bool force_connector_bigjoiner(int drm_fd,
+				      drmModeConnector *connector,
+				      const char *value)
+{
+	return connector_attr_set_debugfs(drm_fd, connector,
+					  "i915_bigjoiner_force_enable",
+					  value, "0");
+}
+
+/**
+ * kmstest_force_connector_bigjoiner:
+ * @fd: drm file descriptor
+ * @connector: connector
+ *
+ * Enable force bigjoiner state on the specified connector
+ * and install exit handler for resetting
+ *
+ * Returns: True on success
+ */
+bool kmstest_force_connector_bigjoiner(int drm_fd, drmModeConnector *connector)
+{
+	const char *value = "1";
+	drmModeConnector *temp;
+
+	if (!is_intel_device(drm_fd))
+		return false;
+
+	if (!force_connector_bigjoiner(drm_fd, connector, value))
+		return false;
+
+	dump_connector_attrs();
+	igt_install_exit_handler(reset_connectors_at_exit);
+
+	/*
+	 * To allow callers to always use GetConnectorCurrent we need to force a
+	 * redetection here.
+	 */
+	temp = drmModeGetConnector(drm_fd, connector->connector_id);
+	drmModeFreeConnector(temp);
+
+	return true;
+}
+
 /**
  * kmstest_force_edid:
  * @drm_fd: drm file descriptor
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 6d13e5851..0abf450c1 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -262,6 +262,7 @@ struct edid;
 
 bool kmstest_force_connector(int fd, drmModeConnector *connector,
 			     enum kmstest_force_connector_state state);
+bool kmstest_force_connector_bigjoiner(int drm_fd, drmModeConnector *connector);
 void kmstest_force_edid(int drm_fd, drmModeConnector *connector,
 			const struct edid *edid);
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH i-g-t 5/7] tests/intel/kms_big_joiner: use kmstest_force_connector_bigjoiner
  2024-04-19  6:39 [PATCH i-g-t 0/7] cleanup and fixes for kms_big_joiner Kunal Joshi
                   ` (3 preceding siblings ...)
  2024-04-19  6:39 ` [PATCH i-g-t 4/7] lib/igt_kms: add support for forcing bigjoiner on particular connector Kunal Joshi
@ 2024-04-19  6:39 ` Kunal Joshi
  2024-04-19  6:40 ` [PATCH i-g-t 6/7] lib/igt_kms: remove unused igt_force_and_check_bigjoiner_status Kunal Joshi
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 23+ messages in thread
From: Kunal Joshi @ 2024-04-19  6:39 UTC (permalink / raw)
  To: igt-dev
  Cc: Kunal Joshi, Ville Syrjälä, Ankit Nautiyal, Bhanuprakash Modem

use kmstest_force_connector_bigjoiner instead of
kmstest_force_connector_bigjoiner

v2: use igt_reset_connectors (Bhanu)

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
---
 tests/intel/kms_big_joiner.c | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/tests/intel/kms_big_joiner.c b/tests/intel/kms_big_joiner.c
index f325a9839..4979cac06 100644
--- a/tests/intel/kms_big_joiner.c
+++ b/tests/intel/kms_big_joiner.c
@@ -87,7 +87,7 @@ static void set_all_master_pipes_for_platform(data_t *data)
 	}
 }
 
-static void toggle_force_joiner_on_all_non_big_joiner_outputs(data_t *data, bool toggle)
+static void enable_force_joiner_on_all_non_big_joiner_outputs(data_t *data)
 {
 	bool status;
 	igt_output_t *output;
@@ -95,7 +95,7 @@ static void toggle_force_joiner_on_all_non_big_joiner_outputs(data_t *data, bool
 
 	for (i = 0; i < data->non_big_joiner_output_count; i++) {
 		output = data->non_big_joiner_output[i];
-		status = igt_force_and_check_bigjoiner_status(data->drm_fd, output->name, toggle);
+		status = kmstest_force_connector_bigjoiner(data->drm_fd, output->config.connector);
 		igt_assert_f(status, "Failed to toggle force joiner\n");
 	}
 }
@@ -383,15 +383,15 @@ igt_main
 		igt_require_f(data.n_pipes > 1,
 			      "Minimum 2 pipes required\n");
 		igt_dynamic_f("single") {
-			toggle_force_joiner_on_all_non_big_joiner_outputs(&data, true);
+			enable_force_joiner_on_all_non_big_joiner_outputs(&data);
 			test_single_joiner(&data, data.non_big_joiner_output_count, true);
-			toggle_force_joiner_on_all_non_big_joiner_outputs(&data, false);
+			igt_reset_connectors();
 		}
 		if (data.non_big_joiner_output_count > 1) {
 			igt_dynamic_f("multi") {
-				toggle_force_joiner_on_all_non_big_joiner_outputs(&data, true);
+				enable_force_joiner_on_all_non_big_joiner_outputs(&data);
 				test_multi_joiner(&data, data.non_big_joiner_output_count, true);
-				toggle_force_joiner_on_all_non_big_joiner_outputs(&data, false);
+				igt_reset_connectors();
 			}
 		}
 	}
@@ -405,16 +405,16 @@ igt_main
 			      "Minimum of 2 pipes are required\n");
 		if (data.non_big_joiner_output_count >= 1) {
 			igt_dynamic_f("big_joiner_on_last_pipe") {
-				toggle_force_joiner_on_all_non_big_joiner_outputs(&data, true);
+				enable_force_joiner_on_all_non_big_joiner_outputs(&data);
 				test_joiner_on_last_pipe(&data, true);
-				toggle_force_joiner_on_all_non_big_joiner_outputs(&data, false);
+				igt_reset_connectors();
 			}
 		}
 		if (data.non_big_joiner_output_count > 1) {
 			igt_dynamic_f("invalid_combinations") {
-				toggle_force_joiner_on_all_non_big_joiner_outputs(&data, true);
+				enable_force_joiner_on_all_non_big_joiner_outputs(&data);
 				test_invalid_modeset_two_joiner(&data, false, true);
-				toggle_force_joiner_on_all_non_big_joiner_outputs(&data, false);
+				igt_reset_connectors();
 			}
 		}
 	}
@@ -422,5 +422,6 @@ igt_main
 	igt_fixture {
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
+		igt_reset_connectors();
 	}
 }
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH i-g-t 6/7] lib/igt_kms: remove unused igt_force_and_check_bigjoiner_status
  2024-04-19  6:39 [PATCH i-g-t 0/7] cleanup and fixes for kms_big_joiner Kunal Joshi
                   ` (4 preceding siblings ...)
  2024-04-19  6:39 ` [PATCH i-g-t 5/7] tests/intel/kms_big_joiner: use kmstest_force_connector_bigjoiner Kunal Joshi
@ 2024-04-19  6:40 ` Kunal Joshi
  2024-04-19 10:32   ` Modem, Bhanuprakash
  2024-04-19  6:40 ` [PATCH i-g-t 7/7] HAX: Do not merge Kunal Joshi
                   ` (2 subsequent siblings)
  8 siblings, 1 reply; 23+ messages in thread
From: Kunal Joshi @ 2024-04-19  6:40 UTC (permalink / raw)
  To: igt-dev
  Cc: Kunal Joshi, Ville Syrjälä, Ankit Nautiyal, Bhanuprakash Modem

remove unused igt_force_and_check_bigjoiner_status

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
---
 lib/igt_kms.c | 28 ----------------------------
 lib/igt_kms.h |  1 -
 2 files changed, 29 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 324b0527f..35e2a0bb0 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -6332,34 +6332,6 @@ bool igt_has_force_joiner_debugfs(int drmfd, igt_output_t *output)
 	return ret >= 0;
 }
 
-/**
- * Forces the enable/disable state of big joiner for a specific connector.
- *
- * @drmfd The file descriptor of the DRM device.
- * @connector_name The name of the connector.
- * @enable The desired state of big joiner (true for enable, false for disable).
- * Returns:
- *  true if writing the debugfs was successful
- *  and the state was set as requested, false otherwise.
- */
-bool igt_force_and_check_bigjoiner_status(int drmfd, char *connector_name, bool enable)
-{
-	int debugfs_fd, ret;
-	char buf[512];
-
-	igt_assert_f(connector_name, "Connector name cannot be NULL\n");
-	debugfs_fd = igt_debugfs_connector_dir(drmfd, connector_name, O_DIRECTORY);
-	igt_assert_f(debugfs_fd >= 0, "Could not open debugfs for connector %s\n", connector_name);
-	ret = igt_sysfs_write(debugfs_fd, "i915_bigjoiner_force_enable", enable ? "1" : "0", 1);
-	igt_assert_f(ret > 0, "Could not write i915_bigjoiner_force_enable for connector %s\n", connector_name);
-	ret = igt_debugfs_simple_read(debugfs_fd, "i915_bigjoiner_force_enable", buf, sizeof(buf));
-	close(debugfs_fd);
-	igt_assert_f(ret > 0, "Could not read i915_bigjoiner_force_enable for connector %s\n", connector_name);
-
-	return enable ? strstr(buf, "Y") :
-			strstr(buf, "N");
-}
-
 /**
  * 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 0abf450c1..01604dac9 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -1216,7 +1216,6 @@ 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_has_force_joiner_debugfs(int drmfd, igt_output_t *output);
-bool igt_force_and_check_bigjoiner_status(int drmfd, char *connector_name, bool enable);
 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);
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH i-g-t 7/7] HAX: Do not merge
  2024-04-19  6:39 [PATCH i-g-t 0/7] cleanup and fixes for kms_big_joiner Kunal Joshi
                   ` (5 preceding siblings ...)
  2024-04-19  6:40 ` [PATCH i-g-t 6/7] lib/igt_kms: remove unused igt_force_and_check_bigjoiner_status Kunal Joshi
@ 2024-04-19  6:40 ` Kunal Joshi
  2024-04-19  7:13 ` ✗ Fi.CI.BAT: failure for cleanup and fixes for kms_big_joiner (rev3) Patchwork
  2024-04-19  7:17 ` ✓ CI.xeBAT: success " Patchwork
  8 siblings, 0 replies; 23+ messages in thread
From: Kunal Joshi @ 2024-04-19  6:40 UTC (permalink / raw)
  To: igt-dev; +Cc: Kunal Joshi

Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
---
 tests/intel-ci/fast-feedback.testlist | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index be0965110..0fc41236f 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -1,6 +1,9 @@
 # Try to load the driver if it's not available yet.
 igt@i915_module_load@load
-
+igt@kms_big_joiner@basic
+igt@kms_big_joiner@invalid-modeset
+igt@kms_big_joiner@basic-force-joiner
+igt@kms_big_joiner@invalid-modeset-force-joiner
 # Keep alphabetically sorted by default
 igt@core_auth@basic-auth
 igt@debugfs_test@read_all_entries
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* ✗ Fi.CI.BAT: failure for cleanup and fixes for kms_big_joiner (rev3)
  2024-04-19  6:39 [PATCH i-g-t 0/7] cleanup and fixes for kms_big_joiner Kunal Joshi
                   ` (6 preceding siblings ...)
  2024-04-19  6:40 ` [PATCH i-g-t 7/7] HAX: Do not merge Kunal Joshi
@ 2024-04-19  7:13 ` Patchwork
  2024-04-19  7:17 ` ✓ CI.xeBAT: success " Patchwork
  8 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2024-04-19  7:13 UTC (permalink / raw)
  To: Kunal Joshi; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 18876 bytes --]

== Series Details ==

Series: cleanup and fixes for kms_big_joiner (rev3)
URL   : https://patchwork.freedesktop.org/series/132554/
State : failure

== Summary ==

CI Bug Log - changes from IGT_7814 -> IGTPW_11043
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_11043 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_11043, please notify your bug team (&quot;I915-ci-infra@lists.freedesktop.org&quot;) to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/index.html

Participating hosts (35 -> 35)
------------------------------

  Additional (3): bat-kbl-2 bat-dg1-7 bat-dg2-11 
  Missing    (3): fi-cfl-8109u fi-elk-e7500 bat-arls-3 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_11043:

### IGT changes ###

#### Possible regressions ####

  * igt@kms_big_joiner@basic-force-joiner:
    - bat-jsl-3:          NOTRUN -> [SKIP][1] +1 other test skip
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-jsl-3/igt@kms_big_joiner@basic-force-joiner.html
    - bat-adls-6:         NOTRUN -> [SKIP][2] +1 other test skip
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-adls-6/igt@kms_big_joiner@basic-force-joiner.html

  * igt@kms_busy@basic@flip:
    - bat-adls-6:         [PASS][3] -> [ABORT][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7814/bat-adls-6/igt@kms_busy@basic@flip.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-adls-6/igt@kms_busy@basic@flip.html

  * igt@kms_busy@basic@modeset:
    - fi-ilk-650:         [PASS][5] -> [INCOMPLETE][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7814/fi-ilk-650/igt@kms_busy@basic@modeset.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/fi-ilk-650/igt@kms_busy@basic@modeset.html

  * igt@kms_flip@basic-flip-vs-dpms@b-dp1:
    - fi-kbl-7567u:       NOTRUN -> [INCOMPLETE][7]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/fi-kbl-7567u/igt@kms_flip@basic-flip-vs-dpms@b-dp1.html

  * igt@kms_flip@basic-flip-vs-dpms@d-hdmi-a1:
    - fi-tgl-1115g4:      [PASS][8] -> [INCOMPLETE][9]
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7814/fi-tgl-1115g4/igt@kms_flip@basic-flip-vs-dpms@d-hdmi-a1.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/fi-tgl-1115g4/igt@kms_flip@basic-flip-vs-dpms@d-hdmi-a1.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@kms_busy@basic@modeset:
    - {bat-mtlp-9}:       [PASS][10] -> [DMESG-WARN][11]
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7814/bat-mtlp-9/igt@kms_busy@basic@modeset.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-mtlp-9/igt@kms_busy@basic@modeset.html

  
Known issues
------------

  Here are the changes found in IGTPW_11043 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@debugfs_test@basic-hwmon:
    - fi-rkl-11600:       NOTRUN -> [SKIP][12] ([i915#9318])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/fi-rkl-11600/igt@debugfs_test@basic-hwmon.html
    - bat-adlm-1:         NOTRUN -> [SKIP][13] ([i915#3826])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-adlm-1/igt@debugfs_test@basic-hwmon.html

  * igt@fbdev@eof:
    - fi-rkl-11600:       NOTRUN -> [SKIP][14] ([i915#2582]) +3 other tests skip
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/fi-rkl-11600/igt@fbdev@eof.html
    - bat-adlm-1:         NOTRUN -> [SKIP][15] ([i915#2582]) +3 other tests skip
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-adlm-1/igt@fbdev@eof.html

  * igt@fbdev@info:
    - fi-rkl-11600:       NOTRUN -> [SKIP][16] ([i915#1849] / [i915#2582])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/fi-rkl-11600/igt@fbdev@info.html
    - bat-adlm-1:         NOTRUN -> [SKIP][17] ([i915#1849] / [i915#2582])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-adlm-1/igt@fbdev@info.html

  * igt@gem_mmap@basic:
    - bat-dg1-7:          NOTRUN -> [SKIP][18] ([i915#4083])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-dg1-7/igt@gem_mmap@basic.html
    - bat-dg2-11:         NOTRUN -> [SKIP][19] ([i915#4083])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-dg2-11/igt@gem_mmap@basic.html

  * igt@gem_tiled_fence_blits@basic:
    - bat-dg1-7:          NOTRUN -> [SKIP][20] ([i915#4077]) +2 other tests skip
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-dg1-7/igt@gem_tiled_fence_blits@basic.html
    - bat-dg2-11:         NOTRUN -> [SKIP][21] ([i915#4077]) +2 other tests skip
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-dg2-11/igt@gem_tiled_fence_blits@basic.html

  * igt@gem_tiled_pread_basic:
    - bat-dg1-7:          NOTRUN -> [SKIP][22] ([i915#4079]) +1 other test skip
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-dg1-7/igt@gem_tiled_pread_basic.html
    - bat-dg2-11:         NOTRUN -> [SKIP][23] ([i915#4079]) +1 other test skip
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-dg2-11/igt@gem_tiled_pread_basic.html

  * igt@i915_module_load@load:
    - bat-kbl-2:          NOTRUN -> [INCOMPLETE][24] ([i915#10877])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-kbl-2/igt@i915_module_load@load.html

  * igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy:
    - bat-dg1-7:          NOTRUN -> [SKIP][25] ([i915#4212]) +7 other tests skip
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-dg1-7/igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy.html
    - bat-dg2-11:         NOTRUN -> [SKIP][26] ([i915#4212]) +7 other tests skip
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-dg2-11/igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy.html

  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
    - bat-dg2-11:         NOTRUN -> [SKIP][27] ([i915#5190])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-dg2-11/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html

  * igt@kms_addfb_basic@basic-y-tiled-legacy:
    - bat-dg1-7:          NOTRUN -> [SKIP][28] ([i915#4215])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-dg1-7/igt@kms_addfb_basic@basic-y-tiled-legacy.html
    - bat-dg2-11:         NOTRUN -> [SKIP][29] ([i915#4215] / [i915#5190])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-dg2-11/igt@kms_addfb_basic@basic-y-tiled-legacy.html

  * igt@kms_big_joiner@basic:
    - fi-apl-guc:         NOTRUN -> [SKIP][30] +3 other tests skip
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/fi-apl-guc/igt@kms_big_joiner@basic.html
    - fi-pnv-d510:        NOTRUN -> [SKIP][31] +3 other tests skip
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/fi-pnv-d510/igt@kms_big_joiner@basic.html
    - bat-dg1-7:          NOTRUN -> [SKIP][32] ([i915#10656]) +3 other tests skip
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-dg1-7/igt@kms_big_joiner@basic.html
    - bat-adlp-9:         NOTRUN -> [SKIP][33] ([i915#10656]) +1 other test skip
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-adlp-9/igt@kms_big_joiner@basic.html
    - bat-dg2-11:         NOTRUN -> [SKIP][34] ([i915#10656]) +3 other tests skip
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-dg2-11/igt@kms_big_joiner@basic.html
    - fi-cfl-8700k:       NOTRUN -> [SKIP][35] +3 other tests skip
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/fi-cfl-8700k/igt@kms_big_joiner@basic.html
    - bat-dg2-14:         NOTRUN -> [SKIP][36] ([i915#10656]) +3 other tests skip
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-dg2-14/igt@kms_big_joiner@basic.html
    - fi-bsw-nick:        NOTRUN -> [SKIP][37] +3 other tests skip
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/fi-bsw-nick/igt@kms_big_joiner@basic.html
    - bat-rplp-1:         NOTRUN -> [SKIP][38] ([i915#10656]) +1 other test skip
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-rplp-1/igt@kms_big_joiner@basic.html
    - fi-rkl-11600:       NOTRUN -> [SKIP][39] ([i915#10656]) +3 other tests skip
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/fi-rkl-11600/igt@kms_big_joiner@basic.html

  * igt@kms_big_joiner@invalid-modeset:
    - fi-cfl-guc:         NOTRUN -> [SKIP][40] +3 other tests skip
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/fi-cfl-guc/igt@kms_big_joiner@invalid-modeset.html
    - bat-jsl-3:          NOTRUN -> [SKIP][41] ([i915#10656]) +1 other test skip
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-jsl-3/igt@kms_big_joiner@invalid-modeset.html
    - bat-dg2-9:          NOTRUN -> [SKIP][42] ([i915#10656]) +3 other tests skip
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-dg2-9/igt@kms_big_joiner@invalid-modeset.html
    - bat-adlp-11:        NOTRUN -> [SKIP][43] ([i915#10656]) +3 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-adlp-11/igt@kms_big_joiner@invalid-modeset.html
    - bat-arls-2:         NOTRUN -> [SKIP][44] ([i915#10656]) +1 other test skip
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-arls-2/igt@kms_big_joiner@invalid-modeset.html
    - bat-adln-1:         NOTRUN -> [SKIP][45] ([i915#10656]) +1 other test skip
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-adln-1/igt@kms_big_joiner@invalid-modeset.html
    - fi-ivb-3770:        NOTRUN -> [SKIP][46] +3 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/fi-ivb-3770/igt@kms_big_joiner@invalid-modeset.html
    - bat-mtlp-8:         NOTRUN -> [SKIP][47] ([i915#10656]) +1 other test skip
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-mtlp-8/igt@kms_big_joiner@invalid-modeset.html
    - bat-adls-6:         NOTRUN -> [SKIP][48] ([i915#10656]) +1 other test skip
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-adls-6/igt@kms_big_joiner@invalid-modeset.html
    - bat-adlm-1:         NOTRUN -> [SKIP][49] ([i915#10656]) +3 other tests skip
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-adlm-1/igt@kms_big_joiner@invalid-modeset.html
    - fi-ilk-650:         NOTRUN -> [SKIP][50] +3 other tests skip
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/fi-ilk-650/igt@kms_big_joiner@invalid-modeset.html
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][51] ([i915#10656]) +3 other tests skip
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/fi-tgl-1115g4/igt@kms_big_joiner@invalid-modeset.html
    - bat-arls-1:         NOTRUN -> [SKIP][52] ([i915#10656]) +3 other tests skip
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-arls-1/igt@kms_big_joiner@invalid-modeset.html
    - fi-blb-e6850:       NOTRUN -> [SKIP][53] +3 other tests skip
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/fi-blb-e6850/igt@kms_big_joiner@invalid-modeset.html
    - fi-bsw-n3050:       NOTRUN -> [SKIP][54] +3 other tests skip
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/fi-bsw-n3050/igt@kms_big_joiner@invalid-modeset.html
    - bat-adlp-6:         NOTRUN -> [SKIP][55] ([i915#10656]) +1 other test skip
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-adlp-6/igt@kms_big_joiner@invalid-modeset.html

  * igt@kms_busy@basic@modeset:
    - bat-dg1-7:          NOTRUN -> [ABORT][56] ([i915#10875])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-dg1-7/igt@kms_busy@basic@modeset.html
    - bat-dg2-11:         NOTRUN -> [ABORT][57] ([i915#10875])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-dg2-11/igt@kms_busy@basic@modeset.html
    - bat-adls-6:         [PASS][58] -> [DMESG-WARN][59] ([i915#10875])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7814/bat-adls-6/igt@kms_busy@basic@modeset.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-adls-6/igt@kms_busy@basic@modeset.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
    - bat-adln-1:         NOTRUN -> [SKIP][60] ([i915#4213]) +1 other test skip
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-adln-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - bat-rplp-1:         NOTRUN -> [SKIP][61] ([i915#4103] / [i915#4213]) +1 other test skip
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-rplp-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_cursor_legacy@basic-flip-after-cursor-atomic:
    - bat-adln-1:         NOTRUN -> [DMESG-WARN][62] ([i915#10875])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-adln-1/igt@kms_cursor_legacy@basic-flip-after-cursor-atomic.html
    - bat-rplp-1:         NOTRUN -> [DMESG-WARN][63] ([i915#10875])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-rplp-1/igt@kms_cursor_legacy@basic-flip-after-cursor-atomic.html

  * igt@kms_dsc@dsc-basic:
    - fi-kbl-7567u:       NOTRUN -> [SKIP][64] +6 other tests skip
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/fi-kbl-7567u/igt@kms_dsc@dsc-basic.html

  * igt@kms_flip@basic-flip-vs-dpms@b-edp1:
    - bat-jsl-3:          [PASS][65] -> [INCOMPLETE][66] ([i915#10876])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7814/bat-jsl-3/igt@kms_flip@basic-flip-vs-dpms@b-edp1.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-jsl-3/igt@kms_flip@basic-flip-vs-dpms@b-edp1.html

  
#### Possible fixes ####

  * igt@gem_close_race@basic-process:
    - bat-dg2-9:          [DMESG-WARN][67] ([i915#10875]) -> [PASS][68]
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7814/bat-dg2-9/igt@gem_close_race@basic-process.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-dg2-9/igt@gem_close_race@basic-process.html

  * igt@i915_module_load@load:
    - fi-rkl-11600:       [INCOMPLETE][69] -> [PASS][70]
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7814/fi-rkl-11600/igt@i915_module_load@load.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/fi-rkl-11600/igt@i915_module_load@load.html
    - bat-dg2-13:         [INCOMPLETE][71] -> [PASS][72]
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7814/bat-dg2-13/igt@i915_module_load@load.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-dg2-13/igt@i915_module_load@load.html
    - bat-adlm-1:         [INCOMPLETE][73] ([i915#10875]) -> [PASS][74]
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7814/bat-adlm-1/igt@i915_module_load@load.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-adlm-1/igt@i915_module_load@load.html

  * igt@kms_busy@basic@flip:
    - fi-bsw-nick:        [INCOMPLETE][75] -> [PASS][76]
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7814/fi-bsw-nick/igt@kms_busy@basic@flip.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/fi-bsw-nick/igt@kms_busy@basic@flip.html

  * igt@kms_busy@basic@modeset:
    - fi-kbl-7567u:       [INCOMPLETE][77] ([i915#10056] / [i915#10875]) -> [PASS][78]
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7814/fi-kbl-7567u/igt@kms_busy@basic@modeset.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/fi-kbl-7567u/igt@kms_busy@basic@modeset.html
    - bat-adln-1:         [DMESG-WARN][79] ([i915#10875]) -> [PASS][80]
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7814/bat-adln-1/igt@kms_busy@basic@modeset.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-adln-1/igt@kms_busy@basic@modeset.html

  * igt@kms_cursor_legacy@basic-flip-after-cursor-atomic:
    - {bat-arls-4}:       [ABORT][81] ([i915#10875]) -> [PASS][82]
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7814/bat-arls-4/igt@kms_cursor_legacy@basic-flip-after-cursor-atomic.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-arls-4/igt@kms_cursor_legacy@basic-flip-after-cursor-atomic.html

  * igt@kms_flip@basic-flip-vs-dpms@b-dp1:
    - fi-apl-guc:         [INCOMPLETE][83] -> [PASS][84]
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7814/fi-apl-guc/igt@kms_flip@basic-flip-vs-dpms@b-dp1.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/fi-apl-guc/igt@kms_flip@basic-flip-vs-dpms@b-dp1.html

  
#### Warnings ####

  * igt@kms_busy@basic@modeset:
    - bat-dg2-14:         [INCOMPLETE][85] ([i915#10056]) -> [DMESG-WARN][86] ([i915#10875])
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7814/bat-dg2-14/igt@kms_busy@basic@modeset.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/bat-dg2-14/igt@kms_busy@basic@modeset.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [i915#10056]: https://gitlab.freedesktop.org/drm/intel/issues/10056
  [i915#10656]: https://gitlab.freedesktop.org/drm/intel/issues/10656
  [i915#10875]: https://gitlab.freedesktop.org/drm/intel/issues/10875
  [i915#10876]: https://gitlab.freedesktop.org/drm/intel/issues/10876
  [i915#10877]: https://gitlab.freedesktop.org/drm/intel/issues/10877
  [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#3826]: https://gitlab.freedesktop.org/drm/intel/issues/3826
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
  [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
  [i915#9318]: https://gitlab.freedesktop.org/drm/intel/issues/9318


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_7814 -> IGTPW_11043

  CI-20190529: 20190529
  CI_DRM_14609: 1f816172a689b95011a1c1cfe952ac6ec32d3ca3 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_11043: 1b08c420cb17ebe1fb0f775d3e93ddd2ca008d0e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_7814: 7814

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11043/index.html

[-- Attachment #2: Type: text/html, Size: 23024 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* ✓ CI.xeBAT: success for cleanup and fixes for kms_big_joiner (rev3)
  2024-04-19  6:39 [PATCH i-g-t 0/7] cleanup and fixes for kms_big_joiner Kunal Joshi
                   ` (7 preceding siblings ...)
  2024-04-19  7:13 ` ✗ Fi.CI.BAT: failure for cleanup and fixes for kms_big_joiner (rev3) Patchwork
@ 2024-04-19  7:17 ` Patchwork
  8 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2024-04-19  7:17 UTC (permalink / raw)
  To: Kunal Joshi; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 1748 bytes --]

== Series Details ==

Series: cleanup and fixes for kms_big_joiner (rev3)
URL   : https://patchwork.freedesktop.org/series/132554/
State : success

== Summary ==

CI Bug Log - changes from XEIGT_7814_BAT -> XEIGTPW_11043_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (5 -> 5)
------------------------------

  No changes in participating hosts

Known issues
------------

  Here are the changes found in XEIGTPW_11043_BAT that come from known issues:

### IGT changes ###

#### Possible fixes ####

  * igt@xe_evict@evict-beng-mixed-threads-small-multi-vm:
    - bat-dg2-oem2:       [TIMEOUT][1] ([Intel XE#1259] / [Intel XE#1473]) -> [PASS][2]
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7814/bat-dg2-oem2/igt@xe_evict@evict-beng-mixed-threads-small-multi-vm.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11043/bat-dg2-oem2/igt@xe_evict@evict-beng-mixed-threads-small-multi-vm.html

  
  [Intel XE#1259]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1259
  [Intel XE#1473]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1473


Build changes
-------------

  * IGT: IGT_7814 -> IGTPW_11043
  * Linux: xe-1120-915273abf8b69731107af5c86fc8c6014d2b4f21 -> xe-1121-1f816172a689b95011a1c1cfe952ac6ec32d3ca3

  IGTPW_11043: 1b08c420cb17ebe1fb0f775d3e93ddd2ca008d0e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_7814: 7814
  xe-1120-915273abf8b69731107af5c86fc8c6014d2b4f21: 915273abf8b69731107af5c86fc8c6014d2b4f21
  xe-1121-1f816172a689b95011a1c1cfe952ac6ec32d3ca3: 1f816172a689b95011a1c1cfe952ac6ec32d3ca3

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11043/index.html

[-- Attachment #2: Type: text/html, Size: 2317 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH i-g-t 1/7] lib/igt_kms: don't run on unsupported platform
  2024-04-19  6:39 ` [PATCH i-g-t 1/7] lib/igt_kms: don't run on unsupported platform Kunal Joshi
@ 2024-04-19  9:32   ` Modem, Bhanuprakash
  2024-04-19 11:31     ` Joshi, Kunal1
  0 siblings, 1 reply; 23+ messages in thread
From: Modem, Bhanuprakash @ 2024-04-19  9:32 UTC (permalink / raw)
  To: Kunal Joshi, igt-dev; +Cc: Ville Syrjälä, Ankit Nautiyal


On 19-04-2024 12:09 pm, Kunal Joshi wrote:
> kmd exposes debugfs for all the platforms, so add

This is not correct, KMD exposes the debugfs if display ver >= 11 and 
the connector type is eDP or DP [*].

[*]: 
https://cgit.freedesktop.org/drm/drm-tip/tree/drivers/gpu/drm/i915/display/intel_display_debugfs.c#n1542 


> a check in igt
> 
> v2: dsc is required for gen12, so test only
> for devid 13 and 13+ (Ankit)
> 
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
> Suggested-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> ---
>   lib/igt_kms.c | 8 ++++++++
>   1 file changed, 8 insertions(+)
> 
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 3216fe7e4..378c97f88 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -6246,6 +6246,14 @@ bool igt_has_force_joiner_debugfs(int drmfd, igt_output_t *output)
>   	char buf[512];
>   	int debugfs_fd, ret;
>   
> +	/*
> +	 * bigjoiner is supported on display>= 12 with and only on
-----------^
Nit: Use capital letter

Incomplete sentence: With what?

s/and/or/

- Bhanu

> +	 * Pipe A for Display 11
> +	 * For simplicity avoid Display 11 and 12, check for >= 13
> +	 */
> +	if (intel_display_ver(intel_get_drm_devid(drmfd)) < 13)
> +		return false;
> +
>   	igt_assert_f(output->name, "Connector name cannot be NULL\n");
>   	debugfs_fd = igt_debugfs_connector_dir(drmfd, output->name, O_RDONLY);
>   	if (debugfs_fd < 0)

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH i-g-t 2/7] tests/intel/kms_big_joiner: fix crash in multi joiner test
  2024-04-19  6:39 ` [PATCH i-g-t 2/7] tests/intel/kms_big_joiner: fix crash in multi joiner test Kunal Joshi
@ 2024-04-19  9:42   ` Modem, Bhanuprakash
  0 siblings, 0 replies; 23+ messages in thread
From: Modem, Bhanuprakash @ 2024-04-19  9:42 UTC (permalink / raw)
  To: Kunal Joshi, igt-dev; +Cc: Ville Syrjälä, Ankit Nautiyal


On 19-04-2024 12:09 pm, Kunal Joshi wrote:
> Fix test from crashing on out of bound.
> 
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>

Reviewed-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>

> ---
>   tests/intel/kms_big_joiner.c | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/intel/kms_big_joiner.c b/tests/intel/kms_big_joiner.c
> index 078f76ac1..88923be6b 100644
> --- a/tests/intel/kms_big_joiner.c
> +++ b/tests/intel/kms_big_joiner.c
> @@ -162,7 +162,7 @@ static void test_single_joiner(data_t *data, int output_count, bool force_joiner
>   
>   static void test_multi_joiner(data_t *data, int output_count, bool force_joiner)
>   {
> -	int i;
> +	int i, cleanup;
>   	uint32_t available_pipe_mask;
>   	enum pipe pipe, master_pipe;
>   	igt_output_t **outputs;
> @@ -173,6 +173,7 @@ static void test_multi_joiner(data_t *data, int output_count, bool force_joiner)
>   
>   	available_pipe_mask = BIT(data->n_pipes) - 1;
>   	outputs = force_joiner ? data->non_big_joiner_output : data->big_joiner_output;
> +	cleanup = 0;
>   
>   	igt_display_reset(&data->display);
>   	igt_display_commit2(&data->display, COMMIT_ATOMIC);
> @@ -183,6 +184,7 @@ static void test_multi_joiner(data_t *data, int output_count, bool force_joiner)
>   			master_pipe = setup_pipe(data, output, pipe, available_pipe_mask);
>   			if (master_pipe == PIPE_NONE)
>   				continue;
> +			cleanup++;
>   			mode = igt_output_get_mode(output);
>   			primary[i] = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
>   			igt_create_pattern_fb(data->drm_fd, mode->hdisplay, mode->vdisplay, DRM_FORMAT_XRGB8888,
> @@ -195,7 +197,7 @@ static void test_multi_joiner(data_t *data, int output_count, bool force_joiner)
>   		}
>   	}
>   	igt_display_commit2(&data->display, COMMIT_ATOMIC);
> -	for (i = 0; i < output_count; i++) {
> +	for (i = 0; i < cleanup; i++) {
>   		igt_plane_set_fb(primary[i], NULL);
>   		igt_remove_fb(data->drm_fd, &fb[i]);
>   	}

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH i-g-t 3/7] tests/intel/kms_big_joiner: add missing commit after reset
  2024-04-19  6:39 ` [PATCH i-g-t 3/7] tests/intel/kms_big_joiner: add missing commit after reset Kunal Joshi
@ 2024-04-19  9:53   ` Modem, Bhanuprakash
  2024-04-19 10:09     ` Joshi, Kunal1
  0 siblings, 1 reply; 23+ messages in thread
From: Modem, Bhanuprakash @ 2024-04-19  9:53 UTC (permalink / raw)
  To: Kunal Joshi, igt-dev; +Cc: Ville Syrjälä, Ankit Nautiyal


On 19-04-2024 12:09 pm, Kunal Joshi wrote:
> add missing commit after reset
> 
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
> ---
>   tests/intel/kms_big_joiner.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/tests/intel/kms_big_joiner.c b/tests/intel/kms_big_joiner.c
> index 88923be6b..f325a9839 100644
> --- a/tests/intel/kms_big_joiner.c
> +++ b/tests/intel/kms_big_joiner.c
> @@ -267,6 +267,7 @@ static void test_joiner_on_last_pipe(data_t *data, bool force_joiner)
>   
>   	for (i = 0; i < len; i++) {
>   		igt_display_reset(&data->display);
> +		igt_display_commit2(&data->display, COMMIT_ATOMIC);

Do we really need this commit?

>   		output = outputs[i];
>   		igt_output_set_pipe(output, data->pipe_seq[data->n_pipes - 1]);
>   		mode = igt_output_get_mode(output);

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH i-g-t 3/7] tests/intel/kms_big_joiner: add missing commit after reset
  2024-04-19  9:53   ` Modem, Bhanuprakash
@ 2024-04-19 10:09     ` Joshi, Kunal1
  2024-04-19 10:51       ` Modem, Bhanuprakash
  0 siblings, 1 reply; 23+ messages in thread
From: Joshi, Kunal1 @ 2024-04-19 10:09 UTC (permalink / raw)
  To: Modem, Bhanuprakash, igt-dev; +Cc: Ville Syrjälä, Ankit Nautiyal


On 4/19/2024 3:23 PM, Modem, Bhanuprakash wrote:
>
> On 19-04-2024 12:09 pm, Kunal Joshi wrote:
>> add missing commit after reset
>>
>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>> Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
>> Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
>> ---
>>   tests/intel/kms_big_joiner.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/tests/intel/kms_big_joiner.c b/tests/intel/kms_big_joiner.c
>> index 88923be6b..f325a9839 100644
>> --- a/tests/intel/kms_big_joiner.c
>> +++ b/tests/intel/kms_big_joiner.c
>> @@ -267,6 +267,7 @@ static void test_joiner_on_last_pipe(data_t 
>> *data, bool force_joiner)
>>         for (i = 0; i < len; i++) {
>>           igt_display_reset(&data->display);
>> +        igt_display_commit2(&data->display, COMMIT_ATOMIC);
>
> Do we really need this commit?

Hello Bhanu,

Yes we need this commit as below reason
if output is already assigned to pipe D, then forcing big joiner is not 
having any affect.


Thanks and Regards
Kunal Joshi

>
>>           output = outputs[i];
>>           igt_output_set_pipe(output, data->pipe_seq[data->n_pipes - 
>> 1]);
>>           mode = igt_output_get_mode(output);

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH i-g-t 4/7] lib/igt_kms: add support for forcing bigjoiner on particular connector
  2024-04-19  6:39 ` [PATCH i-g-t 4/7] lib/igt_kms: add support for forcing bigjoiner on particular connector Kunal Joshi
@ 2024-04-19 10:26   ` Modem, Bhanuprakash
  2024-04-19 11:34     ` Joshi, Kunal1
  0 siblings, 1 reply; 23+ messages in thread
From: Modem, Bhanuprakash @ 2024-04-19 10:26 UTC (permalink / raw)
  To: Kunal Joshi, igt-dev; +Cc: Ville Syrjälä, Ankit Nautiyal


On 19-04-2024 12:09 pm, Kunal Joshi wrote:
> add kmstest_force_connector_bigjoiner function which
> force bigjoiner on provided connector as well as resets on exit.
> 
> v2: remove redundant function (Bhanu)
> 
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
> ---
>   lib/igt_kms.c | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++
>   lib/igt_kms.h |  1 +
>   2 files changed, 70 insertions(+)
> 
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 378c97f88..324b0527f 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -1607,6 +1607,32 @@ static bool connector_attr_set_sysfs(int drm_fd,
>   	return true;
>   }
>   
> +static bool connector_attr_set_debugfs(int drm_fd,

How connector_attr_set_debugfs() is different than 
connector_attr_set_sysfs()?

> +				       drmModeConnector *connector,
> +				       const char *attr, const char *value,
> +				       const char *reset_value)
> +{
> +	char name[80];
> +	int idx, dir;
> +
> +	snprintf(name, sizeof(name), "%s-%d",
> +		 kmstest_connector_type_str(connector->connector_type),
> +		 connector->connector_type_id);
> +
> +	dir = igt_debugfs_connector_dir(drm_fd, name, O_DIRECTORY);
> +	if (dir < 0)
> +		return false;
> +
> +	if (!connector_attr_set(idx, connector, dir,
--------------------------------^
Passing uninitialized idx?

> +				igt_sysfs_set, attr,
> +				value, reset_value))
> +		return false;
> +
> +	igt_info("Connector %s/%s is now %s\n", name, attr, value);
> +
> +	return true;
> +}
> +
>   static void dump_connector_attrs(void)
>   {
>   	char name[80];
> @@ -1690,6 +1716,49 @@ bool kmstest_force_connector(int drm_fd, drmModeConnector *connector,
>   	return true;
>   }
>   
> +static bool force_connector_bigjoiner(int drm_fd,
> +				      drmModeConnector *connector,
> +				      const char *value)
> +{
> +	return connector_attr_set_debugfs(drm_fd, connector,
> +					  "i915_bigjoiner_force_enable",
> +					  value, "0");
> +}
> +
> +/**
> + * kmstest_force_connector_bigjoiner:
> + * @fd: drm file descriptor
> + * @connector: connector
> + *
> + * Enable force bigjoiner state on the specified connector
> + * and install exit handler for resetting
> + *
> + * Returns: True on success
> + */
> +bool kmstest_force_connector_bigjoiner(int drm_fd, drmModeConnector *connector)
> +{
> +	const char *value = "1";
> +	drmModeConnector *temp;
> +
> +	if (!is_intel_device(drm_fd))
> +		return false;
> +
> +	if (!force_connector_bigjoiner(drm_fd, connector, value))
> +		return false;
> +
> +	dump_connector_attrs();
> +	igt_install_exit_handler(reset_connectors_at_exit);
---------------------------------^
This will reset all connectors, Instead of resetting all connectors I'm 
expecting to reset a particular one. Maybe we can take this as a 
separate activity.

- Bhanu

> +
> +	/*
> +	 * To allow callers to always use GetConnectorCurrent we need to force a
> +	 * redetection here.
> +	 */
> +	temp = drmModeGetConnector(drm_fd, connector->connector_id);
> +	drmModeFreeConnector(temp);
> +
> +	return true;
> +}
> +
>   /**
>    * kmstest_force_edid:
>    * @drm_fd: drm file descriptor
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index 6d13e5851..0abf450c1 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -262,6 +262,7 @@ struct edid;
>   
>   bool kmstest_force_connector(int fd, drmModeConnector *connector,
>   			     enum kmstest_force_connector_state state);
> +bool kmstest_force_connector_bigjoiner(int drm_fd, drmModeConnector *connector);
>   void kmstest_force_edid(int drm_fd, drmModeConnector *connector,
>   			const struct edid *edid);
>   

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH i-g-t 6/7] lib/igt_kms: remove unused igt_force_and_check_bigjoiner_status
  2024-04-19  6:40 ` [PATCH i-g-t 6/7] lib/igt_kms: remove unused igt_force_and_check_bigjoiner_status Kunal Joshi
@ 2024-04-19 10:32   ` Modem, Bhanuprakash
  0 siblings, 0 replies; 23+ messages in thread
From: Modem, Bhanuprakash @ 2024-04-19 10:32 UTC (permalink / raw)
  To: Kunal Joshi, igt-dev; +Cc: Ville Syrjälä, Ankit Nautiyal


On 19-04-2024 12:10 pm, Kunal Joshi wrote:
> remove unused igt_force_and_check_bigjoiner_status
> 
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>

Reviewed-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>

> ---
>   lib/igt_kms.c | 28 ----------------------------
>   lib/igt_kms.h |  1 -
>   2 files changed, 29 deletions(-)
> 
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 324b0527f..35e2a0bb0 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -6332,34 +6332,6 @@ bool igt_has_force_joiner_debugfs(int drmfd, igt_output_t *output)
>   	return ret >= 0;
>   }
>   
> -/**
> - * Forces the enable/disable state of big joiner for a specific connector.
> - *
> - * @drmfd The file descriptor of the DRM device.
> - * @connector_name The name of the connector.
> - * @enable The desired state of big joiner (true for enable, false for disable).
> - * Returns:
> - *  true if writing the debugfs was successful
> - *  and the state was set as requested, false otherwise.
> - */
> -bool igt_force_and_check_bigjoiner_status(int drmfd, char *connector_name, bool enable)
> -{
> -	int debugfs_fd, ret;
> -	char buf[512];
> -
> -	igt_assert_f(connector_name, "Connector name cannot be NULL\n");
> -	debugfs_fd = igt_debugfs_connector_dir(drmfd, connector_name, O_DIRECTORY);
> -	igt_assert_f(debugfs_fd >= 0, "Could not open debugfs for connector %s\n", connector_name);
> -	ret = igt_sysfs_write(debugfs_fd, "i915_bigjoiner_force_enable", enable ? "1" : "0", 1);
> -	igt_assert_f(ret > 0, "Could not write i915_bigjoiner_force_enable for connector %s\n", connector_name);
> -	ret = igt_debugfs_simple_read(debugfs_fd, "i915_bigjoiner_force_enable", buf, sizeof(buf));
> -	close(debugfs_fd);
> -	igt_assert_f(ret > 0, "Could not read i915_bigjoiner_force_enable for connector %s\n", connector_name);
> -
> -	return enable ? strstr(buf, "Y") :
> -			strstr(buf, "N");
> -}
> -
>   /**
>    * 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 0abf450c1..01604dac9 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -1216,7 +1216,6 @@ 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_has_force_joiner_debugfs(int drmfd, igt_output_t *output);
> -bool igt_force_and_check_bigjoiner_status(int drmfd, char *connector_name, bool enable);
>   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);

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH i-g-t 3/7] tests/intel/kms_big_joiner: add missing commit after reset
  2024-04-19 10:09     ` Joshi, Kunal1
@ 2024-04-19 10:51       ` Modem, Bhanuprakash
  0 siblings, 0 replies; 23+ messages in thread
From: Modem, Bhanuprakash @ 2024-04-19 10:51 UTC (permalink / raw)
  To: Joshi, Kunal1, igt-dev; +Cc: Ville Syrjälä, Ankit Nautiyal


On 19-04-2024 03:39 pm, Joshi, Kunal1 wrote:
> 
> On 4/19/2024 3:23 PM, Modem, Bhanuprakash wrote:
>>
>> On 19-04-2024 12:09 pm, Kunal Joshi wrote:
>>> add missing commit after reset
>>>
>>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>>> Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
>>> Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
>>> ---
>>>   tests/intel/kms_big_joiner.c | 1 +
>>>   1 file changed, 1 insertion(+)
>>>
>>> diff --git a/tests/intel/kms_big_joiner.c b/tests/intel/kms_big_joiner.c
>>> index 88923be6b..f325a9839 100644
>>> --- a/tests/intel/kms_big_joiner.c
>>> +++ b/tests/intel/kms_big_joiner.c
>>> @@ -267,6 +267,7 @@ static void test_joiner_on_last_pipe(data_t 
>>> *data, bool force_joiner)
>>>         for (i = 0; i < len; i++) {
>>>           igt_display_reset(&data->display);
>>> +        igt_display_commit2(&data->display, COMMIT_ATOMIC);
>>
>> Do we really need this commit?
> 
> Hello Bhanu,
> 
> Yes we need this commit as below reason
> if output is already assigned to pipe D, then forcing big joiner is not 
> having any affect.

AFAIK, igt_display_reset() will clear associated pipe on all outputs. 
And we are associating last pipe (D) to the selected connector. The 
immediate commit will catch the bigjoiner constraint.

Still, I don't see any advantage of having this extra commit, am I 
missing anything?

- Bhanu

> 
> 
> Thanks and Regards
> Kunal Joshi
> 
>>
>>>           output = outputs[i];
>>>           igt_output_set_pipe(output, data->pipe_seq[data->n_pipes - 
>>> 1]);
>>>           mode = igt_output_get_mode(output);

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH i-g-t 1/7] lib/igt_kms: don't run on unsupported platform
  2024-04-19  9:32   ` Modem, Bhanuprakash
@ 2024-04-19 11:31     ` Joshi, Kunal1
  0 siblings, 0 replies; 23+ messages in thread
From: Joshi, Kunal1 @ 2024-04-19 11:31 UTC (permalink / raw)
  To: Modem, Bhanuprakash, igt-dev; +Cc: Ville Syrjälä, Nautiyal, Ankit K

[-- Attachment #1: Type: text/plain, Size: 564 bytes --]

Thanks bhanu for checking this out,
Will update the commit, but still we need to keep <13 condition,
As DSC is needed for <13.


Hot to know from Ankit

bool intel_dp_joiner_needs_dsc(struct drm_i915_private *i915, bool use_joiner)
{
        /*
         * Pipe joiner needs compression up to display 12 due to bandwidth
         * limitation. DG2 onwards pipe joiner can be enabled without
         * compression.
         */
        return DISPLAY_VER(i915) < 13 && use_joiner;
}

But will edit comment.

Thanks and Regards
Kunal Joshi




[-- Attachment #2: Type: text/html, Size: 2009 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH i-g-t 4/7] lib/igt_kms: add support for forcing bigjoiner on particular connector
  2024-04-19 10:26   ` Modem, Bhanuprakash
@ 2024-04-19 11:34     ` Joshi, Kunal1
  0 siblings, 0 replies; 23+ messages in thread
From: Joshi, Kunal1 @ 2024-04-19 11:34 UTC (permalink / raw)
  To: Modem, Bhanuprakash, igt-dev; +Cc: Ville Syrjälä, Ankit Nautiyal

Hello,

On 4/19/2024 3:56 PM, Modem, Bhanuprakash wrote:
>
> On 19-04-2024 12:09 pm, Kunal Joshi wrote:
>> add kmstest_force_connector_bigjoiner function which
>> force bigjoiner on provided connector as well as resets on exit.
>>
>> v2: remove redundant function (Bhanu)
>>
>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>> Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
>> Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
>> ---
>>   lib/igt_kms.c | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++
>>   lib/igt_kms.h |  1 +
>>   2 files changed, 70 insertions(+)
>>
>> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
>> index 378c97f88..324b0527f 100644
>> --- a/lib/igt_kms.c
>> +++ b/lib/igt_kms.c
>> @@ -1607,6 +1607,32 @@ static bool connector_attr_set_sysfs(int drm_fd,
>>       return true;
>>   }
>>   +static bool connector_attr_set_debugfs(int drm_fd,
>
> How connector_attr_set_debugfs() is different than 
> connector_attr_set_sysfs()?
>
>> +                       drmModeConnector *connector,
>> +                       const char *attr, const char *value,
>> +                       const char *reset_value)
>> +{
>> +    char name[80];
>> +    int idx, dir;
>> +
>> +    snprintf(name, sizeof(name), "%s-%d",
>> + kmstest_connector_type_str(connector->connector_type),
>> +         connector->connector_type_id);
Above differs
>>
>> +
>> +    dir = igt_debugfs_connector_dir(drm_fd, name, O_DIRECTORY);
above differs
>> +    if (dir < 0)
>> +        return false;
>> +
>> +    if (!connector_attr_set(idx, connector, dir,
> --------------------------------^
> Passing uninitialized idx?
Hmm, not sure how could this work still,
Will assign proper value to idx in next revision.


Thanks and Regards
Kunal Joshi

>> +                igt_sysfs_set, attr,
>> +                value, reset_value))
>> +        return false;
>> +
>> +    igt_info("Connector %s/%s is now %s\n", name, attr, value);
>> +
>> +    return true;
>> +}
>> +
>>   static void dump_connector_attrs(void)
>>   {
>>       char name[80];
>> @@ -1690,6 +1716,49 @@ bool kmstest_force_connector(int drm_fd, 
>> drmModeConnector *connector,
>>       return true;
>>   }
>>   +static bool force_connector_bigjoiner(int drm_fd,
>> +                      drmModeConnector *connector,
>> +                      const char *value)
>> +{
>> +    return connector_attr_set_debugfs(drm_fd, connector,
>> +                      "i915_bigjoiner_force_enable",
>> +                      value, "0");
>> +}
>> +
>> +/**
>> + * kmstest_force_connector_bigjoiner:
>> + * @fd: drm file descriptor
>> + * @connector: connector
>> + *
>> + * Enable force bigjoiner state on the specified connector
>> + * and install exit handler for resetting
>> + *
>> + * Returns: True on success
>> + */
>> +bool kmstest_force_connector_bigjoiner(int drm_fd, drmModeConnector 
>> *connector)
>> +{
>> +    const char *value = "1";
>> +    drmModeConnector *temp;
>> +
>> +    if (!is_intel_device(drm_fd))
>> +        return false;
>> +
>> +    if (!force_connector_bigjoiner(drm_fd, connector, value))
>> +        return false;
>> +
>> +    dump_connector_attrs();
>> +    igt_install_exit_handler(reset_connectors_at_exit);
> ---------------------------------^
> This will reset all connectors, Instead of resetting all connectors 
> I'm expecting to reset a particular one. Maybe we can take this as a 
> separate activity.
>
> - Bhanu
>
>> +
>> +    /*
>> +     * To allow callers to always use GetConnectorCurrent we need to 
>> force a
>> +     * redetection here.
>> +     */
>> +    temp = drmModeGetConnector(drm_fd, connector->connector_id);
>> +    drmModeFreeConnector(temp);
>> +
>> +    return true;
>> +}
>> +
>>   /**
>>    * kmstest_force_edid:
>>    * @drm_fd: drm file descriptor
>> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
>> index 6d13e5851..0abf450c1 100644
>> --- a/lib/igt_kms.h
>> +++ b/lib/igt_kms.h
>> @@ -262,6 +262,7 @@ struct edid;
>>     bool kmstest_force_connector(int fd, drmModeConnector *connector,
>>                    enum kmstest_force_connector_state state);
>> +bool kmstest_force_connector_bigjoiner(int drm_fd, drmModeConnector 
>> *connector);
>>   void kmstest_force_edid(int drm_fd, drmModeConnector *connector,
>>               const struct edid *edid);

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH i-g-t 1/7] lib/igt_kms: don't run on unsupported platform
  2024-04-22  5:34 ` [PATCH i-g-t 1/7] lib/igt_kms: don't run on unsupported platform Kunal Joshi
@ 2024-04-22 10:40   ` Modem, Bhanuprakash
  0 siblings, 0 replies; 23+ messages in thread
From: Modem, Bhanuprakash @ 2024-04-22 10:40 UTC (permalink / raw)
  To: Kunal Joshi, igt-dev; +Cc: Ville Syrjälä, Ankit Nautiyal


On 22-04-2024 11:04 am, Kunal Joshi wrote:
> dipslay <=12 needs dsc enabled for pipe joiner,
> add a check in IGT for the same
> 
> v2: dsc is required for gen12, so test only
>      for devid 13 and 13+ (Ankit)
> v3: update comment (Bhanu)
> 
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
> Suggested-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>

Reviewed-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>

> ---
>   lib/igt_kms.c | 8 ++++++++
>   1 file changed, 8 insertions(+)
> 
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 3216fe7e4..ee8848079 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -6246,6 +6246,14 @@ bool igt_has_force_joiner_debugfs(int drmfd, igt_output_t *output)
>   	char buf[512];
>   	int debugfs_fd, ret;
>   
> +	/*
> +	 * bigjoiner is supported on display<= 12 with DSC only
> +	 * and only on Pipe A for Display 11
> +	 * For simplicity avoid Display 11 and 12, check for >= 13
> +	 */
> +	if (intel_display_ver(intel_get_drm_devid(drmfd)) < 13)
> +		return false;
> +
>   	igt_assert_f(output->name, "Connector name cannot be NULL\n");
>   	debugfs_fd = igt_debugfs_connector_dir(drmfd, output->name, O_RDONLY);
>   	if (debugfs_fd < 0)

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH i-g-t 1/7] lib/igt_kms: don't run on unsupported platform
  2024-04-22  5:34 [PATCH i-g-t 0/7] cleanup and fixes for kms_big_joiner Kunal Joshi
@ 2024-04-22  5:34 ` Kunal Joshi
  2024-04-22 10:40   ` Modem, Bhanuprakash
  0 siblings, 1 reply; 23+ messages in thread
From: Kunal Joshi @ 2024-04-22  5:34 UTC (permalink / raw)
  To: igt-dev
  Cc: Kunal Joshi, Ville Syrjälä, Ankit Nautiyal, Bhanuprakash Modem

dipslay <=12 needs dsc enabled for pipe joiner,
add a check in IGT for the same

v2: dsc is required for gen12, so test only
    for devid 13 and 13+ (Ankit)
v3: update comment (Bhanu)

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
Suggested-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
 lib/igt_kms.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 3216fe7e4..ee8848079 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -6246,6 +6246,14 @@ bool igt_has_force_joiner_debugfs(int drmfd, igt_output_t *output)
 	char buf[512];
 	int debugfs_fd, ret;
 
+	/*
+	 * bigjoiner is supported on display<= 12 with DSC only
+	 * and only on Pipe A for Display 11
+	 * For simplicity avoid Display 11 and 12, check for >= 13
+	 */
+	if (intel_display_ver(intel_get_drm_devid(drmfd)) < 13)
+		return false;
+
 	igt_assert_f(output->name, "Connector name cannot be NULL\n");
 	debugfs_fd = igt_debugfs_connector_dir(drmfd, output->name, O_RDONLY);
 	if (debugfs_fd < 0)
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* Re: [PATCH i-g-t 1/7] lib/igt_kms: don't run on unsupported platform
  2024-04-18 15:28 ` [PATCH i-g-t 1/7] lib/igt_kms: don't run on unsupported platform Kunal Joshi
@ 2024-04-19  6:27   ` Nautiyal, Ankit K
  0 siblings, 0 replies; 23+ messages in thread
From: Nautiyal, Ankit K @ 2024-04-19  6:27 UTC (permalink / raw)
  To: Kunal Joshi, igt-dev; +Cc: Ville Syrjälä, Bhanuprakash Modem


On 4/18/2024 8:58 PM, Kunal Joshi wrote:
> kmd exposes debugfs for all the platforms, so add
> a check in igt
>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
> Suggested-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> ---
>   lib/igt_kms.c | 8 ++++++++
>   1 file changed, 8 insertions(+)
>
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 3216fe7e4..6f093fed7 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -6246,6 +6246,14 @@ bool igt_has_force_joiner_debugfs(int drmfd, igt_output_t *output)
>   	char buf[512];
>   	int debugfs_fd, ret;
>   
> +	/*
> +	 * bigjoiner is supported on display>= 12 and only on
> +	 * Pipe A for Display 11
> +	 * For simplicity avoid Display 11 and check for >= 12

For display 12 joiner needs DSC also. Due to this we cannot force 
bigjoiner on machines that are not connected to DSC sinks.

So perhaps I guess it would be better to test for 13 and above, as we 
will not require DSC for that.


Regards,

Ankit


> +	 */
> +	if (intel_display_ver(intel_get_drm_devid(drmfd)) < 12)
> +		return false;
> +
>   	igt_assert_f(output->name, "Connector name cannot be NULL\n");
>   	debugfs_fd = igt_debugfs_connector_dir(drmfd, output->name, O_RDONLY);
>   	if (debugfs_fd < 0)

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH i-g-t 1/7] lib/igt_kms: don't run on unsupported platform
  2024-04-18 15:28 [PATCH i-g-t 0/7] cleanup and fixes for kms_big_joiner Kunal Joshi
@ 2024-04-18 15:28 ` Kunal Joshi
  2024-04-19  6:27   ` Nautiyal, Ankit K
  0 siblings, 1 reply; 23+ messages in thread
From: Kunal Joshi @ 2024-04-18 15:28 UTC (permalink / raw)
  To: igt-dev
  Cc: Kunal Joshi, Ville Syrjälä, Ankit Nautiyal, Bhanuprakash Modem

kmd exposes debugfs for all the platforms, so add
a check in igt

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
Suggested-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
 lib/igt_kms.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 3216fe7e4..6f093fed7 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -6246,6 +6246,14 @@ bool igt_has_force_joiner_debugfs(int drmfd, igt_output_t *output)
 	char buf[512];
 	int debugfs_fd, ret;
 
+	/*
+	 * bigjoiner is supported on display>= 12 and only on
+	 * Pipe A for Display 11
+	 * For simplicity avoid Display 11 and check for >= 12
+	 */
+	if (intel_display_ver(intel_get_drm_devid(drmfd)) < 12)
+		return false;
+
 	igt_assert_f(output->name, "Connector name cannot be NULL\n");
 	debugfs_fd = igt_debugfs_connector_dir(drmfd, output->name, O_RDONLY);
 	if (debugfs_fd < 0)
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2024-04-22 10:41 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-19  6:39 [PATCH i-g-t 0/7] cleanup and fixes for kms_big_joiner Kunal Joshi
2024-04-19  6:39 ` [PATCH i-g-t 1/7] lib/igt_kms: don't run on unsupported platform Kunal Joshi
2024-04-19  9:32   ` Modem, Bhanuprakash
2024-04-19 11:31     ` Joshi, Kunal1
2024-04-19  6:39 ` [PATCH i-g-t 2/7] tests/intel/kms_big_joiner: fix crash in multi joiner test Kunal Joshi
2024-04-19  9:42   ` Modem, Bhanuprakash
2024-04-19  6:39 ` [PATCH i-g-t 3/7] tests/intel/kms_big_joiner: add missing commit after reset Kunal Joshi
2024-04-19  9:53   ` Modem, Bhanuprakash
2024-04-19 10:09     ` Joshi, Kunal1
2024-04-19 10:51       ` Modem, Bhanuprakash
2024-04-19  6:39 ` [PATCH i-g-t 4/7] lib/igt_kms: add support for forcing bigjoiner on particular connector Kunal Joshi
2024-04-19 10:26   ` Modem, Bhanuprakash
2024-04-19 11:34     ` Joshi, Kunal1
2024-04-19  6:39 ` [PATCH i-g-t 5/7] tests/intel/kms_big_joiner: use kmstest_force_connector_bigjoiner Kunal Joshi
2024-04-19  6:40 ` [PATCH i-g-t 6/7] lib/igt_kms: remove unused igt_force_and_check_bigjoiner_status Kunal Joshi
2024-04-19 10:32   ` Modem, Bhanuprakash
2024-04-19  6:40 ` [PATCH i-g-t 7/7] HAX: Do not merge Kunal Joshi
2024-04-19  7:13 ` ✗ Fi.CI.BAT: failure for cleanup and fixes for kms_big_joiner (rev3) Patchwork
2024-04-19  7:17 ` ✓ CI.xeBAT: success " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2024-04-22  5:34 [PATCH i-g-t 0/7] cleanup and fixes for kms_big_joiner Kunal Joshi
2024-04-22  5:34 ` [PATCH i-g-t 1/7] lib/igt_kms: don't run on unsupported platform Kunal Joshi
2024-04-22 10:40   ` Modem, Bhanuprakash
2024-04-18 15:28 [PATCH i-g-t 0/7] cleanup and fixes for kms_big_joiner Kunal Joshi
2024-04-18 15:28 ` [PATCH i-g-t 1/7] lib/igt_kms: don't run on unsupported platform Kunal Joshi
2024-04-19  6:27   ` Nautiyal, Ankit K

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.