All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t v3 0/3] kms_atomic_transition improvements
@ 2019-04-01 11:23 Stanislav Lisovskiy
  2019-04-01 11:23 ` [igt-dev] [PATCH i-g-t v3 1/3] igt/tests/kms_atomic_transition: Skip transition, if no changes done Stanislav Lisovskiy
                   ` (6 more replies)
  0 siblings, 7 replies; 12+ messages in thread
From: Stanislav Lisovskiy @ 2019-04-01 11:23 UTC (permalink / raw)
  To: igt-dev; +Cc: ville.syrjala, martin.peres, stanislav.lisovskiy

Fixed run_transition_test issue, which might happen when no changes
are done and wait_transition is called and made setup_parms function
tolerate if kernel can't afford having all sprite planes enabled
depending on current mode. Remove redundant condition nesting and code.

Stanislav Lisovskiy (3):
  igt/tests/kms_atomic_transition: Skip transition, if no changes done
  igt/tests/kms_atomic_transition: Tolerate if can't have all planes
  igt/tests/kms_atomic_transition: Remove redundant code

 tests/kms_atomic_transition.c | 107 +++++++++++++++++++---------------
 1 file changed, 59 insertions(+), 48 deletions(-)

-- 
2.17.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t v3 1/3] igt/tests/kms_atomic_transition: Skip transition, if no changes done
  2019-04-01 11:23 [igt-dev] [PATCH i-g-t v3 0/3] kms_atomic_transition improvements Stanislav Lisovskiy
@ 2019-04-01 11:23 ` Stanislav Lisovskiy
  2019-04-01 23:04   ` Souza, Jose
  2019-04-01 11:23 ` [igt-dev] [PATCH i-g-t v3 2/3] igt/tests/kms_atomic_transition: Tolerate if can't have all planes Stanislav Lisovskiy
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 12+ messages in thread
From: Stanislav Lisovskiy @ 2019-04-01 11:23 UTC (permalink / raw)
  To: igt-dev; +Cc: ville.syrjala, martin.peres, stanislav.lisovskiy

While fixing used amount of planes, discovered that if
wm_setup_plane is called with 0 planes(might happen during
main testing cycle, as parms[i].mask can be 0 due to randomization)
then subsequent wait_transition fails in assertion on fd_completed.
So added return value to wm_setup_plane, which would allow to
determine, if we need to skip this step.

Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
---
 tests/kms_atomic_transition.c | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
index 18f73317..638fe17e 100644
--- a/tests/kms_atomic_transition.c
+++ b/tests/kms_atomic_transition.c
@@ -118,11 +118,12 @@ static void configure_fencing(igt_plane_t *plane)
 	igt_assert_eq(ret, 0);
 }
 
-static void
+static int
 wm_setup_plane(igt_display_t *display, enum pipe pipe,
 	       uint32_t mask, struct plane_parms *parms, bool fencing)
 {
 	igt_plane_t *plane;
+	int planes_set_up = 0;
 
 	/*
 	* Make sure these buffers are suited for display use
@@ -133,8 +134,10 @@ wm_setup_plane(igt_display_t *display, enum pipe pipe,
 		int i = plane->index;
 
 		if (!mask || !(parms[i].mask & mask)) {
-			if (plane->values[IGT_PLANE_FB_ID])
+			if (plane->values[IGT_PLANE_FB_ID]) {
 				igt_plane_set_fb(plane, NULL);
+				planes_set_up++;
+			}
 			continue;
 		}
 
@@ -144,7 +147,10 @@ wm_setup_plane(igt_display_t *display, enum pipe pipe,
 		igt_plane_set_fb(plane, parms[i].fb);
 		igt_fb_set_size(parms[i].fb, plane, parms[i].width, parms[i].height);
 		igt_plane_set_size(plane, parms[i].width, parms[i].height);
+
+		planes_set_up++;
 	}
+	return planes_set_up;
 }
 
 static void ev_page_flip(int fd, unsigned seq, unsigned tv_sec, unsigned tv_usec, void *user_data)
@@ -544,7 +550,8 @@ run_transition_test(igt_display_t *display, enum pipe pipe, igt_output_t *output
 
 		igt_output_set_pipe(output, pipe);
 
-		wm_setup_plane(display, pipe, i, parms, fencing);
+		if (!wm_setup_plane(display, pipe, i, parms, fencing))
+			continue;
 
 		atomic_commit(display, pipe, flags, (void *)(unsigned long)i, fencing);
 		wait_for_transition(display, pipe, nonblocking, fencing);
@@ -552,7 +559,8 @@ run_transition_test(igt_display_t *display, enum pipe pipe, igt_output_t *output
 		if (type == TRANSITION_MODESET_DISABLE) {
 			igt_output_set_pipe(output, PIPE_NONE);
 
-			wm_setup_plane(display, pipe, 0, parms, fencing);
+			if (!wm_setup_plane(display, pipe, 0, parms, fencing))
+				continue;
 
 			atomic_commit(display, pipe, flags, (void *) 0UL, fencing);
 			wait_for_transition(display, pipe, nonblocking, fencing);
@@ -568,7 +576,8 @@ run_transition_test(igt_display_t *display, enum pipe pipe, igt_output_t *output
 				    n_enable_planes < pipe_obj->n_planes)
 					continue;
 
-				wm_setup_plane(display, pipe, j, parms, fencing);
+				if (!wm_setup_plane(display, pipe, j, parms, fencing))
+					continue;
 
 				if (type >= TRANSITION_MODESET)
 					igt_output_override_mode(output, &override_mode);
@@ -576,7 +585,9 @@ run_transition_test(igt_display_t *display, enum pipe pipe, igt_output_t *output
 				atomic_commit(display, pipe, flags, (void *)(unsigned long) j, fencing);
 				wait_for_transition(display, pipe, nonblocking, fencing);
 
-				wm_setup_plane(display, pipe, i, parms, fencing);
+				if (!wm_setup_plane(display, pipe, i, parms, fencing))
+					continue;
+
 				if (type >= TRANSITION_MODESET)
 					igt_output_override_mode(output, NULL);
 
-- 
2.17.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t v3 2/3] igt/tests/kms_atomic_transition: Tolerate if can't have all planes
  2019-04-01 11:23 [igt-dev] [PATCH i-g-t v3 0/3] kms_atomic_transition improvements Stanislav Lisovskiy
  2019-04-01 11:23 ` [igt-dev] [PATCH i-g-t v3 1/3] igt/tests/kms_atomic_transition: Skip transition, if no changes done Stanislav Lisovskiy
