All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 0/3] Validate max source size
@ 2023-02-15 16:59 Swati Sharma
  2023-02-15 16:59 ` [igt-dev] [PATCH i-g-t 1/3] tests/kms_plane_scaling: Prep work Swati Sharma
                   ` (4 more replies)
  0 siblings, 5 replies; 16+ messages in thread
From: Swati Sharma @ 2023-02-15 16:59 UTC (permalink / raw)
  To: igt-dev

i915 specific test is added to validate max source size.

Swati Sharma (3):
  tests/kms_plane_scaling: Prep work
  tests/kms_plane_scaling: Remove extra newline
  tests/kms_plane_scaling: Add test to validate max source size

 tests/kms_plane_scaling.c | 113 +++++++++++++++++++++++++++++++++++---
 1 file changed, 104 insertions(+), 9 deletions(-)

-- 
2.25.1

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

* [igt-dev] [PATCH i-g-t 1/3] tests/kms_plane_scaling: Prep work
  2023-02-15 16:59 [igt-dev] [PATCH i-g-t 0/3] Validate max source size Swati Sharma
@ 2023-02-15 16:59 ` Swati Sharma
  2023-02-16 15:30   ` Juha-Pekka Heikkila
  2023-02-15 16:59 ` [igt-dev] [PATCH i-g-t 2/3] tests/kms_plane_scaling: Remove extra newline Swati Sharma
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 16+ messages in thread
From: Swati Sharma @ 2023-02-15 16:59 UTC (permalink / raw)
  To: igt-dev

struct can be reused to add more test cases.

Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
---
 tests/kms_plane_scaling.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index 4a04f42a0..382d199e0 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -42,6 +42,15 @@ typedef struct {
 	bool extended;
 } data_t;
 
+struct invalid_paramtests {
+	const char *testname;
+	uint32_t planesize[2];
+	struct {
+		enum igt_atomic_plane_properties prop;
+		uint32_t value;
+	} params[8];
+};
+
 const struct {
 	const char * const describe;
 	const char * const name;
@@ -827,14 +836,7 @@ static void invalid_parameter_tests(data_t *d)
 	igt_plane_t *plane;
 	int rval;
 
-	const struct {
-		const char *testname;
-		uint32_t planesize[2];
-		struct {
-			enum igt_atomic_plane_properties prop;
-			uint32_t value;
-		} params[8];
-	} paramtests[] = {
+	static const struct invalid_paramtests paramtests[2] = {
 		{
 			.testname = "less-than-1-height-src",
 			.planesize = {256, 8},
-- 
2.25.1

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

* [igt-dev] [PATCH i-g-t 2/3] tests/kms_plane_scaling: Remove extra newline
  2023-02-15 16:59 [igt-dev] [PATCH i-g-t 0/3] Validate max source size Swati Sharma
  2023-02-15 16:59 ` [igt-dev] [PATCH i-g-t 1/3] tests/kms_plane_scaling: Prep work Swati Sharma
@ 2023-02-15 16:59 ` Swati Sharma
  2023-02-16 15:31   ` Juha-Pekka Heikkila
  2023-02-15 16:59 ` [igt-dev] [PATCH i-g-t 3/3] tests/kms_plane_scaling: Add test to validate max source size Swati Sharma
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 16+ messages in thread
From: Swati Sharma @ 2023-02-15 16:59 UTC (permalink / raw)
  To: igt-dev

Remove extra newline.

Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
---
 tests/kms_plane_scaling.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index 382d199e0..9737d8645 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -872,7 +872,6 @@ static void invalid_parameter_tests(data_t *d)
 							paramtests[i].planesize[0],
 							paramtests[i].planesize[1]);
 
-
 				for (uint32_t j = 0; paramtests[i].params[j].prop != ~0; j++)
 					igt_plane_set_prop_value(plane,
 									paramtests[i].params[j].prop,
-- 
2.25.1

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

* [igt-dev] [PATCH i-g-t 3/3] tests/kms_plane_scaling: Add test to validate max source size
  2023-02-15 16:59 [igt-dev] [PATCH i-g-t 0/3] Validate max source size Swati Sharma
  2023-02-15 16:59 ` [igt-dev] [PATCH i-g-t 1/3] tests/kms_plane_scaling: Prep work Swati Sharma
  2023-02-15 16:59 ` [igt-dev] [PATCH i-g-t 2/3] tests/kms_plane_scaling: Remove extra newline Swati Sharma
@ 2023-02-15 16:59 ` Swati Sharma
  2023-02-16 15:31   ` Juha-Pekka Heikkila
  2023-02-16 19:29   ` Kamil Konieczny
  2023-02-15 17:49 ` [igt-dev] ✓ Fi.CI.BAT: success for Validate max source size (rev2) Patchwork
  2023-02-16 12:14 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  4 siblings, 2 replies; 16+ messages in thread
From: Swati Sharma @ 2023-02-15 16:59 UTC (permalink / raw)
  To: igt-dev

i915 specific test is added to validate max source size. This
test is expected to return -EINVAL for platforms where we have
max source width 4096 whereas it will pass on platforms having
max source width 5120. We have created fb of size 5120x4320
(=size of source) and downscaled to 3840x2400(=size of dest).

On MTL(disp_ver=14), in dmesg we can see
"[drm:skl_update_scaler [i915]] scaler_user index 0.0: src
5120x4320 dst 3840x2400 size is out of scaler range."
since max source width supported is 4096.
whereas same test will pass on ADLP(display_ver=13) since max
source width  supported is 5120.

Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
---
 tests/kms_plane_scaling.c | 94 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 94 insertions(+)

diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index 9737d8645..ae917b202 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -890,6 +890,95 @@ static void invalid_parameter_tests(data_t *d)
 	}
 }
 
+/*
+ *	Max source/destination width/height
+ *	for i915 driver.
+ *
+ *	DISPLAY_VER < 11
+ *		max_src_w = 4096
+ *		max_src_h = 4096
+ *		max_dst_w = 4096
+ *		max_dst_h = 4096
+ *
+ *	DISPLAY_VER = 11
+ *		max_src_w = 5120
+ *		max_src_h = 4096
+ *		max_dst_w = 5120
+ *		max_dst_h = 4096
+ *
+ *	DISPLAY_VER = 12-13
+ *		max_src_w = 5120
+ *		max_src_h = 8192
+ *		max_dst_w = 8192
+ *		max_dst_h = 8192
+ *
+ *	DISPLAY_VER = 14
+ *		max_src_w = 4096
+ *		max_src_h = 8192
+ *		max_dst_w = 8192
+ *		max_dst_h = 8192
+ */
+
+static void i915_max_source_size_test(data_t *d)
+{
+	enum pipe pipe = PIPE_A;
+	igt_output_t *output;
+	igt_fb_t fb;
+	igt_plane_t *plane;
+	int rval;
+
+	static const struct invalid_paramtests paramtests[1] = {
+		{
+			.testname = "max-src-size",
+			.planesize = {3840, 2400},
+			.params = {{~0}}
+		},
+	};
+
+	igt_fixture {
+		output = igt_get_single_output_for_pipe(&d->display, pipe);
+		igt_require(output);
+
+		igt_output_set_pipe(output, pipe);
+		plane = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+
+		igt_create_fb(d->drm_fd, 5120, 4320,
+			DRM_FORMAT_XRGB8888,
+			DRM_FORMAT_MOD_NONE,
+			&fb);
+	}
+
+	igt_describe("test for validating max source size.");
+	igt_subtest_with_dynamic("i915-max-source-size") {
+		for (uint32_t i = 0; i < ARRAY_SIZE(paramtests); i++) {
+			igt_dynamic(paramtests[i].testname) {
+				igt_plane_set_position(plane, 0, 0);
+				igt_plane_set_fb(plane, &fb);
+				igt_plane_set_size(plane,
+							paramtests[i].planesize[0],
+							paramtests[i].planesize[1]);
+
+				for (uint32_t j = 0; paramtests[i].params[j].prop != ~0; j++)
+					igt_plane_set_prop_value(plane,
+								 paramtests[i].params[j].prop,
+								 paramtests[i].params[j].value);
+
+				rval = igt_display_try_commit2(&d->display, COMMIT_ATOMIC);
+
+				if (intel_display_ver(d->devid) < 11 || intel_display_ver(d->devid) >= 14)
+					igt_assert(rval == -EINVAL || rval == -ERANGE);
+				else
+					igt_assert_eq(rval, 0);
+			}
+		}
+	}
+
+	igt_fixture {
+		igt_remove_fb(d->drm_fd, &fb);
+		igt_output_set_pipe(output, PIPE_NONE);
+	}
+}
+
 static int opt_handler(int opt, int opt_index, void *_data)
 {
 	data_t *data = _data;
@@ -1055,6 +1144,11 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 
 	invalid_parameter_tests(&data);
 
+	igt_fixture
+		igt_require_f(data.devid, "This test is valid only for i915 devices.\n");
+
+	i915_max_source_size_test(&data);
+
 	igt_fixture {
 		igt_display_fini(&data.display);
 		close(data.drm_fd);
-- 
2.25.1

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

* [igt-dev] ✓ Fi.CI.BAT: success for Validate max source size (rev2)
  2023-02-15 16:59 [igt-dev] [PATCH i-g-t 0/3] Validate max source size Swati Sharma
                   ` (2 preceding siblings ...)
  2023-02-15 16:59 ` [igt-dev] [PATCH i-g-t 3/3] tests/kms_plane_scaling: Add test to validate max source size Swati Sharma
@ 2023-02-15 17:49 ` Patchwork
  2023-02-16 12:14 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  4 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2023-02-15 17:49 UTC (permalink / raw)
  To: Swati Sharma; +Cc: igt-dev

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

