All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [V3 0/4] Skip if current & requested BPC doesn't match
@ 2022-05-31  5:36 Bhanuprakash Modem
  2022-05-31  5:36 ` [igt-dev] [V3 1/4] lib/igt_kms: Add helper functions to sort drm modes Bhanuprakash Modem
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Bhanuprakash Modem @ 2022-05-31  5:36 UTC (permalink / raw)
  To: igt-dev

The "max bpc" property only ensures that the bpc will not go beyond
the value set through this property. It does not guarantee that the
same bpc will be used for the given mode.

If clock/bandwidth constraints permit, the max bpc will be used to
show the mode, otherwise the bpc will be reduced. So, if we really
want a particular bpc set, we can try reducing the resolution, till
we get the bpc that we set in max bpc property.

So, skip the test, if there is no valid resolution to get the same
bpc as set by max_bpc property.

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

Bhanuprakash Modem (4):
  lib/igt_kms: Add helper functions to sort drm modes
  tests/kms_hdr: Skip if current & requested BPC doesn't match
  tests/kms_color: Skip if current & requested BPC doesn't match
  HAX: Add hdr & deep color tests to BAT

 lib/igt_kms.c                         | 55 +++++++++++++++++++--------
 lib/igt_kms.h                         | 10 +++++
 tests/intel-ci/fast-feedback.testlist |  7 ++++
 tests/kms_color.c                     | 29 ++++++++++++--
 tests/kms_hdr.c                       | 55 ++++++++++++++++++++++++---
 5 files changed, 131 insertions(+), 25 deletions(-)

--
2.35.1

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

* [igt-dev] [V3 1/4] lib/igt_kms: Add helper functions to sort drm modes
  2022-05-31  5:36 [igt-dev] [V3 0/4] Skip if current & requested BPC doesn't match Bhanuprakash Modem
@ 2022-05-31  5:36 ` Bhanuprakash Modem
  2022-05-31  7:21   ` Nautiyal, Ankit K
  2022-05-31  5:36 ` [igt-dev] [V3 2/4] tests/kms_hdr: Skip if current & requested BPC doesn't match Bhanuprakash Modem
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 11+ messages in thread
From: Bhanuprakash Modem @ 2022-05-31  5:36 UTC (permalink / raw)
  To: igt-dev

Add helper function to sort drm modes based on the clock, resolution
in both ascending & descending order.

V2:
* Minor changes

Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 lib/igt_kms.c | 55 +++++++++++++++++++++++++++++++++++++--------------
 lib/igt_kms.h | 10 ++++++++++
 2 files changed, 50 insertions(+), 15 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index a25fac74..ada42cc8 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1477,6 +1477,43 @@ void kmstest_force_edid(int drm_fd, drmModeConnector *connector,
 	igt_assert(ret != -1);
 }
 
+int sort_drm_modes_by_clk_dsc(const void *a, const void *b)
+{
+	const drmModeModeInfo *mode1 = a, *mode2 = b;
+
+	return (mode1->clock < mode2->clock) - (mode2->clock < mode1->clock);
+}
+
+int sort_drm_modes_by_clk_asc(const void *a, const void *b)
+{
+	const drmModeModeInfo *mode1 = a, *mode2 = b;
+
+	return (mode1->clock > mode2->clock) - (mode2->clock > mode1->clock);
+}
+
+int sort_drm_modes_by_res_dsc(const void *a, const void *b)
+{
+	const drmModeModeInfo *mode1 = a, *mode2 = b;
+
+	return (mode1->hdisplay < mode2->hdisplay) - (mode2->hdisplay < mode1->hdisplay);
+}
+
+int sort_drm_modes_by_res_asc(const void *a, const void *b)
+{
+	const drmModeModeInfo *mode1 = a, *mode2 = b;
+
+	return (mode1->hdisplay > mode2->hdisplay) - (mode2->hdisplay > mode1->hdisplay);
+}
+
+void igt_sort_connector_modes(drmModeConnector *connector,
+			      int (*comparator)(const void *, const void*))
+{
+	qsort(connector->modes,
+	      connector->count_modes,
+	      sizeof(drmModeModeInfo),
+	      comparator);
+}
+
 /**
  * kmstest_get_connector_default_mode:
  * @drm_fd: DRM fd
@@ -4204,16 +4241,6 @@ void igt_output_set_pipe(igt_output_t *output, enum pipe pipe)
 	}
 }
 
-#define for_each_connector_mode(output)		\
-	for (int i__ = 0;  i__ < output->config.connector->count_modes; i__++)
-
-static int sort_drm_modes(const void *a, const void *b)
-{
-	const drmModeModeInfo *mode1 = a, *mode2 = b;
-
-	return (mode1->clock < mode2->clock) - (mode2->clock < mode1->clock);
-}
-
 static
 bool __override_all_active_output_modes_to_fit_bw(igt_display_t *display,
 						  igt_output_t *outputs[IGT_MAX_PIPES],
@@ -4230,7 +4257,7 @@ bool __override_all_active_output_modes_to_fit_bw(igt_display_t *display,
 	for_each_connector_mode(output) {
 		int ret;
 
-		igt_output_override_mode(output, &output->config.connector->modes[i__]);
+		igt_output_override_mode(output, &output->config.connector->modes[j__]);
 
 		if (__override_all_active_output_modes_to_fit_bw(display, outputs, n_outputs, base + 1))
 			return true;
@@ -4271,10 +4298,8 @@ bool igt_override_all_active_output_modes_to_fit_bw(igt_display_t *display)
 			continue;
 
 		/* Sort the modes in descending order by clock freq. */