@ 2019-04-01 11:23 ` Stanislav Lisovskiy
  2019-04-02 20:42   ` Souza, Jose
  2019-04-01 11:23 ` [igt-dev] [PATCH i-g-t v3 3/3] igt/tests/kms_atomic_transition: Remove redundant code Stanislav Lisovskiy
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 12+ messages in thread
From: Stanislav Lisovskiy @ 2019-04-01 11:23 UTC (permalink / raw)
  To: igt-dev; +Cc: ville.syrjala, martin.peres, stanislav.lisovskiy

With some upcoming changes i915 might not allow
all sprite planes enabled, depending on available
bandwidth limitation. Thus the test need to decrement
amount of planes and try again, instead of panicking.

Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
---
 tests/kms_atomic_transition.c | 30 ++++++++++++++++++++++--------
 1 file changed, 22 insertions(+), 8 deletions(-)

diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
index 638fe17e..e4dee7e2 100644
--- a/tests/kms_atomic_transition.c
+++ b/tests/kms_atomic_transition.c
@@ -214,7 +214,8 @@ static void setup_parms(igt_display_t *display, enum pipe pipe,
 	uint32_t n_planes = display->pipes[pipe].n_planes;
 	uint32_t n_overlays = 0, overlays[n_planes];
 	igt_plane_t *plane;
-	uint32_t iter_mask = 3;
+	uint32_t iter_mask;
+	int retries = n_planes - 1;
 
 	do_or_die(drmGetCap(display->drm_fd, DRM_CAP_CURSOR_WIDTH, &cursor_width));
 	if (cursor_width >= mode->hdisplay)
@@ -224,6 +225,10 @@ static void setup_parms(igt_display_t *display, enum pipe pipe,
 	if (cursor_height >= mode->vdisplay)
 		cursor_height = mode->vdisplay;
 
+retry:
+	n_overlays = 0;
+	iter_mask = 3;
+
 	for_each_plane_on_pipe(display, pipe, plane) {
 		int i = plane->index;
 
@@ -278,7 +283,6 @@ static void setup_parms(igt_display_t *display, enum pipe pipe,
 	 * Pre gen9 not all sizes are supported, find the biggest possible
 	 * size that can be enabled on all sprite planes.
 	 */
-retry:
 	prev_w = sprite_width = cursor_width;
 	prev_h = sprite_height = cursor_height;
 
@@ -298,12 +302,22 @@ retry:
 		if (is_atomic_check_plane_size_errno(ret)) {
 			if (cursor_width == sprite_width &&
 			    cursor_height == sprite_height) {
-				igt_assert_f(alpha,
-					      "Cannot configure the test with all sprite planes enabled\n");
-
-				/* retry once with XRGB format. */
-				alpha = false;
-				goto retry;
+				if (--retries >= 0) {
+					/* retry once with XRGB format. */
+					if (alpha) {
+						alpha = false;
+					}
+					else if (display->pipes[pipe].n_planes > 0) {
+						display->pipes[pipe].n_planes--;
+						igt_warn("Reduced available planes to %d\n",
+							    display->pipes[pipe].n_planes);
+					}
+					n_planes = display->pipes[pipe].n_planes;
+					igt_assert_f(n_planes > 0, "No planes left to proceed with!");
+					goto retry;
+				}
+				igt_assert_f(retries > 0,
+				      "Cannot configure the test with all sprite planes enabled\n");
 			}
 
 			sprite_width = prev_w;
-- 
2.17.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t v3 3/3] igt/tests/kms_atomic_transition: Remove redundant code
  2019-04-01 11:23 [igt-dev] [PATCH i-g-t v3 0/3] kms_atomic_transition improvements Stanislav Lisovskiy
  2019-04-01 11:23 ` [igt-dev] [PATCH i-g-t v3 1/3] igt/tests/kms_atomic_transition: Skip transition, if no changes done Stanislav Lisovskiy
  2019-04-01 11:23 ` [igt-dev] [PATCH i-g-t v3 2/3] igt/tests/kms_atomic_transition: Tolerate if can't have all planes Stanislav Lisovskiy
@ 2019-04-01 11:23 ` Stanislav Lisovskiy
  2019-04-01 12:07 ` [igt-dev] ✗ Fi.CI.BAT: failure for kms_atomic_transition improvements (rev3) Patchwork
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 12+ messages in thread
From: Stanislav Lisovskiy @ 2019-04-01 11:23 UTC (permalink / raw)
  To: igt-dev; +Cc: ville.syrjala, martin.peres, stanislav.lisovskiy

Removed excessive nested conditions, making code a bit
more readable(hopefully).

Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
---
 tests/kms_atomic_transition.c | 86 +++++++++++++++--------------------
 1 file changed, 36 insertions(+), 50 deletions(-)

diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
index e4dee7e2..175546dd 100644
--- a/tests/kms_atomic_transition.c
+++ b/tests/kms_atomic_transition.c
@@ -216,6 +216,7 @@ static void setup_parms(igt_display_t *display, enum pipe pipe,
 	igt_plane_t *plane;
 	uint32_t iter_mask;
 	int retries = n_planes - 1;
+	int ret = 0;
 
 	do_or_die(drmGetCap(display->drm_fd, DRM_CAP_CURSOR_WIDTH, &cursor_width));
 	if (cursor_width >= mode->hdisplay)
@@ -289,9 +290,7 @@ retry:
 	max_sprite_width = (sprite_width == mode->hdisplay);
 	max_sprite_height = (sprite_height == mode->vdisplay);
 
-	while (1) {
-		int ret;
-
+	while (!max_sprite_width && !max_sprite_height) {
 		set_sprite_wh(display, pipe, parms, sprite_fb,
 			      alpha, sprite_width, sprite_height);
 
@@ -299,64 +298,51 @@ retry:
 		ret = igt_display_try_commit_atomic(display, DRM_MODE_ATOMIC_TEST_ONLY | DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
 		igt_assert(!is_atomic_check_failure_errno(ret));
 
-		if (is_atomic_check_plane_size_errno(ret)) {
-			if (cursor_width == sprite_width &&
-			    cursor_height == sprite_height) {
-				if (--retries >= 0) {
-					/* retry once with XRGB format. */
-					if (alpha) {
-						alpha = false;
-					}
-					else if (display->pipes[pipe].n_planes > 0) {
-						display->pipes[pipe].n_planes--;
-						igt_warn("Reduced available planes to %d\n",
-							    display->pipes[pipe].n_planes);
-					}
-					n_planes = display->pipes[pipe].n_planes;
-					igt_assert_f(n_planes > 0, "No planes left to proceed with!");
-					goto retry;
-				}
-				igt_assert_f(retries > 0,
-				      "Cannot configure the test with all sprite planes enabled\n");
-			}
-
-			sprite_width = prev_w;
-			sprite_height = prev_h;
-
-			if (max_sprite_width && max_sprite_height) {
-				set_sprite_wh(display, pipe, parms, sprite_fb,
-					      alpha, sprite_width, sprite_height);
-				break;
-			}
-
-			if (!max_sprite_width)
-				max_sprite_width = true;
-			else
-				max_sprite_height = true;
-		} else {
+		if (!is_atomic_check_plane_size_errno(ret)) {
 			prev_w = sprite_width;
 			prev_h = sprite_height;
-		}
-
-		if (!max_sprite_width) {
-			sprite_width *= 2;
-
+    
+			sprite_width *= max_sprite_width ? 1 : 2;
 			if (sprite_width >= mode->hdisplay) {
 				max_sprite_width = true;
-
 				sprite_width = mode->hdisplay;
 			}
-		} else if (!max_sprite_height) {
-			sprite_height *= 2;
 
+			sprite_height *= max_sprite_height ? 1 : 2;
 			if (sprite_height >= mode->vdisplay) {
 				max_sprite_height = true;
-
 				sprite_height = mode->vdisplay;
 			}
-		} else
-			/* Max sized sprites for all! */
-			break;
+			continue;
+		}
+
+		if (cursor_width == sprite_width &&
+		    cursor_height == sprite_height) {
+			igt_assert_f(retries > 0,
+				      "Cannot configure the test with all sprite planes enabled\n");
+			--retries;
+			/* retry once with XRGB format. */
+			if (alpha) {
+				alpha = false;
+			}
+			else {
+				igt_assert_f(n_planes > 1, "No planes left to proceed with!");
+
+				display->pipes[pipe].n_planes--;
+				n_planes = display->pipes[pipe].n_planes;
+				igt_warn("Reduced available planes to %d\n",
+					    display->pipes[pipe].n_planes);
+			}
+			goto retry;
+		}
+
+		sprite_width = prev_w;
+		sprite_height = prev_h;
+
+		if (!max_sprite_width)
+			max_sprite_width = true;
+		else
+			max_sprite_height = true;
 	}
 
 	igt_info("Running test on pipe %s with resolution %dx%d and sprite size %dx%d alpha %i\n",
-- 
2.17.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✗ Fi.CI.BAT: failure for kms_atomic_transition improvements (rev3)
  2019-04-01 11:23 [igt-dev] [PATCH i-g-t v3 0/3] kms_atomic_transition improvements Stanislav Lisovskiy
                   ` (2 preceding siblings ...)
  2019-04-01 11:23 ` [igt-dev] [PATCH i-g-t v3 3/3] igt/tests/kms_atomic_transition: Remove redundant code Stanislav Lisovskiy
@ 2019-04-01 12:07 ` Patchwork
  2019-04-01 13:42 ` [igt-dev] ✗ Fi.CI.BAT: failure for kms_atomic_transition improvements (rev4) Patchwork
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2019-04-01 12:07 UTC (permalink / raw)
  To: Stanislav Lisovskiy; +Cc: igt-dev

== Series Details ==

Series: kms_atomic_transition improvements (rev3)
URL   : https://patchwork.freedesktop.org/series/58728/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_5850 -> IGTPW_2748
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_2748 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_2748, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/58728/revisions/3/mbox/

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@live_uncore:
    - fi-icl-y:           PASS -> INCOMPLETE

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_cs_nop@fork-gfx0:
    - fi-icl-u2:          NOTRUN -> SKIP [fdo#109315] +17

  * igt@amdgpu/amd_cs_nop@sync-compute0:
    - fi-bdw-gvtdvm:      NOTRUN -> SKIP [fdo#109271] +42

  * igt@amdgpu/amd_cs_nop@sync-fork-compute0:
    - fi-icl-u3:          NOTRUN -> SKIP [fdo#109315] +17

  * igt@gem_ctx_create@basic-files:
    - fi-gdg-551:         NOTRUN -> SKIP [fdo#109271] +106

  * igt@gem_exec_basic@basic-vebox:
    - fi-ivb-3770:        NOTRUN -> SKIP [fdo#109271] +48

  * igt@gem_exec_basic@gtt-bsd1:
    - fi-icl-u3:          NOTRUN -> SKIP [fdo#109276] +7

  * igt@gem_exec_basic@readonly-bsd1:
    - fi-icl-u2:          NOTRUN -> SKIP [fdo#109276] +7

  * igt@gem_exec_gttfill@basic:
    - fi-skl-gvtdvm:      NOTRUN -> SKIP [fdo#109271] +41

  * igt@gem_exec_parse@basic-allowed:
    - fi-icl-u2:          NOTRUN -> SKIP [fdo#109289] +1

  * igt@gem_exec_parse@basic-rejected:
    - fi-icl-u3:          NOTRUN -> SKIP [fdo#109289] +1

  * igt@gem_exec_store@basic-bsd2:
    - fi-hsw-4770:        NOTRUN -> SKIP [fdo#109271] +41

  * igt@i915_selftest@live_contexts:
    - fi-icl-u3:          NOTRUN -> DMESG-FAIL [fdo#108569]
    - fi-icl-u2:          NOTRUN -> DMESG-FAIL [fdo#108569]

  * igt@i915_selftest@live_execlists:
    - fi-apl-guc:         NOTRUN -> INCOMPLETE [fdo#103927] / [fdo#109720]

  * igt@kms_busy@basic-flip-c:
    - fi-blb-e6850:       NOTRUN -> SKIP [fdo#109271] / [fdo#109278]
    - fi-gdg-551:         NOTRUN -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_chamelium@dp-edid-read:
    - fi-skl-iommu:       NOTRUN -> SKIP [fdo#109271] +45
    - fi-icl-u2:          NOTRUN -> SKIP [fdo#109316] +2

  * igt@kms_chamelium@hdmi-edid-read:
    - fi-icl-u3:          NOTRUN -> SKIP [fdo#109284] +8

  * igt@kms_chamelium@vga-hpd-fast:
    - fi-icl-u2:          NOTRUN -> SKIP [fdo#109309] +1

  * igt@kms_force_connector_basic@prune-stale-modes:
    - fi-icl-u2:          NOTRUN -> SKIP [fdo#109285] +3
    - fi-icl-u3:          NOTRUN -> SKIP [fdo#109285] +3

  * igt@kms_frontbuffer_tracking@basic:
    - fi-icl-u3:          NOTRUN -> FAIL [fdo#103167]
    - fi-icl-u2:          NOTRUN -> FAIL [fdo#103167]

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-c:
    - fi-blb-e6850:       NOTRUN -> SKIP [fdo#109271] +76

  * igt@kms_psr@primary_page_flip:
    - fi-apl-guc:         NOTRUN -> SKIP [fdo#109271] +50
    - fi-skl-lmem:        NOTRUN -> SKIP [fdo#109271] +37

  * igt@prime_vgem@basic-fence-flip:
    - fi-gdg-551:         NOTRUN -> FAIL [fdo#103182]

  * igt@runner@aborted:
    - fi-bxt-dsi:         NOTRUN -> FAIL [fdo#109516]

  
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103182]: https://bugs.freedesktop.org/show_bug.cgi?id=103182
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109316]: https://bugs.freedesktop.org/show_bug.cgi?id=109316
  [fdo#109516]: https://bugs.freedesktop.org/show_bug.cgi?id=109516
  [fdo#109720]: https://bugs.freedesktop.org/show_bug.cgi?id=109720


Participating hosts (34 -> 39)
------------------------------

  Additional (12): fi-bxt-dsi fi-skl-gvtdvm fi-bdw-gvtdvm fi-icl-u2 fi-apl-guc fi-hsw-4770 fi-gdg-551 fi-ivb-3770 fi-icl-u3 fi-skl-iommu fi-skl-lmem fi-blb-e6850 
  Missing    (7): fi-kbl-soraka fi-ilk-m540 fi-bsw-n3050 fi-hsw-4200u fi-ctg-p8600 fi-byt-n2820 fi-bdw-samus 


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

    * IGT: IGT_4916 -> IGTPW_2748

  CI_DRM_5850: dfb9d3db8c114d63c1a24c24f90a7786503638f0 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2748: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2748/
  IGT_4916: 2b4ede5c974228d2dcf02a581a1c7548d1483c3f @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2748/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✗ Fi.CI.BAT: failure for kms_atomic_transition improvements (rev4)
  2019-04-01 11:23 [igt-dev] [PATCH i-g-t v3 0/3] kms_atomic_transition improvements Stanislav Lisovskiy
                   ` (3 preceding siblings ...)
  2019-04-01 12:07 ` [igt-dev] ✗ Fi.CI.BAT: failure for kms_atomic_transition improvements (rev3) Patchwork
@ 2019-04-01 13:42 ` Patchwork
  2019-04-02  8:59 ` [igt-dev] ✓ Fi.CI.BAT: success for kms_atomic_transition improvements (rev5) Patchwork
  2019-04-02 13:50 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  6 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2019-04-01 13:42 UTC (permalink / raw)
  To: Stanislav Lisovskiy; +Cc: igt-dev

== Series Details ==

Series: kms_atomic_transition improvements (rev4)
URL   : https://patchwork.freedesktop.org/series/58728/
State : failure

== Summary ==

CI Bug Log - changes from IGT_4917 -> IGTPW_2750
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_2750 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_2750, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/58728/revisions/4/mbox/

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_basic@cs-sdma:
    - fi-skl-6770hq:      NOTRUN -> SKIP [fdo#109271] +37
    - fi-kbl-guc:         NOTRUN -> SKIP [fdo#109271] +80

  * igt@amdgpu/amd_basic@userptr:
    - fi-whl-u:           NOTRUN -> SKIP [fdo#109271] +41

  * igt@amdgpu/amd_cs_nop@fork-gfx0:
    - fi-hsw-peppy:       NOTRUN -> SKIP [fdo#109271] +46

  * igt@amdgpu/amd_cs_nop@sync-fork-compute0:
    - fi-icl-u3:          NOTRUN -> SKIP [fdo#109315] +17

  * igt@gem_exec_basic@basic-bsd2:
    - fi-icl-u3:          NOTRUN -> SKIP [fdo#109276] +7

  * igt@gem_exec_basic@gtt-bsd1:
    - fi-bxt-j4205:       NOTRUN -> SKIP [fdo#109271] +47

  * igt@gem_exec_parse@basic-rejected:
    - fi-icl-u3:          NOTRUN -> SKIP [fdo#109289] +1

  * igt@gem_exec_store@basic-bsd2:
    - fi-hsw-4770:        NOTRUN -> SKIP [fdo#109271] +41

  * igt@i915_selftest@live_contexts:
    - fi-icl-u3:          NOTRUN -> DMESG-FAIL [fdo#108569]

  * igt@kms_busy@basic-flip-c:
    - fi-kbl-guc:         NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +2

  * igt@kms_chamelium@hdmi-crc-fast:
    - fi-icl-u3:          NOTRUN -> SKIP [fdo#109284] +8

  * igt@kms_chamelium@vga-edid-read:
    - fi-hsw-4770r:       NOTRUN -> SKIP [fdo#109271] +45

  * igt@kms_force_connector_basic@force-edid:
    - fi-icl-u3:          NOTRUN -> SKIP [fdo#109285] +3

  * igt@kms_frontbuffer_tracking@basic:
    - fi-hsw-peppy:       NOTRUN -> DMESG-FAIL [fdo#102614] / [fdo#107814]
    - fi-icl-u3:          NOTRUN -> FAIL [fdo#103167]

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - fi-whl-u:           NOTRUN -> FAIL [fdo#103375] +3

  * igt@kms_psr@cursor_plane_move:
    - fi-skl-6260u:       NOTRUN -> SKIP [fdo#109271] +37
    - fi-whl-u:           NOTRUN -> FAIL [fdo#107383] +3

  
  [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#107383]: https://bugs.freedesktop.org/show_bug.cgi?id=107383
  [fdo#107814]: https://bugs.freedesktop.org/show_bug.cgi?id=107814
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315


Participating hosts (29 -> 20)
------------------------------

  ERROR: It appears as if the changes made in IGTPW_2750 prevented too many machines from booting.

  Additional (9): fi-hsw-4770r fi-hsw-peppy fi-skl-6770hq fi-skl-6260u fi-kbl-guc fi-hsw-4770 fi-whl-u fi-bxt-j4205 fi-icl-u3 
  Missing    (18): fi-ilk-m540 fi-bdw-samus fi-bdw-5557u fi-hsw-4200u fi-bdw-gvtdvm fi-byt-squawks fi-bwr-2160 fi-apl-guc fi-snb-2520m fi-kbl-7500u fi-cfl-8700k fi-gdg-551 fi-ivb-3770 fi-icl-y fi-blb-e6850 fi-byt-n2820 fi-bsw-kefka fi-skl-6600u 


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

    * IGT: IGT_4917 -> IGTPW_2750

  CI_DRM_5850: dfb9d3db8c114d63c1a24c24f90a7786503638f0 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2750: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2750/
  IGT_4917: ec9792ad770d5055d6f42e2a481b8314754c9218 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2750/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t v3 1/3] igt/tests/kms_atomic_transition: Skip transition, if no changes done
  2019-04-01 11:23 ` [igt-dev] [PATCH i-g-t v3 1/3] igt/tests/kms_atomic_transition: Skip transition, if no changes done Stanislav Lisovskiy
