All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t v5] tests/kms_plane_scaling: Increase buffer size if driver doesn't support larger scale factors
@ 2022-01-26  1:01 Jessica Zhang
  2022-01-26  1:37 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_plane_scaling: Increase buffer size if driver doesn't support larger scale factors (rev5) Patchwork
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Jessica Zhang @ 2022-01-26  1:01 UTC (permalink / raw)
  To: igt-dev; +Cc: petri.latvala, quic_khsieh, swboyd, nganji, seanpaul, aravindh

Catch edge cases where driver doesn't support larger scale factors or
pipe doesn't support scaling.

Currently, a 20x20 framebuffer is passed in to be upscaled. However,
this will cause issues with other drivers as they may not support larger
scale factors or may not support scaling at all for certain planes.

This avoids failures due to invalid scale factor by trying
the original 20x20 framebuffer commit, then trying to commit larger
framebuffers up to and including unity scale.

Changes since V1:
- try_commit_with_fb_size: Changed igt_try_commit2 to
  igt_display_try_commit_atomic instead to avoid redundant commits
- try_commit_with_fb_size: Moved calls to clear framebuffer to outside
  of success condition and moved cleanup_crtc back to outside of method

Changes since V2:
- try_commit_with_fb_size: Replaced igt_display_try_commit_atomic with
  igt_display_try_commit2 and removed igt_display_try_commit2 to avoid
  redundant checks

Changes since V3:
- try_commit_with_fb_size: Moved igt_plane_set_position to outside
  method after fallback cases

Changes since V4:
- try_commit_with_fb_size: Moved igt_create_color_fb to inside
  display_try_commit_with_fb and moved igt_set_plane_fb out so that a
  new framebuffer is created and set for different sizes

Tested-on: Qualcomm RB5 (sdm845), Chromebook (Lazor)

Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
Change-Id: Ib6758fec0293a2ba4c4109fbf42674cf93f784dd
---
 tests/kms_plane_scaling.c | 57 +++++++++++++++++++++++++++++++--------
 1 file changed, 46 insertions(+), 11 deletions(-)

diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index 85db11ee6dbd..bbc89c23b91f 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -1,5 +1,6 @@
 /*
  * Copyright © 2013,2014 Intel Corporation
+ * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -118,6 +119,32 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe,
 	igt_display_commit2(display, COMMIT_ATOMIC);
 }
 
+static int try_commit_with_fb_size(int width, int height, igt_rotation_t rot,
+				   igt_display_t *display, data_t *d,
+				   uint32_t pixel_format,
+				   uint64_t modifier,
+				   igt_plane_t *plane,
+				   drmModeModeInfo *mode)
+{
+	int ret;
+
+	/* create buffer in the range of  min and max source side limit.*/
+	igt_create_color_fb(display->drm_fd, width, height,
+		       pixel_format, modifier, 0.0, 1.0, 0.0, &d->fb[0]);
+	igt_plane_set_fb(plane, &d->fb[0]);
+
+	/* Check min to full resolution upscaling */
+	igt_fb_set_position(&d->fb[0], plane, 0, 0);
+	igt_fb_set_size(&d->fb[0], plane, width, height);
+	igt_plane_set_position(plane, 0, 0);
+	igt_plane_set_size(plane, mode->hdisplay, mode->vdisplay);
+	igt_plane_set_rotation(plane, rot);
+
+	ret = igt_display_try_commit2(display, COMMIT_ATOMIC);
+
+	return ret;
+}
+
 static void check_scaling_pipe_plane_rot(data_t *d, igt_plane_t *plane,
 					 uint32_t pixel_format,
 					 uint64_t modifier, enum pipe pipe,
@@ -126,6 +153,7 @@ static void check_scaling_pipe_plane_rot(data_t *d, igt_plane_t *plane,
 {
 	igt_display_t *display = &d->display;
 	int width, height;
+	int commit_ret;
 	drmModeModeInfo *mode;
 
 	cleanup_crtc(d);
@@ -133,22 +161,29 @@ static void check_scaling_pipe_plane_rot(data_t *d, igt_plane_t *plane,
 	igt_output_set_pipe(output, pipe);
 	mode = igt_output_get_mode(output);
 
-	/* create buffer in the range of  min and max source side limit.*/
 	width = height = 20;
-	igt_create_color_fb(display->drm_fd, width, height,
-		       pixel_format, modifier, 0.0, 1.0, 0.0, &d->fb[0]);
-	igt_plane_set_fb(plane, &d->fb[0]);
 
-	/* Check min to full resolution upscaling */
-	igt_fb_set_position(&d->fb[0], plane, 0, 0);
-	igt_fb_set_size(&d->fb[0], plane, width, height);
-	igt_plane_set_position(plane, 0, 0);
-	igt_plane_set_size(plane, mode->hdisplay, mode->vdisplay);
-	igt_plane_set_rotation(plane, rot);
-	igt_display_commit2(display, COMMIT_ATOMIC);
+	commit_ret = try_commit_with_fb_size(width, height, rot, display, d,
+					     pixel_format, modifier, plane, mode);
+
+	if(commit_ret == -ERANGE) {
+		igt_debug("Scaling for %dx%d plane not supported, trying scale factor of 4x\n", width, height);
+		width = height = mode->vdisplay / 4;
+		commit_ret = try_commit_with_fb_size(width, height, rot, display, d,
+						     pixel_format, modifier, plane, mode);
+	}
+
+	if (commit_ret == -ERANGE) {
+		igt_debug("Scale factor of 4x (or scaling in general) not supported, trying unity scale\n");
+		width = mode->hdisplay;
+		height = mode->vdisplay;
+		commit_ret = try_commit_with_fb_size(width, height, rot, display, d,
+						     pixel_format, modifier, plane, mode);
+	}
 
 	igt_plane_set_fb(plane, NULL);
 	igt_plane_set_position(plane, 0, 0);
+	igt_assert_eq(commit_ret, 0);
 }
 
 static const igt_rotation_t rotations[] = {
-- 
2.31.0

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

* [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_plane_scaling: Increase buffer size if driver doesn't support larger scale factors (rev5)
  2022-01-26  1:01 [igt-dev] [PATCH i-g-t v5] tests/kms_plane_scaling: Increase buffer size if driver doesn't support larger scale factors Jessica Zhang
@ 2022-01-26  1:37 ` Patchwork
  2022-01-26  3:30 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  2022-01-26 10:21 ` [igt-dev] [PATCH i-g-t v5] tests/kms_plane_scaling: Increase buffer size if driver doesn't support larger scale factors Petri Latvala
  2 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2022-01-26  1:37 UTC (permalink / raw)
  To: Jessica Zhang; +Cc: igt-dev

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

== Series Details ==

Series: tests/kms_plane_scaling: Increase buffer size if driver doesn't support larger scale factors (rev5)
URL   : https://patchwork.freedesktop.org/series/97584/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_11135 -> IGTPW_6578
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (45 -> 42)
------------------------------

  Additional (1): fi-kbl-soraka 
  Missing    (4): fi-ctg-p8600 fi-bsw-cyan fi-bdw-samus fi-hsw-4200u 

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_basic@cs-gfx:
    - fi-hsw-4770:        NOTRUN -> [SKIP][1] ([fdo#109271] / [fdo#109315]) +17 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/fi-hsw-4770/igt@amdgpu/amd_basic@cs-gfx.html

  * igt@amdgpu/amd_cs_nop@sync-fork-gfx0:
    - fi-skl-6600u:       NOTRUN -> [SKIP][2] ([fdo#109271]) +21 similar issues
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/fi-skl-6600u/igt@amdgpu/amd_cs_nop@sync-fork-gfx0.html

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

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

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

  * igt@gem_lmem_swapping@verify-random:
    - fi-skl-6600u:       NOTRUN -> [SKIP][7] ([fdo#109271] / [i915#4613]) +3 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/fi-skl-6600u/igt@gem_lmem_swapping@verify-random.html

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

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][9] ([fdo#109271] / [fdo#111827]) +8 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/fi-kbl-soraka/igt@kms_chamelium@common-hpd-after-suspend.html

  * igt@kms_chamelium@vga-edid-read:
    - fi-skl-6600u:       NOTRUN -> [SKIP][10] ([fdo#109271] / [fdo#111827]) +8 similar issues
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/fi-skl-6600u/igt@kms_chamelium@vga-edid-read.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
    - fi-skl-6600u:       NOTRUN -> [SKIP][11] ([fdo#109271] / [i915#533])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/fi-skl-6600u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html
    - fi-kbl-soraka:      NOTRUN -> [SKIP][12] ([fdo#109271] / [i915#533])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/fi-kbl-soraka/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html

  
#### Possible fixes ####

  * igt@debugfs_test@read_all_entries:
    - fi-cfl-8109u:       [DMESG-WARN][13] ([i915#262] / [i915#295]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/fi-cfl-8109u/igt@debugfs_test@read_all_entries.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/fi-cfl-8109u/igt@debugfs_test@read_all_entries.html

  * igt@gem_exec_suspend@basic-s0@smem:
    - fi-cfl-8109u:       [DMESG-WARN][15] ([i915#295]) -> [PASS][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/fi-cfl-8109u/igt@gem_exec_suspend@basic-s0@smem.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/fi-cfl-8109u/igt@gem_exec_suspend@basic-s0@smem.html

  * igt@gem_flink_basic@bad-flink:
    - fi-skl-6600u:       [FAIL][17] ([i915#4547]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/fi-skl-6600u/igt@gem_flink_basic@bad-flink.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/fi-skl-6600u/igt@gem_flink_basic@bad-flink.html

  * igt@i915_selftest@live@hangcheck:
    - fi-hsw-4770:        [INCOMPLETE][19] ([i915#4785]) -> [PASS][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/fi-hsw-4770/igt@i915_selftest@live@hangcheck.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/fi-hsw-4770/igt@i915_selftest@live@hangcheck.html
    - bat-dg1-6:          [DMESG-FAIL][21] ([i915#4957]) -> [PASS][22]
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/bat-dg1-6/igt@i915_selftest@live@hangcheck.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/bat-dg1-6/igt@i915_selftest@live@hangcheck.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#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1886]: https://gitlab.freedesktop.org/drm/intel/issues/1886
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2291]: https://gitlab.freedesktop.org/drm/intel/issues/2291
  [i915#262]: https://gitlab.freedesktop.org/drm/intel/issues/262
  [i915#295]: https://gitlab.freedesktop.org/drm/intel/issues/295
  [i915#4547]: https://gitlab.freedesktop.org/drm/intel/issues/4547
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4785]: https://gitlab.freedesktop.org/drm/intel/issues/4785
  [i915#4898]: https://gitlab.freedesktop.org/drm/intel/issues/4898
  [i915#4957]: https://gitlab.freedesktop.org/drm/intel/issues/4957
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533


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

  * CI: CI-20190529 -> None
  * IGT: IGT_6332 -> IGTPW_6578

  CI-20190529: 20190529
  CI_DRM_11135: 0fac1e4153d5abd8b129004dd2f2cde1266d28e5 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_6578: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/index.html
  IGT_6332: 27c9c3f5181a840c777399be7681d2cadd7940cd @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

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

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

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

* [igt-dev] ✓ Fi.CI.IGT: success for tests/kms_plane_scaling: Increase buffer size if driver doesn't support larger scale factors (rev5)
  2022-01-26  1:01 [igt-dev] [PATCH i-g-t v5] tests/kms_plane_scaling: Increase buffer size if driver doesn't support larger scale factors Jessica Zhang
  2022-01-26  1:37 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_plane_scaling: Increase buffer size if driver doesn't support larger scale factors (rev5) Patchwork
@ 2022-01-26  3:30 ` Patchwork
  2022-01-26 10:21 ` [igt-dev] [PATCH i-g-t v5] tests/kms_plane_scaling: Increase buffer size if driver doesn't support larger scale factors Petri Latvala
  2 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2022-01-26  3:30 UTC (permalink / raw)
  To: Jessica Zhang; +Cc: igt-dev

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

== Series Details ==

Series: tests/kms_plane_scaling: Increase buffer size if driver doesn't support larger scale factors (rev5)
URL   : https://patchwork.freedesktop.org/series/97584/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_11135_full -> IGTPW_6578_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (10 -> 7)
------------------------------

  Missing    (3): pig-skl-6260u pig-kbl-iris pig-glk-j5005 

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_isolation@preservation-s3@bcs0:
    - shard-kbl:          [PASS][1] -> [DMESG-WARN][2] ([i915#180]) +3 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-kbl7/igt@gem_ctx_isolation@preservation-s3@bcs0.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-kbl7/igt@gem_ctx_isolation@preservation-s3@bcs0.html

  * igt@gem_eio@kms:
    - shard-tglb:         [PASS][3] -> [FAIL][4] ([i915#232])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-tglb7/igt@gem_eio@kms.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb5/igt@gem_eio@kms.html

  * igt@gem_exec_balancer@parallel:
    - shard-iclb:         [PASS][5] -> [SKIP][6] ([i915#4525]) +1 similar issue
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-iclb2/igt@gem_exec_balancer@parallel.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb5/igt@gem_exec_balancer@parallel.html

  * igt@gem_exec_balancer@parallel-contexts:
    - shard-iclb:         NOTRUN -> [SKIP][7] ([i915#4525])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb6/igt@gem_exec_balancer@parallel-contexts.html

  * igt@gem_exec_fair@basic-deadline:
    - shard-glk:          NOTRUN -> [FAIL][8] ([i915#2846])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-glk4/igt@gem_exec_fair@basic-deadline.html
    - shard-apl:          NOTRUN -> [FAIL][9] ([i915#2846])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-apl1/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-flow@rcs0:
    - shard-tglb:         [PASS][10] -> [FAIL][11] ([i915#2842]) +1 similar issue
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-tglb8/igt@gem_exec_fair@basic-flow@rcs0.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb8/igt@gem_exec_fair@basic-flow@rcs0.html

  * igt@gem_exec_fair@basic-none-solo@rcs0:
    - shard-apl:          [PASS][12] -> [FAIL][13] ([i915#2842]) +1 similar issue
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-apl6/igt@gem_exec_fair@basic-none-solo@rcs0.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-apl4/igt@gem_exec_fair@basic-none-solo@rcs0.html

  * igt@gem_exec_fair@basic-none@vecs0:
    - shard-kbl:          [PASS][14] -> [FAIL][15] ([i915#2842])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-kbl1/igt@gem_exec_fair@basic-none@vecs0.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-kbl6/igt@gem_exec_fair@basic-none@vecs0.html

  * igt@gem_exec_fair@basic-throttle@rcs0:
    - shard-tglb:         NOTRUN -> [FAIL][16] ([i915#2842]) +1 similar issue
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb3/igt@gem_exec_fair@basic-throttle@rcs0.html

  * igt@gem_exec_params@no-vebox:
    - shard-iclb:         NOTRUN -> [SKIP][17] ([fdo#109283])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb5/igt@gem_exec_params@no-vebox.html
    - shard-tglb:         NOTRUN -> [SKIP][18] ([fdo#109283] / [i915#4877])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb2/igt@gem_exec_params@no-vebox.html

  * igt@gem_exec_whisper@basic-fds-priority:
    - shard-glk:          [PASS][19] -> [DMESG-WARN][20] ([i915#118]) +4 similar issues
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-glk1/igt@gem_exec_whisper@basic-fds-priority.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-glk7/igt@gem_exec_whisper@basic-fds-priority.html

  * igt@gem_lmem_swapping@parallel-multi:
    - shard-apl:          NOTRUN -> [SKIP][21] ([fdo#109271] / [i915#4613]) +2 similar issues
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-apl4/igt@gem_lmem_swapping@parallel-multi.html

  * igt@gem_lmem_swapping@random:
    - shard-kbl:          NOTRUN -> [SKIP][22] ([fdo#109271] / [i915#4613]) +2 similar issues
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-kbl1/igt@gem_lmem_swapping@random.html

  * igt@gem_pxp@reject-modify-context-protection-off-3:
    - shard-iclb:         NOTRUN -> [SKIP][23] ([i915#4270]) +1 similar issue
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb3/igt@gem_pxp@reject-modify-context-protection-off-3.html

  * igt@gem_pxp@verify-pxp-stale-ctx-execution:
    - shard-tglb:         NOTRUN -> [SKIP][24] ([i915#4270]) +1 similar issue
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb6/igt@gem_pxp@verify-pxp-stale-ctx-execution.html

  * igt@gem_render_copy@y-tiled-to-vebox-yf-tiled:
    - shard-iclb:         NOTRUN -> [SKIP][25] ([i915#768])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb8/igt@gem_render_copy@y-tiled-to-vebox-yf-tiled.html

  * igt@gem_userptr_blits@coherency-sync:
    - shard-tglb:         NOTRUN -> [SKIP][26] ([fdo#110542])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb6/igt@gem_userptr_blits@coherency-sync.html

  * igt@gem_userptr_blits@readonly-unsync:
    - shard-tglb:         NOTRUN -> [SKIP][27] ([i915#3297])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb8/igt@gem_userptr_blits@readonly-unsync.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-tglb:         NOTRUN -> [SKIP][28] ([i915#2527] / [i915#2856]) +1 similar issue
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb6/igt@gen9_exec_parse@allowed-single.html

  * igt@gen9_exec_parse@secure-batches:
    - shard-iclb:         NOTRUN -> [SKIP][29] ([i915#2856]) +1 similar issue
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb3/igt@gen9_exec_parse@secure-batches.html

  * igt@i915_pm_dc@dc6-psr:
    - shard-iclb:         [PASS][30] -> [FAIL][31] ([i915#454])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-iclb2/igt@i915_pm_dc@dc6-psr.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb4/igt@i915_pm_dc@dc6-psr.html

  * igt@kms_big_fb@x-tiled-16bpp-rotate-90:
    - shard-tglb:         NOTRUN -> [SKIP][32] ([fdo#111614]) +1 similar issue
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb3/igt@kms_big_fb@x-tiled-16bpp-rotate-90.html
    - shard-iclb:         NOTRUN -> [SKIP][33] ([fdo#110725] / [fdo#111614])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb4/igt@kms_big_fb@x-tiled-16bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-glk:          NOTRUN -> [SKIP][34] ([fdo#109271] / [i915#3777])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-glk5/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
    - shard-apl:          NOTRUN -> [SKIP][35] ([fdo#109271] / [i915#3777])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-apl1/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
    - shard-kbl:          NOTRUN -> [SKIP][36] ([fdo#109271] / [i915#3777])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-kbl1/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-tglb:         NOTRUN -> [SKIP][37] ([fdo#111615])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb6/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
    - shard-iclb:         NOTRUN -> [SKIP][38] ([fdo#110723])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb6/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_ccs@pipe-a-bad-aux-stride-y_tiled_gen12_mc_ccs:
    - shard-kbl:          NOTRUN -> [SKIP][39] ([fdo#109271] / [i915#3886]) +4 similar issues
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-kbl7/igt@kms_ccs@pipe-a-bad-aux-stride-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_gen12_rc_ccs:
    - shard-iclb:         NOTRUN -> [SKIP][40] ([fdo#109278]) +9 similar issues
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb8/igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_gen12_rc_ccs.html

  * igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc:
    - shard-apl:          NOTRUN -> [SKIP][41] ([fdo#109271] / [i915#3886]) +6 similar issues
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-apl8/igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-b-crc-sprite-planes-basic-yf_tiled_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][42] ([fdo#111615] / [i915#3689]) +2 similar issues
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb5/igt@kms_ccs@pipe-b-crc-sprite-planes-basic-yf_tiled_ccs.html

  * igt@kms_ccs@pipe-c-bad-rotation-90-y_tiled_gen12_rc_ccs_cc:
    - shard-iclb:         NOTRUN -> [SKIP][43] ([fdo#109278] / [i915#3886])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb7/igt@kms_ccs@pipe-c-bad-rotation-90-y_tiled_gen12_rc_ccs_cc.html
    - shard-glk:          NOTRUN -> [SKIP][44] ([fdo#109271] / [i915#3886])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-glk1/igt@kms_ccs@pipe-c-bad-rotation-90-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-d-bad-aux-stride-y_tiled_gen12_mc_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][45] ([i915#3689]) +1 similar issue
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb6/igt@kms_ccs@pipe-d-bad-aux-stride-y_tiled_gen12_mc_ccs.html

  * igt@kms_chamelium@dp-hpd-fast:
    - shard-snb:          NOTRUN -> [SKIP][46] ([fdo#109271] / [fdo#111827]) +6 similar issues
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-snb6/igt@kms_chamelium@dp-hpd-fast.html

  * igt@kms_chamelium@vga-edid-read:
    - shard-apl:          NOTRUN -> [SKIP][47] ([fdo#109271] / [fdo#111827]) +10 similar issues
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-apl3/igt@kms_chamelium@vga-edid-read.html
    - shard-iclb:         NOTRUN -> [SKIP][48] ([fdo#109284] / [fdo#111827]) +3 similar issues
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb7/igt@kms_chamelium@vga-edid-read.html
    - shard-glk:          NOTRUN -> [SKIP][49] ([fdo#109271] / [fdo#111827]) +4 similar issues
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-glk1/igt@kms_chamelium@vga-edid-read.html

  * igt@kms_chamelium@vga-frame-dump:
    - shard-tglb:         NOTRUN -> [SKIP][50] ([fdo#109284] / [fdo#111827]) +5 similar issues
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb1/igt@kms_chamelium@vga-frame-dump.html

  * igt@kms_color@pipe-d-gamma:
    - shard-iclb:         NOTRUN -> [SKIP][51] ([fdo#109278] / [i915#1149])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb3/igt@kms_color@pipe-d-gamma.html

  * igt@kms_color_chamelium@pipe-d-ctm-green-to-red:
    - shard-kbl:          NOTRUN -> [SKIP][52] ([fdo#109271] / [fdo#111827]) +8 similar issues
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-kbl7/igt@kms_color_chamelium@pipe-d-ctm-green-to-red.html
    - shard-iclb:         NOTRUN -> [SKIP][53] ([fdo#109278] / [fdo#109284] / [fdo#111827])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb8/igt@kms_color_chamelium@pipe-d-ctm-green-to-red.html

  * igt@kms_cursor_crc@pipe-b-cursor-512x170-offscreen:
    - shard-iclb:         NOTRUN -> [SKIP][54] ([fdo#109278] / [fdo#109279]) +2 similar issues
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb3/igt@kms_cursor_crc@pipe-b-cursor-512x170-offscreen.html

  * igt@kms_cursor_crc@pipe-c-cursor-max-size-sliding:
    - shard-tglb:         NOTRUN -> [SKIP][55] ([i915#3359]) +2 similar issues
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb2/igt@kms_cursor_crc@pipe-c-cursor-max-size-sliding.html

  * igt@kms_cursor_crc@pipe-c-cursor-suspend:
    - shard-kbl:          NOTRUN -> [DMESG-WARN][56] ([i915#180])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-kbl7/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
    - shard-apl:          NOTRUN -> [DMESG-WARN][57] ([i915#180])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-apl8/igt@kms_cursor_crc@pipe-c-cursor-suspend.html

  * igt@kms_cursor_crc@pipe-d-cursor-256x256-onscreen:
    - shard-kbl:          NOTRUN -> [SKIP][58] ([fdo#109271]) +103 similar issues
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-kbl7/igt@kms_cursor_crc@pipe-d-cursor-256x256-onscreen.html

  * igt@kms_cursor_crc@pipe-d-cursor-32x32-random:
    - shard-tglb:         NOTRUN -> [SKIP][59] ([i915#3319]) +1 similar issue
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb2/igt@kms_cursor_crc@pipe-d-cursor-32x32-random.html

  * igt@kms_cursor_crc@pipe-d-cursor-512x512-offscreen:
    - shard-tglb:         NOTRUN -> [SKIP][60] ([fdo#109279] / [i915#3359]) +3 similar issues
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb8/igt@kms_cursor_crc@pipe-d-cursor-512x512-offscreen.html

  * igt@kms_cursor_crc@pipe-d-cursor-64x64-sliding:
    - shard-apl:          NOTRUN -> [SKIP][61] ([fdo#109271]) +133 similar issues
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-apl3/igt@kms_cursor_crc@pipe-d-cursor-64x64-sliding.html

  * igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy:
    - shard-glk:          [PASS][62] -> [FAIL][63] ([i915#72])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-glk8/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-glk1/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions:
    - shard-iclb:         NOTRUN -> [SKIP][64] ([fdo#109274] / [fdo#109278]) +1 similar issue
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb6/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions.html

  * igt@kms_cursor_legacy@flip-vs-cursor-varying-size:
    - shard-iclb:         [PASS][65] -> [FAIL][66] ([i915#2346])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-iclb5/igt@kms_cursor_legacy@flip-vs-cursor-varying-size.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb7/igt@kms_cursor_legacy@flip-vs-cursor-varying-size.html

  * igt@kms_dp_tiled_display@basic-test-pattern-with-chamelium:
    - shard-tglb:         NOTRUN -> [SKIP][67] ([i915#3528])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb7/igt@kms_dp_tiled_display@basic-test-pattern-with-chamelium.html
    - shard-iclb:         NOTRUN -> [SKIP][68] ([i915#3528])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb8/igt@kms_dp_tiled_display@basic-test-pattern-with-chamelium.html

  * igt@kms_flip@2x-flip-vs-fences:
    - shard-tglb:         NOTRUN -> [SKIP][69] ([fdo#109274] / [fdo#111825]) +3 similar issues
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb6/igt@kms_flip@2x-flip-vs-fences.html
    - shard-iclb:         NOTRUN -> [SKIP][70] ([fdo#109274]) +1 similar issue
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb6/igt@kms_flip@2x-flip-vs-fences.html

  * igt@kms_flip@2x-plain-flip-fb-recreate@ac-hdmi-a1-hdmi-a2:
    - shard-glk:          [PASS][71] -> [FAIL][72] ([i915#2122])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-glk9/igt@kms_flip@2x-plain-flip-fb-recreate@ac-hdmi-a1-hdmi-a2.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-glk7/igt@kms_flip@2x-plain-flip-fb-recreate@ac-hdmi-a1-hdmi-a2.html

  * igt@kms_flip@flip-vs-suspend-interruptible@c-dp1:
    - shard-apl:          [PASS][73] -> [DMESG-WARN][74] ([i915#180]) +2 similar issues
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-apl4/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-apl8/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html

  * igt@kms_flip@flip-vs-suspend@c-dp1:
    - shard-kbl:          [PASS][75] -> [INCOMPLETE][76] ([i915#636])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-kbl1/igt@kms_flip@flip-vs-suspend@c-dp1.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-kbl3/igt@kms_flip@flip-vs-suspend@c-dp1.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling:
    - shard-iclb:         NOTRUN -> [SKIP][77] ([i915#3701])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-cpu:
    - shard-iclb:         NOTRUN -> [SKIP][78] ([fdo#109280]) +12 similar issues
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-mmap-cpu:
    - shard-tglb:         NOTRUN -> [SKIP][79] ([fdo#109280] / [fdo#111825]) +15 similar issues
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-onoff:
    - shard-snb:          NOTRUN -> [SKIP][80] ([fdo#109271]) +121 similar issues
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-snb5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-onoff.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
    - shard-kbl:          [PASS][81] -> [INCOMPLETE][82] ([i915#2828])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-kbl4/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-kbl4/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html

  * igt@kms_plane_alpha_blend@pipe-c-alpha-basic:
    - shard-kbl:          NOTRUN -> [FAIL][83] ([fdo#108145] / [i915#265]) +1 similar issue
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-kbl7/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html
    - shard-apl:          NOTRUN -> [FAIL][84] ([fdo#108145] / [i915#265]) +1 similar issue
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-apl6/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html

  * igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb:
    - shard-glk:          NOTRUN -> [FAIL][85] ([fdo#108145] / [i915#265])
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-glk5/igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area:
    - shard-apl:          NOTRUN -> [SKIP][86] ([fdo#109271] / [i915#658]) +2 similar issues
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-apl1/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area.html
    - shard-kbl:          NOTRUN -> [SKIP][87] ([fdo#109271] / [i915#658]) +1 similar issue
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-kbl7/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area.html

  * igt@kms_psr@psr2_primary_mmap_cpu:
    - shard-iclb:         NOTRUN -> [SKIP][88] ([fdo#109441]) +1 similar issue
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb4/igt@kms_psr@psr2_primary_mmap_cpu.html

  * igt@kms_psr@psr2_sprite_plane_move:
    - shard-iclb:         [PASS][89] -> [SKIP][90] ([fdo#109441]) +2 similar issues
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb5/igt@kms_psr@psr2_sprite_plane_move.html

  * igt@kms_psr@psr2_sprite_render:
    - shard-tglb:         NOTRUN -> [FAIL][91] ([i915#132] / [i915#3467]) +2 similar issues
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb1/igt@kms_psr@psr2_sprite_render.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-270:
    - shard-glk:          NOTRUN -> [SKIP][92] ([fdo#109271]) +45 similar issues
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-glk4/igt@kms_rotation_crc@primary-y-tiled-reflect-x-270.html

  * igt@kms_vblank@pipe-c-ts-continuation-suspend:
    - shard-kbl:          [PASS][93] -> [INCOMPLETE][94] ([i915#2828] / [i915#794])
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-kbl3/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-kbl4/igt@kms_vblank@pipe-c-ts-continuation-suspend.html

  * igt@kms_vblank@pipe-d-wait-idle:
    - shard-kbl:          NOTRUN -> [SKIP][95] ([fdo#109271] / [i915#533])
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-kbl4/igt@kms_vblank@pipe-d-wait-idle.html
    - shard-apl:          NOTRUN -> [SKIP][96] ([fdo#109271] / [i915#533])
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-apl8/igt@kms_vblank@pipe-d-wait-idle.html

  * igt@kms_vrr@flip-basic:
    - shard-tglb:         NOTRUN -> [SKIP][97] ([fdo#109502])
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb7/igt@kms_vrr@flip-basic.html
    - shard-iclb:         NOTRUN -> [SKIP][98] ([fdo#109502])
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb7/igt@kms_vrr@flip-basic.html

  * igt@nouveau_crc@pipe-a-ctx-flip-skip-current-frame:
    - shard-tglb:         NOTRUN -> [SKIP][99] ([i915#2530])
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb6/igt@nouveau_crc@pipe-a-ctx-flip-skip-current-frame.html

  * igt@prime_nv_test@nv_i915_sharing:
    - shard-iclb:         NOTRUN -> [SKIP][100] ([fdo#109291])
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb4/igt@prime_nv_test@nv_i915_sharing.html
    - shard-tglb:         NOTRUN -> [SKIP][101] ([fdo#109291])
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb3/igt@prime_nv_test@nv_i915_sharing.html

  * igt@sysfs_clients@recycle:
    - shard-iclb:         NOTRUN -> [SKIP][102] ([i915#2994])
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb4/igt@sysfs_clients@recycle.html
    - shard-apl:          NOTRUN -> [SKIP][103] ([fdo#109271] / [i915#2994]) +1 similar issue
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-apl7/igt@sysfs_clients@recycle.html
    - shard-glk:          NOTRUN -> [SKIP][104] ([fdo#109271] / [i915#2994])
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-glk2/igt@sysfs_clients@recycle.html
    - shard-tglb:         NOTRUN -> [SKIP][105] ([i915#2994])
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb3/igt@sysfs_clients@recycle.html

  * igt@sysfs_clients@split-50:
    - shard-kbl:          NOTRUN -> [SKIP][106] ([fdo#109271] / [i915#2994]) +1 similar issue
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-kbl4/igt@sysfs_clients@split-50.html

  * igt@tools_test@sysfs_l3_parity:
    - shard-iclb:         NOTRUN -> [SKIP][107] ([fdo#109307])
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb3/igt@tools_test@sysfs_l3_parity.html
    - shard-tglb:         NOTRUN -> [SKIP][108] ([fdo#109307])
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-tglb6/igt@tools_test@sysfs_l3_parity.html

  
#### Possible fixes ####

  * igt@gem_ctx_isolation@preservation-s3@rcs0:
    - shard-apl:          [DMESG-WARN][109] ([i915#180]) -> [PASS][110] +3 similar issues
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-apl2/igt@gem_ctx_isolation@preservation-s3@rcs0.html
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-apl1/igt@gem_ctx_isolation@preservation-s3@rcs0.html

  * igt@gem_ctx_persistence@legacy-engines-hostile@bsd:
    - shard-apl:          [FAIL][111] ([i915#2410]) -> [PASS][112]
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-apl1/igt@gem_ctx_persistence@legacy-engines-hostile@bsd.html
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-apl3/igt@gem_ctx_persistence@legacy-engines-hostile@bsd.html

  * igt@gem_exec_balancer@parallel-bb-first:
    - shard-iclb:         [SKIP][113] ([i915#4525]) -> [PASS][114]
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-iclb8/igt@gem_exec_balancer@parallel-bb-first.html
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb1/igt@gem_exec_balancer@parallel-bb-first.html

  * igt@gem_exec_fair@basic-pace@vcs0:
    - shard-glk:          [FAIL][115] ([i915#2842]) -> [PASS][116]
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-glk7/igt@gem_exec_fair@basic-pace@vcs0.html
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-glk3/igt@gem_exec_fair@basic-pace@vcs0.html

  * igt@gem_exec_fair@basic-pace@vecs0:
    - shard-kbl:          [FAIL][117] ([i915#2842]) -> [PASS][118]
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-kbl1/igt@gem_exec_fair@basic-pace@vecs0.html
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-kbl4/igt@gem_exec_fair@basic-pace@vecs0.html

  * igt@i915_suspend@fence-restore-untiled:
    - shard-kbl:          [DMESG-WARN][119] ([i915#180]) -> [PASS][120] +1 similar issue
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-kbl7/igt@i915_suspend@fence-restore-untiled.html
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-kbl7/igt@i915_suspend@fence-restore-untiled.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - shard-apl:          [DMESG-WARN][121] ([i915#62]) -> [PASS][122] +24 similar issues
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-apl1/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-apl4/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html

  * igt@kms_cursor_edge_walk@pipe-a-256x256-right-edge:
    - shard-glk:          [DMESG-FAIL][123] ([i915#118] / [i915#1982]) -> [PASS][124]
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-glk8/igt@kms_cursor_edge_walk@pipe-a-256x256-right-edge.html
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-glk1/igt@kms_cursor_edge_walk@pipe-a-256x256-right-edge.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-snb:          [FAIL][125] ([fdo#103375]) -> [PASS][126]
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-snb7/igt@kms_fbcon_fbt@fbc-suspend.html
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-snb2/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bc-hdmi-a1-hdmi-a2:
    - shard-glk:          [FAIL][127] ([i915#79]) -> [PASS][128]
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-glk2/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bc-hdmi-a1-hdmi-a2.html
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-glk2/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bc-hdmi-a1-hdmi-a2.html

  * igt@kms_flip@flip-vs-suspend-interruptible@a-vga1:
    - shard-snb:          [INCOMPLETE][129] -> [PASS][130]
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-snb2/igt@kms_flip@flip-vs-suspend-interruptible@a-vga1.html
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-snb5/igt@kms_flip@flip-vs-suspend-interruptible@a-vga1.html

  * igt@kms_flip@flip-vs-suspend-interruptible@b-dp1:
    - shard-kbl:          [INCOMPLETE][131] ([i915#3614]) -> [PASS][132]
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-kbl3/igt@kms_flip@flip-vs-suspend-interruptible@b-dp1.html
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-kbl4/igt@kms_flip@flip-vs-suspend-interruptible@b-dp1.html

  * igt@kms_frontbuffer_tracking@fbc-rgb565-draw-render:
    - shard-glk:          [FAIL][133] ([i915#1888] / [i915#2546]) -> [PASS][134]
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-glk5/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-render.html
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-glk4/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-render.html

  * igt@kms_psr@psr2_cursor_mmap_cpu:
    - shard-iclb:         [SKIP][135] ([fdo#109441]) -> [PASS][136] +1 similar issue
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-iclb4/igt@kms_psr@psr2_cursor_mmap_cpu.html
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html

  * igt@kms_setmode@basic:
    - shard-glk:          [FAIL][137] ([i915#31]) -> [PASS][138]
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-glk4/igt@kms_setmode@basic.html
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6578/shard-glk7/igt@kms_setmode@basic.html

  
#### Warnings ####

  * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area:
    - shard-iclb:         [SKIP][139] ([i915#2920]) -> [SKIP][140] ([fdo#111068] / [i915#658])
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11135/shard-iclb2/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-

== Logs ==

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

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

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

* Re: [igt-dev] [PATCH i-g-t v5] tests/kms_plane_scaling: Increase buffer size if driver doesn't support larger scale factors
  2022-01-26  1:01 [igt-dev] [PATCH i-g-t v5] tests/kms_plane_scaling: Increase buffer size if driver doesn't support larger scale factors Jessica Zhang
  2022-01-26  1:37 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_plane_scaling: Increase buffer size if driver doesn't support larger scale factors (rev5) Patchwork
  2022-01-26  3:30 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2022-01-26 10:21 ` Petri Latvala
  2022-01-26 11:59   ` Petri Latvala
  2 siblings, 1 reply; 6+ messages in thread
From: Petri Latvala @ 2022-01-26 10:21 UTC (permalink / raw)
  To: Jessica Zhang; +Cc: quic_khsieh, swboyd, igt-dev, nganji, seanpaul, aravindh

On Tue, Jan 25, 2022 at 05:01:05PM -0800, Jessica Zhang wrote:
> Catch edge cases where driver doesn't support larger scale factors or
> pipe doesn't support scaling.
> 
> Currently, a 20x20 framebuffer is passed in to be upscaled. However,
> this will cause issues with other drivers as they may not support larger
> scale factors or may not support scaling at all for certain planes.
> 
> This avoids failures due to invalid scale factor by trying
> the original 20x20 framebuffer commit, then trying to commit larger
> framebuffers up to and including unity scale.
> 
> Changes since V1:
> - try_commit_with_fb_size: Changed igt_try_commit2 to
>   igt_display_try_commit_atomic instead to avoid redundant commits
> - try_commit_with_fb_size: Moved calls to clear framebuffer to outside
>   of success condition and moved cleanup_crtc back to outside of method
> 
> Changes since V2:
> - try_commit_with_fb_size: Replaced igt_display_try_commit_atomic with
>   igt_display_try_commit2 and removed igt_display_try_commit2 to avoid
>   redundant checks
> 
> Changes since V3:
> - try_commit_with_fb_size: Moved igt_plane_set_position to outside
>   method after fallback cases
> 
> Changes since V4:
> - try_commit_with_fb_size: Moved igt_create_color_fb to inside
>   display_try_commit_with_fb and moved igt_set_plane_fb out so that a
>   new framebuffer is created and set for different sizes
> 
> Tested-on: Qualcomm RB5 (sdm845), Chromebook (Lazor)
> 
> Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
> Change-Id: Ib6758fec0293a2ba4c4109fbf42674cf93f784dd
> ---
>  tests/kms_plane_scaling.c | 57 +++++++++++++++++++++++++++++++--------
>  1 file changed, 46 insertions(+), 11 deletions(-)
> 
> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
> index 85db11ee6dbd..bbc89c23b91f 100644
> --- a/tests/kms_plane_scaling.c
> +++ b/tests/kms_plane_scaling.c
> @@ -1,5 +1,6 @@
>  /*
>   * Copyright © 2013,2014 Intel Corporation
> + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
>   *
>   * Permission is hereby granted, free of charge, to any person obtaining a
>   * copy of this software and associated documentation files (the "Software"),
> @@ -118,6 +119,32 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe,
>  	igt_display_commit2(display, COMMIT_ATOMIC);
>  }
>  
> +static int try_commit_with_fb_size(int width, int height, igt_rotation_t rot,
> +				   igt_display_t *display, data_t *d,
> +				   uint32_t pixel_format,
> +				   uint64_t modifier,
> +				   igt_plane_t *plane,
> +				   drmModeModeInfo *mode)
> +{
> +	int ret;
> +
> +	/* create buffer in the range of  min and max source side limit.*/
> +	igt_create_color_fb(display->drm_fd, width, height,
> +		       pixel_format, modifier, 0.0, 1.0, 0.0, &d->fb[0]);
> +	igt_plane_set_fb(plane, &d->fb[0]);
> +
> +	/* Check min to full resolution upscaling */
> +	igt_fb_set_position(&d->fb[0], plane, 0, 0);
> +	igt_fb_set_size(&d->fb[0], plane, width, height);
> +	igt_plane_set_position(plane, 0, 0);
> +	igt_plane_set_size(plane, mode->hdisplay, mode->vdisplay);
> +	igt_plane_set_rotation(plane, rot);
> +
> +	ret = igt_display_try_commit2(display, COMMIT_ATOMIC);
> +
> +	return ret;
> +}
> +
>  static void check_scaling_pipe_plane_rot(data_t *d, igt_plane_t *plane,
>  					 uint32_t pixel_format,
>  					 uint64_t modifier, enum pipe pipe,
> @@ -126,6 +153,7 @@ static void check_scaling_pipe_plane_rot(data_t *d, igt_plane_t *plane,
>  {
>  	igt_display_t *display = &d->display;
>  	int width, height;
> +	int commit_ret;
>  	drmModeModeInfo *mode;
>  
>  	cleanup_crtc(d);
> @@ -133,22 +161,29 @@ static void check_scaling_pipe_plane_rot(data_t *d, igt_plane_t *plane,
>  	igt_output_set_pipe(output, pipe);
>  	mode = igt_output_get_mode(output);
>  
> -	/* create buffer in the range of  min and max source side limit.*/
>  	width = height = 20;
> -	igt_create_color_fb(display->drm_fd, width, height,
> -		       pixel_format, modifier, 0.0, 1.0, 0.0, &d->fb[0]);
> -	igt_plane_set_fb(plane, &d->fb[0]);
>  
> -	/* Check min to full resolution upscaling */
> -	igt_fb_set_position(&d->fb[0], plane, 0, 0);
> -	igt_fb_set_size(&d->fb[0], plane, width, height);
> -	igt_plane_set_position(plane, 0, 0);
> -	igt_plane_set_size(plane, mode->hdisplay, mode->vdisplay);
> -	igt_plane_set_rotation(plane, rot);
> -	igt_display_commit2(display, COMMIT_ATOMIC);
> +	commit_ret = try_commit_with_fb_size(width, height, rot, display, d,
> +					     pixel_format, modifier, plane, mode);
> +
> +	if(commit_ret == -ERANGE) {
> +		igt_debug("Scaling for %dx%d plane not supported, trying scale factor of 4x\n", width, height);
> +		width = height = mode->vdisplay / 4;
> +		commit_ret = try_commit_with_fb_size(width, height, rot, display, d,
> +						     pixel_format, modifier, plane, mode);
> +	}
> +
> +	if (commit_ret == -ERANGE) {
> +		igt_debug("Scale factor of 4x (or scaling in general) not supported, trying unity scale\n");
> +		width = mode->hdisplay;
> +		height = mode->vdisplay;
> +		commit_ret = try_commit_with_fb_size(width, height, rot, display, d,
> +						     pixel_format, modifier, plane, mode);
> +	}

Now the changes look good and they do what it says on the tin. But now
it got me thinking if this needs to be even more complicated...

If a kernel change causes the first scaling attempt to fail and this
goes into the fallbacks and succeeds there, it all happens very
silently. A better setup for catching that case would be to have
separate dynamic subtests for the different scaling factors, where the
unsupported factors do a 'SKIP' result with igt_skip_on_f(commit_ret
== -ERANGE, "Unsupported scaling factor\n");

What do you think? Sorry to go back and forth like this on the patch.


-- 
Petri Latvala



>  
>  	igt_plane_set_fb(plane, NULL);
>  	igt_plane_set_position(plane, 0, 0);
> +	igt_assert_eq(commit_ret, 0);
>  }
>  
>  static const igt_rotation_t rotations[] = {
> -- 
> 2.31.0
> 

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

* Re: [igt-dev] [PATCH i-g-t v5] tests/kms_plane_scaling: Increase buffer size if driver doesn't support larger scale factors
  2022-01-26 10:21 ` [igt-dev] [PATCH i-g-t v5] tests/kms_plane_scaling: Increase buffer size if driver doesn't support larger scale factors Petri Latvala
@ 2022-01-26 11:59   ` Petri Latvala
  2022-01-26 17:33     ` Jessica Zhang
  0 siblings, 1 reply; 6+ messages in thread
From: Petri Latvala @ 2022-01-26 11:59 UTC (permalink / raw)
  To: Jessica Zhang; +Cc: quic_khsieh, swboyd, igt-dev, nganji, seanpaul, aravindh

On Wed, Jan 26, 2022 at 12:21:30PM +0200, Petri Latvala wrote:
> On Tue, Jan 25, 2022 at 05:01:05PM -0800, Jessica Zhang wrote:
> > Catch edge cases where driver doesn't support larger scale factors or
> > pipe doesn't support scaling.
> > 
> > Currently, a 20x20 framebuffer is passed in to be upscaled. However,
> > this will cause issues with other drivers as they may not support larger
> > scale factors or may not support scaling at all for certain planes.
> > 
> > This avoids failures due to invalid scale factor by trying
> > the original 20x20 framebuffer commit, then trying to commit larger
> > framebuffers up to and including unity scale.
> > 
> > Changes since V1:
> > - try_commit_with_fb_size: Changed igt_try_commit2 to
> >   igt_display_try_commit_atomic instead to avoid redundant commits
> > - try_commit_with_fb_size: Moved calls to clear framebuffer to outside
> >   of success condition and moved cleanup_crtc back to outside of method
> > 
> > Changes since V2:
> > - try_commit_with_fb_size: Replaced igt_display_try_commit_atomic with
> >   igt_display_try_commit2 and removed igt_display_try_commit2 to avoid
> >   redundant checks
> > 
> > Changes since V3:
> > - try_commit_with_fb_size: Moved igt_plane_set_position to outside
> >   method after fallback cases
> > 
> > Changes since V4:
> > - try_commit_with_fb_size: Moved igt_create_color_fb to inside
> >   display_try_commit_with_fb and moved igt_set_plane_fb out so that a
> >   new framebuffer is created and set for different sizes
> > 
> > Tested-on: Qualcomm RB5 (sdm845), Chromebook (Lazor)
> > 
> > Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
> > Change-Id: Ib6758fec0293a2ba4c4109fbf42674cf93f784dd
> > ---
> >  tests/kms_plane_scaling.c | 57 +++++++++++++++++++++++++++++++--------
> >  1 file changed, 46 insertions(+), 11 deletions(-)
> > 
> > diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
> > index 85db11ee6dbd..bbc89c23b91f 100644
> > --- a/tests/kms_plane_scaling.c
> > +++ b/tests/kms_plane_scaling.c
> > @@ -1,5 +1,6 @@
> >  /*
> >   * Copyright © 2013,2014 Intel Corporation
> > + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
> >   *
> >   * Permission is hereby granted, free of charge, to any person obtaining a
> >   * copy of this software and associated documentation files (the "Software"),
> > @@ -118,6 +119,32 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe,
> >  	igt_display_commit2(display, COMMIT_ATOMIC);
> >  }
> >  
> > +static int try_commit_with_fb_size(int width, int height, igt_rotation_t rot,
> > +				   igt_display_t *display, data_t *d,
> > +				   uint32_t pixel_format,
> > +				   uint64_t modifier,
> > +				   igt_plane_t *plane,
> > +				   drmModeModeInfo *mode)
> > +{
> > +	int ret;
> > +
> > +	/* create buffer in the range of  min and max source side limit.*/
> > +	igt_create_color_fb(display->drm_fd, width, height,
> > +		       pixel_format, modifier, 0.0, 1.0, 0.0, &d->fb[0]);
> > +	igt_plane_set_fb(plane, &d->fb[0]);
> > +
> > +	/* Check min to full resolution upscaling */
> > +	igt_fb_set_position(&d->fb[0], plane, 0, 0);
> > +	igt_fb_set_size(&d->fb[0], plane, width, height);
> > +	igt_plane_set_position(plane, 0, 0);
> > +	igt_plane_set_size(plane, mode->hdisplay, mode->vdisplay);
> > +	igt_plane_set_rotation(plane, rot);
> > +
> > +	ret = igt_display_try_commit2(display, COMMIT_ATOMIC);
> > +
> > +	return ret;
> > +}
> > +
> >  static void check_scaling_pipe_plane_rot(data_t *d, igt_plane_t *plane,
> >  					 uint32_t pixel_format,
> >  					 uint64_t modifier, enum pipe pipe,
> > @@ -126,6 +153,7 @@ static void check_scaling_pipe_plane_rot(data_t *d, igt_plane_t *plane,
> >  {
> >  	igt_display_t *display = &d->display;
> >  	int width, height;
> > +	int commit_ret;
> >  	drmModeModeInfo *mode;
> >  
> >  	cleanup_crtc(d);
> > @@ -133,22 +161,29 @@ static void check_scaling_pipe_plane_rot(data_t *d, igt_plane_t *plane,
> >  	igt_output_set_pipe(output, pipe);
> >  	mode = igt_output_get_mode(output);
> >  
> > -	/* create buffer in the range of  min and max source side limit.*/
> >  	width = height = 20;
> > -	igt_create_color_fb(display->drm_fd, width, height,
> > -		       pixel_format, modifier, 0.0, 1.0, 0.0, &d->fb[0]);
> > -	igt_plane_set_fb(plane, &d->fb[0]);
> >  
> > -	/* Check min to full resolution upscaling */
> > -	igt_fb_set_position(&d->fb[0], plane, 0, 0);
> > -	igt_fb_set_size(&d->fb[0], plane, width, height);
> > -	igt_plane_set_position(plane, 0, 0);
> > -	igt_plane_set_size(plane, mode->hdisplay, mode->vdisplay);
> > -	igt_plane_set_rotation(plane, rot);
> > -	igt_display_commit2(display, COMMIT_ATOMIC);
> > +	commit_ret = try_commit_with_fb_size(width, height, rot, display, d,
> > +					     pixel_format, modifier, plane, mode);
> > +
> > +	if(commit_ret == -ERANGE) {
> > +		igt_debug("Scaling for %dx%d plane not supported, trying scale factor of 4x\n", width, height);
> > +		width = height = mode->vdisplay / 4;
> > +		commit_ret = try_commit_with_fb_size(width, height, rot, display, d,
> > +						     pixel_format, modifier, plane, mode);
> > +	}
> > +
> > +	if (commit_ret == -ERANGE) {
> > +		igt_debug("Scale factor of 4x (or scaling in general) not supported, trying unity scale\n");
> > +		width = mode->hdisplay;
> > +		height = mode->vdisplay;
> > +		commit_ret = try_commit_with_fb_size(width, height, rot, display, d,
> > +						     pixel_format, modifier, plane, mode);
> > +	}
> 
> Now the changes look good and they do what it says on the tin. But now
> it got me thinking if this needs to be even more complicated...
> 
> If a kernel change causes the first scaling attempt to fail and this
> goes into the fallbacks and succeeds there, it all happens very
> silently. A better setup for catching that case would be to have
> separate dynamic subtests for the different scaling factors, where the
> unsupported factors do a 'SKIP' result with igt_skip_on_f(commit_ret
> == -ERANGE, "Unsupported scaling factor\n");
> 
> What do you think? Sorry to go back and forth like this on the patch.

Something like this: https://patchwork.freedesktop.org/series/99364/


-- 
Petri Latvala

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

* Re: [igt-dev] [PATCH i-g-t v5] tests/kms_plane_scaling: Increase buffer size if driver doesn't support larger scale factors
  2022-01-26 11:59   ` Petri Latvala
@ 2022-01-26 17:33     ` Jessica Zhang
  0 siblings, 0 replies; 6+ messages in thread
From: Jessica Zhang @ 2022-01-26 17:33 UTC (permalink / raw)
  To: Petri Latvala; +Cc: quic_khsieh, swboyd, igt-dev, nganji, seanpaul, aravindh



On 1/26/2022 3:59 AM, Petri Latvala wrote:
> On Wed, Jan 26, 2022 at 12:21:30PM +0200, Petri Latvala wrote:
>> On Tue, Jan 25, 2022 at 05:01:05PM -0800, Jessica Zhang wrote:
>>> Catch edge cases where driver doesn't support larger scale factors or
>>> pipe doesn't support scaling.
>>>
>>> Currently, a 20x20 framebuffer is passed in to be upscaled. However,
>>> this will cause issues with other drivers as they may not support larger
>>> scale factors or may not support scaling at all for certain planes.
>>>
>>> This avoids failures due to invalid scale factor by trying
>>> the original 20x20 framebuffer commit, then trying to commit larger
>>> framebuffers up to and including unity scale.
>>>
>>> Changes since V1:
>>> - try_commit_with_fb_size: Changed igt_try_commit2 to
>>>    igt_display_try_commit_atomic instead to avoid redundant commits
>>> - try_commit_with_fb_size: Moved calls to clear framebuffer to outside
>>>    of success condition and moved cleanup_crtc back to outside of method
>>>
>>> Changes since V2:
>>> - try_commit_with_fb_size: Replaced igt_display_try_commit_atomic with
>>>    igt_display_try_commit2 and removed igt_display_try_commit2 to avoid
>>>    redundant checks
>>>
>>> Changes since V3:
>>> - try_commit_with_fb_size: Moved igt_plane_set_position to outside
>>>    method after fallback cases
>>>
>>> Changes since V4:
>>> - try_commit_with_fb_size: Moved igt_create_color_fb to inside
>>>    display_try_commit_with_fb and moved igt_set_plane_fb out so that a
>>>    new framebuffer is created and set for different sizes
>>>
>>> Tested-on: Qualcomm RB5 (sdm845), Chromebook (Lazor)
>>>
>>> Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
>>> Change-Id: Ib6758fec0293a2ba4c4109fbf42674cf93f784dd
>>> ---
>>>   tests/kms_plane_scaling.c | 57 +++++++++++++++++++++++++++++++--------
>>>   1 file changed, 46 insertions(+), 11 deletions(-)
>>>
>>> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
>>> index 85db11ee6dbd..bbc89c23b91f 100644
>>> --- a/tests/kms_plane_scaling.c
>>> +++ b/tests/kms_plane_scaling.c
>>> @@ -1,5 +1,6 @@
>>>   /*
>>>    * Copyright © 2013,2014 Intel Corporation
>>> + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
>>>    *
>>>    * Permission is hereby granted, free of charge, to any person obtaining a
>>>    * copy of this software and associated documentation files (the "Software"),
>>> @@ -118,6 +119,32 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe,
>>>   	igt_display_commit2(display, COMMIT_ATOMIC);
>>>   }
>>>   
>>> +static int try_commit_with_fb_size(int width, int height, igt_rotation_t rot,
>>> +				   igt_display_t *display, data_t *d,
>>> +				   uint32_t pixel_format,
>>> +				   uint64_t modifier,
>>> +				   igt_plane_t *plane,
>>> +				   drmModeModeInfo *mode)
>>> +{
>>> +	int ret;
>>> +
>>> +	/* create buffer in the range of  min and max source side limit.*/
>>> +	igt_create_color_fb(display->drm_fd, width, height,
>>> +		       pixel_format, modifier, 0.0, 1.0, 0.0, &d->fb[0]);
>>> +	igt_plane_set_fb(plane, &d->fb[0]);
>>> +
>>> +	/* Check min to full resolution upscaling */
>>> +	igt_fb_set_position(&d->fb[0], plane, 0, 0);
>>> +	igt_fb_set_size(&d->fb[0], plane, width, height);
>>> +	igt_plane_set_position(plane, 0, 0);
>>> +	igt_plane_set_size(plane, mode->hdisplay, mode->vdisplay);
>>> +	igt_plane_set_rotation(plane, rot);
>>> +
>>> +	ret = igt_display_try_commit2(display, COMMIT_ATOMIC);
>>> +
>>> +	return ret;
>>> +}
>>> +
>>>   static void check_scaling_pipe_plane_rot(data_t *d, igt_plane_t *plane,
>>>   					 uint32_t pixel_format,
>>>   					 uint64_t modifier, enum pipe pipe,
>>> @@ -126,6 +153,7 @@ static void check_scaling_pipe_plane_rot(data_t *d, igt_plane_t *plane,
>>>   {
>>>   	igt_display_t *display = &d->display;
>>>   	int width, height;
>>> +	int commit_ret;
>>>   	drmModeModeInfo *mode;
>>>   
>>>   	cleanup_crtc(d);
>>> @@ -133,22 +161,29 @@ static void check_scaling_pipe_plane_rot(data_t *d, igt_plane_t *plane,
>>>   	igt_output_set_pipe(output, pipe);
>>>   	mode = igt_output_get_mode(output);
>>>   
>>> -	/* create buffer in the range of  min and max source side limit.*/
>>>   	width = height = 20;
>>> -	igt_create_color_fb(display->drm_fd, width, height,
>>> -		       pixel_format, modifier, 0.0, 1.0, 0.0, &d->fb[0]);
>>> -	igt_plane_set_fb(plane, &d->fb[0]);
>>>   
>>> -	/* Check min to full resolution upscaling */
>>> -	igt_fb_set_position(&d->fb[0], plane, 0, 0);
>>> -	igt_fb_set_size(&d->fb[0], plane, width, height);
>>> -	igt_plane_set_position(plane, 0, 0);
>>> -	igt_plane_set_size(plane, mode->hdisplay, mode->vdisplay);
>>> -	igt_plane_set_rotation(plane, rot);
>>> -	igt_display_commit2(display, COMMIT_ATOMIC);
>>> +	commit_ret = try_commit_with_fb_size(width, height, rot, display, d,
>>> +					     pixel_format, modifier, plane, mode);
>>> +
>>> +	if(commit_ret == -ERANGE) {
>>> +		igt_debug("Scaling for %dx%d plane not supported, trying scale factor of 4x\n", width, height);
>>> +		width = height = mode->vdisplay / 4;
>>> +		commit_ret = try_commit_with_fb_size(width, height, rot, display, d,
>>> +						     pixel_format, modifier, plane, mode);
>>> +	}
>>> +
>>> +	if (commit_ret == -ERANGE) {
>>> +		igt_debug("Scale factor of 4x (or scaling in general) not supported, trying unity scale\n");
>>> +		width = mode->hdisplay;
>>> +		height = mode->vdisplay;
>>> +		commit_ret = try_commit_with_fb_size(width, height, rot, display, d,
>>> +						     pixel_format, modifier, plane, mode);
>>> +	}
>>
>> Now the changes look good and they do what it says on the tin. But now
>> it got me thinking if this needs to be even more complicated...
>>
>> If a kernel change causes the first scaling attempt to fail and this
>> goes into the fallbacks and succeeds there, it all happens very
>> silently. A better setup for catching that case would be to have
>> separate dynamic subtests for the different scaling factors, where the
>> unsupported factors do a 'SKIP' result with igt_skip_on_f(commit_ret
>> == -ERANGE, "Unsupported scaling factor\n");
>>
>> What do you think? Sorry to go back and forth like this on the patch.
> 
> Something like this: https://patchwork.freedesktop.org/series/99364/
> 

Good idea -- it would definitely help to make this more transparent.

Thanks,
Jessica Zhang

> 
> -- 
> Petri Latvala

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

end of thread, other threads:[~2022-01-26 17:33 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-26  1:01 [igt-dev] [PATCH i-g-t v5] tests/kms_plane_scaling: Increase buffer size if driver doesn't support larger scale factors Jessica Zhang
2022-01-26  1:37 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_plane_scaling: Increase buffer size if driver doesn't support larger scale factors (rev5) Patchwork
2022-01-26  3:30 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2022-01-26 10:21 ` [igt-dev] [PATCH i-g-t v5] tests/kms_plane_scaling: Increase buffer size if driver doesn't support larger scale factors Petri Latvala
2022-01-26 11:59   ` Petri Latvala
2022-01-26 17:33     ` Jessica Zhang

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.