-		qsort(output->config.connector->modes,
-		      output->config.connector->count_modes,
-		      sizeof(drmModeModeInfo),
-		      sort_drm_modes);
+		igt_sort_connector_modes(output->config.connector,
+					 sort_drm_modes_by_clk_dsc);
 
 		outputs[n_outputs++] = output;
 	}
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index ba0bf4d6..0f12d825 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -637,6 +637,9 @@ igt_output_t **__igt_pipe_populate_outputs(igt_display_t *display,
 	for (int j__ = 0; assert(igt_can_fail()), (plane) = &(display)->pipes[(pipe)].planes[j__], \
 		     j__ < (display)->pipes[(pipe)].n_planes; j__++)
 
+#define for_each_connector_mode(output)		\
+	for (int j__ = 0;  j__ < output->config.connector->count_modes; j__++)
+
 #define IGT_FIXED(i,f)	((i) << 16 | (f))
 
 /**
@@ -957,4 +960,11 @@ void igt_assert_output_bpc_equal(int drmfd, enum pipe pipe,
 bool igt_check_output_bpc_equal(int drmfd, enum pipe pipe,
 				char *output_name, unsigned int bpc);
 
+int sort_drm_modes_by_clk_dsc(const void *a, const void *b);
+int sort_drm_modes_by_clk_asc(const void *a, const void *b);
+int sort_drm_modes_by_res_dsc(const void *a, const void *b);
+int sort_drm_modes_by_res_asc(const void *a, const void *b);
+void igt_sort_connector_modes(drmModeConnector *connector,
+		int (*comparator)(const void *, const void*));
+
 #endif /* __IGT_KMS_H__ */
-- 
2.35.1

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

* [igt-dev] [V3 2/4] tests/kms_hdr: Skip if current & requested BPC doesn't match
  2022-05-31  5:36 [igt-dev] [V3 0/4] Skip if current & requested BPC doesn't match Bhanuprakash Modem
  2022-05-31  5:36 ` [igt-dev] [V3 1/4] lib/igt_kms: Add helper functions to sort drm modes Bhanuprakash Modem
@ 2022-05-31  5:36 ` Bhanuprakash Modem
  2022-05-31  8:15   ` Nautiyal, Ankit K
  2022-05-31  5:36 ` [igt-dev] [V3 3/4] tests/kms_color: " Bhanuprakash Modem
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 11+ messages in thread
From: Bhanuprakash Modem @ 2022-05-31  5:36 UTC (permalink / raw)
  To: igt-dev

The "max bpc" property only ensures that the bpc will not go beyond
the value set through this property. It does not guarantee that the
same bpc will be used for the given mode.

If clock/bandwidth constraints permit, the max bpc will be used to
show the mode, otherwise the bpc will be reduced. So, if we really
want a particular bpc set, we can try reducing the resolution, till
we get the bpc that we set in max bpc property.

This patch will skip the test, if there is no valid resolution to get
the same bpc as set by max_bpc property.

V2:
* Refactor the logic
V3:
* Minor changes

Cc: Swati Sharma <swati2.sharma@intel.com>
CC: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/kms_hdr.c | 55 +++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 49 insertions(+), 6 deletions(-)

diff --git a/tests/kms_hdr.c b/tests/kms_hdr.c
index fb2e0790..224216b9 100644
--- a/tests/kms_hdr.c
+++ b/tests/kms_hdr.c
@@ -144,8 +144,6 @@ static void test_bpc_switch_on_output(data_t *data, enum pipe pipe,
 	igt_fb_t afb;
 	int afb_id, ret;
 
-	prepare_test(data, output, pipe);
-
 	/* 10-bit formats are slow, so limit the size. */
 	afb_id = igt_create_fb(data->fd, 512, 512, DRM_FORMAT_XRGB2101010, 0, &afb);
 	igt_assert(afb_id);
@@ -206,6 +204,37 @@ static bool has_max_bpc(igt_output_t *output)
 	       igt_output_get_prop(output, IGT_CONNECTOR_MAX_BPC);
 }
 
+static bool i915_clock_constraint(data_t *data, int bpc, bool is_hdr)
+{
+	igt_output_t *output = data->output;
+	drmModeConnector *connector = output->config.connector;
+
+	igt_output_set_prop_value(data->output, IGT_CONNECTOR_MAX_BPC, bpc);
+	igt_sort_connector_modes(connector, sort_drm_modes_by_clk_dsc);
+
+	for_each_connector_mode(output) {
+		if (is_hdr && connector->modes[j__].hdisplay < 3840)
+			goto out;
+
+		igt_output_override_mode(output, &connector->modes[j__]);
+		igt_display_commit_atomic(&data->display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+
+		if (!igt_check_output_bpc_equal(data->fd, data->pipe_id,
+						data->output->name, bpc))
+			continue;
+
+		data->mode = igt_output_get_mode(output);
+		data->w = data->mode->hdisplay;
+		data->h = data->mode->vdisplay;
+
+		return true;
+	}
+
+out:
+	test_fini(data);
+	return false;
+}
+
 static void test_bpc_switch(data_t *data, uint32_t flags)
 {
 	igt_display_t *display = &data->display;
@@ -217,8 +246,17 @@ static void test_bpc_switch(data_t *data, uint32_t flags)
 		if (!has_max_bpc(output))
 			continue;
 
+		if (igt_get_output_max_bpc(data->fd, output->name) < 10)
+			continue;
+
 		for_each_pipe(display, pipe) {
 			if (igt_pipe_connector_valid(pipe, output)) {
+				prepare_test(data, output, pipe);
+
+				if (is_i915_device(data->fd) &&
+				    !i915_clock_constraint(data, 10, false))
+					break;
+
 				igt_dynamic_f("pipe-%s-%s",
 					      kmstest_pipe_name(pipe), output->name)
 					test_bpc_switch_on_output(data, pipe, output, flags);
@@ -367,8 +405,6 @@ static void test_static_toggle(data_t *data, enum pipe pipe,
 	igt_fb_t afb;
 	int afb_id;
 
-	prepare_test(data, output, pipe);
-
 	/* 10-bit formats are slow, so limit the size. */
 	afb_id = igt_create_fb(data->fd, 512, 512, DRM_FORMAT_XRGB2101010, 0, &afb);
 	igt_assert(afb_id);
@@ -446,8 +482,6 @@ static void test_static_swap(data_t *data, enum pipe pipe, igt_output_t *output)
 	int afb_id;
 	struct hdr_output_metadata hdr;
 
-	prepare_test(data, output, pipe);
-
 	/* 10-bit formats are slow, so limit the size. */
 	afb_id = igt_create_fb(data->fd, 512, 512, DRM_FORMAT_XRGB2101010, 0, &afb);
 	igt_assert(afb_id);
@@ -532,8 +566,17 @@ static void test_hdr(data_t *data, uint32_t flags)
 		if (!is_panel_hdr(data, output))
 			continue;
 
+		if (igt_get_output_max_bpc(data->fd, output->name) < 10)
+			continue;
+
 		for_each_pipe(display, pipe) {
 			if (igt_pipe_connector_valid(pipe, output)) {
+				prepare_test(data, output, pipe);
+
+				if (is_i915_device(data->fd) &&
+				    !i915_clock_constraint(data, 10, true))
+					break;
+
 				igt_dynamic_f("pipe-%s-%s",
 					      kmstest_pipe_name(pipe), output->name) {
 					if (flags & TEST_NONE || flags & TEST_DPMS || flags & TEST_SUSPEND)
-- 
2.35.1

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

* [igt-dev] [V3 3/4] tests/kms_color: Skip if current & requested BPC doesn't match
  2022-05-31  5:36 [igt-dev] [V3 0/4] Skip if current & requested BPC doesn't match Bhanuprakash Modem
  2022-05-31  5:36 ` [igt-dev] [V3 1/4] lib/igt_kms: Add helper functions to sort drm modes Bhanuprakash Modem
  2022-05-31  5:36 ` [igt-dev] [V3 2/4] tests/kms_hdr: Skip if current & requested BPC doesn't match Bhanuprakash Modem
@ 2022-05-31  5:36 ` Bhanuprakash Modem
  2022-05-31  9:05   ` Nautiyal, Ankit K
  2022-05-31  5:36 ` [igt-dev] [V3 4/4] HAX: Add hdr & deep color tests to BAT Bhanuprakash Modem
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 11+ messages in thread
From: Bhanuprakash Modem @ 2022-05-31  5:36 UTC (permalink / raw)
  To: igt-dev

The "max bpc" property only ensures that the bpc will not go beyond
the value set through this property. It does not guarantee that the
same bpc will be used for the given mode.

If clock/bandwidth constraints permit, the max bpc will be used to
show the mode, otherwise the bpc will be reduced. So, if we really
want a particular bpc set, we can try reducing the resolution, till
we get the bpc that we set in max bpc property.

This patch will skip the test, if there is no valid resolution to get
the same bpc as set by max_bpc property.

V2:
* Refactor the logic
V3:
* Minor changes

Cc: Swati Sharma <swati2.sharma@intel.com>
CC: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/kms_color.c | 29 +++++++++++++++++++++++++----
 1 file changed, 25 insertions(+), 4 deletions(-)

diff --git a/tests/kms_color.c b/tests/kms_color.c
index 93957f50..cb50cbbf 100644
--- a/tests/kms_color.c
+++ b/tests/kms_color.c
@@ -635,6 +635,28 @@ static void test_pipe_limited_range_ctm(data_t *data,
 }
 #endif
 
+static bool i915_clock_constraint(data_t *data, enum pipe pipe, int bpc)
+{
+	igt_output_t *output = data->output;
+	drmModeConnector *connector = output->config.connector;
+
+	igt_sort_connector_modes(connector, sort_drm_modes_by_clk_dsc);
+
+	for_each_connector_mode(output) {
+		igt_output_override_mode(output, &connector->modes[j__]);
+		igt_display_commit(&data->display);
+
+		if (!igt_check_output_bpc_equal(data->drm_fd, pipe,
+						data->output->name, bpc))
+			continue;
+
+		return true;
+	}
+
+	igt_output_override_mode(output, NULL);
+	return false;
+}
+
 static void
 prep_pipe(data_t *data, enum pipe p)
 {
@@ -898,10 +920,9 @@ run_tests_for_pipe(data_t *data, enum pipe p)
 			igt_output_set_prop_value(output, IGT_CONNECTOR_MAX_BPC, 10);
 			igt_display_commit(&data->display);
 
-			if (!igt_check_output_bpc_equal(data->drm_fd, p, output->name, 10)) {
-				igt_output_set_prop_value(output, IGT_CONNECTOR_MAX_BPC, max_bpc);
-				igt_fail_on_f(true, "Failed to set max_bpc as: 10\n");
-			}
+			if (is_i915_device(data->drm_fd) &&
+			    !i915_clock_constraint(data, p, 10))
+				continue;
 
 			igt_dynamic_f("gamma-%s", output->name) {
 				ret = test_pipe_gamma(data, primary);
-- 
2.35.1

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

* [igt-dev] [V3 4/4] HAX: Add hdr & deep color tests to BAT
  2022-05-31  5:36 [igt-dev] [V3 0/4] Skip if current & requested BPC doesn't match Bhanuprakash Modem
                   ` (2 preceding siblings ...)
  2022-05-31  5:36 ` [igt-dev] [V3 3/4] tests/kms_color: " Bhanuprakash Modem
@ 2022-05-31  5:36 ` Bhanuprakash Modem
  2022-05-31  7:08   ` Bhanuprakash Modem
  2022-05-31  6:51 ` [igt-dev] ✗ Fi.CI.BAT: failure for Skip if current & requested BPC doesn't match (rev5) Patchwork
  2022-05-31  8:21 ` [igt-dev] ✗ Fi.CI.BAT: failure for Skip if current & requested BPC doesn't match (rev6) Patchwork
  5 siblings, 1 reply; 11+ messages in thread
From: Bhanuprakash Modem @ 2022-05-31  5:36 UTC (permalink / raw)
  To: igt-dev

Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/intel-ci/fast-feedback.testlist | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index b579c20a..aa4db852 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -105,6 +105,13 @@ igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size
 igt@kms_cursor_legacy@basic-flip-before-cursor-atomic
 igt@kms_cursor_legacy@basic-flip-before-cursor-legacy
 igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size
+igt@kms_color@pipe-A-deep-color
+igt@kms_color@pipe-B-deep-color
+igt@kms_color@pipe-C-deep-color
+igt@kms_color@pipe-D-deep-color
+igt@kms_hdr@bpc-switch
+igt@kms_hdr@static-toggle
+igt@kms_hdr@static-swap
 igt@kms_flip@basic-flip-vs-dpms
 igt@kms_flip@basic-flip-vs-modeset
 igt@kms_flip@basic-flip-vs-wf_vblank
-- 
2.35.1

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

* [igt-dev] ✗ Fi.CI.BAT: failure for Skip if current & requested BPC doesn't match (rev5)
  2022-05-31  5:36 [igt-dev] [V3 0/4] Skip if current & requested BPC doesn't match Bhanuprakash Modem
                   ` (3 preceding siblings ...)
  2022-05-31  5:36 ` [igt-dev] [V3 4/4] HAX: Add hdr & deep color tests to BAT Bhanuprakash Modem
@ 2022-05-31  6:51 ` Patchwork
  2022-05-31  8:21 ` [igt-dev] ✗ Fi.CI.BAT: failure for Skip if current & requested BPC doesn't match (rev6) Patchwork
  5 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2022-05-31  6:51 UTC (permalink / raw)
  To: Bhanuprakash Modem; +Cc: igt-dev

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

== Series Details ==

Series: Skip if current & requested BPC doesn't match (rev5)
URL   : https://patchwork.freedesktop.org/series/104275/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_11710 -> IGTPW_7192
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_7192 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_7192, please notify your bug team 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_7192/index.html

Participating hosts (46 -> 45)
------------------------------

  Missing    (1): bat-adlm-1 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@kms_hdr@static-toggle:
    - bat-dg1-5:          NOTRUN -> [SKIP][1] +6 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/bat-dg1-5/igt@kms_hdr@static-toggle.html

  
#### Suppressed ####

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

  * {igt@kms_hdr@bpc-switch@pipe-a-dp-2}:
    - fi-cfl-8109u:       NOTRUN -> [FAIL][2] +1 similar issue
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-cfl-8109u/igt@kms_hdr@bpc-switch@pipe-a-dp-2.html

  
New tests
---------

  New tests have been introduced between CI_DRM_11710 and IGTPW_7192:

### New IGT tests (4) ###

  * igt@kms_hdr@static-swap@pipe-a-hdmi-a-1:
    - Statuses : 1 pass(s)
    - Exec time: [0.81] s

  * igt@kms_hdr@static-swap@pipe-a-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [0.95] s

  * igt@kms_hdr@static-toggle@pipe-a-hdmi-a-1:
    - Statuses : 1 pass(s)
    - Exec time: [0.66] s

  * igt@kms_hdr@static-toggle@pipe-a-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [0.81] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_module_load@reload:
    - fi-kbl-soraka:      [PASS][3] -> [DMESG-WARN][4] ([i915#1982])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/fi-kbl-soraka/igt@i915_module_load@reload.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-kbl-soraka/igt@i915_module_load@reload.html

  * igt@i915_selftest@live@hangcheck:
    - fi-hsw-4770:        [PASS][5] -> [INCOMPLETE][6] ([i915#4785])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/fi-hsw-4770/igt@i915_selftest@live@hangcheck.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-hsw-4770/igt@i915_selftest@live@hangcheck.html
    - fi-bdw-5557u:       NOTRUN -> [INCOMPLETE][7] ([i915#3921])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-bdw-5557u/igt@i915_selftest@live@hangcheck.html

  * igt@i915_selftest@live@requests:
    - fi-pnv-d510:        [PASS][8] -> [DMESG-FAIL][9] ([i915#4528])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/fi-pnv-d510/igt@i915_selftest@live@requests.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-pnv-d510/igt@i915_selftest@live@requests.html

  * igt@i915_suspend@basic-s2idle-without-i915:
    - bat-dg1-6:          NOTRUN -> [INCOMPLETE][10] ([i915#6011])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/bat-dg1-6/igt@i915_suspend@basic-s2idle-without-i915.html

  * igt@kms_color@pipe-a-deep-color:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][11] ([fdo#109271]) +6 similar issues
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-kbl-soraka/igt@kms_color@pipe-a-deep-color.html
    - fi-hsw-4770:        NOTRUN -> [SKIP][12] ([fdo#109271]) +5 similar issues
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-hsw-4770/igt@kms_color@pipe-a-deep-color.html
    - bat-adlp-4:         NOTRUN -> [SKIP][13] ([i915#3555]) +3 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/bat-adlp-4/igt@kms_color@pipe-a-deep-color.html
    - fi-ivb-3770:        NOTRUN -> [SKIP][14] ([fdo#109271]) +6 similar issues
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-ivb-3770/igt@kms_color@pipe-a-deep-color.html

  * igt@kms_color@pipe-b-deep-color:
    - fi-rkl-guc:         NOTRUN -> [SKIP][15] ([i915#3555] / [i915#4070]) +2 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-rkl-guc/igt@kms_color@pipe-b-deep-color.html
    - bat-dg1-6:          NOTRUN -> [SKIP][16] ([i915#3555]) +3 similar issues
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/bat-dg1-6/igt@kms_color@pipe-b-deep-color.html
    - fi-cfl-8700k:       NOTRUN -> [SKIP][17] ([fdo#109271]) +6 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-cfl-8700k/igt@kms_color@pipe-b-deep-color.html

  * igt@kms_color@pipe-c-deep-color:
    - fi-kbl-guc:         NOTRUN -> [SKIP][18] ([fdo#109271]) +3 similar issues
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-kbl-guc/igt@kms_color@pipe-c-deep-color.html
    - fi-snb-2600:        NOTRUN -> [SKIP][19] ([fdo#109271]) +6 similar issues
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-snb-2600/igt@kms_color@pipe-c-deep-color.html
    - fi-rkl-11600:       NOTRUN -> [SKIP][20] ([i915#3555] / [i915#4070]) +2 similar issues
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-rkl-11600/igt@kms_color@pipe-c-deep-color.html

  * igt@kms_color@pipe-d-deep-color:
    - fi-glk-dsi:         NOTRUN -> [SKIP][21] ([fdo#109271]) +6 similar issues
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-glk-dsi/igt@kms_color@pipe-d-deep-color.html
    - fi-bwr-2160:        NOTRUN -> [SKIP][22] ([fdo#109271]) +6 similar issues
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-bwr-2160/igt@kms_color@pipe-d-deep-color.html
    - fi-hsw-4770:        NOTRUN -> [SKIP][23] ([fdo#109271] / [i915#533])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-hsw-4770/igt@kms_color@pipe-d-deep-color.html
    - fi-rkl-11600:       NOTRUN -> [SKIP][24] ([i915#4070] / [i915#533])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-rkl-11600/igt@kms_color@pipe-d-deep-color.html
    - fi-rkl-guc:         NOTRUN -> [SKIP][25] ([i915#4070] / [i915#533])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-rkl-guc/igt@kms_color@pipe-d-deep-color.html
    - fi-hsw-g3258:       NOTRUN -> [SKIP][26] ([fdo#109271] / [i915#533])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-hsw-g3258/igt@kms_color@pipe-d-deep-color.html

  * igt@kms_hdr@bpc-switch:
    - fi-bdw-gvtdvm:      NOTRUN -> [SKIP][27] ([fdo#109271]) +6 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-bdw-gvtdvm/igt@kms_hdr@bpc-switch.html
    - fi-bsw-kefka:       NOTRUN -> [SKIP][28] ([fdo#109271]) +6 similar issues
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-bsw-kefka/igt@kms_hdr@bpc-switch.html
    - fi-snb-2520m:       NOTRUN -> [SKIP][29] ([fdo#109271]) +6 similar issues
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-snb-2520m/igt@kms_hdr@bpc-switch.html
    - fi-rkl-guc:         NOTRUN -> [SKIP][30] ([i915#3555]) +2 similar issues
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-rkl-guc/igt@kms_hdr@bpc-switch.html
    - fi-skl-guc:         NOTRUN -> [SKIP][31] ([fdo#109271]) +6 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-skl-guc/igt@kms_hdr@bpc-switch.html

  * igt@kms_hdr@static-swap:
    - fi-elk-e7500:       NOTRUN -> [SKIP][32] ([fdo#109271]) +6 similar issues
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-elk-e7500/igt@kms_hdr@static-swap.html
    - fi-bsw-nick:        NOTRUN -> [SKIP][33] ([fdo#109271]) +6 similar issues
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-bsw-nick/igt@kms_hdr@static-swap.html
    - fi-kbl-guc:         NOTRUN -> [SKIP][34] ([fdo#109271] / [i915#1845]) +2 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-kbl-guc/igt@kms_hdr@static-swap.html
    - fi-hsw-g3258:       NOTRUN -> [SKIP][35] ([fdo#109271]) +5 similar issues
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-hsw-g3258/igt@kms_hdr@static-swap.html

  * igt@kms_hdr@static-toggle:
    - fi-tgl-u2:          NOTRUN -> [SKIP][36] ([i915#3555]) +6 similar issues
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-tgl-u2/igt@kms_hdr@static-toggle.html
    - fi-bxt-dsi:         NOTRUN -> [SKIP][37] ([fdo#109271]) +6 similar issues
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-bxt-dsi/igt@kms_hdr@static-toggle.html
    - fi-bsw-n3050:       NOTRUN -> [SKIP][38] ([fdo#109271]) +6 similar issues
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-bsw-n3050/igt@kms_hdr@static-toggle.html
    - fi-rkl-11600:       NOTRUN -> [SKIP][39] ([i915#3555]) +1 similar issue
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-rkl-11600/igt@kms_hdr@static-toggle.html
    - fi-pnv-d510:        NOTRUN -> [SKIP][40] ([fdo#109271]) +6 similar issues
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-pnv-d510/igt@kms_hdr@static-toggle.html
    - fi-glk-j4005:       NOTRUN -> [SKIP][41] ([fdo#109271]) +6 similar issues
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-glk-j4005/igt@kms_hdr@static-toggle.html
    - fi-skl-6700k2:      NOTRUN -> [SKIP][42] ([fdo#109271]) +6 similar issues
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-skl-6700k2/igt@kms_hdr@static-toggle.html
    - fi-cfl-8109u:       NOTRUN -> [SKIP][43] ([fdo#109271]) +5 similar issues
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-cfl-8109u/igt@kms_hdr@static-toggle.html
    - fi-kbl-7567u:       NOTRUN -> [SKIP][44] ([fdo#109271]) +6 similar issues
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-kbl-7567u/igt@kms_hdr@static-toggle.html
    - fi-kbl-8809g:       NOTRUN -> [SKIP][45] ([fdo#109271]) +6 similar issues
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-kbl-8809g/igt@kms_hdr@static-toggle.html
    - fi-ilk-650:         NOTRUN -> [SKIP][46] ([fdo#109271]) +6 similar issues
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-ilk-650/igt@kms_hdr@static-toggle.html
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][47] ([i915#3555]) +5 similar issues
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-tgl-1115g4/igt@kms_hdr@static-toggle.html
    - fi-adl-ddr5:        NOTRUN -> [SKIP][48] ([i915#3555]) +5 similar issues
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-adl-ddr5/igt@kms_hdr@static-toggle.html
    - fi-cfl-guc:         NOTRUN -> [SKIP][49] ([fdo#109271]) +6 similar issues
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-cfl-guc/igt@kms_hdr@static-toggle.html
    - fi-bdw-5557u:       NOTRUN -> [SKIP][50] ([fdo#109271]) +6 similar issues
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-bdw-5557u/igt@kms_hdr@static-toggle.html
    - fi-blb-e6850:       NOTRUN -> [SKIP][51] ([fdo#109271]) +6 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-blb-e6850/igt@kms_hdr@static-toggle.html
    - fi-skl-6600u:       NOTRUN -> [SKIP][52] ([fdo#109271]) +6 similar issues
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-skl-6600u/igt@kms_hdr@static-toggle.html

  * igt@runner@aborted:
    - fi-pnv-d510:        NOTRUN -> [FAIL][53] ([fdo#109271] / [i915#2403] / [i915#4312])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-pnv-d510/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@gt_engines:
    - bat-dg1-6:          [INCOMPLETE][54] ([i915#4418]) -> [PASS][55]
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/bat-dg1-6/igt@i915_selftest@live@gt_engines.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/bat-dg1-6/igt@i915_selftest@live@gt_engines.html

  * igt@i915_selftest@live@gt_pm:
    - fi-tgl-1115g4:      [DMESG-FAIL][56] ([i915#3987]) -> [PASS][57]
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/fi-tgl-1115g4/igt@i915_selftest@live@gt_pm.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-tgl-1115g4/igt@i915_selftest@live@gt_pm.html

  * igt@i915_selftest@live@hangcheck:
    - bat-dg1-5:          [DMESG-FAIL][58] ([i915#4494] / [i915#4957]) -> [PASS][59]
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/bat-dg1-5/igt@i915_selftest@live@hangcheck.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/bat-dg1-5/igt@i915_selftest@live@hangcheck.html

  * igt@i915_selftest@live@mman:
    - fi-bdw-5557u:       [INCOMPLETE][60] ([i915#5704]) -> [PASS][61]
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/fi-bdw-5557u/igt@i915_selftest@live@mman.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/fi-bdw-5557u/igt@i915_selftest@live@mman.html

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

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#2403]: https://gitlab.freedesktop.org/drm/intel/issues/2403
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3921]: https://gitlab.freedesktop.org/drm/intel/issues/3921
  [i915#3987]: https://gitlab.freedesktop.org/drm/intel/issues/3987
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4418]: https://gitlab.freedesktop.org/drm/intel/issues/4418
  [i915#4494]: https://gitlab.freedesktop.org/drm/intel/issues/4494
  [i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
  [i915#4785]: https://gitlab.freedesktop.org/drm/intel/issues/4785
  [i915#4957]: https://gitlab.freedesktop.org/drm/intel/issues/4957
  [i915#5171]: https://gitlab.freedesktop.org/drm/intel/issues/5171
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#5704]: https://gitlab.freedesktop.org/drm/intel/issues/5704
  [i915#5874]: https://gitlab.freedesktop.org/drm/intel/issues/5874
  [i915#6011]: https://gitlab.freedesktop.org/drm/intel/issues/6011


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

  * CI: CI-20190529 -> None
  * IGT: IGT_6500 -> IGTPW_7192

  CI-20190529: 20190529
  CI_DRM_11710: d2798c4b9213f0d14080bdeef58e692a2c01a0bf @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_7192: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7192/index.html
  IGT_6500: de4c6076a0f38ad3522b08931748f59d59a925ce @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

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

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

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

* [igt-dev] [V3 4/4] HAX: Add hdr & deep color tests to BAT
  2022-05-31  5:36 ` [igt-dev] [V3 4/4] HAX: Add hdr & deep color tests to BAT Bhanuprakash Modem
@ 2022-05-31  7:08   ` Bhanuprakash Modem
  0 siblings, 0 replies; 11+ messages in thread
From: Bhanuprakash Modem @ 2022-05-31  7:08 UTC (permalink / raw)
  To: igt-dev

Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 lib/igt_kms.c                         | 2 ++
 tests/intel-ci/fast-feedback.testlist | 7 +++++++
 tests/kms_color.c                     | 1 +
 tests/kms_hdr.c                       | 1 +
 4 files changed, 11 insertions(+)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index ada42cc8..df675384 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -5560,6 +5560,8 @@ static unsigned int get_current_bpc(int drmfd, enum pipe pipe,
 	unsigned int maximum = igt_get_output_max_bpc(drmfd, output_name);
 	unsigned int current = igt_get_pipe_current_bpc(drmfd, pipe);
 
+	igt_info("Debug --> Max bpc: %d, Current bpc: %d\n", maximum, current);
+
 	igt_require_f(maximum >= bpc,
 		      "Monitor doesn't support %u bpc, max is %u\n", bpc,
 		      maximum);
diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index b579c20a..aa4db852 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -105,6 +105,13 @@ igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size
 igt@kms_cursor_legacy@basic-flip-before-cursor-atomic
 igt@kms_cursor_legacy@basic-flip-before-cursor-legacy
 igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size
+igt@kms_color@pipe-A-deep-color
+igt@kms_color@pipe-B-deep-color
+igt@kms_color@pipe-C-deep-color
+igt@kms_color@pipe-D-deep-color
+igt@kms_hdr@bpc-switch
+igt@kms_hdr@static-toggle
+igt@kms_hdr@static-swap
 igt@kms_flip@basic-flip-vs-dpms
 igt@kms_flip@basic-flip-vs-modeset
 igt@kms_flip@basic-flip-vs-wf_vblank
diff --git a/tests/kms_color.c b/tests/kms_color.c
index cb50cbbf..aad40962 100644
--- a/tests/kms_color.c
+++ b/tests/kms_color.c
@@ -646,6 +646,7 @@ static bool i915_clock_constraint(data_t *data, enum pipe pipe, int bpc)
 		igt_output_override_mode(output, &connector->modes[j__]);
 		igt_display_commit(&data->display);
 
+		kmstest_dump_mode(&connector->modes[j__]);
 		if (!igt_check_output_bpc_equal(data->drm_fd, pipe,
 						data->output->name, bpc))
 			continue;
diff --git a/tests/kms_hdr.c b/tests/kms_hdr.c
index 224216b9..79dc5ad5 100644
--- a/tests/kms_hdr.c
+++ b/tests/kms_hdr.c
@@ -213,6 +213,7 @@ static bool i915_clock_constraint(data_t *data, int bpc, bool is_hdr)
 	igt_sort_connector_modes(connector, sort_drm_modes_by_clk_dsc);
 
 	for_each_connector_mode(output) {
+		kmstest_dump_mode(&connector->modes[j__]);
 		if (is_hdr && connector->modes[j__].hdisplay < 3840)
 			goto out;
 
-- 
2.35.1

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

* Re: [igt-dev] [V3 1/4] lib/igt_kms: Add helper functions to sort drm modes
  2022-05-31  5:36 ` [igt-dev] [V3 1/4] lib/igt_kms: Add helper functions to sort drm modes Bhanuprakash Modem
@ 2022-05-31  7:21   ` Nautiyal, Ankit K
  0 siblings, 0 replies; 11+ messages in thread
From: Nautiyal, Ankit K @ 2022-05-31  7:21 UTC (permalink / raw)
  To: Bhanuprakash Modem, igt-dev

The patch looks good to me.

The helper functions will need documentation.

With that fixed, this is:

Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>

On 5/31/2022 11:06 AM, Bhanuprakash Modem wrote:
> Add helper function to sort drm modes based on the clock, resolution
> in both ascending & descending order.
>
> V2:
> * Minor changes
>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> ---
>   lib/igt_kms.c | 55 +++++++++++++++++++++++++++++++++++++--------------
>   lib/igt_kms.h | 10 ++++++++++
>   2 files changed, 50 insertions(+), 15 deletions(-)
>
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index a25fac74..ada42cc8 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -1477,6 +1477,43 @@ void kmstest_force_edid(int drm_fd, drmModeConnector *connector,
>   	igt_assert(ret != -1);
>   }
>   
> +int sort_drm_modes_by_clk_dsc(const void *a, const void *b)
> +{
> +	const drmModeModeInfo *mode1 = a, *mode2 = b;
> +
> +	return (mode1->clock < mode2->clock) - (mode2->clock < mode1->clock);
> +}
> +
> +int sort_drm_modes_by_clk_asc(const void *a, const void *b)
> +{
> +	const drmModeModeInfo *mode1 = a, *mode2 = b;
> +
> +	return (mode1->clock > mode2->clock) - (mode2->clock > mode1->clock);
> +}
> +
> +int sort_drm_modes_by_res_dsc(const void *a, const void *b)
> +{
> +	const drmModeModeInfo *mode1 = a, *mode2 = b;
> +
> +	return (mode1->hdisplay < mode2->hdisplay) - (mode2->hdisplay < mode1->hdisplay);
> +}
> +
> +int sort_drm_modes_by_res_asc(const void *a, const void *b)
> +{
> +	const drmModeModeInfo *mode1 = a, *mode2 = b;
> +
> +	return (mode1->hdisplay > mode2->hdisplay) - (mode2->hdisplay > mode1->hdisplay);
> +}
> +
> +void igt_sort_connector_modes(drmModeConnector *connector,
> +			      int (*comparator)(const void *, const void*))
> +{
> +	qsort(connector->modes,
> +	      connector->count_modes,
> +	      sizeof(drmModeModeInfo),
> +	      comparator);
> +}
> +
>   /**
>    * kmstest_get_connector_default_mode:
>    * @drm_fd: DRM fd
> @@ -4204,16 +4241,6 @@ void igt_output_set_pipe(igt_output_t *output, enum pipe pipe)
>   	}
>   }
>   
> -#define for_each_connector_mode(output)		\
> -	for (int i__ = 0;  i__ < output->config.connector->count_modes; i__++)
> -
> -static int sort_drm_modes(const void *a, const void *b)
> -{
> -	const drmModeModeInfo *mode1 = a, *mode2 = b;
> -
> -	return (mode1->clock < mode2->clock) - (mode2->clock < mode1->clock);
> -}
> -
>   static
>   bool __override_all_active_output_modes_to_fit_bw(igt_display_t *display,
>   						  igt_output_t *outputs[IGT_MAX_PIPES],
> @@ -4230,7 +4257,7 @@ bool __override_all_active_output_modes_to_fit_bw(igt_display_t *display,
>   	for_each_connector_mode(output) {
>   		int ret;
>   
> -		igt_output_override_mode(output, &output->config.connector->modes[i__]);
> +		igt_output_override_mode(output, &output->config.connector->modes[j__]);
>   
>   		if (__override_all_active_output_modes_to_fit_bw(display, outputs, n_outputs, base + 1))
>   			return true;
> @@ -4271,10 +4298,8 @@ bool igt_override_all_active_output_modes_to_fit_bw(igt_display_t *display)
>   			continue;
>   
>   		/* Sort the modes in descending order by clock freq. */
> -		qsort(output->config.connector->modes,
> -		      output->config.connector->count_modes,
> -		      sizeof(drmModeModeInfo),
> -		      sort_drm_modes);
> +		igt_sort_connector_modes(output->config.connector,
> +					 sort_drm_modes_by_clk_dsc);
>   
>   		outputs[n_outputs++] = output;
>   	}
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index ba0bf4d6..0f12d825 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -637,6 +637,9 @@ igt_output_t **__igt_pipe_populate_outputs(igt_display_t *display,
>   	for (int j__ = 0; assert(igt_can_fail()), (plane) = &(display)->pipes[(pipe)].planes[j__], \
>   		     j__ < (display)->pipes[(pipe)].n_planes; j__++)
>   
> +#define for_each_connector_mode(output)		\
> +	for (int j__ = 0;  j__ < output->config.connector->count_modes; j__++)
> +
>   #define IGT_FIXED(i,f)	((i) << 16 | (f))
>   
>   /**
> @@ -957,4 +960,11 @@ void igt_assert_output_bpc_equal(int drmfd, enum pipe pipe,
>   bool igt_check_output_bpc_equal(int drmfd, enum pipe pipe,
>   				char *output_name, unsigned int bpc);
>   
> +int sort_drm_modes_by_clk_dsc(const void *a, const void *b);
> +int sort_drm_modes_by_clk_asc(const void *a, const void *b);
> +int sort_drm_modes_by_res_dsc(const void *a, const void *b);
> +int sort_drm_modes_by_res_asc(const void *a, const void *b);
> +void igt_sort_connector_modes(drmModeConnector *connector,
> +		int (*comparator)(const void *, const void*));
> +
>   #endif /* __IGT_KMS_H__ */

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

* Re: [igt-dev] [V3 2/4] tests/kms_hdr: Skip if current & requested BPC doesn't match
  2022-05-31  5:36 ` [igt-dev] [V3 2/4] tests/kms_hdr: Skip if current & requested BPC doesn't match Bhanuprakash Modem
@ 2022-05-31  8:15   ` Nautiyal, Ankit K
  0 siblings, 0 replies; 11+ messages in thread
From: Nautiyal, Ankit K @ 2022-05-31  8:15 UTC (permalink / raw)
  To: Bhanuprakash Modem, igt-dev

This looks better now.
Minor comments inline:

On 5/31/2022 11:06 AM, Bhanuprakash Modem wrote:
> The "max bpc" property only ensures that the bpc will not go beyond
> the value set through this property. It does not guarantee that the
> same bpc will be used for the given mode.
>
> If clock/bandwidth constraints permit, the max bpc will be used to
> show the mode, otherwise the bpc will be reduced. So, if we really
> want a particular bpc set, we can try reducing the resolution, till
> we get the bpc that we set in max bpc property.
>
> This patch will skip the test, if there is no valid resolution to get
> the same bpc as set by max_bpc property.
>
> V2:
> * Refactor the logic
> V3:
> * Minor changes
>
> Cc: Swati Sharma <swati2.sharma@intel.com>
> CC: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> ---
>   tests/kms_hdr.c | 55 +++++++++++++++++++++++++++++++++++++++++++------
>   1 file changed, 49 insertions(+), 6 deletions(-)
>
> diff --git a/tests/kms_hdr.c b/tests/kms_hdr.c
> index fb2e0790..224216b9 100644
> --- a/tests/kms_hdr.c
> +++ b/tests/kms_hdr.c
> @@ -144,8 +144,6 @@ static void test_bpc_switch_on_output(data_t *data, enum pipe pipe,
>   	igt_fb_t afb;
>   	int afb_id, ret;
>   
> -	prepare_test(data, output, pipe);
> -
>   	/* 10-bit formats are slow, so limit the size. */
>   	afb_id = igt_create_fb(data->fd, 512, 512, DRM_FORMAT_XRGB2101010, 0, &afb);
>   	igt_assert(afb_id);
> @@ -206,6 +204,37 @@ static bool has_max_bpc(igt_output_t *output)
>   	       igt_output_get_prop(output, IGT_CONNECTOR_MAX_BPC);
>   }
>   
> +static bool i915_clock_constraint(data_t *data, int bpc, bool is_hdr)
> +{
> +	igt_output_t *output = data->output;
> +	drmModeConnector *connector = output->config.connector;
> +
> +	igt_output_set_prop_value(data->output, IGT_CONNECTOR_MAX_BPC, bpc);
> +	igt_sort_connector_modes(connector, sort_drm_modes_by_clk_dsc);
> +
> +	for_each_connector_mode(output) {
> +		if (is_hdr && connector->modes[j__].hdisplay < 3840)
> +			goto out;

I was mistaken to suggest that we need at least 4k resolution for HDR in 
previous comment.

There doesn't seem to be any such restriction from the spec, so we can 
drop the check for 4K.

Otherwise the patch looks good to me.

Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>


Regards,

Ankit

> +
> +		igt_output_override_mode(output, &connector->modes[j__]);
> +		igt_display_commit_atomic(&data->display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
> +
> +		if (!igt_check_output_bpc_equal(data->fd, data->pipe_id,
> +						data->output->name, bpc))
> +			continue;
> +
> +		data->mode = igt_output_get_mode(output);
> +		data->w = data->mode->hdisplay;
> +		data->h = data->mode->vdisplay;
> +
> +		return true;
> +	}
> +
> +out:
> +	test_fini(data);
> +	return false;
> +}
> +
>   static void test_bpc_switch(data_t *data, uint32_t flags)
>   {
>   	igt_display_t *display = &data->display;
> @@ -217,8 +246,17 @@ static void test_bpc_switch(data_t *data, uint32_t flags)
>   		if (!has_max_bpc(output))
>   			continue;
>   
> +		if (igt_get_output_max_bpc(data->fd, output->name) < 10)
> +			continue;
> +
>   		for_each_pipe(display, pipe) {
>   			if (igt_pipe_connector_valid(pipe, output)) {
> +				prepare_test(data, output, pipe);
> +
> +				if (is_i915_device(data->fd) &&
> +				    !i915_clock_constraint(data, 10, false))
> +					break;
> +
>   				igt_dynamic_f("pipe-%s-%s",
>   					      kmstest_pipe_name(pipe), output->name)
>   					test_bpc_switch_on_output(data, pipe, output, flags);
> @@ -367,8 +405,6 @@ static void test_static_toggle(data_t *data, enum pipe pipe,
>   	igt_fb_t afb;
>   	int afb_id;
>   
> -	prepare_test(data, output, pipe);
> -
>   	/* 10-bit formats are slow, so limit the size. */
>   	afb_id = igt_create_fb(data->fd, 512, 512, DRM_FORMAT_XRGB2101010, 0, &afb);
>   	igt_assert(afb_id);
> @@ -446,8 +482,6 @@ static void test_static_swap(data_t *data, enum pipe pipe, igt_output_t *output)
>   	int afb_id;
>   	struct hdr_output_metadata hdr;
>   
> -	prepare_test(data, output, pipe);
> -
>   	/* 10-bit formats are slow, so limit the size. */
>   	afb_id = igt_create_fb(data->fd, 512, 512, DRM_FORMAT_XRGB2101010, 0, &afb);
>   	igt_assert(afb_id);
> @@ -532,8 +566,17 @@ static void test_hdr(data_t *data, uint32_t flags)
>   		if (!is_panel_hdr(data, output))
>   			continue;
>   
> +		if (igt_get_output_max_bpc(data->fd, output->name) < 10)
> +			continue;
> +
>   		for_each_pipe(display, pipe) {
>   			if (igt_pipe_connector_valid(pipe, output)) {
> +				prepare_test(data, output, pipe);
> +
> +				if (is_i915_device(data->fd) &&
> +				    !i915_clock_constraint(data, 10, true))
> +					break;
> +
>   				igt_dynamic_f("pipe-%s-%s",
>   					      kmstest_pipe_name(pipe), output->name) {
>   					if (flags & TEST_NONE || flags & TEST_DPMS || flags & TEST_SUSPEND)

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

* [igt-dev] ✗ Fi.CI.BAT: failure for Skip if current & requested BPC doesn't match (rev6)
  2022-05-31  5:36 [igt-dev] [V3 0/4] Skip if current & requested BPC doesn't match Bhanuprakash Modem
                   ` (4 preceding siblings ...)
  2022-05-31  6:51 ` [igt-dev] ✗ Fi.CI.BAT: failure for Skip if current & requested BPC doesn't match (rev5) Patchwork
@ 2022-05-31  8:21 ` Patchwork
  5 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2022-05-31  8:21 UTC (permalink / raw)
  To: Bhanuprakash Modem; +Cc: igt-dev

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

== Series Details ==

Series: Skip if current & requested BPC doesn't match (rev6)
URL   : https://patchwork.freedesktop.org/series/104275/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_11710 -> IGTPW_7195
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_7195 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_7195, please notify your bug team 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_7195/index.html

Participating hosts (46 -> 45)
------------------------------

  Additional (2): fi-icl-u2 bat-dg2-9 
  Missing    (3): bat-dg2-8 bat-adln-1 bat-adlm-1 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@kms_force_connector_basic@force-connector-state:
    - fi-icl-u2:          NOTRUN -> [WARN][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-icl-u2/igt@kms_force_connector_basic@force-connector-state.html

  * igt@kms_hdr@static-toggle:
    - bat-dg1-5:          NOTRUN -> [SKIP][2] +6 similar issues
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/bat-dg1-5/igt@kms_hdr@static-toggle.html

  
#### Suppressed ####

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

  * {igt@kms_hdr@bpc-switch@pipe-a-dp-1}:
    - fi-cfl-8109u:       NOTRUN -> [FAIL][3]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-cfl-8109u/igt@kms_hdr@bpc-switch@pipe-a-dp-1.html

  
New tests
---------

  New tests have been introduced between CI_DRM_11710 and IGTPW_7195:

### New IGT tests (2) ###

  * igt@kms_hdr@static-swap@pipe-a-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [0.95] s

  * igt@kms_hdr@static-toggle@pipe-a-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [0.81] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_huc_copy@huc-copy:
    - fi-icl-u2:          NOTRUN -> [SKIP][4] ([i915#2190])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-icl-u2/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@random-engines:
    - fi-icl-u2:          NOTRUN -> [SKIP][5] ([i915#4613]) +3 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-icl-u2/igt@gem_lmem_swapping@random-engines.html

  * igt@i915_module_load@reload:
    - fi-kbl-soraka:      [PASS][6] -> [DMESG-WARN][7] ([i915#1982])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/fi-kbl-soraka/igt@i915_module_load@reload.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-kbl-soraka/igt@i915_module_load@reload.html

  * igt@i915_selftest@live@gt_engines:
    - bat-dg1-5:          [PASS][8] -> [INCOMPLETE][9] ([i915#4418])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/bat-dg1-5/igt@i915_selftest@live@gt_engines.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/bat-dg1-5/igt@i915_selftest@live@gt_engines.html

  * igt@i915_selftest@live@hangcheck:
    - fi-bdw-5557u:       NOTRUN -> [INCOMPLETE][10] ([i915#3921])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-bdw-5557u/igt@i915_selftest@live@hangcheck.html
    - bat-dg1-6:          NOTRUN -> [DMESG-FAIL][11] ([i915#4494] / [i915#4957])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/bat-dg1-6/igt@i915_selftest@live@hangcheck.html

  * igt@i915_selftest@live@requests:
    - fi-pnv-d510:        [PASS][12] -> [DMESG-FAIL][13] ([i915#4528])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/fi-pnv-d510/igt@i915_selftest@live@requests.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-pnv-d510/igt@i915_selftest@live@requests.html

  * igt@i915_suspend@basic-s2idle-without-i915:
    - bat-dg1-6:          NOTRUN -> [INCOMPLETE][14] ([i915#6011])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/bat-dg1-6/igt@i915_suspend@basic-s2idle-without-i915.html

  * igt@i915_suspend@basic-s3-without-i915:
    - fi-icl-u2:          NOTRUN -> [SKIP][15] ([i915#5903])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-icl-u2/igt@i915_suspend@basic-s3-without-i915.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-icl-u2:          NOTRUN -> [SKIP][16] ([fdo#111827]) +8 similar issues
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-icl-u2/igt@kms_chamelium@hdmi-hpd-fast.html

  * igt@kms_color@pipe-a-deep-color:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][17] ([fdo#109271]) +6 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-kbl-soraka/igt@kms_color@pipe-a-deep-color.html
    - fi-hsw-4770:        NOTRUN -> [SKIP][18] ([fdo#109271]) +5 similar issues
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-hsw-4770/igt@kms_color@pipe-a-deep-color.html
    - bat-adlp-4:         NOTRUN -> [SKIP][19] ([i915#3555]) +3 similar issues
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/bat-adlp-4/igt@kms_color@pipe-a-deep-color.html
    - fi-ivb-3770:        NOTRUN -> [SKIP][20] ([fdo#109271]) +6 similar issues
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-ivb-3770/igt@kms_color@pipe-a-deep-color.html

  * igt@kms_color@pipe-b-deep-color:
    - fi-icl-u2:          NOTRUN -> [SKIP][21] ([fdo#109278] / [i915#3555]) +2 similar issues
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-icl-u2/igt@kms_color@pipe-b-deep-color.html
    - fi-rkl-guc:         NOTRUN -> [SKIP][22] ([i915#3555] / [i915#4070]) +2 similar issues
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-rkl-guc/igt@kms_color@pipe-b-deep-color.html
    - bat-dg1-6:          NOTRUN -> [SKIP][23] ([i915#3555]) +3 similar issues
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/bat-dg1-6/igt@kms_color@pipe-b-deep-color.html
    - fi-cfl-8700k:       NOTRUN -> [SKIP][24] ([fdo#109271]) +6 similar issues
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-cfl-8700k/igt@kms_color@pipe-b-deep-color.html

  * igt@kms_color@pipe-c-deep-color:
    - fi-kbl-guc:         NOTRUN -> [SKIP][25] ([fdo#109271]) +3 similar issues
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-kbl-guc/igt@kms_color@pipe-c-deep-color.html
    - fi-snb-2600:        NOTRUN -> [SKIP][26] ([fdo#109271]) +6 similar issues
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-snb-2600/igt@kms_color@pipe-c-deep-color.html
    - fi-rkl-11600:       NOTRUN -> [SKIP][27] ([i915#3555] / [i915#4070]) +2 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-rkl-11600/igt@kms_color@pipe-c-deep-color.html

  * igt@kms_color@pipe-d-deep-color:
    - fi-glk-dsi:         NOTRUN -> [SKIP][28] ([fdo#109271]) +6 similar issues
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-glk-dsi/igt@kms_color@pipe-d-deep-color.html
    - fi-bwr-2160:        NOTRUN -> [SKIP][29] ([fdo#109271]) +6 similar issues
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-bwr-2160/igt@kms_color@pipe-d-deep-color.html
    - fi-hsw-4770:        NOTRUN -> [SKIP][30] ([fdo#109271] / [i915#533])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-hsw-4770/igt@kms_color@pipe-d-deep-color.html
    - fi-rkl-11600:       NOTRUN -> [SKIP][31] ([i915#4070] / [i915#533])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-rkl-11600/igt@kms_color@pipe-d-deep-color.html
    - fi-rkl-guc:         NOTRUN -> [SKIP][32] ([i915#4070] / [i915#533])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-rkl-guc/igt@kms_color@pipe-d-deep-color.html
    - fi-hsw-g3258:       NOTRUN -> [SKIP][33] ([fdo#109271] / [i915#533])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-hsw-g3258/igt@kms_color@pipe-d-deep-color.html

  * igt@kms_force_connector_basic@force-load-detect:
    - fi-icl-u2:          NOTRUN -> [SKIP][34] ([fdo#109285])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-icl-u2/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_hdr@bpc-switch:
    - fi-bdw-gvtdvm:      NOTRUN -> [SKIP][35] ([fdo#109271]) +6 similar issues
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-bdw-gvtdvm/igt@kms_hdr@bpc-switch.html
    - fi-bsw-kefka:       NOTRUN -> [SKIP][36] ([fdo#109271]) +6 similar issues
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-bsw-kefka/igt@kms_hdr@bpc-switch.html
    - fi-snb-2520m:       NOTRUN -> [SKIP][37] ([fdo#109271]) +6 similar issues
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-snb-2520m/igt@kms_hdr@bpc-switch.html
    - fi-rkl-guc:         NOTRUN -> [SKIP][38] ([i915#3555]) +2 similar issues
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-rkl-guc/igt@kms_hdr@bpc-switch.html
    - fi-skl-guc:         NOTRUN -> [SKIP][39] ([fdo#109271]) +6 similar issues
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-skl-guc/igt@kms_hdr@bpc-switch.html

  * igt@kms_hdr@static-swap:
    - fi-elk-e7500:       NOTRUN -> [SKIP][40] ([fdo#109271]) +6 similar issues
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-elk-e7500/igt@kms_hdr@static-swap.html
    - fi-bsw-nick:        NOTRUN -> [SKIP][41] ([fdo#109271]) +6 similar issues
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-bsw-nick/igt@kms_hdr@static-swap.html
    - fi-kbl-guc:         NOTRUN -> [SKIP][42] ([fdo#109271] / [i915#1845]) +2 similar issues
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-kbl-guc/igt@kms_hdr@static-swap.html
    - fi-hsw-g3258:       NOTRUN -> [SKIP][43] ([fdo#109271]) +5 similar issues
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-hsw-g3258/igt@kms_hdr@static-swap.html

  * igt@kms_hdr@static-toggle:
    - fi-tgl-u2:          NOTRUN -> [SKIP][44] ([i915#3555]) +6 similar issues
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-tgl-u2/igt@kms_hdr@static-toggle.html
    - fi-bxt-dsi:         NOTRUN -> [SKIP][45] ([fdo#109271]) +6 similar issues
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-bxt-dsi/igt@kms_hdr@static-toggle.html
    - fi-bsw-n3050:       NOTRUN -> [SKIP][46] ([fdo#109271]) +6 similar issues
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-bsw-n3050/igt@kms_hdr@static-toggle.html
    - fi-rkl-11600:       NOTRUN -> [SKIP][47] ([i915#3555]) +1 similar issue
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-rkl-11600/igt@kms_hdr@static-toggle.html
    - fi-pnv-d510:        NOTRUN -> [SKIP][48] ([fdo#109271]) +6 similar issues
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-pnv-d510/igt@kms_hdr@static-toggle.html
    - fi-glk-j4005:       NOTRUN -> [SKIP][49] ([fdo#109271]) +6 similar issues
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-glk-j4005/igt@kms_hdr@static-toggle.html
    - fi-skl-6700k2:      NOTRUN -> [SKIP][50] ([fdo#109271]) +6 similar issues
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-skl-6700k2/igt@kms_hdr@static-toggle.html
    - fi-cfl-8109u:       NOTRUN -> [SKIP][51] ([fdo#109271]) +5 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-cfl-8109u/igt@kms_hdr@static-toggle.html
    - fi-kbl-7567u:       NOTRUN -> [SKIP][52] ([fdo#109271]) +6 similar issues
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-kbl-7567u/igt@kms_hdr@static-toggle.html
    - fi-kbl-8809g:       NOTRUN -> [SKIP][53] ([fdo#109271]) +6 similar issues
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-kbl-8809g/igt@kms_hdr@static-toggle.html
    - fi-ilk-650:         NOTRUN -> [SKIP][54] ([fdo#109271]) +6 similar issues
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-ilk-650/igt@kms_hdr@static-toggle.html
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][55] ([i915#3555]) +5 similar issues
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-tgl-1115g4/igt@kms_hdr@static-toggle.html
    - fi-adl-ddr5:        NOTRUN -> [SKIP][56] ([i915#3555]) +5 similar issues
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-adl-ddr5/igt@kms_hdr@static-toggle.html
    - fi-cfl-guc:         NOTRUN -> [SKIP][57] ([fdo#109271]) +6 similar issues
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-cfl-guc/igt@kms_hdr@static-toggle.html
    - fi-bdw-5557u:       NOTRUN -> [SKIP][58] ([fdo#109271]) +6 similar issues
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-bdw-5557u/igt@kms_hdr@static-toggle.html
    - fi-blb-e6850:       NOTRUN -> [SKIP][59] ([fdo#109271]) +6 similar issues
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-blb-e6850/igt@kms_hdr@static-toggle.html
    - fi-skl-6600u:       NOTRUN -> [SKIP][60] ([fdo#109271]) +6 similar issues
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-skl-6600u/igt@kms_hdr@static-toggle.html
    - fi-icl-u2:          NOTRUN -> [SKIP][61] ([i915#3555]) +3 similar issues
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-icl-u2/igt@kms_hdr@static-toggle.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
    - fi-icl-u2:          NOTRUN -> [SKIP][62] ([fdo#109278]) +3 similar issues
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-icl-u2/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html

  * igt@prime_vgem@basic-userptr:
    - fi-icl-u2:          NOTRUN -> [SKIP][63] ([fdo#109295] / [i915#3301])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-icl-u2/igt@prime_vgem@basic-userptr.html

  * igt@runner@aborted:
    - fi-pnv-d510:        NOTRUN -> [FAIL][64] ([fdo#109271] / [i915#2403] / [i915#4312])
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-pnv-d510/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@gt_engines:
    - bat-dg1-6:          [INCOMPLETE][65] ([i915#4418]) -> [PASS][66]
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/bat-dg1-6/igt@i915_selftest@live@gt_engines.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/bat-dg1-6/igt@i915_selftest@live@gt_engines.html

  * igt@i915_selftest@live@gt_pm:
    - fi-tgl-1115g4:      [DMESG-FAIL][67] ([i915#3987]) -> [PASS][68]
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/fi-tgl-1115g4/igt@i915_selftest@live@gt_pm.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-tgl-1115g4/igt@i915_selftest@live@gt_pm.html

  * igt@i915_selftest@live@mman:
    - fi-bdw-5557u:       [INCOMPLETE][69] ([i915#5704]) -> [PASS][70]
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11710/fi-bdw-5557u/igt@i915_selftest@live@mman.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/fi-bdw-5557u/igt@i915_selftest@live@mman.html

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

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2403]: https://gitlab.freedesktop.org/drm/intel/issues/2403
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3595]: https://gitlab.freedesktop.org/drm/intel/issues/3595
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3921]: https://gitlab.freedesktop.org/drm/intel/issues/3921
  [i915#3987]: https://gitlab.freedesktop.org/drm/intel/issues/3987
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [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#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4418]: https://gitlab.freedesktop.org/drm/intel/issues/4418
  [i915#4494]: https://gitlab.freedesktop.org/drm/intel/issues/4494
  [i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
  [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4873]: https://gitlab.freedesktop.org/drm/intel/issues/4873
  [i915#4957]: https://gitlab.freedesktop.org/drm/intel/issues/4957
  [i915#5122]: https://gitlab.freedesktop.org/drm/intel/issues/5122
  [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
  [i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#5704]: https://gitlab.freedesktop.org/drm/intel/issues/5704
  [i915#5763]: https://gitlab.freedesktop.org/drm/intel/issues/5763
  [i915#5885]: https://gitlab.freedesktop.org/drm/intel/issues/5885
  [i915#5903]: https://gitlab.freedesktop.org/drm/intel/issues/5903
  [i915#6011]: https://gitlab.freedesktop.org/drm/intel/issues/6011


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

  * CI: CI-20190529 -> None
  * IGT: IGT_6500 -> IGTPW_7195

  CI-20190529: 20190529
  CI_DRM_11710: d2798c4b9213f0d14080bdeef58e692a2c01a0bf @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_7195: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7195/index.html
  IGT_6500: de4c6076a0f38ad3522b08931748f59d59a925ce @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

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

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

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

* Re: [igt-dev] [V3 3/4] tests/kms_color: Skip if current & requested BPC doesn't match
  2022-05-31  5:36 ` [igt-dev] [V3 3/4] tests/kms_color: " Bhanuprakash Modem
@ 2022-05-31  9:05   ` Nautiyal, Ankit K
  0 siblings, 0 replies; 11+ messages in thread
From: Nautiyal, Ankit K @ 2022-05-31  9:05 UTC (permalink / raw)
  To: Bhanuprakash Modem, igt-dev

Looks good to me.

Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>

Regards,

Ankit

On 5/31/2022 11:06 AM, Bhanuprakash Modem wrote:
> The "max bpc" property only ensures that the bpc will not go beyond
> the value set through this property. It does not guarantee that the
> same bpc will be used for the given mode.
>
> If clock/bandwidth constraints permit, the max bpc will be used to
> show the mode, otherwise the bpc will be reduced. So, if we really
> want a particular bpc set, we can try reducing the resolution, till
> we get the bpc that we set in max bpc property.
>
> This patch will skip the test, if there is no valid resolution to get
> the same bpc as set by max_bpc property.
>
> V2:
> * Refactor the logic
> V3:
> * Minor changes
>
> Cc: Swati Sharma <swati2.sharma@intel.com>
> CC: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> ---
>   tests/kms_color.c | 29 +++++++++++++++++++++++++----
>   1 file changed, 25 insertions(+), 4 deletions(-)
>
> diff --git a/tests/kms_color.c b/tests/kms_color.c
> index 93957f50..cb50cbbf 100644
> --- a/tests/kms_color.c
> +++ b/tests/kms_color.c
> @@ -635,6 +635,28 @@ static void test_pipe_limited_range_ctm(data_t *data,
>   }
>   #endif
>   
> +static bool i915_clock_constraint(data_t *data, enum pipe pipe, int bpc)
> +{
> +	igt_output_t *output = data->output;
> +	drmModeConnector *connector = output->config.connector;
> +
> +	igt_sort_connector_modes(connector, sort_drm_modes_by_clk_dsc);
> +
> +	for_each_connector_mode(output) {
> +		igt_output_override_mode(output, &connector->modes[j__]);
> +		igt_display_commit(&data->display);
> +
> +		if (!igt_check_output_bpc_equal(data->drm_fd, pipe,
> +						data->output->name, bpc))
> +			continue;
> +
> +		return true;
> +	}
> +
> +	igt_output_override_mode(output, NULL);
> +	return false;
> +}
> +
>   static void
>   prep_pipe(data_t *data, enum pipe p)
>   {
> @@ -898,10 +920,9 @@ run_tests_for_pipe(data_t *data, enum pipe p)
>   			igt_output_set_prop_value(output, IGT_CONNECTOR_MAX_BPC, 10);
>   			igt_display_commit(&data->display);
>   
> -			if (!igt_check_output_bpc_equal(data->drm_fd, p, output->name, 10)) {
> -				igt_output_set_prop_value(output, IGT_CONNECTOR_MAX_BPC, max_bpc);
> -				igt_fail_on_f(true, "Failed to set max_bpc as: 10\n");
> -			}
> +			if (is_i915_device(data->drm_fd) &&
> +			    !i915_clock_constraint(data, p, 10))
> +				continue;
>   
>   			igt_dynamic_f("gamma-%s", output->name) {
>   				ret = test_pipe_gamma(data, primary);

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

end of thread, other threads:[~2022-05-31  9:05 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-31  5:36 [igt-dev] [V3 0/4] Skip if current & requested BPC doesn't match Bhanuprakash Modem
2022-05-31  5:36 ` [igt-dev] [V3 1/4] lib/igt_kms: Add helper functions to sort drm modes Bhanuprakash Modem
2022-05-31  7:21   ` Nautiyal, Ankit K
2022-05-31  5:36 ` [igt-dev] [V3 2/4] tests/kms_hdr: Skip if current & requested BPC doesn't match Bhanuprakash Modem
2022-05-31  8:15   ` Nautiyal, Ankit K
2022-05-31  5:36 ` [igt-dev] [V3 3/4] tests/kms_color: " Bhanuprakash Modem
2022-05-31  9:05   ` Nautiyal, Ankit K
2022-05-31  5:36 ` [igt-dev] [V3 4/4] HAX: Add hdr & deep color tests to BAT Bhanuprakash Modem
2022-05-31  7:08   ` Bhanuprakash Modem
2022-05-31  6:51 ` [igt-dev] ✗ Fi.CI.BAT: failure for Skip if current & requested BPC doesn't match (rev5) Patchwork
2022-05-31  8:21 ` [igt-dev] ✗ Fi.CI.BAT: failure for Skip if current & requested BPC doesn't match (rev6) Patchwork

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.