== Series Details ==

Series: Validate max source size (rev2)
URL   : https://patchwork.freedesktop.org/series/114059/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12744 -> IGTPW_8503
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (40 -> 39)
------------------------------

  Additional (1): fi-kbl-soraka 
  Missing    (2): bat-kbl-2 fi-snb-2520m 

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

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

### IGT changes ###

#### Suppressed ####

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

  * igt@i915_suspend@basic-s2idle-without-i915:
    - {bat-rpls-1}:       [PASS][1] -> [ABORT][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/bat-rpls-1/igt@i915_suspend@basic-s2idle-without-i915.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/bat-rpls-1/igt@i915_suspend@basic-s2idle-without-i915.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_gttfill@basic:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][3] ([fdo#109271]) +15 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/fi-kbl-soraka/igt@gem_exec_gttfill@basic.html

  * igt@gem_exec_suspend@basic-s3@smem:
    - fi-rkl-11600:       [PASS][4] -> [FAIL][5] ([fdo#103375]) +1 similar issue
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/fi-rkl-11600/igt@gem_exec_suspend@basic-s3@smem.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/fi-rkl-11600/igt@gem_exec_suspend@basic-s3@smem.html

  * igt@gem_huc_copy@huc-copy:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][6] ([fdo#109271] / [i915#2190])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/fi-kbl-soraka/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@basic:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][7] ([fdo#109271] / [i915#4613]) +3 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/fi-kbl-soraka/igt@gem_lmem_swapping@basic.html

  * igt@i915_selftest@live@execlists:
    - fi-kbl-soraka:      NOTRUN -> [INCOMPLETE][8] ([i915#7913])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/fi-kbl-soraka/igt@i915_selftest@live@execlists.html

  * igt@i915_selftest@live@gt_pm:
    - fi-kbl-soraka:      NOTRUN -> [DMESG-FAIL][9] ([i915#1886])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/fi-kbl-soraka/igt@i915_selftest@live@gt_pm.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@hangcheck:
    - fi-skl-guc:         [DMESG-WARN][10] ([i915#8073]) -> [PASS][11]
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/fi-skl-guc/igt@i915_selftest@live@hangcheck.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/fi-skl-guc/igt@i915_selftest@live@hangcheck.html

  * igt@i915_selftest@live@mman:
    - {bat-rpls-1}:       [TIMEOUT][12] ([i915#6794]) -> [PASS][13]
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/bat-rpls-1/igt@i915_selftest@live@mman.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/bat-rpls-1/igt@i915_selftest@live@mman.html

  * igt@i915_selftest@live@reset:
    - {bat-rpls-2}:       [ABORT][14] ([i915#4983]) -> [PASS][15]
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/bat-rpls-2/igt@i915_selftest@live@reset.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/bat-rpls-2/igt@i915_selftest@live@reset.html

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

  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [i915#1886]: https://gitlab.freedesktop.org/drm/intel/issues/1886
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
  [i915#6687]: https://gitlab.freedesktop.org/drm/intel/issues/6687
  [i915#6794]: https://gitlab.freedesktop.org/drm/intel/issues/6794
  [i915#6997]: https://gitlab.freedesktop.org/drm/intel/issues/6997
  [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
  [i915#8073]: https://gitlab.freedesktop.org/drm/intel/issues/8073


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

  * CI: CI-20190529 -> None
  * IGT: IGT_7160 -> IGTPW_8503

  CI-20190529: 20190529
  CI_DRM_12744: 2e4cac06e4de01a35626de676b9eeb474ae7ab5d @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_8503: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/index.html
  IGT_7160: 45da871dd2684227e93a2fc002b87dfc58bd5fd9 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git


Testlist changes
----------------

+igt@kms_plane_scaling@i915-max-source-size
-igt@v3d/v3d_job_submission@array-job-submission
-igt@v3d/v3d_job_submission@multiple-singlesync-to-multisync
-igt@v3d/v3d_job_submission@threaded-job-submission
-igt@v3d/v3d_submit_csd@bad-bo
-igt@v3d/v3d_submit_csd@bad-extension
-igt@v3d/v3d_submit_csd@bad-flag
-igt@v3d/v3d_submit_csd@bad-in-sync
-igt@v3d/v3d_submit_csd@bad-multisync-extension
-igt@v3d/v3d_submit_csd@bad-multisync-in-sync
-igt@v3d/v3d_submit_csd@bad-multisync-out-sync
-igt@v3d/v3d_submit_csd@bad-multisync-pad
-igt@v3d/v3d_submit_csd@bad-pad
-igt@v3d/v3d_submit_csd@bad-perfmon
-igt@v3d/v3d_submit_csd@job-perfmon
-igt@v3d/v3d_submit_csd@multiple-job-submission
-igt@v3d/v3d_submit_csd@multisync-out-syncs
-igt@v3d/v3d_submit_csd@multi-and-single-sync
-igt@v3d/v3d_submit_csd@single-in-sync
-igt@v3d/v3d_submit_csd@single-out-sync
-igt@v3d/v3d_submit_csd@valid-multisync-submission
-igt@v3d/v3d_submit_csd@valid-submission

== Logs ==

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

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

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

* [igt-dev] ✓ Fi.CI.IGT: success for Validate max source size (rev2)
  2023-02-15 16:59 [igt-dev] [PATCH i-g-t 0/3] Validate max source size Swati Sharma
                   ` (3 preceding siblings ...)
  2023-02-15 17:49 ` [igt-dev] ✓ Fi.CI.BAT: success for Validate max source size (rev2) Patchwork
@ 2023-02-16 12:14 ` Patchwork
  4 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2023-02-16 12:14 UTC (permalink / raw)
  To: Swati Sharma; +Cc: igt-dev

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

== Series Details ==

Series: Validate max source size (rev2)
URL   : https://patchwork.freedesktop.org/series/114059/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12744_full -> IGTPW_8503_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (10 -> 11)
------------------------------

  Additional (1): shard-rkl0 

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

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

### IGT changes ###

#### Possible regressions ####

  * {igt@kms_plane_scaling@i915-max-source-size@max-src-size} (NEW):
    - shard-apl:          NOTRUN -> [FAIL][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-apl3/igt@kms_plane_scaling@i915-max-source-size@max-src-size.html
    - shard-glk:          NOTRUN -> [FAIL][2]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-glk6/igt@kms_plane_scaling@i915-max-source-size@max-src-size.html

  
New tests
---------

  New tests have been introduced between CI_DRM_12744_full and IGTPW_8503_full:

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

  * igt@kms_plane_scaling@i915-max-source-size:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_plane_scaling@i915-max-source-size@max-src-size:
    - Statuses : 2 fail(s) 2 pass(s)
    - Exec time: [0.0] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_fair@basic-none@vecs0:
    - shard-glk:          [PASS][3] -> [FAIL][4] ([i915#2842])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-glk2/igt@gem_exec_fair@basic-none@vecs0.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-glk4/igt@gem_exec_fair@basic-none@vecs0.html

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-apl:          [PASS][5] -> [FAIL][6] ([i915#2842])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-apl3/igt@gem_exec_fair@basic-pace-solo@rcs0.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-apl3/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@gem_exec_schedule@wide@rcs0:
    - shard-glk:          [PASS][7] -> [FAIL][8] ([i915#6659])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-glk9/igt@gem_exec_schedule@wide@rcs0.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-glk8/igt@gem_exec_schedule@wide@rcs0.html

  * igt@gem_userptr_blits@vma-merge:
    - shard-apl:          NOTRUN -> [FAIL][9] ([i915#3318])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-apl3/igt@gem_userptr_blits@vma-merge.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-apl:          [PASS][10] -> [ABORT][11] ([i915#5566])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-apl2/igt@gen9_exec_parse@allowed-single.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-apl6/igt@gen9_exec_parse@allowed-single.html

  * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-vga:
    - shard-snb:          NOTRUN -> [SKIP][12] ([fdo#109271]) +25 similar issues
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-snb6/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-vga.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bc-hdmi-a1-hdmi-a2:
    - shard-glk:          [PASS][13] -> [FAIL][14] ([i915#79]) +1 similar issue
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-glk2/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bc-hdmi-a1-hdmi-a2.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-glk9/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bc-hdmi-a1-hdmi-a2.html

  * igt@kms_flip@2x-plain-flip-ts-check-interruptible@ab-hdmi-a1-hdmi-a2:
    - shard-glk:          [PASS][15] -> [FAIL][16] ([i915#2122])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-glk1/igt@kms_flip@2x-plain-flip-ts-check-interruptible@ab-hdmi-a1-hdmi-a2.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-glk3/igt@kms_flip@2x-plain-flip-ts-check-interruptible@ab-hdmi-a1-hdmi-a2.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-mmap-gtt:
    - shard-glk:          NOTRUN -> [SKIP][17] ([fdo#109271]) +7 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-glk4/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-mmap-gtt.html

  * igt@kms_plane_alpha_blend@alpha-transparent-fb@pipe-c-dp-1:
    - shard-apl:          NOTRUN -> [FAIL][18] ([i915#4573]) +1 similar issue
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-apl2/igt@kms_plane_alpha_blend@alpha-transparent-fb@pipe-c-dp-1.html

  * igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-75@pipe-b-dp-1:
    - shard-apl:          NOTRUN -> [SKIP][19] ([fdo#109271]) +32 similar issues
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-apl3/igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-75@pipe-b-dp-1.html

  
#### Possible fixes ####

  * igt@drm_fdinfo@most-busy-idle-check-all@rcs0:
    - {shard-rkl}:        [FAIL][20] ([i915#7742]) -> [PASS][21]
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-rkl-6/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-rkl-5/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html

  * igt@fbdev@eof:
    - {shard-rkl}:        [SKIP][22] ([i915#2582]) -> [PASS][23] +1 similar issue
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-rkl-4/igt@fbdev@eof.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-rkl-3/igt@fbdev@eof.html
    - {shard-tglu}:       [SKIP][24] ([i915#2582]) -> [PASS][25]
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-tglu-6/igt@fbdev@eof.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-tglu-4/igt@fbdev@eof.html

  * igt@gem_bad_reloc@negative-reloc:
    - {shard-rkl}:        [SKIP][26] ([i915#3281]) -> [PASS][27] +8 similar issues
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-rkl-4/igt@gem_bad_reloc@negative-reloc.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-rkl-5/igt@gem_bad_reloc@negative-reloc.html

  * igt@gem_ctx_exec@basic-nohangcheck:
    - {shard-rkl}:        [FAIL][28] ([i915#6268]) -> [PASS][29]
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-rkl-2/igt@gem_ctx_exec@basic-nohangcheck.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-rkl-3/igt@gem_ctx_exec@basic-nohangcheck.html

  * igt@gem_ctx_isolation@preservation-s3@vcs0:
    - shard-apl:          [ABORT][30] -> [PASS][31]
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-apl1/igt@gem_ctx_isolation@preservation-s3@vcs0.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-apl2/igt@gem_ctx_isolation@preservation-s3@vcs0.html

  * igt@gem_eio@in-flight-external:
    - {shard-rkl}:        [ABORT][32] ([i915#7811]) -> [PASS][33]
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-rkl-1/igt@gem_eio@in-flight-external.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-rkl-6/igt@gem_eio@in-flight-external.html

  * igt@gem_exec_fair@basic-none-share@rcs0:
    - shard-glk:          [FAIL][34] ([i915#2842]) -> [PASS][35]
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-glk9/igt@gem_exec_fair@basic-none-share@rcs0.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-glk7/igt@gem_exec_fair@basic-none-share@rcs0.html

  * igt@gem_exec_suspend@basic-s3@smem:
    - {shard-rkl}:        [ABORT][36] ([i915#5122]) -> [PASS][37]
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-rkl-4/igt@gem_exec_suspend@basic-s3@smem.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-rkl-3/igt@gem_exec_suspend@basic-s3@smem.html

  * igt@gem_pread@self:
    - {shard-rkl}:        [SKIP][38] ([i915#3282]) -> [PASS][39] +3 similar issues
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-rkl-3/igt@gem_pread@self.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-rkl-5/igt@gem_pread@self.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-glk:          [ABORT][40] ([i915#5566]) -> [PASS][41]
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-glk6/igt@gen9_exec_parse@allowed-single.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-glk4/igt@gen9_exec_parse@allowed-single.html

  * igt@gen9_exec_parse@bb-chained:
    - {shard-rkl}:        [SKIP][42] ([i915#2527]) -> [PASS][43] +2 similar issues
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-rkl-3/igt@gen9_exec_parse@bb-chained.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-rkl-5/igt@gen9_exec_parse@bb-chained.html

  * igt@i915_pm_dc@dc9-dpms:
    - shard-apl:          [SKIP][44] ([fdo#109271]) -> [PASS][45]
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-apl7/igt@i915_pm_dc@dc9-dpms.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-apl6/igt@i915_pm_dc@dc9-dpms.html

  * igt@i915_pm_rpm@drm-resources-equal:
    - {shard-rkl}:        [SKIP][46] ([fdo#109308]) -> [PASS][47]
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-rkl-5/igt@i915_pm_rpm@drm-resources-equal.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-rkl-6/igt@i915_pm_rpm@drm-resources-equal.html

  * igt@kms_frontbuffer_tracking@fbc-1p-indfb-fliptrack-mmap-gtt:
    - {shard-tglu}:       [SKIP][48] ([i915#1849]) -> [PASS][49] +2 similar issues
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-tglu-6/igt@kms_frontbuffer_tracking@fbc-1p-indfb-fliptrack-mmap-gtt.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-tglu-3/igt@kms_frontbuffer_tracking@fbc-1p-indfb-fliptrack-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
    - {shard-rkl}:        [SKIP][50] ([i915#1849] / [i915#4098]) -> [PASS][51] +12 similar issues
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-rkl-1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt.html

  * igt@kms_psr@sprite_plane_onoff:
    - {shard-rkl}:        [SKIP][52] ([i915#1072]) -> [PASS][53] +1 similar issue
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-rkl-4/igt@kms_psr@sprite_plane_onoff.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-rkl-6/igt@kms_psr@sprite_plane_onoff.html

  * igt@kms_vblank@pipe-a-query-forked:
    - {shard-tglu}:       [SKIP][54] ([i915#1845] / [i915#7651]) -> [PASS][55] +13 similar issues
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-tglu-6/igt@kms_vblank@pipe-a-query-forked.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-tglu-1/igt@kms_vblank@pipe-a-query-forked.html

  * igt@kms_vblank@pipe-a-ts-continuation-idle:
    - {shard-rkl}:        [SKIP][56] ([i915#1845] / [i915#4098]) -> [PASS][57] +9 similar issues
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12744/shard-rkl-4/igt@kms_vblank@pipe-a-ts-continuation-idle.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/shard-rkl-6/igt@kms_vblank@pipe-a-ts-continuation-idle.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#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308
  [fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312
  [fdo#109313]: https://bugs.freedesktop.org/show_bug.cgi?id=109313
  [fdo#109314]: https://bugs.freedesktop.org/show_bug.cgi?id=109314
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644
  [fdo#111656]: https://bugs.freedesktop.org/show_bug.cgi?id=111656
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1257]: https://gitlab.freedesktop.org/drm/intel/issues/1257
  [i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
  [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
  [i915#1902]: https://gitlab.freedesktop.org/drm/intel/issues/1902
  [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122
  [i915#2434]: https://gitlab.freedesktop.org/drm/intel/issues/2434
  [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
  [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
  [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
  [i915#284]: https://gitlab.freedesktop.org/drm/intel/issues/284
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
  [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
  [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
  [i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318
  [i915#3323]: https://gitlab.freedesktop.org/drm/intel/issues/3323
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3361]: https://gitlab.freedesktop.org/drm/intel/issues/3361
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3528]: https://gitlab.freedesktop.org/drm/intel/issues/3528
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3558]: https://gitlab.freedesktop.org/drm/intel/issues/3558
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
  [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3952]: https://gitlab.freedesktop.org/drm/intel/issues/3952
  [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
  [i915#404]: https://gitlab.freedesktop.org/drm/intel/issues/404
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
  [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#426]: https://gitlab.freedesktop.org/drm/intel/issues/426
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4387]: https://gitlab.freedesktop.org/drm/intel/issues/4387
  [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
  [i915#4573]: https://gitlab.freedesktop.org/drm/intel/issues/4573
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771
  [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
  [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
  [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
  [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
  [i915#4879]: https://gitlab.freedesktop.org/drm/intel/issues/4879
  [i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880
  [i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885
  [i915#4958]: https://gitlab.freedesktop.org/drm/intel/issues/4958
  [i915#5122]: https://gitlab.freedesktop.org/drm/intel/issues/5122
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#5431]: https://gitlab.freedesktop.org/drm/intel/issues/5431
  [i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439
  [i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461
  [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
  [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
  [i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723
  [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6117]: https://gitlab.freedesktop.org/drm/intel/issues/6117
  [i915#6247]: https://gitlab.freedesktop.org/drm/intel/issues/6247
  [i915#6248]: https://gitlab.freedesktop.org/drm/intel/issues/6248
  [i915#6252]: https://gitlab.freedesktop.org/drm/intel/issues/6252
  [i915#6258]: https://gitlab.freedesktop.org/drm/intel/issues/6258
  [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
  [i915#6335]: https://gitlab.freedesktop.org/drm/intel/issues/6335
  [i915#6412]: https://gitlab.freedesktop.org/drm/intel/issues/6412
  [i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433
  [i915#6497]: https://gitlab.freedesktop.org/drm/intel/issues/6497
  [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6590]: https://gitlab.freedesktop.org/drm/intel/issues/6590
  [i915#6659]: https://gitlab.freedesktop.org/drm/intel/issues/6659
  [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
  [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944
  [i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953
  [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
  [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
  [i915#7128]: https://gitlab.freedesktop.org/drm/intel/issues/7128
  [i915#7294]: https://gitlab.freedesktop.org/drm/intel/issues/7294
  [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
  [i915#7582]: https://gitlab.freedesktop.org/drm/intel/issues/7582
  [i915#7651]: https://gitlab.freedesktop.org/drm/intel/issues/7651
  [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
  [i915#7707]: https://gitlab.freedesktop.org/drm/intel/issues/7707
  [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
  [i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
  [i915#7811]: https://gitlab.freedesktop.org/drm/intel/issues/7811
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
  [i915#7949]: https://gitlab.freedesktop.org/drm/intel/issues/7949
  [i915#7957]: https://gitlab.freedesktop.org/drm/intel/issues/7957
  [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
  [i915#7984]: https://gitlab.freedesktop.org/drm/intel/issues/7984
  [i915#8151]: https://gitlab.freedesktop.org/drm/intel/issues/8151
  [i915#8152]: https://gitlab.freedesktop.org/drm/intel/issues/8152
  [i915#8155]: https://gitlab.freedesktop.org/drm/intel/issues/8155


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

  * CI: CI-20190529 -> None
  * IGT: IGT_7160 -> IGTPW_8503

  CI-20190529: 20190529
  CI_DRM_12744: 2e4cac06e4de01a35626de676b9eeb474ae7ab5d @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_8503: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8503/index.html
  IGT_7160: 45da871dd2684227e93a2fc002b87dfc58bd5fd9 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

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

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

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

* Re: [igt-dev] [PATCH i-g-t 1/3] tests/kms_plane_scaling: Prep work
  2023-02-15 16:59 ` [igt-dev] [PATCH i-g-t 1/3] tests/kms_plane_scaling: Prep work Swati Sharma
@ 2023-02-16 15:30   ` Juha-Pekka Heikkila
  2023-02-17  8:19     ` Swati Sharma
  0 siblings, 1 reply; 16+ messages in thread
From: Juha-Pekka Heikkila @ 2023-02-16 15:30 UTC (permalink / raw)
  To: Swati Sharma, igt-dev

On 15.2.2023 18.59, Swati Sharma wrote:
> struct can be reused to add more test cases.
> 
> Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
> ---
>   tests/kms_plane_scaling.c | 18 ++++++++++--------
>   1 file changed, 10 insertions(+), 8 deletions(-)
> 
> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
> index 4a04f42a0..382d199e0 100644
> --- a/tests/kms_plane_scaling.c
> +++ b/tests/kms_plane_scaling.c
> @@ -42,6 +42,15 @@ typedef struct {
>   	bool extended;
>   } data_t;
>   
> +struct invalid_paramtests {
> +	const char *testname;
> +	uint32_t planesize[2];
> +	struct {
> +		enum igt_atomic_plane_properties prop;
> +		uint32_t value;
> +	} params[8];
> +};
> +
>   const struct {
>   	const char * const describe;
>   	const char * const name;
> @@ -827,14 +836,7 @@ static void invalid_parameter_tests(data_t *d)
>   	igt_plane_t *plane;
>   	int rval;
>   
> -	const struct {
> -		const char *testname;
> -		uint32_t planesize[2];
> -		struct {
> -			enum igt_atomic_plane_properties prop;
> -			uint32_t value;
> -		} params[8];
> -	} paramtests[] = {
> +	static const struct invalid_paramtests paramtests[2] = {

"static const struct invalid_paramtests paramtests[]" would be better 
here, ie. not declaring here how long is the list of tests

>   		{
>   			.testname = "less-than-1-height-src",
>   			.planesize = {256, 8},

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

* Re: [igt-dev] [PATCH i-g-t 2/3] tests/kms_plane_scaling: Remove extra newline
  2023-02-15 16:59 ` [igt-dev] [PATCH i-g-t 2/3] tests/kms_plane_scaling: Remove extra newline Swati Sharma
@ 2023-02-16 15:31   ` Juha-Pekka Heikkila
  2023-02-17  8:20     ` Swati Sharma
  0 siblings, 1 reply; 16+ messages in thread
From: Juha-Pekka Heikkila @ 2023-02-16 15:31 UTC (permalink / raw)
  To: Swati Sharma, igt-dev

On 15.2.2023 18.59, Swati Sharma wrote:
> Remove extra newline.
> 
> Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
> ---
>   tests/kms_plane_scaling.c | 1 -
>   1 file changed, 1 deletion(-)
> 
> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
> index 382d199e0..9737d8645 100644
> --- a/tests/kms_plane_scaling.c
> +++ b/tests/kms_plane_scaling.c
> @@ -872,7 +872,6 @@ static void invalid_parameter_tests(data_t *d)
>   							paramtests[i].planesize[0],
>   							paramtests[i].planesize[1]);
>   
> -
>   				for (uint32_t j = 0; paramtests[i].params[j].prop != ~0; j++)
>   					igt_plane_set_prop_value(plane,
>   									paramtests[i].params[j].prop,

While doing these fixes you could also fix that indentation on this 
igt_plane_set_prop_value(..) with those following lines having parameters.

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

* Re: [igt-dev] [PATCH i-g-t 3/3] tests/kms_plane_scaling: Add test to validate max source size
  2023-02-15 16:59 ` [igt-dev] [PATCH i-g-t 3/3] tests/kms_plane_scaling: Add test to validate max source size Swati Sharma
@ 2023-02-16 15:31   ` Juha-Pekka Heikkila
  2023-02-17  8:21     ` Swati Sharma
  2023-02-16 19:29   ` Kamil Konieczny
  1 sibling, 1 reply; 16+ messages in thread
From: Juha-Pekka Heikkila @ 2023-02-16 15:31 UTC (permalink / raw)
  To: Swati Sharma, igt-dev

On 15.2.2023 18.59, Swati Sharma wrote:
> i915 specific test is added to validate max source size. This
> test is expected to return -EINVAL for platforms where we have
> max source width 4096 whereas it will pass on platforms having
> max source width 5120. We have created fb of size 5120x4320
> (=size of source) and downscaled to 3840x2400(=size of dest).
> 
> On MTL(disp_ver=14), in dmesg we can see
> "[drm:skl_update_scaler [i915]] scaler_user index 0.0: src
> 5120x4320 dst 3840x2400 size is out of scaler range."
> since max source width supported is 4096.
> whereas same test will pass on ADLP(display_ver=13) since max
> source width  supported is 5120.
> 
> Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
> ---
>   tests/kms_plane_scaling.c | 94 +++++++++++++++++++++++++++++++++++++++
>   1 file changed, 94 insertions(+)
> 
> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
> index 9737d8645..ae917b202 100644
> --- a/tests/kms_plane_scaling.c
> +++ b/tests/kms_plane_scaling.c
> @@ -890,6 +890,95 @@ static void invalid_parameter_tests(data_t *d)
>   	}
>   }
>   
> +/*
> + *	Max source/destination width/height
> + *	for i915 driver.
> + *
> + *	DISPLAY_VER < 11
> + *		max_src_w = 4096
> + *		max_src_h = 4096
> + *		max_dst_w = 4096
> + *		max_dst_h = 4096
> + *
> + *	DISPLAY_VER = 11
> + *		max_src_w = 5120
> + *		max_src_h = 4096
> + *		max_dst_w = 5120
> + *		max_dst_h = 4096
> + *
> + *	DISPLAY_VER = 12-13
> + *		max_src_w = 5120
> + *		max_src_h = 8192
> + *		max_dst_w = 8192
> + *		max_dst_h = 8192
> + *
> + *	DISPLAY_VER = 14
> + *		max_src_w = 4096
> + *		max_src_h = 8192
> + *		max_dst_w = 8192
> + *		max_dst_h = 8192

I think here could be added comment these numbers are coming from 
drivers/gpu/drm/i915/display/skl_scaler.c in kernel sources

> + */
> +
> +static void i915_max_source_size_test(data_t *d)
> +{
> +	enum pipe pipe = PIPE_A;
> +	igt_output_t *output;
> +	igt_fb_t fb;
> +	igt_plane_t *plane;
> +	int rval;
> +
> +	static const struct invalid_paramtests paramtests[1] = {

"static const struct invalid_paramtests paramtests[]" would be better 
here, ie. not declaring here how long is the list of tests

> +		{
> +			.testname = "max-src-size",
> +			.planesize = {3840, 2400},
> +			.params = {{~0}}
> +		},
> +	};
> +
> +	igt_fixture {
> +		output = igt_get_single_output_for_pipe(&d->display, pipe);
> +		igt_require(output);
> +
> +		igt_output_set_pipe(output, pipe);
> +		plane = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> +
> +		igt_create_fb(d->drm_fd, 5120, 4320,
> +			DRM_FORMAT_XRGB8888,
> +			DRM_FORMAT_MOD_NONE,
> +			&fb);

above indentation is off on those lines with parameters.

> +	}
> +
> +	igt_describe("test for validating max source size.");
> +	igt_subtest_with_dynamic("i915-max-source-size") {
> +		for (uint32_t i = 0; i < ARRAY_SIZE(paramtests); i++) {
> +			igt_dynamic(paramtests[i].testname) {
> +				igt_plane_set_position(plane, 0, 0);
> +				igt_plane_set_fb(plane, &fb);
> +				igt_plane_set_size(plane,
> +							paramtests[i].planesize[0],
> +							paramtests[i].planesize[1]);
> +
> +				for (uint32_t j = 0; paramtests[i].params[j].prop != ~0; j++)
> +					igt_plane_set_prop_value(plane,
> +								 paramtests[i].params[j].prop,
> +								 paramtests[i].params[j].value);
> +
> +				rval = igt_display_try_commit2(&d->display, COMMIT_ATOMIC);
> +
> +				if (intel_display_ver(d->devid) < 11 || intel_display_ver(d->devid) >= 14)
> +					igt_assert(rval == -EINVAL || rval == -ERANGE);
> +				else
> +					igt_assert_eq(rval, 0);
> +			}
> +		}
> +	}
> +
> +	igt_fixture {
> +		igt_remove_fb(d->drm_fd, &fb);
> +		igt_output_set_pipe(output, PIPE_NONE);
> +	}
> +}
> +
>   static int opt_handler(int opt, int opt_index, void *_data)
>   {
>   	data_t *data = _data;
> @@ -1055,6 +1144,11 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
>   
>   	invalid_parameter_tests(&data);
>   
> +	igt_fixture
> +		igt_require_f(data.devid, "This test is valid only for i915 devices.\n");
> +
> +	i915_max_source_size_test(&data);
> +

These above changes I think could be wrapped inside igt_subtest_group so 
that i915 requirement doesn't become inherited if someone come add 
something here after this test.

>   	igt_fixture {
>   		igt_display_fini(&data.display);
>   		close(data.drm_fd);

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

* Re: [igt-dev] [PATCH i-g-t 3/3] tests/kms_plane_scaling: Add test to validate max source size
  2023-02-15 16:59 ` [igt-dev] [PATCH i-g-t 3/3] tests/kms_plane_scaling: Add test to validate max source size Swati Sharma
  2023-02-16 15:31   ` Juha-Pekka Heikkila
@ 2023-02-16 19:29   ` Kamil Konieczny
  2023-02-17  6:13     ` Juha-Pekka Heikkila
  2023-02-17  8:29     ` Swati Sharma
  1 sibling, 2 replies; 16+ messages in thread
From: Kamil Konieczny @ 2023-02-16 19:29 UTC (permalink / raw)
  To: igt-dev

Hi Swati,

On 2023-02-15 at 22:29:47 +0530, Swati Sharma wrote:
> i915 specific test is added to validate max source size. This
> test is expected to return -EINVAL for platforms where we have
> max source width 4096 whereas it will pass on platforms having
> max source width 5120. We have created fb of size 5120x4320
> (=size of source) and downscaled to 3840x2400(=size of dest).
> 
> On MTL(disp_ver=14), in dmesg we can see
> "[drm:skl_update_scaler [i915]] scaler_user index 0.0: src
> 5120x4320 dst 3840x2400 size is out of scaler range."
> since max source width supported is 4096.
> whereas same test will pass on ADLP(display_ver=13) since max
> source width  supported is 5120.
> 
> Signed-off-by: Swati Sharma <swati2.sharma@intel.com>

+cc Juha-Pekka

> ---
>  tests/kms_plane_scaling.c | 94 +++++++++++++++++++++++++++++++++++++++
>  1 file changed, 94 insertions(+)
> 
> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
> index 9737d8645..ae917b202 100644
> --- a/tests/kms_plane_scaling.c
> +++ b/tests/kms_plane_scaling.c
> @@ -890,6 +890,95 @@ static void invalid_parameter_tests(data_t *d)
>  	}
>  }
>  
> +/*
> + *	Max source/destination width/height
> + *	for i915 driver.
> + *
> + *	DISPLAY_VER < 11
> + *		max_src_w = 4096
> + *		max_src_h = 4096
> + *		max_dst_w = 4096
> + *		max_dst_h = 4096
> + *
> + *	DISPLAY_VER = 11
> + *		max_src_w = 5120
> + *		max_src_h = 4096
> + *		max_dst_w = 5120
> + *		max_dst_h = 4096
> + *
> + *	DISPLAY_VER = 12-13
> + *		max_src_w = 5120
> + *		max_src_h = 8192
> + *		max_dst_w = 8192
> + *		max_dst_h = 8192
> + *
> + *	DISPLAY_VER = 14
> + *		max_src_w = 4096
> + *		max_src_h = 8192
> + *		max_dst_w = 8192
> + *		max_dst_h = 8192
> + */
> +
> +static void i915_max_source_size_test(data_t *d)
> +{
> +	enum pipe pipe = PIPE_A;
> +	igt_output_t *output;
> +	igt_fb_t fb;
> +	igt_plane_t *plane;
> +	int rval;
> +
> +	static const struct invalid_paramtests paramtests[1] = {
> +		{
> +			.testname = "max-src-size",
> +			.planesize = {3840, 2400},
> +			.params = {{~0}}
> +		},
> +	};
> +
> +	igt_fixture {
> +		output = igt_get_single_output_for_pipe(&d->display, pipe);
> +		igt_require(output);
--------------- ^
You are not in subtest.

> +
> +		igt_output_set_pipe(output, pipe);
> +		plane = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> +
> +		igt_create_fb(d->drm_fd, 5120, 4320,
> +			DRM_FORMAT_XRGB8888,
> +			DRM_FORMAT_MOD_NONE,
> +			&fb);
> +	}

Is this fixture only for i915 ? It looks generic, even if
igt_create_fb will fail (but you need to remember fb_id here).

> +
> +	igt_describe("test for validating max source size.");
> +	igt_subtest_with_dynamic("i915-max-source-size") {

Here you can put igt_require for i915 driver and also
require for fb_id != 0.

> +		for (uint32_t i = 0; i < ARRAY_SIZE(paramtests); i++) {
> +			igt_dynamic(paramtests[i].testname) {
> +				igt_plane_set_position(plane, 0, 0);
> +				igt_plane_set_fb(plane, &fb);
> +				igt_plane_set_size(plane,
> +							paramtests[i].planesize[0],
> +							paramtests[i].planesize[1]);
> +
> +				for (uint32_t j = 0; paramtests[i].params[j].prop != ~0; j++)
> +					igt_plane_set_prop_value(plane,
> +								 paramtests[i].params[j].prop,
> +								 paramtests[i].params[j].value);
> +
> +				rval = igt_display_try_commit2(&d->display, COMMIT_ATOMIC);
> +
> +				if (intel_display_ver(d->devid) < 11 || intel_display_ver(d->devid) >= 14)
> +					igt_assert(rval == -EINVAL || rval == -ERANGE);
> +				else
> +					igt_assert_eq(rval, 0);
> +			}
> +		}
> +	}
> +
> +	igt_fixture {
> +		igt_remove_fb(d->drm_fd, &fb);
> +		igt_output_set_pipe(output, PIPE_NONE);
> +	}
> +}
> +
>  static int opt_handler(int opt, int opt_index, void *_data)
>  {
>  	data_t *data = _data;
> @@ -1055,6 +1144,11 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
>  
>  	invalid_parameter_tests(&data);
>  
> +	igt_fixture
> +		igt_require_f(data.devid, "This test is valid only for i915 devices.\n");

Do not do this, use igt_require_f inside (dynamic_)subtest.

Regards,
Kamil

> +
> +	i915_max_source_size_test(&data);
> +
>  	igt_fixture {
>  		igt_display_fini(&data.display);
>  		close(data.drm_fd);
> -- 
> 2.25.1
> 

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

* Re: [igt-dev] [PATCH i-g-t 3/3] tests/kms_plane_scaling: Add test to validate max source size
  2023-02-16 19:29   ` Kamil Konieczny
@ 2023-02-17  6:13     ` Juha-Pekka Heikkila
  2023-02-17  8:29     ` Swati Sharma
  1 sibling, 0 replies; 16+ messages in thread
From: Juha-Pekka Heikkila @ 2023-02-17  6:13 UTC (permalink / raw)
  To: Kamil Konieczny, igt-dev, Swati Sharma

On 16.2.2023 21.29, Kamil Konieczny wrote:
> Hi Swati,
> 
> On 2023-02-15 at 22:29:47 +0530, Swati Sharma wrote:
>> i915 specific test is added to validate max source size. This
>> test is expected to return -EINVAL for platforms where we have
>> max source width 4096 whereas it will pass on platforms having
>> max source width 5120. We have created fb of size 5120x4320
>> (=size of source) and downscaled to 3840x2400(=size of dest).
>>
>> On MTL(disp_ver=14), in dmesg we can see
>> "[drm:skl_update_scaler [i915]] scaler_user index 0.0: src
>> 5120x4320 dst 3840x2400 size is out of scaler range."
>> since max source width supported is 4096.
>> whereas same test will pass on ADLP(display_ver=13) since max
>> source width  supported is 5120.
>>
>> Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
> 
> +cc Juha-Pekka
> 
>> ---
>>   tests/kms_plane_scaling.c | 94 +++++++++++++++++++++++++++++++++++++++
>>   1 file changed, 94 insertions(+)
>>
>> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
>> index 9737d8645..ae917b202 100644
>> --- a/tests/kms_plane_scaling.c
>> +++ b/tests/kms_plane_scaling.c
>> @@ -890,6 +890,95 @@ static void invalid_parameter_tests(data_t *d)
>>   	}
>>   }
>>   
>> +/*
>> + *	Max source/destination width/height
>> + *	for i915 driver.
>> + *
>> + *	DISPLAY_VER < 11
>> + *		max_src_w = 4096
>> + *		max_src_h = 4096
>> + *		max_dst_w = 4096
>> + *		max_dst_h = 4096
>> + *
>> + *	DISPLAY_VER = 11
>> + *		max_src_w = 5120
>> + *		max_src_h = 4096
>> + *		max_dst_w = 5120
>> + *		max_dst_h = 4096
>> + *
>> + *	DISPLAY_VER = 12-13
>> + *		max_src_w = 5120
>> + *		max_src_h = 8192
>> + *		max_dst_w = 8192
>> + *		max_dst_h = 8192
>> + *
>> + *	DISPLAY_VER = 14
>> + *		max_src_w = 4096
>> + *		max_src_h = 8192
>> + *		max_dst_w = 8192
>> + *		max_dst_h = 8192
>> + */
>> +
>> +static void i915_max_source_size_test(data_t *d)
>> +{
>> +	enum pipe pipe = PIPE_A;
>> +	igt_output_t *output;
>> +	igt_fb_t fb;
>> +	igt_plane_t *plane;
>> +	int rval;
>> +
>> +	static const struct invalid_paramtests paramtests[1] = {
>> +		{
>> +			.testname = "max-src-size",
>> +			.planesize = {3840, 2400},
>> +			.params = {{~0}}
>> +		},
>> +	};
>> +
>> +	igt_fixture {
>> +		output = igt_get_single_output_for_pipe(&d->display, pipe);
>> +		igt_require(output);
> --------------- ^
> You are not in subtest.
> 
>> +
>> +		igt_output_set_pipe(output, pipe);
>> +		plane = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
>> +
>> +		igt_create_fb(d->drm_fd, 5120, 4320,
>> +			DRM_FORMAT_XRGB8888,
>> +			DRM_FORMAT_MOD_NONE,
>> +			&fb);
>> +	}
> 
> Is this fixture only for i915 ? It looks generic, even if
> igt_create_fb will fail (but you need to remember fb_id here).

just quickly drive by commenting.. these tests on this patch are for 
i915, hence above fixture is for tests below.

> 
>> +
>> +	igt_describe("test for validating max source size.");
>> +	igt_subtest_with_dynamic("i915-max-source-size") {
> 
> Here you can put igt_require for i915 driver and also
> require for fb_id != 0.
> 

If igt_create_fb will fail it will assert out at 
igt_create_fb_with_bo_size and there's no point in checking for fb_id 
being zero.

>> +		for (uint32_t i = 0; i < ARRAY_SIZE(paramtests); i++) {
>> +			igt_dynamic(paramtests[i].testname) {
>> +				igt_plane_set_position(plane, 0, 0);
>> +				igt_plane_set_fb(plane, &fb);
>> +				igt_plane_set_size(plane,
>> +							paramtests[i].planesize[0],
>> +							paramtests[i].planesize[1]);
>> +
>> +				for (uint32_t j = 0; paramtests[i].params[j].prop != ~0; j++)
>> +					igt_plane_set_prop_value(plane,
>> +								 paramtests[i].params[j].prop,
>> +								 paramtests[i].params[j].value);
>> +
>> +				rval = igt_display_try_commit2(&d->display, COMMIT_ATOMIC);
>> +
>> +				if (intel_display_ver(d->devid) < 11 || intel_display_ver(d->devid) >= 14)
>> +					igt_assert(rval == -EINVAL || rval == -ERANGE);
>> +				else
>> +					igt_assert_eq(rval, 0);
>> +			}
>> +		}
>> +	}
>> +
>> +	igt_fixture {
>> +		igt_remove_fb(d->drm_fd, &fb);
>> +		igt_output_set_pipe(output, PIPE_NONE);
>> +	}
>> +}
>> +
>>   static int opt_handler(int opt, int opt_index, void *_data)
>>   {
>>   	data_t *data = _data;
>> @@ -1055,6 +1144,11 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
>>   
>>   	invalid_parameter_tests(&data);
>>   
>> +	igt_fixture
>> +		igt_require_f(data.devid, "This test is valid only for i915 devices.\n");
> 
> Do not do this, use igt_require_f inside (dynamic_)subtest.

Imo igt_subtest_group is what's needed to be put around these, fixture 
is meant for this checking when anything inside will depend on 
something. Putting igt_require_f inside subtest will just waste test 
execution time when on platform where required conditions are not met. 
You can see same pattern used on other tests, simplest example coming to 
my mind at kms_addfb_basic.

/Juha-Pekka

> 
>> +
>> +	i915_max_source_size_test(&data);
>> +
>>   	igt_fixture {
>>   		igt_display_fini(&data.display);
>>   		close(data.drm_fd);
>> -- 
>> 2.25.1
>>

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

* Re: [igt-dev] [PATCH i-g-t 1/3] tests/kms_plane_scaling: Prep work
  2023-02-16 15:30   ` Juha-Pekka Heikkila
@ 2023-02-17  8:19     ` Swati Sharma
  0 siblings, 0 replies; 16+ messages in thread
From: Swati Sharma @ 2023-02-17  8:19 UTC (permalink / raw)
  To: juhapekka.heikkila, igt-dev


On 16-Feb-23 9:00 PM, Juha-Pekka Heikkila wrote:
> On 15.2.2023 18.59, Swati Sharma wrote:
>> struct can be reused to add more test cases.
>>
>> Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
>> ---
>>   tests/kms_plane_scaling.c | 18 ++++++++++--------
>>   1 file changed, 10 insertions(+), 8 deletions(-)
>>
>> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
>> index 4a04f42a0..382d199e0 100644
>> --- a/tests/kms_plane_scaling.c
>> +++ b/tests/kms_plane_scaling.c
>> @@ -42,6 +42,15 @@ typedef struct {
>>       bool extended;
>>   } data_t;
>> +struct invalid_paramtests {
>> +    const char *testname;
>> +    uint32_t planesize[2];
>> +    struct {
>> +        enum igt_atomic_plane_properties prop;
>> +        uint32_t value;
>> +    } params[8];
>> +};
>> +
>>   const struct {
>>       const char * const describe;
>>       const char * const name;
>> @@ -827,14 +836,7 @@ static void invalid_parameter_tests(data_t *d)
>>       igt_plane_t *plane;
>>       int rval;
>> -    const struct {
>> -        const char *testname;
>> -        uint32_t planesize[2];
>> -        struct {
>> -            enum igt_atomic_plane_properties prop;
>> -            uint32_t value;
>> -        } params[8];
>> -    } paramtests[] = {
>> +    static const struct invalid_paramtests paramtests[2] = {
> 
> "static const struct invalid_paramtests paramtests[]" would be better 
> here, ie. not declaring here how long is the list of tests

Done. Added new series with the fixes 
https://patchwork.freedesktop.org/series/114059/
> 
>>           {
>>               .testname = "less-than-1-height-src",
>>               .planesize = {256, 8},
> 

-- 
~Swati Sharma

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

* Re: [igt-dev] [PATCH i-g-t 2/3] tests/kms_plane_scaling: Remove extra newline
  2023-02-16 15:31   ` Juha-Pekka Heikkila
@ 2023-02-17  8:20     ` Swati Sharma
  0 siblings, 0 replies; 16+ messages in thread
From: Swati Sharma @ 2023-02-17  8:20 UTC (permalink / raw)
  To: juhapekka.heikkila, igt-dev



On 16-Feb-23 9:01 PM, Juha-Pekka Heikkila wrote:
> On 15.2.2023 18.59, Swati Sharma wrote:
>> Remove extra newline.
>>
>> Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
>> ---
>>   tests/kms_plane_scaling.c | 1 -
>>   1 file changed, 1 deletion(-)
>>
>> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
>> index 382d199e0..9737d8645 100644
>> --- a/tests/kms_plane_scaling.c
>> +++ b/tests/kms_plane_scaling.c
>> @@ -872,7 +872,6 @@ static void invalid_parameter_tests(data_t *d)
>>                               paramtests[i].planesize[0],
>>                               paramtests[i].planesize[1]);
>> -
>>                   for (uint32_t j = 0; paramtests[i].params[j].prop != 
>> ~0; j++)
>>                       igt_plane_set_prop_value(plane,
>>                                       paramtests[i].params[j].prop,
> 
> While doing these fixes you could also fix that indentation on this 
> igt_plane_set_prop_value(..) with those following lines having parameters.

Done. Sent the new series with fixes 
https://patchwork.freedesktop.org/series/114059/
> 

-- 
~Swati Sharma

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

* Re: [igt-dev] [PATCH i-g-t 3/3] tests/kms_plane_scaling: Add test to validate max source size
  2023-02-16 15:31   ` Juha-Pekka Heikkila
@ 2023-02-17  8:21     ` Swati Sharma
  0 siblings, 0 replies; 16+ messages in thread
From: Swati Sharma @ 2023-02-17  8:21 UTC (permalink / raw)
  To: juhapekka.heikkila, igt-dev



On 16-Feb-23 9:01 PM, Juha-Pekka Heikkila wrote:
> On 15.2.2023 18.59, Swati Sharma wrote:
>> i915 specific test is added to validate max source size. This
>> test is expected to return -EINVAL for platforms where we have
>> max source width 4096 whereas it will pass on platforms having
>> max source width 5120. We have created fb of size 5120x4320
>> (=size of source) and downscaled to 3840x2400(=size of dest).
>>
>> On MTL(disp_ver=14), in dmesg we can see
>> "[drm:skl_update_scaler [i915]] scaler_user index 0.0: src
>> 5120x4320 dst 3840x2400 size is out of scaler range."
>> since max source width supported is 4096.
>> whereas same test will pass on ADLP(display_ver=13) since max
>> source width  supported is 5120.
>>
>> Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
>> ---
>>   tests/kms_plane_scaling.c | 94 +++++++++++++++++++++++++++++++++++++++
>>   1 file changed, 94 insertions(+)
>>
>> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
>> index 9737d8645..ae917b202 100644
>> --- a/tests/kms_plane_scaling.c
>> +++ b/tests/kms_plane_scaling.c
>> @@ -890,6 +890,95 @@ static void invalid_parameter_tests(data_t *d)
>>       }
>>   }
>> +/*
>> + *    Max source/destination width/height
>> + *    for i915 driver.
>> + *
>> + *    DISPLAY_VER < 11
>> + *        max_src_w = 4096
>> + *        max_src_h = 4096
>> + *        max_dst_w = 4096
>> + *        max_dst_h = 4096
>> + *
>> + *    DISPLAY_VER = 11
>> + *        max_src_w = 5120
>> + *        max_src_h = 4096
>> + *        max_dst_w = 5120
>> + *        max_dst_h = 4096
>> + *
>> + *    DISPLAY_VER = 12-13
>> + *        max_src_w = 5120
>> + *        max_src_h = 8192
>> + *        max_dst_w = 8192
>> + *        max_dst_h = 8192
>> + *
>> + *    DISPLAY_VER = 14
>> + *        max_src_w = 4096
>> + *        max_src_h = 8192
>> + *        max_dst_w = 8192
>> + *        max_dst_h = 8192
> 
> I think here could be added comment these numbers are coming from 
> drivers/gpu/drm/i915/display/skl_scaler.c in kernel sources
> 
>> + */
>> +
>> +static void i915_max_source_size_test(data_t *d)
>> +{
>> +    enum pipe pipe = PIPE_A;
>> +    igt_output_t *output;
>> +    igt_fb_t fb;
>> +    igt_plane_t *plane;
>> +    int rval;
>> +
>> +    static const struct invalid_paramtests paramtests[1] = {
> 
> "static const struct invalid_paramtests paramtests[]" would be better 
> here, ie. not declaring here how long is the list of tests
> 
>> +        {
>> +            .testname = "max-src-size",
>> +            .planesize = {3840, 2400},
>> +            .params = {{~0}}
>> +        },
>> +    };
>> +
>> +    igt_fixture {
>> +        output = igt_get_single_output_for_pipe(&d->display, pipe);
>> +        igt_require(output);
>> +
>> +        igt_output_set_pipe(output, pipe);
>> +        plane = igt_output_get_plane_type(output, 
>> DRM_PLANE_TYPE_PRIMARY);
>> +
>> +        igt_create_fb(d->drm_fd, 5120, 4320,
>> +            DRM_FORMAT_XRGB8888,
>> +            DRM_FORMAT_MOD_NONE,
>> +            &fb);
> 
> above indentation is off on those lines with parameters.
> 
>> +    }
>> +
>> +    igt_describe("test for validating max source size.");
>> +    igt_subtest_with_dynamic("i915-max-source-size") {
>> +        for (uint32_t i = 0; i < ARRAY_SIZE(paramtests); i++) {
>> +            igt_dynamic(paramtests[i].testname) {
>> +                igt_plane_set_position(plane, 0, 0);
>> +                igt_plane_set_fb(plane, &fb);
>> +                igt_plane_set_size(plane,
>> +                            paramtests[i].planesize[0],
>> +                            paramtests[i].planesize[1]);
>> +
>> +                for (uint32_t j = 0; paramtests[i].params[j].prop != 
>> ~0; j++)
>> +                    igt_plane_set_prop_value(plane,
>> +                                 paramtests[i].params[j].prop,
>> +                                 paramtests[i].params[j].value);
>> +
>> +                rval = igt_display_try_commit2(&d->display, 
>> COMMIT_ATOMIC);
>> +
>> +                if (intel_display_ver(d->devid) < 11 || 
>> intel_display_ver(d->devid) >= 14)
>> +                    igt_assert(rval == -EINVAL || rval == -ERANGE);
>> +                else
>> +                    igt_assert_eq(rval, 0);
>> +            }
>> +        }
>> +    }
>> +
>> +    igt_fixture {
>> +        igt_remove_fb(d->drm_fd, &fb);
>> +        igt_output_set_pipe(output, PIPE_NONE);
>> +    }
>> +}
>> +
>>   static int opt_handler(int opt, int opt_index, void *_data)
>>   {
>>       data_t *data = _data;
>> @@ -1055,6 +1144,11 @@ igt_main_args("", long_opts, help_str, 
>> opt_handler, &data)
>>       invalid_parameter_tests(&data);
>> +    igt_fixture
>> +        igt_require_f(data.devid, "This test is valid only for i915 
>> devices.\n");
>> +
>> +    i915_max_source_size_test(&data);
>> +
> 
> These above changes I think could be wrapped inside igt_subtest_group so 
> that i915 requirement doesn't become inherited if someone come add 
> something here after this test.

Done. Sent new series with the fixes 
https://patchwork.freedesktop.org/series/114059/

> 
>>       igt_fixture {
>>           igt_display_fini(&data.display);
>>           close(data.drm_fd);
> 
-- 
~Swati Sharma

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

* Re: [igt-dev] [PATCH i-g-t 3/3] tests/kms_plane_scaling: Add test to validate max source size
  2023-02-16 19:29   ` Kamil Konieczny
  2023-02-17  6:13     ` Juha-Pekka Heikkila
@ 2023-02-17  8:29     ` Swati Sharma
  1 sibling, 0 replies; 16+ messages in thread
From: Swati Sharma @ 2023-02-17  8:29 UTC (permalink / raw)
  To: Kamil Konieczny, igt-dev, Juha-Pekka Heikkila

Hi Kamil,

I have floated next rev https://patchwork.freedesktop.org/series/114059/
addressing review comments from JP.

igt_require() inside dynamic_subtest() is not recommended.
All these conditions should be checked before executing the
test. In the past, we have seen CRASHES if such conditions
are put inside the subtest.

On 17-Feb-23 12:59 AM, Kamil Konieczny wrote:
> Hi Swati,
> 
> On 2023-02-15 at 22:29:47 +0530, Swati Sharma wrote:
>> i915 specific test is added to validate max source size. This
>> test is expected to return -EINVAL for platforms where we have
>> max source width 4096 whereas it will pass on platforms having
>> max source width 5120. We have created fb of size 5120x4320
>> (=size of source) and downscaled to 3840x2400(=size of dest).
>>
>> On MTL(disp_ver=14), in dmesg we can see
>> "[drm:skl_update_scaler [i915]] scaler_user index 0.0: src
>> 5120x4320 dst 3840x2400 size is out of scaler range."
>> since max source width supported is 4096.
>> whereas same test will pass on ADLP(display_ver=13) since max
>> source width  supported is 5120.
>>
>> Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
> 
> +cc Juha-Pekka
> 
>> ---
>>   tests/kms_plane_scaling.c | 94 +++++++++++++++++++++++++++++++++++++++
>>   1 file changed, 94 insertions(+)
>>
>> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
>> index 9737d8645..ae917b202 100644
>> --- a/tests/kms_plane_scaling.c
>> +++ b/tests/kms_plane_scaling.c
>> @@ -890,6 +890,95 @@ static void invalid_parameter_tests(data_t *d)
>>   	}
>>   }
>>   
>> +/*
>> + *	Max source/destination width/height
>> + *	for i915 driver.
>> + *
>> + *	DISPLAY_VER < 11
>> + *		max_src_w = 4096
>> + *		max_src_h = 4096
>> + *		max_dst_w = 4096
>> + *		max_dst_h = 4096
>> + *
>> + *	DISPLAY_VER = 11
>> + *		max_src_w = 5120
>> + *		max_src_h = 4096
>> + *		max_dst_w = 5120
>> + *		max_dst_h = 4096
>> + *
>> + *	DISPLAY_VER = 12-13
>> + *		max_src_w = 5120
>> + *		max_src_h = 8192
>> + *		max_dst_w = 8192
>> + *		max_dst_h = 8192
>> + *
>> + *	DISPLAY_VER = 14
>> + *		max_src_w = 4096
>> + *		max_src_h = 8192
>> + *		max_dst_w = 8192
>> + *		max_dst_h = 8192
>> + */
>> +
>> +static void i915_max_source_size_test(data_t *d)
>> +{
>> +	enum pipe pipe = PIPE_A;
>> +	igt_output_t *output;
>> +	igt_fb_t fb;
>> +	igt_plane_t *plane;
>> +	int rval;
>> +
>> +	static const struct invalid_paramtests paramtests[1] = {
>> +		{
>> +			.testname = "max-src-size",
>> +			.planesize = {3840, 2400},
>> +			.params = {{~0}}
>> +		},
>> +	};
>> +
>> +	igt_fixture {
>> +		output = igt_get_single_output_for_pipe(&d->display, pipe);
>> +		igt_require(output);
> --------------- ^
> You are not in subtest.
> 
>> +
>> +		igt_output_set_pipe(output, pipe);
>> +		plane = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
>> +
>> +		igt_create_fb(d->drm_fd, 5120, 4320,
>> +			DRM_FORMAT_XRGB8888,
>> +			DRM_FORMAT_MOD_NONE,
>> +			&fb);
>> +	}
> 
> Is this fixture only for i915 ? It looks generic, even if
> igt_create_fb will fail (but you need to remember fb_id here).
> 
>> +
>> +	igt_describe("test for validating max source size.");
>> +	igt_subtest_with_dynamic("i915-max-source-size") {
> 
> Here you can put igt_require for i915 driver and also
> require for fb_id != 0.
> 
>> +		for (uint32_t i = 0; i < ARRAY_SIZE(paramtests); i++) {
>> +			igt_dynamic(paramtests[i].testname) {
>> +				igt_plane_set_position(plane, 0, 0);
>> +				igt_plane_set_fb(plane, &fb);
>> +				igt_plane_set_size(plane,
>> +							paramtests[i].planesize[0],
>> +							paramtests[i].planesize[1]);
>> +
>> +				for (uint32_t j = 0; paramtests[i].params[j].prop != ~0; j++)
>> +					igt_plane_set_prop_value(plane,
>> +								 paramtests[i].params[j].prop,
>> +								 paramtests[i].params[j].value);
>> +
>> +				rval = igt_display_try_commit2(&d->display, COMMIT_ATOMIC);
>> +
>> +				if (intel_display_ver(d->devid) < 11 || intel_display_ver(d->devid) >= 14)
>> +					igt_assert(rval == -EINVAL || rval == -ERANGE);
>> +				else
>> +					igt_assert_eq(rval, 0);
>> +			}
>> +		}
>> +	}
>> +
>> +	igt_fixture {
>> +		igt_remove_fb(d->drm_fd, &fb);
>> +		igt_output_set_pipe(output, PIPE_NONE);
>> +	}
>> +}
>> +
>>   static int opt_handler(int opt, int opt_index, void *_data)
>>   {
>>   	data_t *data = _data;
>> @@ -1055,6 +1144,11 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
>>   
>>   	invalid_parameter_tests(&data);
>>   
>> +	igt_fixture
>> +		igt_require_f(data.devid, "This test is valid only for i915 devices.\n");
> 
> Do not do this, use igt_require_f inside (dynamic_)subtest.
> 
> Regards,
> Kamil
> 
>> +
>> +	i915_max_source_size_test(&data);
>> +
>>   	igt_fixture {
>>   		igt_display_fini(&data.display);
>>   		close(data.drm_fd);
>> -- 
>> 2.25.1
>>

-- 
~Swati Sharma

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

* [igt-dev] [PATCH i-g-t 0/3] Validate max source size
@ 2023-02-15 15:21 Swati Sharma
  0 siblings, 0 replies; 16+ messages in thread
From: Swati Sharma @ 2023-02-15 15:21 UTC (permalink / raw)
  To: igt-dev

i915 specific test is added to validate max source size.

Swati Sharma (3):
  tests/kms_plane_scaling: Prep work
  tests/kms_plane_scaling: Remove extra newline
  tests/kms_plane_scaling: Add test to validate max source size

 tests/kms_plane_scaling.c | 113 +++++++++++++++++++++++++++++++++++---
 1 file changed, 104 insertions(+), 9 deletions(-)

-- 
2.25.1

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

end of thread, other threads:[~2023-02-17  8:29 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-15 16:59 [igt-dev] [PATCH i-g-t 0/3] Validate max source size Swati Sharma
2023-02-15 16:59 ` [igt-dev] [PATCH i-g-t 1/3] tests/kms_plane_scaling: Prep work Swati Sharma
2023-02-16 15:30   ` Juha-Pekka Heikkila
2023-02-17  8:19     ` Swati Sharma
2023-02-15 16:59 ` [igt-dev] [PATCH i-g-t 2/3] tests/kms_plane_scaling: Remove extra newline Swati Sharma
2023-02-16 15:31   ` Juha-Pekka Heikkila
2023-02-17  8:20     ` Swati Sharma
2023-02-15 16:59 ` [igt-dev] [PATCH i-g-t 3/3] tests/kms_plane_scaling: Add test to validate max source size Swati Sharma
2023-02-16 15:31   ` Juha-Pekka Heikkila
2023-02-17  8:21     ` Swati Sharma
2023-02-16 19:29   ` Kamil Konieczny
2023-02-17  6:13     ` Juha-Pekka Heikkila
2023-02-17  8:29     ` Swati Sharma
2023-02-15 17:49 ` [igt-dev] ✓ Fi.CI.BAT: success for Validate max source size (rev2) Patchwork
2023-02-16 12:14 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2023-02-15 15:21 [igt-dev] [PATCH i-g-t 0/3] Validate max source size Swati Sharma

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.