@ 2019-04-01 23:04   ` Souza, Jose
  2019-04-02  6:59     ` Lisovskiy, Stanislav
  0 siblings, 1 reply; 12+ messages in thread
From: Souza, Jose @ 2019-04-01 23:04 UTC (permalink / raw)
  To: igt-dev, Lisovskiy, Stanislav; +Cc: Syrjala, Ville, Peres, Martin


[-- Attachment #1.1: Type: text/plain, Size: 4018 bytes --]

On Mon, 2019-04-01 at 14:23 +0300, Stanislav Lisovskiy wrote:
> While fixing used amount of planes, discovered that if
> wm_setup_plane is called with 0 planes(might happen during
> main testing cycle, as parms[i].mask can be 0 due to randomization)

I can't see how parms[i].mask can be 0, it always be one of: 1 << (0,
1, 2 or 3).

> then subsequent wait_transition fails in assertion on fd_completed.
> So added return value to wm_setup_plane, which would allow to
> determine, if we need to skip this step.
> 
> Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> ---
>  tests/kms_atomic_transition.c | 23 +++++++++++++++++------
>  1 file changed, 17 insertions(+), 6 deletions(-)
> 
> diff --git a/tests/kms_atomic_transition.c
> b/tests/kms_atomic_transition.c
> index 18f73317..638fe17e 100644
> --- a/tests/kms_atomic_transition.c
> +++ b/tests/kms_atomic_transition.c
> @@ -118,11 +118,12 @@ static void configure_fencing(igt_plane_t
> *plane)
>  	igt_assert_eq(ret, 0);
>  }
>  
> -static void
> +static int
>  wm_setup_plane(igt_display_t *display, enum pipe pipe,
>  	       uint32_t mask, struct plane_parms *parms, bool fencing)
>  {
>  	igt_plane_t *plane;
> +	int planes_set_up = 0;
>  
>  	/*
>  	* Make sure these buffers are suited for display use
> @@ -133,8 +134,10 @@ wm_setup_plane(igt_display_t *display, enum pipe
> pipe,
>  		int i = plane->index;
>  
>  		if (!mask || !(parms[i].mask & mask)) {
> -			if (plane->values[IGT_PLANE_FB_ID])
> +			if (plane->values[IGT_PLANE_FB_ID]) {
>  				igt_plane_set_fb(plane, NULL);
> +				planes_set_up++;
> +			}
>  			continue;
>  		}
>  
> @@ -144,7 +147,10 @@ wm_setup_plane(igt_display_t *display, enum pipe
> pipe,
>  		igt_plane_set_fb(plane, parms[i].fb);
>  		igt_fb_set_size(parms[i].fb, plane, parms[i].width,
> parms[i].height);
>  		igt_plane_set_size(plane, parms[i].width,
> parms[i].height);
> +
> +		planes_set_up++;
>  	}
> +	return planes_set_up;
>  }
>  
>  static void ev_page_flip(int fd, unsigned seq, unsigned tv_sec,
> unsigned tv_usec, void *user_data)
> @@ -544,7 +550,8 @@ run_transition_test(igt_display_t *display, enum
> pipe pipe, igt_output_t *output
>  
>  		igt_output_set_pipe(output, pipe);
>  
> -		wm_setup_plane(display, pipe, i, parms, fencing);
> +		if (!wm_setup_plane(display, pipe, i, parms, fencing))
> +			continue;
>  
>  		atomic_commit(display, pipe, flags, (void *)(unsigned
> long)i, fencing);
>  		wait_for_transition(display, pipe, nonblocking,
> fencing);
> @@ -552,7 +559,8 @@ run_transition_test(igt_display_t *display, enum
> pipe pipe, igt_output_t *output
>  		if (type == TRANSITION_MODESET_DISABLE) {
>  			igt_output_set_pipe(output, PIPE_NONE);
>  
> -			wm_setup_plane(display, pipe, 0, parms,
> fencing);
> +			if (!wm_setup_plane(display, pipe, 0, parms,
> fencing))
> +				continue;
>  
>  			atomic_commit(display, pipe, flags, (void *)
> 0UL, fencing);
>  			wait_for_transition(display, pipe, nonblocking,
> fencing);
> @@ -568,7 +576,8 @@ run_transition_test(igt_display_t *display, enum
> pipe pipe, igt_output_t *output
>  				    n_enable_planes < pipe_obj-
> >n_planes)
>  					continue;
>  
> -				wm_setup_plane(display, pipe, j, parms,
> fencing);
> +				if (!wm_setup_plane(display, pipe, j,
> parms, fencing))
> +					continue;
>  
>  				if (type >= TRANSITION_MODESET)
>  					igt_output_override_mode(output
> , &override_mode);
> @@ -576,7 +585,9 @@ run_transition_test(igt_display_t *display, enum
> pipe pipe, igt_output_t *output
>  				atomic_commit(display, pipe, flags,
> (void *)(unsigned long) j, fencing);
>  				wait_for_transition(display, pipe,
> nonblocking, fencing);
>  
> -				wm_setup_plane(display, pipe, i, parms,
> fencing);
> +				if (!wm_setup_plane(display, pipe, i,
> parms, fencing))
> +					continue;
> +
>  				if (type >= TRANSITION_MODESET)
>  					igt_output_override_mode(output
> , NULL);
>  

[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 153 bytes --]

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t v3 1/3] igt/tests/kms_atomic_transition: Skip transition, if no changes done
  2019-04-01 23:04   ` Souza, Jose
@ 2019-04-02  6:59     ` Lisovskiy, Stanislav
  0 siblings, 0 replies; 12+ messages in thread
From: Lisovskiy, Stanislav @ 2019-04-02  6:59 UTC (permalink / raw)
  To: igt-dev, Souza, Jose; +Cc: Syrjala, Ville, Peres, Martin

On Mon, 2019-04-01 at 16:04 -0700, Souza, Jose wrote:
> On Mon, 2019-04-01 at 14:23 +0300, Stanislav Lisovskiy wrote:
> > While fixing used amount of planes, discovered that if
> > wm_setup_plane is called with 0 planes(might happen during
> > main testing cycle, as parms[i].mask can be 0 due to randomization)
> 
> I can't see how parms[i].mask can be 0, it always be one of: 1 << (0,
> 1, 2 or 3).
> 

You are right, it can't be zero. What happens is that we get
a such mask parameter that parms[i].mask & mask expression happens to
be 0 for all planes and then wait_for_transition asserts onfd_completed. 
I also tried this manually, if I call wm_setup_plane with mask
parameter set as 0 and then wait_for_transition, I get this assert
constantly. So I guess checking that should not harm anyway.

> > then subsequent wait_transition fails in assertion on fd_completed.
> > So added return value to wm_setup_plane, which would allow to
> > determine, if we need to skip this step.
> > 
> > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> > ---
> >  tests/kms_atomic_transition.c | 23 +++++++++++++++++------
> >  1 file changed, 17 insertions(+), 6 deletions(-)
> > 
> > diff --git a/tests/kms_atomic_transition.c
> > b/tests/kms_atomic_transition.c
> > index 18f73317..638fe17e 100644
> > --- a/tests/kms_atomic_transition.c
> > +++ b/tests/kms_atomic_transition.c
> > @@ -118,11 +118,12 @@ static void configure_fencing(igt_plane_t
> > *plane)
> >  	igt_assert_eq(ret, 0);
> >  }
> >  
> > -static void
> > +static int
> >  wm_setup_plane(igt_display_t *display, enum pipe pipe,
> >  	       uint32_t mask, struct plane_parms *parms, bool fencing)
> >  {
> >  	igt_plane_t *plane;
> > +	int planes_set_up = 0;
> >  
> >  	/*
> >  	* Make sure these buffers are suited for display use
> > @@ -133,8 +134,10 @@ wm_setup_plane(igt_display_t *display, enum
> > pipe
> > pipe,
> >  		int i = plane->index;
> >  
> >  		if (!mask || !(parms[i].mask & mask)) {
> > -			if (plane->values[IGT_PLANE_FB_ID])
> > +			if (plane->values[IGT_PLANE_FB_ID]) {
> >  				igt_plane_set_fb(plane, NULL);
> > +				planes_set_up++;
> > +			}
> >  			continue;
> >  		}
> >  
> > @@ -144,7 +147,10 @@ wm_setup_plane(igt_display_t *display, enum
> > pipe
> > pipe,
> >  		igt_plane_set_fb(plane, parms[i].fb);
> >  		igt_fb_set_size(parms[i].fb, plane, parms[i].width,
> > parms[i].height);
> >  		igt_plane_set_size(plane, parms[i].width,
> > parms[i].height);
> > +
> > +		planes_set_up++;
> >  	}
> > +	return planes_set_up;
> >  }
> >  
> >  static void ev_page_flip(int fd, unsigned seq, unsigned tv_sec,
> > unsigned tv_usec, void *user_data)
> > @@ -544,7 +550,8 @@ run_transition_test(igt_display_t *display,
> > enum
> > pipe pipe, igt_output_t *output
> >  
> >  		igt_output_set_pipe(output, pipe);
> >  
> > -		wm_setup_plane(display, pipe, i, parms, fencing);
> > +		if (!wm_setup_plane(display, pipe, i, parms, fencing))
> > +			continue;
> >  
> >  		atomic_commit(display, pipe, flags, (void *)(unsigned
> > long)i, fencing);
> >  		wait_for_transition(display, pipe, nonblocking,
> > fencing);
> > @@ -552,7 +559,8 @@ run_transition_test(igt_display_t *display,
> > enum
> > pipe pipe, igt_output_t *output
> >  		if (type == TRANSITION_MODESET_DISABLE) {
> >  			igt_output_set_pipe(output, PIPE_NONE);
> >  
> > -			wm_setup_plane(display, pipe, 0, parms,
> > fencing);
> > +			if (!wm_setup_plane(display, pipe, 0, parms,
> > fencing))
> > +				continue;
> >  
> >  			atomic_commit(display, pipe, flags, (void *)
> > 0UL, fencing);
> >  			wait_for_transition(display, pipe, nonblocking,
> > fencing);
> > @@ -568,7 +576,8 @@ run_transition_test(igt_display_t *display,
> > enum
> > pipe pipe, igt_output_t *output
> >  				    n_enable_planes < pipe_obj-
> > > n_planes)
> > 
> >  					continue;
> >  
> > -				wm_setup_plane(display, pipe, j, parms,
> > fencing);
> > +				if (!wm_setup_plane(display, pipe, j,
> > parms, fencing))
> > +					continue;
> >  
> >  				if (type >= TRANSITION_MODESET)
> >  					igt_output_override_mode(output
> > , &override_mode);
> > @@ -576,7 +585,9 @@ run_transition_test(igt_display_t *display,
> > enum
> > pipe pipe, igt_output_t *output
> >  				atomic_commit(display, pipe, flags,
> > (void *)(unsigned long) j, fencing);
> >  				wait_for_transition(display, pipe,
> > nonblocking, fencing);
> >  
> > -				wm_setup_plane(display, pipe, i, parms,
> > fencing);
> > +				if (!wm_setup_plane(display, pipe, i,
> > parms, fencing))
> > +					continue;
> > +
> >  				if (type >= TRANSITION_MODESET)
> >  					igt_output_override_mode(output
> > , NULL);
> >  
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.BAT: success for kms_atomic_transition improvements (rev5)
  2019-04-01 11:23 [igt-dev] [PATCH i-g-t v3 0/3] kms_atomic_transition improvements Stanislav Lisovskiy
                   ` (4 preceding siblings ...)
  2019-04-01 13:42 ` [igt-dev] ✗ Fi.CI.BAT: failure for kms_atomic_transition improvements (rev4) Patchwork
@ 2019-04-02  8:59 ` Patchwork
  2019-04-02 13:50 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  6 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2019-04-02  8:59 UTC (permalink / raw)
  To: Lisovskiy, Stanislav; +Cc: igt-dev

== Series Details ==

Series: kms_atomic_transition improvements (rev5)
URL   : https://patchwork.freedesktop.org/series/58728/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5853 -> IGTPW_2757
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/58728/revisions/5/mbox/

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_basic@cs-compute:
    - fi-kbl-8809g:       NOTRUN -> FAIL [fdo#108094]

  * igt@amdgpu/amd_cs_nop@fork-gfx0:
    - fi-icl-u2:          NOTRUN -> SKIP [fdo#109315] +17

  * igt@amdgpu/amd_cs_nop@sync-fork-compute0:
    - fi-icl-u3:          NOTRUN -> SKIP [fdo#109315] +17

  * igt@gem_exec_basic@gtt-bsd1:
    - fi-icl-u3:          NOTRUN -> SKIP [fdo#109276] +7

  * igt@gem_exec_basic@readonly-bsd1:
    - fi-icl-u2:          NOTRUN -> SKIP [fdo#109276] +7

  * igt@gem_exec_parse@basic-allowed:
    - fi-icl-u2:          NOTRUN -> SKIP [fdo#109289] +1

  * igt@gem_exec_parse@basic-rejected:
    - fi-icl-u3:          NOTRUN -> SKIP [fdo#109289] +1

  * igt@i915_selftest@live_contexts:
    - fi-icl-u3:          NOTRUN -> DMESG-FAIL [fdo#108569]
    - fi-icl-u2:          NOTRUN -> DMESG-FAIL [fdo#108569]
    - fi-bdw-gvtdvm:      PASS -> DMESG-FAIL [fdo#110235 ]

  * igt@i915_selftest@live_evict:
    - fi-bsw-kefka:       PASS -> DMESG-WARN [fdo#107709]

  * igt@kms_busy@basic-flip-c:
    - fi-blb-e6850:       NOTRUN -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_chamelium@dp-edid-read:
    - fi-icl-u2:          NOTRUN -> SKIP [fdo#109316] +2

  * igt@kms_chamelium@hdmi-edid-read:
    - fi-hsw-peppy:       NOTRUN -> SKIP [fdo#109271] +46
    - fi-icl-u3:          NOTRUN -> SKIP [fdo#109284] +8

  * igt@kms_chamelium@vga-hpd-fast:
    - fi-icl-u2:          NOTRUN -> SKIP [fdo#109309] +1

  * igt@kms_force_connector_basic@prune-stale-modes:
    - fi-icl-u2:          NOTRUN -> SKIP [fdo#109285] +3
    - fi-icl-u3:          NOTRUN -> SKIP [fdo#109285] +3

  * igt@kms_frontbuffer_tracking@basic:
    - fi-hsw-peppy:       NOTRUN -> DMESG-FAIL [fdo#102614] / [fdo#107814]
    - fi-icl-u2:          NOTRUN -> FAIL [fdo#103167]
    - fi-byt-clapper:     PASS -> FAIL [fdo#103167]

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-c:
    - fi-blb-e6850:       NOTRUN -> SKIP [fdo#109271] +48

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b-frame-sequence:
    - fi-byt-clapper:     PASS -> FAIL [fdo#103191] / [fdo#107362] +1

  * igt@runner@aborted:
    - fi-bsw-kefka:       NOTRUN -> FAIL [fdo#107709]

  
#### Possible fixes ####

  * igt@amdgpu/amd_basic@userptr:
    - fi-kbl-8809g:       DMESG-WARN [fdo#108965] -> PASS

  * igt@gem_exec_suspend@basic-s4-devices:
    - fi-blb-e6850:       INCOMPLETE [fdo#107718] -> PASS

  * igt@i915_selftest@live_uncore:
    - fi-ivb-3770:        DMESG-FAIL [fdo#110210] -> PASS

  
  [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#107709]: https://bugs.freedesktop.org/show_bug.cgi?id=107709
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107814]: https://bugs.freedesktop.org/show_bug.cgi?id=107814
  [fdo#108094]: https://bugs.freedesktop.org/show_bug.cgi?id=108094
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108965]: https://bugs.freedesktop.org/show_bug.cgi?id=108965
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109316]: https://bugs.freedesktop.org/show_bug.cgi?id=109316
  [fdo#110210]: https://bugs.freedesktop.org/show_bug.cgi?id=110210
  [fdo#110235 ]: https://bugs.freedesktop.org/show_bug.cgi?id=110235 


Participating hosts (48 -> 44)
------------------------------

  Additional (3): fi-hsw-peppy fi-icl-u2 fi-icl-u3 
  Missing    (7): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-bdw-samus 


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

    * IGT: IGT_4918 -> IGTPW_2757

  CI_DRM_5853: ec8a565441cb4b3edb41b085a26b892c22128585 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2757: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2757/
  IGT_4918: 1695d3fe15855259e6ed43b81a1142e7c572a001 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2757/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.IGT: success for kms_atomic_transition improvements (rev5)
  2019-04-01 11:23 [igt-dev] [PATCH i-g-t v3 0/3] kms_atomic_transition improvements Stanislav Lisovskiy
                   ` (5 preceding siblings ...)
  2019-04-02  8:59 ` [igt-dev] ✓ Fi.CI.BAT: success for kms_atomic_transition improvements (rev5) Patchwork
@ 2019-04-02 13:50 ` Patchwork
  6 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2019-04-02 13:50 UTC (permalink / raw)
  To: Lisovskiy, Stanislav; +Cc: igt-dev

== Series Details ==

Series: kms_atomic_transition improvements (rev5)
URL   : https://patchwork.freedesktop.org/series/58728/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5853_full -> IGTPW_2757_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/58728/revisions/5/mbox/

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_parse@cmd-crossing-page:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109289]

  * igt@gem_mmap_gtt@hang:
    - shard-iclb:         PASS -> FAIL [fdo#109677]

  * igt@gem_pwrite@huge-cpu-backwards:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109290]

  * igt@gem_softpin@noreloc-s3:
    - shard-kbl:          PASS -> DMESG-WARN [fdo#108566]

  * igt@gem_tiled_swapping@non-threaded:
    - shard-iclb:         PASS -> FAIL [fdo#108686]
    - shard-hsw:          PASS -> FAIL [fdo#108686]

  * igt@i915_pm_rpm@modeset-lpsp-stress:
    - shard-iclb:         PASS -> INCOMPLETE [fdo#108840]

  * igt@kms_atomic_transition@3x-modeset-transitions-nonblocking:
    - shard-kbl:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +3

  * igt@kms_busy@basic-flip-e:
    - shard-glk:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +4

  * igt@kms_busy@extended-modeset-hang-newfb-render-b:
    - shard-kbl:          PASS -> DMESG-WARN [fdo#110222] +1

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a:
    - shard-snb:          PASS -> DMESG-WARN [fdo#110222] +1

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-c:
    - shard-hsw:          PASS -> DMESG-WARN [fdo#110222] +1

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b:
    - shard-apl:          PASS -> DMESG-WARN [fdo#110222]

  * igt@kms_chamelium@hdmi-hpd-after-suspend:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109284]

  * igt@kms_color@pipe-a-ctm-max:
    - shard-glk:          NOTRUN -> FAIL [fdo#108147]

  * igt@kms_color@pipe-a-gamma:
    - shard-iclb:         NOTRUN -> FAIL [fdo#104782]

  * igt@kms_cursor_crc@cursor-128x42-sliding:
    - shard-iclb:         PASS -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-256x85-onscreen:
    - shard-glk:          PASS -> FAIL [fdo#103232]

  * igt@kms_cursor_crc@cursor-256x85-sliding:
    - shard-glk:          NOTRUN -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-512x170-sliding:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109279]

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
    - shard-apl:          NOTRUN -> SKIP [fdo#109271] +4

  * igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size:
    - shard-iclb:         PASS -> FAIL [fdo#103355]

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109274]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-cpu:
    - shard-iclb:         PASS -> FAIL [fdo#103167] +11

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-pwrite:
    - shard-hsw:          PASS -> INCOMPLETE [fdo#103540]

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-gtt:
    - shard-iclb:         PASS -> FAIL [fdo#109247] +15

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-pwrite:
    - shard-iclb:         NOTRUN -> SKIP [fdo#109280] +3

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc:
    - shard-iclb:         PASS -> FAIL [fdo#105682] / [fdo#109247]

  * igt@kms_frontbuffer_tracking@fbcpsr-suspend:
    - shard-glk:          NOTRUN -> SKIP [fdo#109271] +29

  * igt@kms_frontbuffer_tracking@psr-farfromfence:
    - shard-kbl:          NOTRUN -> SKIP [fdo#109271] +25

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-x:
    - shard-iclb:         PASS -> FAIL [fdo#110037]

  * igt@kms_plane_scaling@pipe-a-scaler-with-clipping-clamping:
    - shard-glk:          PASS -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_psr@primary_render:
    - shard-iclb:         PASS -> FAIL [fdo#107383] / [fdo#110215] +4

  * igt@kms_psr@psr2_primary_mmap_cpu:
    - shard-iclb:         PASS -> SKIP [fdo#109441] +1

  * igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend:
    - shard-kbl:          PASS -> INCOMPLETE [fdo#103665]

  * igt@perf@polling:
    - shard-iclb:         PASS -> FAIL [fdo#108587]

  
#### Possible fixes ####

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
    - shard-apl:          INCOMPLETE [fdo#103927] -> PASS
    - shard-kbl:          INCOMPLETE [fdo#103665] -> PASS +1

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-b:
    - shard-snb:          DMESG-WARN [fdo#110222] -> PASS
    - shard-hsw:          DMESG-WARN [fdo#110222] -> PASS

  * igt@kms_cursor_crc@cursor-128x42-random:
    - shard-glk:          FAIL [fdo#103232] -> PASS +1

  * igt@kms_cursor_crc@cursor-256x85-onscreen:
    - shard-iclb:         FAIL [fdo#103232] -> PASS

  * igt@kms_cursor_crc@cursor-64x64-dpms:
    - shard-kbl:          FAIL [fdo#103232] -> PASS
    - shard-apl:          FAIL [fdo#103232] -> PASS

  * igt@kms_cursor_legacy@cursor-vs-flip-atomic:
    - shard-iclb:         FAIL [fdo#103355] -> PASS +1

  * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-mmap-gtt:
    - shard-iclb:         FAIL [fdo#103167] -> PASS +6

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-mmap-cpu:
    - shard-iclb:         FAIL [fdo#109247] -> PASS +16

  * igt@kms_plane@pixel-format-pipe-b-planes:
    - shard-glk:          SKIP [fdo#109271] -> PASS

  * igt@kms_plane_lowres@pipe-a-tiling-x:
    - shard-iclb:         FAIL [fdo#103166] -> PASS

  * igt@kms_plane_scaling@pipe-b-scaler-with-clipping-clamping:
    - shard-glk:          SKIP [fdo#109271] / [fdo#109278] -> PASS +1

  * igt@kms_plane_scaling@pipe-c-scaler-with-clipping-clamping:
    - shard-iclb:         INCOMPLETE [fdo#110041] -> PASS

  * igt@kms_psr@psr2_basic:
    - shard-iclb:         SKIP [fdo#109441] -> PASS

  * igt@kms_psr@sprite_plane_move:
    - shard-iclb:         FAIL [fdo#107383] / [fdo#110215] -> PASS

  * igt@kms_rotation_crc@multiplane-rotation-cropping-top:
    - shard-kbl:          FAIL [fdo#109016] -> PASS

  * igt@kms_vblank@pipe-a-ts-continuation-dpms-rpm:
    - shard-kbl:          FAIL [fdo#104894] -> PASS +1

  * igt@kms_vblank@pipe-c-ts-continuation-suspend:
    - shard-apl:          FAIL [fdo#104894] -> PASS

  
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103355]: https://bugs.freedesktop.org/show_bug.cgi?id=103355
  [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104782]: https://bugs.freedesktop.org/show_bug.cgi?id=104782
  [fdo#104894]: https://bugs.freedesktop.org/show_bug.cgi?id=104894
  [fdo#105682]: https://bugs.freedesktop.org/show_bug.cgi?id=105682
  [fdo#107383]: https://bugs.freedesktop.org/show_bug.cgi?id=107383
  [fdo#108147]: https://bugs.freedesktop.org/show_bug.cgi?id=108147
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#108587]: https://bugs.freedesktop.org/show_bug.cgi?id=108587
  [fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686
  [fdo#108840]: https://bugs.freedesktop.org/show_bug.cgi?id=108840
  [fdo#109016]: https://bugs.freedesktop.org/show_bug.cgi?id=109016
  [fdo#109247]: https://bugs.freedesktop.org/show_bug.cgi?id=109247
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109290]: https://bugs.freedesktop.org/show_bug.cgi?id=109290
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109677]: https://bugs.freedesktop.org/show_bug.cgi?id=109677
  [fdo#110037]: https://bugs.freedesktop.org/show_bug.cgi?id=110037
  [fdo#110041]: https://bugs.freedesktop.org/show_bug.cgi?id=110041
  [fdo#110215]: https://bugs.freedesktop.org/show_bug.cgi?id=110215
  [fdo#110222]: https://bugs.freedesktop.org/show_bug.cgi?id=110222


Participating hosts (10 -> 6)
------------------------------

  Missing    (4): pig-skl-6260u shard-skl pig-hsw-4770r pig-glk-j5005 


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

    * IGT: IGT_4918 -> IGTPW_2757
    * Piglit: piglit_4509 -> None

  CI_DRM_5853: ec8a565441cb4b3edb41b085a26b892c22128585 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2757: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2757/
  IGT_4918: 1695d3fe15855259e6ed43b81a1142e7c572a001 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2757/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t v3 2/3] igt/tests/kms_atomic_transition: Tolerate if can't have all planes
  2019-04-01 11:23 ` [igt-dev] [PATCH i-g-t v3 2/3] igt/tests/kms_atomic_transition: Tolerate if can't have all planes Stanislav Lisovskiy
@ 2019-04-02 20:42   ` Souza, Jose
  2019-04-03  8:08     ` Lisovskiy, Stanislav
  0 siblings, 1 reply; 12+ messages in thread
From: Souza, Jose @ 2019-04-02 20:42 UTC (permalink / raw)
  To: igt-dev, Lisovskiy, Stanislav; +Cc: Syrjala, Ville, Peres, Martin


[-- Attachment #1.1: Type: text/plain, Size: 3710 bytes --]

On Mon, 2019-04-01 at 14:23 +0300, Stanislav Lisovskiy wrote:
> With some upcoming changes i915 might not allow
> all sprite planes enabled, depending on available
> bandwidth limitation. Thus the test need to decrement
> amount of planes and try again, instead of panicking.
> 
> Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> ---
>  tests/kms_atomic_transition.c | 30 ++++++++++++++++++++++--------
>  1 file changed, 22 insertions(+), 8 deletions(-)
> 
> diff --git a/tests/kms_atomic_transition.c
> b/tests/kms_atomic_transition.c
> index 638fe17e..e4dee7e2 100644
> --- a/tests/kms_atomic_transition.c
> +++ b/tests/kms_atomic_transition.c
> @@ -214,7 +214,8 @@ static void setup_parms(igt_display_t *display,
> enum pipe pipe,
>  	uint32_t n_planes = display->pipes[pipe].n_planes;
>  	uint32_t n_overlays = 0, overlays[n_planes];

Nitpick: you don't need to initialize n_overlays here as you do right
after the retry label.

>  	igt_plane_t *plane;
> -	uint32_t iter_mask = 3;
> +	uint32_t iter_mask;
> +	int retries = n_planes - 1;
>  
>  	do_or_die(drmGetCap(display->drm_fd, DRM_CAP_CURSOR_WIDTH,
> &cursor_width));
>  	if (cursor_width >= mode->hdisplay)
> @@ -224,6 +225,10 @@ static void setup_parms(igt_display_t *display,
> enum pipe pipe,
>  	if (cursor_height >= mode->vdisplay)
>  		cursor_height = mode->vdisplay;
>  
> +retry:
> +	n_overlays = 0;
> +	iter_mask = 3;
> +
>  	for_each_plane_on_pipe(display, pipe, plane) {
>  		int i = plane->index;
>  
> @@ -278,7 +283,6 @@ static void setup_parms(igt_display_t *display,
> enum pipe pipe,
>  	 * Pre gen9 not all sizes are supported, find the biggest
> possible
>  	 * size that can be enabled on all sprite planes.
>  	 */
> -retry:
>  	prev_w = sprite_width = cursor_width;
>  	prev_h = sprite_height = cursor_height;
>  
> @@ -298,12 +302,22 @@ retry:
>  		if (is_atomic_check_plane_size_errno(ret)) {
>  			if (cursor_width == sprite_width &&
>  			    cursor_height == sprite_height) {
> -				igt_assert_f(alpha,
> -					      "Cannot configure the
> test with all sprite planes enabled\n");
> -
> -				/* retry once with XRGB format. */
> -				alpha = false;
> -				goto retry;
> +				if (--retries >= 0) {

The 7 first loops it is going to this, on the 8 it will try for the
first time to reduce the number of planes.
Also this way we will only test without alpha in platforms with a high
number of planes.

> +					/* retry once with XRGB format.
> */
> +					if (alpha) {
> +						alpha = false;
> +					}
> +					else if (display-
> >pipes[pipe].n_planes > 0) {
> +						display-
> >pipes[pipe].n_planes--;

When you do this wm_setup_plane() will iterate in one less plane, and
not removing framebuffer from that plane, this is probably why you
needed the first patch.

> +						igt_warn("Reduced
> available planes to %d\n",
> +							    display-
> >pipes[pipe].n_planes);
> +					}
> +					n_planes = display-
> >pipes[pipe].n_planes;
> +					igt_assert_f(n_planes > 0, "No
> planes left to proceed with!");
> +					goto retry;
> +				}
> +				igt_assert_f(retries > 0,
> +				      "Cannot configure the test with
> all sprite planes enabled\n");
>  			}
>  
>  			sprite_width = prev_w;


My suggestion:

Right after "max_sprite_height = (sprite_height == mode->vdisplay);"
test if all planes support alpha by using:
igt_plane_has_format_mod(plane, plane_format, plane_modifier).

Then write a new loop testing the maximum number of planes supported
and remember to remove the framebuffer from planes.

And finally run this final loop that will find the max size for sprite
planes.



[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 153 bytes --]

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t v3 2/3] igt/tests/kms_atomic_transition: Tolerate if can't have all planes
  2019-04-02 20:42   ` Souza, Jose
@ 2019-04-03  8:08     ` Lisovskiy, Stanislav
  0 siblings, 0 replies; 12+ messages in thread
From: Lisovskiy, Stanislav @ 2019-04-03  8:08 UTC (permalink / raw)
  To: igt-dev, Souza, Jose; +Cc: Syrjala, Ville, Peres, Martin

On Tue, 2019-04-02 at 13:42 -0700, Souza, Jose wrote:
> On Mon, 2019-04-01 at 14:23 +0300, Stanislav Lisovskiy wrote:
> > With some upcoming changes i915 might not allow
> > all sprite planes enabled, depending on available
> > bandwidth limitation. Thus the test need to decrement
> > amount of planes and try again, instead of panicking.
> > 
> > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> > ---
> >  tests/kms_atomic_transition.c | 30 ++++++++++++++++++++++--------
> >  1 file changed, 22 insertions(+), 8 deletions(-)
> > 
> > diff --git a/tests/kms_atomic_transition.c
> > b/tests/kms_atomic_transition.c
> > index 638fe17e..e4dee7e2 100644
> > --- a/tests/kms_atomic_transition.c
> > +++ b/tests/kms_atomic_transition.c
> > @@ -214,7 +214,8 @@ static void setup_parms(igt_display_t *display,
> > enum pipe pipe,
> >  	uint32_t n_planes = display->pipes[pipe].n_planes;
> >  	uint32_t n_overlays = 0, overlays[n_planes];
> 

Hi,

First of all, thanks for fast review :)

> Nitpick: you don't need to initialize n_overlays here as you do right
> after the retry label.

True, I've actually removed it, but during next refactoring phase added
back.
> 
> >  	igt_plane_t *plane;
> > -	uint32_t iter_mask = 3;
> > +	uint32_t iter_mask;
> > +	int retries = n_planes - 1;
> >  
> >  	do_or_die(drmGetCap(display->drm_fd, DRM_CAP_CURSOR_WIDTH,
> > &cursor_width));
> >  	if (cursor_width >= mode->hdisplay)
> > @@ -224,6 +225,10 @@ static void setup_parms(igt_display_t
> > *display,
> > enum pipe pipe,
> >  	if (cursor_height >= mode->vdisplay)
> >  		cursor_height = mode->vdisplay;
> >  
> > +retry:
> > +	n_overlays = 0;
> > +	iter_mask = 3;
> > +
> >  	for_each_plane_on_pipe(display, pipe, plane) {
> >  		int i = plane->index;
> >  
> > @@ -278,7 +283,6 @@ static void setup_parms(igt_display_t *display,
> > enum pipe pipe,
> >  	 * Pre gen9 not all sizes are supported, find the biggest
> > possible
> >  	 * size that can be enabled on all sprite planes.
> >  	 */
> > -retry:
> >  	prev_w = sprite_width = cursor_width;
> >  	prev_h = sprite_height = cursor_height;
> >  
> > @@ -298,12 +302,22 @@ retry:
> >  		if (is_atomic_check_plane_size_errno(ret)) {
> >  			if (cursor_width == sprite_width &&
> >  			    cursor_height == sprite_height) {
> > -				igt_assert_f(alpha,
> > -					      "Cannot configure the
> > test with all sprite planes enabled\n");
> > -
> > -				/* retry once with XRGB format. */
> > -				alpha = false;
> > -				goto retry;
> > +				if (--retries >= 0) {
> 
> The 7 first loops it is going to this, on the 8 it will try for the
> first time to reduce the number of planes.
> Also this way we will only test without alpha in platforms with a
> high
> number of planes.

In fact as I see this code above is from older revision of a patch,
I've refactored it to remove excessive nesting(asked by Daniel), so now
there is a newer version. 

Please see https://patchwork.freedesktop.org/series/58728/

However currently loop looks like this: 

1) We enter a loop, try to commit, if we fail then we check the size
of a plane, if it is bigger than cursor, we assign to a previous
size and mark correspondent dimension(width or height) as it has
reached max sprite size. If both has reached, we exit this loop
2) If plane is still of a cursor plane size, try first without alpha
3) If alpha is set to false already, decrement amount of planes, if it
is bigger than 1 or assert if not.

> 
> > +					/* retry once with XRGB format.
> > */
> > +					if (alpha) {
> > +						alpha = false;
> > +					}
> > +					else if (display-
> > > pipes[pipe].n_planes > 0) {
> > 
> > +						display-
> > > pipes[pipe].n_planes--;
> 
> When you do this wm_setup_plane() will iterate in one less plane, and
> not removing framebuffer from that plane, this is probably why you
> needed the first patch.

I think you are right here, decrementing display.pipe[pipe].n_planes is
probably a bad idea at all, otherwise I will have to manually remove FB
from those, while it has to been cleaned up in wm_setup_plane. Probably
need just to add one check to for_each_plane_on_pipe loops to stop
iterating, once max allowed planes is reached.

> 
> > +						igt_warn("Reduced
> > available planes to %d\n",
> > +							    display-
> > > pipes[pipe].n_planes);
> > 
> > +					}
> > +					n_planes = display-
> > > pipes[pipe].n_planes;
> > 
> > +					igt_assert_f(n_planes > 0, "No
> > planes left to proceed with!");
> > +					goto retry;
> > +				}
> > +				igt_assert_f(retries > 0,
> > +				      "Cannot configure the test with
> > all sprite planes enabled\n");
> >  			}
> >  
> >  			sprite_width = prev_w;
> 
> 
> My suggestion:
> 
> Right after "max_sprite_height = (sprite_height == mode->vdisplay);"
> test if all planes support alpha by using:
> igt_plane_has_format_mod(plane, plane_format, plane_modifier).
> 
> Then write a new loop testing the maximum number of planes supported
> and remember to remove the framebuffer from planes.

I guess if I will not decrement display.pipe[pipe].n_planes, but rather
add additional check to for_each_plane_on_pipe loops, wm_setup_plane
should do this job. So I will not have to take care of it separately. 

> 
> And finally run this final loop that will find the max size for
> sprite
> planes.
> 
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2019-04-03  8:08 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-01 11:23 [igt-dev] [PATCH i-g-t v3 0/3] kms_atomic_transition improvements Stanislav Lisovskiy
2019-04-01 11:23 ` [igt-dev] [PATCH i-g-t v3 1/3] igt/tests/kms_atomic_transition: Skip transition, if no changes done Stanislav Lisovskiy
2019-04-01 23:04   ` Souza, Jose
2019-04-02  6:59     ` Lisovskiy, Stanislav
2019-04-01 11:23 ` [igt-dev] [PATCH i-g-t v3 2/3] igt/tests/kms_atomic_transition: Tolerate if can't have all planes Stanislav Lisovskiy
2019-04-02 20:42   ` Souza, Jose
2019-04-03  8:08     ` Lisovskiy, Stanislav
2019-04-01 11:23 ` [igt-dev] [PATCH i-g-t v3 3/3] igt/tests/kms_atomic_transition: Remove redundant code Stanislav Lisovskiy
2019-04-01 12:07 ` [igt-dev] ✗ Fi.CI.BAT: failure for kms_atomic_transition improvements (rev3) Patchwork
2019-04-01 13:42 ` [igt-dev] ✗ Fi.CI.BAT: failure for kms_atomic_transition improvements (rev4) Patchwork
2019-04-02  8:59 ` [igt-dev] ✓ Fi.CI.BAT: success for kms_atomic_transition improvements (rev5) Patchwork
2019-04-02 13:50 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.