All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static().
@ 2019-02-25 13:02 Maarten Lankhorst
  2019-02-25 13:02 ` [igt-dev] [PATCH i-g-t 2/4] tests/kms_pipe_crc_basic: Only test a single output per pipe Maarten Lankhorst
                   ` (7 more replies)
  0 siblings, 8 replies; 13+ messages in thread
From: Maarten Lankhorst @ 2019-02-25 13:02 UTC (permalink / raw)
  To: igt-dev

Instead of duplicating for_each_pipe_static functionality, use the actual macro,
and the same for kmstest_pipe_name.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
 tests/kms_pipe_crc_basic.c | 36 +++++++++++++++++++-----------------
 1 file changed, 19 insertions(+), 17 deletions(-)

diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c
index 60802848d3ee..5ff7123814d3 100644
--- a/tests/kms_pipe_crc_basic.c
+++ b/tests/kms_pipe_crc_basic.c
@@ -152,7 +152,7 @@ test_read_crc_for_output(data_t *data, int pipe, igt_output_t *output,
 	}
 }
 
-static void test_read_crc(data_t *data, int pipe, unsigned flags)
+static void test_read_crc(data_t *data, enum pipe pipe, unsigned flags)
 {
 	igt_display_t *display = &data->display;
 	int valid_connectors = 0;
@@ -178,6 +178,8 @@ data_t data = {0, };
 
 igt_main
 {
+	enum pipe pipe;
+
 	igt_fixture {
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 
@@ -194,38 +196,38 @@ igt_main
 
 	igt_skip_on_simulation();
 
-	for (int i = 0; i < 3; i++) {
-		igt_subtest_f("read-crc-pipe-%c", 'A'+i)
-			test_read_crc(&data, i, 0);
+	for_each_pipe_static(pipe) {
+		igt_subtest_f("read-crc-pipe-%s", kmstest_pipe_name(pipe))
+			test_read_crc(&data, pipe, 0);
 
-		igt_subtest_f("read-crc-pipe-%c-frame-sequence", 'A'+i)
-			test_read_crc(&data, i, TEST_SEQUENCE);
+		igt_subtest_f("read-crc-pipe-%s-frame-sequence", kmstest_pipe_name(pipe))
+			test_read_crc(&data, pipe, TEST_SEQUENCE);
 
-		igt_subtest_f("nonblocking-crc-pipe-%c", 'A'+i)
-			test_read_crc(&data, i, TEST_NONBLOCK);
+		igt_subtest_f("nonblocking-crc-pipe-%s", kmstest_pipe_name(pipe))
+			test_read_crc(&data, pipe, TEST_NONBLOCK);
 
-		igt_subtest_f("nonblocking-crc-pipe-%c-frame-sequence", 'A'+i)
-			test_read_crc(&data, i, TEST_SEQUENCE | TEST_NONBLOCK);
+		igt_subtest_f("nonblocking-crc-pipe-%s-frame-sequence", kmstest_pipe_name(pipe))
+			test_read_crc(&data, pipe, TEST_SEQUENCE | TEST_NONBLOCK);
 
-		igt_subtest_f("suspend-read-crc-pipe-%c", 'A'+i) {
-			igt_skip_on(i >= data.display.n_pipes);
+		igt_subtest_f("suspend-read-crc-pipe-%s", kmstest_pipe_name(pipe)) {
+			igt_skip_on(pipe >= data.display.n_pipes);
 
-			test_read_crc(&data, i, 0);
+			test_read_crc(&data, pipe, 0);
 
 			igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
 						      SUSPEND_TEST_NONE);
 
-			test_read_crc(&data, i, 0);
+			test_read_crc(&data, pipe, 0);
 		}
 
-		igt_subtest_f("hang-read-crc-pipe-%c", 'A'+i) {
+		igt_subtest_f("hang-read-crc-pipe-%s", kmstest_pipe_name(pipe)) {
 			igt_hang_t hang = igt_allow_hang(data.drm_fd, 0, 0);
 
-			test_read_crc(&data, i, 0);
+			test_read_crc(&data, pipe, 0);
 
 			igt_force_gpu_reset(data.drm_fd);
 
-			test_read_crc(&data, i, 0);
+			test_read_crc(&data, pipe, 0);
 
 			igt_disallow_hang(data.drm_fd, hang);
 		}
-- 
2.20.1

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

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

* [igt-dev] [PATCH i-g-t 2/4] tests/kms_pipe_crc_basic: Only test a single output per pipe.
  2019-02-25 13:02 [igt-dev] [PATCH i-g-t 1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static() Maarten Lankhorst
@ 2019-02-25 13:02 ` Maarten Lankhorst
  2019-02-25 17:21   ` Ville Syrjälä
  2019-02-25 13:02 ` [igt-dev] [PATCH i-g-t 3/4] tests/kms_pipe_crc_basic: Add flip tests to ensure basic CRC sanity checking Maarten Lankhorst
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 13+ messages in thread
From: Maarten Lankhorst @ 2019-02-25 13:02 UTC (permalink / raw)
  To: igt-dev

Instead of iterating over all outputs, use igt_get_single_output_for_pipe
to only test a single output.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
 tests/kms_pipe_crc_basic.c | 39 +++++++++-----------------------------
 1 file changed, 9 insertions(+), 30 deletions(-)

diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c
index 5ff7123814d3..36ce624e4e9e 100644
--- a/tests/kms_pipe_crc_basic.c
+++ b/tests/kms_pipe_crc_basic.c
@@ -62,22 +62,26 @@ static void test_bad_source(data_t *data)
 #define TEST_SEQUENCE (1<<0)
 #define TEST_NONBLOCK (1<<1)
 
-static void
-test_read_crc_for_output(data_t *data, int pipe, igt_output_t *output,
-			 unsigned flags)
+static void test_read_crc(data_t *data, enum pipe pipe, unsigned flags)
 {
 	igt_display_t *display = &data->display;
+	igt_output_t *output = igt_get_single_output_for_pipe(display, pipe);
 	igt_plane_t *primary;
 	drmModeModeInfo *mode;
 	igt_crc_t *crcs = NULL;
 	int c, j;
 
+	igt_skip_on(pipe >= data->display.n_pipes);
+	igt_require_f(output, "No connector found for pipe %s\n",
+		      kmstest_pipe_name(pipe));
+
+	igt_display_reset(display);
+	igt_output_set_pipe(output, pipe);
+
 	for (c = 0; c < ARRAY_SIZE(colors); c++) {
 		char *crc_str;
 		int n_crcs;
 
-		igt_output_set_pipe(output, pipe);
-
 		igt_debug("Clearing the fb with color (%.02lf,%.02lf,%.02lf)\n",
 			  colors[c].r, colors[c].g, colors[c].b);
 
@@ -146,32 +150,7 @@ test_read_crc_for_output(data_t *data, int pipe, igt_output_t *output,
 
 		free(crcs);
 		igt_remove_fb(data->drm_fd, &data->fb);
-		igt_plane_set_fb(primary, NULL);
-
-		igt_output_set_pipe(output, PIPE_ANY);
-	}
-}
-
-static void test_read_crc(data_t *data, enum pipe pipe, unsigned flags)
-{
-	igt_display_t *display = &data->display;
-	int valid_connectors = 0;
-	igt_output_t *output;
-
-	igt_skip_on(pipe >= data->display.n_pipes);
-
-	for_each_valid_output_on_pipe(display, pipe, output) {
-
-		igt_info("%s: Testing connector %s using pipe %s\n",
-			 igt_subtest_name(), igt_output_name(output),
-			 kmstest_pipe_name(pipe));
-
-		test_read_crc_for_output(data, pipe, output, flags);
-		valid_connectors ++;
 	}
-
-	igt_require_f(valid_connectors, "No connector found for pipe %s\n",
-		      kmstest_pipe_name(pipe));
 }
 
 data_t data = {0, };
-- 
2.20.1

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

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

* [igt-dev] [PATCH i-g-t 3/4] tests/kms_pipe_crc_basic: Add flip tests to ensure basic CRC sanity checking.
  2019-02-25 13:02 [igt-dev] [PATCH i-g-t 1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static() Maarten Lankhorst
  2019-02-25 13:02 ` [igt-dev] [PATCH i-g-t 2/4] tests/kms_pipe_crc_basic: Only test a single output per pipe Maarten Lankhorst
@ 2019-02-25 13:02 ` Maarten Lankhorst
  2019-02-25 15:13   ` [igt-dev] [PATCH i-g-t] tests/kms_pipe_crc_basic: Add flip tests to ensure basic CRC sanity checking, v2 Maarten Lankhorst
  2019-02-25 13:02 ` [igt-dev] [PATCH i-g-t 4/4] HACK: Add pipe_crc_basic to ff Maarten Lankhorst
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 13+ messages in thread
From: Maarten Lankhorst @ 2019-02-25 13:02 UTC (permalink / raw)
  To: igt-dev

Warn if a CRC for every unique color will end up being identical, it's
not counted as a test failure because intel might not handle it correctly.

After this, flip and dirtyfb a number of times to ensure that basic CRC
reading works as intended.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 tests/kms_pipe_crc_basic.c | 86 ++++++++++++++++++++++++++++++++++++--
 1 file changed, 83 insertions(+), 3 deletions(-)

diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c
index 36ce624e4e9e..1d6f318ee5e7 100644
--- a/tests/kms_pipe_crc_basic.c
+++ b/tests/kms_pipe_crc_basic.c
@@ -29,7 +29,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <fcntl.h>
-
+#include "igt_rand.h"
 
 typedef struct {
 	int drm_fd;
@@ -41,9 +41,15 @@ typedef struct {
 static struct {
 	double r, g, b;
 	igt_crc_t crc;
-} colors[2] = {
+} colors[] = {
+	{ .r = 0.0, .g = 0.0, .b = 0.0 },
+	{ .r = 0.0, .g = 0.0, .b = 1.0 },
 	{ .r = 0.0, .g = 1.0, .b = 0.0 },
 	{ .r = 0.0, .g = 1.0, .b = 1.0 },
+	{ .r = 1.0, .g = 0.0, .b = 0.0 },
+	{ .r = 1.0, .g = 0.0, .b = 1.0 },
+	{ .r = 1.0, .g = 1.0, .b = 0.0 },
+	{ .r = 1.0, .g = 1.0, .b = 1.0 },
 };
 
 static void test_bad_source(data_t *data)
@@ -153,10 +159,81 @@ static void test_read_crc(data_t *data, enum pipe pipe, unsigned flags)
 	}
 }
 
-data_t data = {0, };
+static void test_flip_crc(data_t *data, enum pipe pipe)
+{
+	igt_display_t *display = &data->display;
+	igt_output_t *output = igt_get_single_output_for_pipe(display, pipe);
+	igt_plane_t *primary;
+	drmModeModeInfo *mode = igt_output_get_mode(output);
+	igt_crc_t ref_crcs[ARRAY_SIZE(colors)], crc;
+	int c, i, j;
+	struct igt_fb fbs[ARRAY_SIZE(colors)] = {};
+	igt_pipe_crc_t *pipe_crc;
+	unsigned seed = 0x1234567 * (pipe + 1);
+	int prev;
+
+	igt_skip_on(pipe >= display->n_pipes);
+	igt_require_f(output, "No connector found for pipe %s\n",
+		      kmstest_pipe_name(pipe));
+
+	igt_display_reset(display);
+	igt_output_set_pipe(output, pipe);
+	primary = igt_output_get_plane(output, 0);
+
+	for (c = 0; c < ARRAY_SIZE(colors); c++) {
+		igt_create_color_fb(display->drm_fd,
+				    mode->hdisplay, mode->vdisplay,
+				    DRM_FORMAT_XRGB8888,
+				    LOCAL_DRM_FORMAT_MOD_NONE,
+				    colors[c].r,
+				    colors[c].g,
+				    colors[c].b,
+				    &fbs[c]);
+
+		igt_plane_set_fb(primary, &fbs[c]);
+		igt_display_commit2(display, c ? COMMIT_UNIVERSAL : COMMIT_LEGACY);
+		if (!c)
+			pipe_crc = igt_pipe_crc_new(display->drm_fd, pipe,
+						    INTEL_PIPE_CRC_SOURCE_AUTO);
+
+		igt_pipe_crc_collect_crc(pipe_crc, &ref_crcs[c]);
+
+		for (j = c - 1; j >= 0; j--)
+			igt_warn_on_f(igt_check_crc_equal(&ref_crcs[c], &ref_crcs[j]),
+				"Identical CRC for very different colors, %g %g %g vs %g %g %g\n",
+				colors[c].r, colors[c].g, colors[c].b,
+				colors[j].r, colors[j].g, colors[j].b);
+	}
+
+	igt_pipe_crc_start(pipe_crc);
+
+	prev = c;
+	for (i = 0; i < 10 * ARRAY_SIZE(colors); i++) {
+		c = hars_petruska_f54_1_random(&seed) % ARRAY_SIZE(colors);
+		igt_debug("Testing color %g %g %g with %s\n",
+			  colors[c].r, colors[c].g, colors[c].b,
+			  c == prev ? "dirtyfb" : "commit");
+
+		if (c != prev) {
+			igt_plane_set_fb(primary, &fbs[c]);
+			igt_display_commit2(display, COMMIT_UNIVERSAL);
+		} else {
+			igt_dirty_fb(display->drm_fd, &fbs[c]);
+			igt_wait_for_vblank(display->drm_fd, pipe);
+		}
+
+		igt_pipe_crc_get_current(display->drm_fd, pipe_crc, &crc);
+		igt_assert_crc_equal(&ref_crcs[c], &crc);
+		prev = c;
+	}
+
+	for (c = 0; c < ARRAY_SIZE(colors); c++)
+		igt_remove_fb(display->drm_fd, &fbs[c]);
+}
 
 igt_main
 {
+	data_t data = {};
 	enum pipe pipe;
 
 	igt_fixture {
@@ -210,6 +287,9 @@ igt_main
 
 			igt_disallow_hang(data.drm_fd, hang);
 		}
+
+		igt_subtest_f("flip-crc-pipe-%s", kmstest_pipe_name(pipe))
+			test_flip_crc(&data, pipe);
 	}
 
 	igt_fixture {
-- 
2.20.1

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

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

* [igt-dev] [PATCH i-g-t 4/4] HACK: Add pipe_crc_basic to ff.
  2019-02-25 13:02 [igt-dev] [PATCH i-g-t 1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static() Maarten Lankhorst
  2019-02-25 13:02 ` [igt-dev] [PATCH i-g-t 2/4] tests/kms_pipe_crc_basic: Only test a single output per pipe Maarten Lankhorst
  2019-02-25 13:02 ` [igt-dev] [PATCH i-g-t 3/4] tests/kms_pipe_crc_basic: Add flip tests to ensure basic CRC sanity checking Maarten Lankhorst
@ 2019-02-25 13:02 ` Maarten Lankhorst
  2019-02-25 14:29 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static() Patchwork
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Maarten Lankhorst @ 2019-02-25 13:02 UTC (permalink / raw)
  To: igt-dev

---
 tests/intel-ci/fast-feedback.testlist | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index 2d22c2c1cc1e..f4e6ce1ddb2f 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -221,6 +221,9 @@ igt@kms_pipe_crc_basic@read-crc-pipe-c-frame-sequence
 igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a
 igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b
 igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c
+igt@kms_pipe_crc_basic@flip-crc-pipe-a
+igt@kms_pipe_crc_basic@flip-crc-pipe-b
+igt@kms_pipe_crc_basic@flip-crc-pipe-c
 igt@kms_psr@primary_page_flip
 igt@kms_psr@cursor_plane_move
 igt@kms_psr@sprite_plane_onoff
-- 
2.20.1

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

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

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static().
  2019-02-25 13:02 [igt-dev] [PATCH i-g-t 1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static() Maarten Lankhorst
                   ` (2 preceding siblings ...)
  2019-02-25 13:02 ` [igt-dev] [PATCH i-g-t 4/4] HACK: Add pipe_crc_basic to ff Maarten Lankhorst
@ 2019-02-25 14:29 ` Patchwork
  2019-02-25 15:46 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static(). (rev2) Patchwork
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2019-02-25 14:29 UTC (permalink / raw)
  To: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static().
URL   : https://patchwork.freedesktop.org/series/57186/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5658 -> IGTPW_2509
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/57186/revisions/1/mbox/

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

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

### IGT changes ###

#### Possible regressions ####

  * {igt@kms_pipe_crc_basic@flip-crc-pipe-a} (NEW):
    - {fi-icl-y}:         NOTRUN -> CRASH +2

  * {igt@kms_pipe_crc_basic@flip-crc-pipe-b} (NEW):
    - fi-kbl-guc:         NOTRUN -> CRASH +2
    - fi-bsw-n3050:       NOTRUN -> CRASH +1

  * {igt@kms_pipe_crc_basic@flip-crc-pipe-c} (NEW):
    - fi-bsw-kefka:       NOTRUN -> CRASH

  
New tests
---------

  New tests have been introduced between CI_DRM_5658 and IGTPW_2509:

### New IGT tests (3) ###

  * igt@kms_pipe_crc_basic@flip-crc-pipe-a:
    - Statuses : 3 crash(s) 34 pass(s) 1 skip(s)
    - Exec time: [0.0, 15.37] s

  * igt@kms_pipe_crc_basic@flip-crc-pipe-b:
    - Statuses : 3 crash(s) 34 pass(s) 1 skip(s)
    - Exec time: [0.0, 7.61] s

  * igt@kms_pipe_crc_basic@flip-crc-pipe-c:
    - Statuses : 3 crash(s) 26 pass(s) 9 skip(s)
    - Exec time: [0.0, 7.34] s

  

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

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

### IGT changes ###

#### Issues hit ####

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

  * igt@kms_busy@basic-flip-b:
    - fi-gdg-551:         PASS -> FAIL [fdo#103182]

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       PASS -> FAIL [fdo#109485]

  * {igt@kms_pipe_crc_basic@flip-crc-pipe-c} (NEW):
    - fi-ilk-650:         NOTRUN -> SKIP [fdo#109271]
    - fi-elk-e7500:       NOTRUN -> SKIP [fdo#109271]
    - fi-snb-2520m:       NOTRUN -> SKIP [fdo#109271]
    - fi-pnv-d510:        NOTRUN -> SKIP [fdo#109271]
    - fi-bwr-2160:        NOTRUN -> SKIP [fdo#109271]
    - fi-kbl-8809g:       NOTRUN -> SKIP [fdo#109271] +2
    - fi-byt-n2820:       NOTRUN -> SKIP [fdo#109271]
    - fi-byt-j1900:       NOTRUN -> SKIP [fdo#109271]
    - fi-gdg-551:         NOTRUN -> SKIP [fdo#109271]

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
    - fi-blb-e6850:       PASS -> INCOMPLETE [fdo#107718]

  
#### Possible fixes ####

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

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-kbl-7567u:       WARN [fdo#109380] -> PASS

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-c:
    - fi-kbl-7567u:       SKIP [fdo#109271] -> PASS +33

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

  [fdo#103182]: https://bugs.freedesktop.org/show_bug.cgi?id=103182
  [fdo#105998]: https://bugs.freedesktop.org/show_bug.cgi?id=105998
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [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#109294]: https://bugs.freedesktop.org/show_bug.cgi?id=109294
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109380]: https://bugs.freedesktop.org/show_bug.cgi?id=109380
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485
  [fdo#109527]: https://bugs.freedesktop.org/show_bug.cgi?id=109527
  [fdo#109528]: https://bugs.freedesktop.org/show_bug.cgi?id=109528
  [fdo#109530]: https://bugs.freedesktop.org/show_bug.cgi?id=109530


Participating hosts (44 -> 40)
------------------------------

  Additional (1): fi-icl-y 
  Missing    (5): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 


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

    * IGT: IGT_4854 -> IGTPW_2509

  CI_DRM_5658: dc6f5e9c1239d7a4b77e31cfaca48873692d579f @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2509: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2509/
  IGT_4854: 06b0830fb948b9b632342cd26100342aa01cbc79 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools



== Testlist changes ==

+igt@kms_pipe_crc_basic@flip-crc-pipe-a
+igt@kms_pipe_crc_basic@flip-crc-pipe-b
+igt@kms_pipe_crc_basic@flip-crc-pipe-c
+igt@kms_pipe_crc_basic@flip-crc-pipe-d
+igt@kms_pipe_crc_basic@flip-crc-pipe-e
+igt@kms_pipe_crc_basic@flip-crc-pipe-f
+igt@kms_pipe_crc_basic@hang-read-crc-pipe-d
+igt@kms_pipe_crc_basic@hang-read-crc-pipe-e
+igt@kms_pipe_crc_basic@hang-read-crc-pipe-f
+igt@kms_pipe_crc_basic@nonblocking-crc-pipe-d
+igt@kms_pipe_crc_basic@nonblocking-crc-pipe-d-frame-sequence
+igt@kms_pipe_crc_basic@nonblocking-crc-pipe-e
+igt@kms_pipe_crc_basic@nonblocking-crc-pipe-e-frame-sequence
+igt@kms_pipe_crc_basic@nonblocking-crc-pipe-f
+igt@kms_pipe_crc_basic@nonblocking-crc-pipe-f-frame-sequence
+igt@kms_pipe_crc_basic@read-crc-pipe-d
+igt@kms_pipe_crc_basic@read-crc-pipe-d-frame-sequence
+igt@kms_pipe_crc_basic@read-crc-pipe-e
+igt@kms_pipe_crc_basic@read-crc-pipe-e-frame-sequence
+igt@kms_pipe_crc_basic@read-crc-pipe-f
+igt@kms_pipe_crc_basic@read-crc-pipe-f-frame-sequence
+igt@kms_pipe_crc_basic@suspend-read-crc-pipe-d
+igt@kms_pipe_crc_basic@suspend-read-crc-pipe-e
+igt@kms_pipe_crc_basic@suspend-read-crc-pipe-f

== Logs ==

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

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

* [igt-dev] [PATCH i-g-t] tests/kms_pipe_crc_basic: Add flip tests to ensure basic CRC sanity checking, v2.
  2019-02-25 13:02 ` [igt-dev] [PATCH i-g-t 3/4] tests/kms_pipe_crc_basic: Add flip tests to ensure basic CRC sanity checking Maarten Lankhorst
@ 2019-02-25 15:13   ` Maarten Lankhorst
  2019-02-25 17:25     ` Ville Syrjälä
  0 siblings, 1 reply; 13+ messages in thread
From: Maarten Lankhorst @ 2019-02-25 15:13 UTC (permalink / raw)
  To: igt-dev

Warn if a CRC for every unique color will end up being identical, it's
not counted as a test failure because intel might not handle it correctly.

After this, flip and dirtyfb a number of times to ensure that basic CRC
reading works as intended.

Changes since v1:
- Fix calling when output is NULL.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 tests/kms_pipe_crc_basic.c | 87 ++++++++++++++++++++++++++++++++++++--
 1 file changed, 84 insertions(+), 3 deletions(-)

diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c
index 36ce624e4e9e..8a1b4208da29 100644
--- a/tests/kms_pipe_crc_basic.c
+++ b/tests/kms_pipe_crc_basic.c
@@ -29,7 +29,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <fcntl.h>
-
+#include "igt_rand.h"
 
 typedef struct {
 	int drm_fd;
@@ -41,9 +41,15 @@ typedef struct {
 static struct {
 	double r, g, b;
 	igt_crc_t crc;
-} colors[2] = {
+} colors[] = {
+	{ .r = 0.0, .g = 0.0, .b = 0.0 },
+	{ .r = 0.0, .g = 0.0, .b = 1.0 },
 	{ .r = 0.0, .g = 1.0, .b = 0.0 },
 	{ .r = 0.0, .g = 1.0, .b = 1.0 },
+	{ .r = 1.0, .g = 0.0, .b = 0.0 },
+	{ .r = 1.0, .g = 0.0, .b = 1.0 },
+	{ .r = 1.0, .g = 1.0, .b = 0.0 },
+	{ .r = 1.0, .g = 1.0, .b = 1.0 },
 };
 
 static void test_bad_source(data_t *data)
@@ -153,10 +159,82 @@ static void test_read_crc(data_t *data, enum pipe pipe, unsigned flags)
 	}
 }
 
-data_t data = {0, };
+static void test_flip_crc(data_t *data, enum pipe pipe)
+{
+	igt_display_t *display = &data->display;
+	igt_output_t *output = igt_get_single_output_for_pipe(display, pipe);
+	igt_plane_t *primary;
+	drmModeModeInfo *mode;
+	igt_crc_t ref_crcs[ARRAY_SIZE(colors)], crc;
+	int c, i, j;
+	struct igt_fb fbs[ARRAY_SIZE(colors)] = {};
+	igt_pipe_crc_t *pipe_crc;
+	unsigned seed = 0x1234567 * (pipe + 1);
+	int prev;
+
+	igt_skip_on(pipe >= display->n_pipes);
+	igt_require_f(output, "No connector found for pipe %s\n",
+		      kmstest_pipe_name(pipe));
+
+	igt_display_reset(display);
+	igt_output_set_pipe(output, pipe);
+	mode = igt_output_get_mode(output);
+	primary = igt_output_get_plane(output, 0);
+
+	for (c = 0; c < ARRAY_SIZE(colors); c++) {
+		igt_create_color_fb(display->drm_fd,
+				    mode->hdisplay, mode->vdisplay,
+				    DRM_FORMAT_XRGB8888,
+				    LOCAL_DRM_FORMAT_MOD_NONE,
+				    colors[c].r,
+				    colors[c].g,
+				    colors[c].b,
+				    &fbs[c]);
+
+		igt_plane_set_fb(primary, &fbs[c]);
+		igt_display_commit2(display, c ? COMMIT_UNIVERSAL : COMMIT_LEGACY);
+		if (!c)
+			pipe_crc = igt_pipe_crc_new(display->drm_fd, pipe,
+						    INTEL_PIPE_CRC_SOURCE_AUTO);
+
+		igt_pipe_crc_collect_crc(pipe_crc, &ref_crcs[c]);
+
+		for (j = c - 1; j >= 0; j--)
+			igt_warn_on_f(igt_check_crc_equal(&ref_crcs[c], &ref_crcs[j]),
+				"Identical CRC for very different colors, %g %g %g vs %g %g %g\n",
+				colors[c].r, colors[c].g, colors[c].b,
+				colors[j].r, colors[j].g, colors[j].b);
+	}
+
+	igt_pipe_crc_start(pipe_crc);
+
+	prev = c;
+	for (i = 0; i < 10 * ARRAY_SIZE(colors); i++) {
+		c = hars_petruska_f54_1_random(&seed) % ARRAY_SIZE(colors);
+		igt_debug("Testing color %g %g %g with %s\n",
+			  colors[c].r, colors[c].g, colors[c].b,
+			  c == prev ? "dirtyfb" : "commit");
+
+		if (c != prev) {
+			igt_plane_set_fb(primary, &fbs[c]);
+			igt_display_commit2(display, COMMIT_UNIVERSAL);
+		} else {
+			igt_dirty_fb(display->drm_fd, &fbs[c]);
+			igt_wait_for_vblank(display->drm_fd, pipe);
+		}
+
+		igt_pipe_crc_get_current(display->drm_fd, pipe_crc, &crc);
+		igt_assert_crc_equal(&ref_crcs[c], &crc);
+		prev = c;
+	}
+
+	for (c = 0; c < ARRAY_SIZE(colors); c++)
+		igt_remove_fb(display->drm_fd, &fbs[c]);
+}
 
 igt_main
 {
+	data_t data = {};
 	enum pipe pipe;
 
 	igt_fixture {
@@ -210,6 +288,9 @@ igt_main
 
 			igt_disallow_hang(data.drm_fd, hang);
 		}
+
+		igt_subtest_f("flip-crc-pipe-%s", kmstest_pipe_name(pipe))
+			test_flip_crc(&data, pipe);
 	}
 
 	igt_fixture {
-- 
2.20.1

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

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

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static(). (rev2)
  2019-02-25 13:02 [igt-dev] [PATCH i-g-t 1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static() Maarten Lankhorst
                   ` (3 preceding siblings ...)
  2019-02-25 14:29 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static() Patchwork
@ 2019-02-25 15:46 ` Patchwork
  2019-02-25 17:18 ` [igt-dev] [PATCH i-g-t 1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static() Ville Syrjälä
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2019-02-25 15:46 UTC (permalink / raw)
  To: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static(). (rev2)
URL   : https://patchwork.freedesktop.org/series/57186/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5658 -> IGTPW_2512
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/57186/revisions/2/mbox/

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

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

### IGT changes ###

#### Possible regressions ####

  * {igt@kms_pipe_crc_basic@flip-crc-pipe-a} (NEW):
    - {fi-icl-y}:         NOTRUN -> SKIP +2

  
New tests
---------

  New tests have been introduced between CI_DRM_5658 and IGTPW_2512:

### New IGT tests (3) ###

  * igt@kms_pipe_crc_basic@flip-crc-pipe-a:
    - Statuses : 35 pass(s) 4 skip(s)
    - Exec time: [0.0, 15.50] s

  * igt@kms_pipe_crc_basic@flip-crc-pipe-b:
    - Statuses : 35 pass(s) 4 skip(s)
    - Exec time: [0.0, 7.66] s

  * igt@kms_pipe_crc_basic@flip-crc-pipe-c:
    - Statuses : 26 pass(s) 13 skip(s)
    - Exec time: [0.0, 7.36] s

  

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

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

### IGT changes ###

#### Issues hit ####

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

  * igt@i915_module_load@reload:
    - fi-blb-e6850:       PASS -> INCOMPLETE [fdo#107718]

  * {igt@kms_pipe_crc_basic@flip-crc-pipe-b} (NEW):
    - fi-kbl-guc:         NOTRUN -> SKIP [fdo#109271] +2
    - fi-bsw-n3050:       NOTRUN -> SKIP [fdo#109271] +1

  * {igt@kms_pipe_crc_basic@flip-crc-pipe-c} (NEW):
    - fi-ilk-650:         NOTRUN -> SKIP [fdo#109271]
    - fi-elk-e7500:       NOTRUN -> SKIP [fdo#109271]
    - fi-snb-2520m:       NOTRUN -> SKIP [fdo#109271]
    - fi-pnv-d510:        NOTRUN -> SKIP [fdo#109271]
    - fi-bwr-2160:        NOTRUN -> SKIP [fdo#109271]
    - fi-kbl-8809g:       NOTRUN -> SKIP [fdo#109271] +2
    - fi-bsw-kefka:       NOTRUN -> SKIP [fdo#109271]
    - fi-byt-n2820:       NOTRUN -> SKIP [fdo#109271]
    - fi-byt-j1900:       NOTRUN -> SKIP [fdo#109271]
    - fi-blb-e6850:       NOTRUN -> SKIP [fdo#109271]
    - fi-gdg-551:         NOTRUN -> SKIP [fdo#109271]

  
#### Possible fixes ####

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

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-kbl-7567u:       WARN [fdo#109380] -> PASS

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-c:
    - fi-kbl-7567u:       SKIP [fdo#109271] -> PASS +33

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

  [fdo#105998]: https://bugs.freedesktop.org/show_bug.cgi?id=105998
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [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#109294]: https://bugs.freedesktop.org/show_bug.cgi?id=109294
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109380]: https://bugs.freedesktop.org/show_bug.cgi?id=109380
  [fdo#109527]: https://bugs.freedesktop.org/show_bug.cgi?id=109527
  [fdo#109528]: https://bugs.freedesktop.org/show_bug.cgi?id=109528
  [fdo#109530]: https://bugs.freedesktop.org/show_bug.cgi?id=109530
  [fdo#109567]: https://bugs.freedesktop.org/show_bug.cgi?id=109567


Participating hosts (44 -> 40)
------------------------------

  Additional (1): fi-icl-y 
  Missing    (5): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 


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

    * IGT: IGT_4854 -> IGTPW_2512

  CI_DRM_5658: dc6f5e9c1239d7a4b77e31cfaca48873692d579f @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2512: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2512/
  IGT_4854: 06b0830fb948b9b632342cd26100342aa01cbc79 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools



== Testlist changes ==

+igt@kms_pipe_crc_basic@flip-crc-pipe-a
+igt@kms_pipe_crc_basic@flip-crc-pipe-b
+igt@kms_pipe_crc_basic@flip-crc-pipe-c
+igt@kms_pipe_crc_basic@flip-crc-pipe-d
+igt@kms_pipe_crc_basic@flip-crc-pipe-e
+igt@kms_pipe_crc_basic@flip-crc-pipe-f
+igt@kms_pipe_crc_basic@hang-read-crc-pipe-d
+igt@kms_pipe_crc_basic@hang-read-crc-pipe-e
+igt@kms_pipe_crc_basic@hang-read-crc-pipe-f
+igt@kms_pipe_crc_basic@nonblocking-crc-pipe-d
+igt@kms_pipe_crc_basic@nonblocking-crc-pipe-d-frame-sequence
+igt@kms_pipe_crc_basic@nonblocking-crc-pipe-e
+igt@kms_pipe_crc_basic@nonblocking-crc-pipe-e-frame-sequence
+igt@kms_pipe_crc_basic@nonblocking-crc-pipe-f
+igt@kms_pipe_crc_basic@nonblocking-crc-pipe-f-frame-sequence
+igt@kms_pipe_crc_basic@read-crc-pipe-d
+igt@kms_pipe_crc_basic@read-crc-pipe-d-frame-sequence
+igt@kms_pipe_crc_basic@read-crc-pipe-e
+igt@kms_pipe_crc_basic@read-crc-pipe-e-frame-sequence
+igt@kms_pipe_crc_basic@read-crc-pipe-f
+igt@kms_pipe_crc_basic@read-crc-pipe-f-frame-sequence
+igt@kms_pipe_crc_basic@suspend-read-crc-pipe-d
+igt@kms_pipe_crc_basic@suspend-read-crc-pipe-e
+igt@kms_pipe_crc_basic@suspend-read-crc-pipe-f

== Logs ==

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

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

* Re: [igt-dev] [PATCH i-g-t 1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static().
  2019-02-25 13:02 [igt-dev] [PATCH i-g-t 1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static() Maarten Lankhorst
                   ` (4 preceding siblings ...)
  2019-02-25 15:46 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static(). (rev2) Patchwork
@ 2019-02-25 17:18 ` Ville Syrjälä
  2019-02-25 17:32 ` [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/4] " Patchwork
  2019-02-25 21:09 ` [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static(). (rev2) Patchwork
  7 siblings, 0 replies; 13+ messages in thread
From: Ville Syrjälä @ 2019-02-25 17:18 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: igt-dev

On Mon, Feb 25, 2019 at 02:02:34PM +0100, Maarten Lankhorst wrote:
> Instead of duplicating for_each_pipe_static functionality, use the actual macro,
> and the same for kmstest_pipe_name.
> 
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> ---
>  tests/kms_pipe_crc_basic.c | 36 +++++++++++++++++++-----------------
>  1 file changed, 19 insertions(+), 17 deletions(-)
> 
> diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c
> index 60802848d3ee..5ff7123814d3 100644
> --- a/tests/kms_pipe_crc_basic.c
> +++ b/tests/kms_pipe_crc_basic.c
> @@ -152,7 +152,7 @@ test_read_crc_for_output(data_t *data, int pipe, igt_output_t *output,
>  	}
>  }
>  
> -static void test_read_crc(data_t *data, int pipe, unsigned flags)
> +static void test_read_crc(data_t *data, enum pipe pipe, unsigned flags)
>  {
>  	igt_display_t *display = &data->display;
>  	int valid_connectors = 0;
> @@ -178,6 +178,8 @@ data_t data = {0, };
>  
>  igt_main
>  {
> +	enum pipe pipe;
> +
>  	igt_fixture {
>  		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
>  
> @@ -194,38 +196,38 @@ igt_main
>  
>  	igt_skip_on_simulation();
>  
> -	for (int i = 0; i < 3; i++) {
> -		igt_subtest_f("read-crc-pipe-%c", 'A'+i)
> -			test_read_crc(&data, i, 0);
> +	for_each_pipe_static(pipe) {
> +		igt_subtest_f("read-crc-pipe-%s", kmstest_pipe_name(pipe))
> +			test_read_crc(&data, pipe, 0);
>  
> -		igt_subtest_f("read-crc-pipe-%c-frame-sequence", 'A'+i)
> -			test_read_crc(&data, i, TEST_SEQUENCE);
> +		igt_subtest_f("read-crc-pipe-%s-frame-sequence", kmstest_pipe_name(pipe))
> +			test_read_crc(&data, pipe, TEST_SEQUENCE);
>  
> -		igt_subtest_f("nonblocking-crc-pipe-%c", 'A'+i)
> -			test_read_crc(&data, i, TEST_NONBLOCK);
> +		igt_subtest_f("nonblocking-crc-pipe-%s", kmstest_pipe_name(pipe))
> +			test_read_crc(&data, pipe, TEST_NONBLOCK);
>  
> -		igt_subtest_f("nonblocking-crc-pipe-%c-frame-sequence", 'A'+i)
> -			test_read_crc(&data, i, TEST_SEQUENCE | TEST_NONBLOCK);
> +		igt_subtest_f("nonblocking-crc-pipe-%s-frame-sequence", kmstest_pipe_name(pipe))
> +			test_read_crc(&data, pipe, TEST_SEQUENCE | TEST_NONBLOCK);
>  
> -		igt_subtest_f("suspend-read-crc-pipe-%c", 'A'+i) {
> -			igt_skip_on(i >= data.display.n_pipes);
> +		igt_subtest_f("suspend-read-crc-pipe-%s", kmstest_pipe_name(pipe)) {
> +			igt_skip_on(pipe >= data.display.n_pipes);
>  
> -			test_read_crc(&data, i, 0);
> +			test_read_crc(&data, pipe, 0);
>  
>  			igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
>  						      SUSPEND_TEST_NONE);
>  
> -			test_read_crc(&data, i, 0);
> +			test_read_crc(&data, pipe, 0);
>  		}
>  
> -		igt_subtest_f("hang-read-crc-pipe-%c", 'A'+i) {
> +		igt_subtest_f("hang-read-crc-pipe-%s", kmstest_pipe_name(pipe)) {
>  			igt_hang_t hang = igt_allow_hang(data.drm_fd, 0, 0);
>  
> -			test_read_crc(&data, i, 0);
> +			test_read_crc(&data, pipe, 0);
>  
>  			igt_force_gpu_reset(data.drm_fd);
>  
> -			test_read_crc(&data, i, 0);
> +			test_read_crc(&data, pipe, 0);
>  
>  			igt_disallow_hang(data.drm_fd, hang);
>  		}
> -- 
> 2.20.1
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Ville Syrjälä
Intel
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 2/4] tests/kms_pipe_crc_basic: Only test a single output per pipe.
  2019-02-25 13:02 ` [igt-dev] [PATCH i-g-t 2/4] tests/kms_pipe_crc_basic: Only test a single output per pipe Maarten Lankhorst
@ 2019-02-25 17:21   ` Ville Syrjälä
  2019-02-27 14:30     ` Maarten Lankhorst
  0 siblings, 1 reply; 13+ messages in thread
From: Ville Syrjälä @ 2019-02-25 17:21 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: igt-dev

On Mon, Feb 25, 2019 at 02:02:35PM +0100, Maarten Lankhorst wrote:
> Instead of iterating over all outputs, use igt_get_single_output_for_pipe
> to only test a single output.

Yeah, I guess that's sufficient.

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> 
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
>  tests/kms_pipe_crc_basic.c | 39 +++++++++-----------------------------
>  1 file changed, 9 insertions(+), 30 deletions(-)
> 
> diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c
> index 5ff7123814d3..36ce624e4e9e 100644
> --- a/tests/kms_pipe_crc_basic.c
> +++ b/tests/kms_pipe_crc_basic.c
> @@ -62,22 +62,26 @@ static void test_bad_source(data_t *data)
>  #define TEST_SEQUENCE (1<<0)
>  #define TEST_NONBLOCK (1<<1)
>  
> -static void
> -test_read_crc_for_output(data_t *data, int pipe, igt_output_t *output,
> -			 unsigned flags)
> +static void test_read_crc(data_t *data, enum pipe pipe, unsigned flags)
>  {
>  	igt_display_t *display = &data->display;
> +	igt_output_t *output = igt_get_single_output_for_pipe(display, pipe);
>  	igt_plane_t *primary;
>  	drmModeModeInfo *mode;
>  	igt_crc_t *crcs = NULL;
>  	int c, j;
>  
> +	igt_skip_on(pipe >= data->display.n_pipes);
> +	igt_require_f(output, "No connector found for pipe %s\n",
> +		      kmstest_pipe_name(pipe));
> +
> +	igt_display_reset(display);
> +	igt_output_set_pipe(output, pipe);
> +
>  	for (c = 0; c < ARRAY_SIZE(colors); c++) {
>  		char *crc_str;
>  		int n_crcs;
>  
> -		igt_output_set_pipe(output, pipe);
> -
>  		igt_debug("Clearing the fb with color (%.02lf,%.02lf,%.02lf)\n",
>  			  colors[c].r, colors[c].g, colors[c].b);
>  
> @@ -146,32 +150,7 @@ test_read_crc_for_output(data_t *data, int pipe, igt_output_t *output,
>  
>  		free(crcs);
>  		igt_remove_fb(data->drm_fd, &data->fb);
> -		igt_plane_set_fb(primary, NULL);
> -
> -		igt_output_set_pipe(output, PIPE_ANY);
> -	}
> -}
> -
> -static void test_read_crc(data_t *data, enum pipe pipe, unsigned flags)
> -{
> -	igt_display_t *display = &data->display;
> -	int valid_connectors = 0;
> -	igt_output_t *output;
> -
> -	igt_skip_on(pipe >= data->display.n_pipes);
> -
> -	for_each_valid_output_on_pipe(display, pipe, output) {
> -
> -		igt_info("%s: Testing connector %s using pipe %s\n",
> -			 igt_subtest_name(), igt_output_name(output),
> -			 kmstest_pipe_name(pipe));
> -
> -		test_read_crc_for_output(data, pipe, output, flags);
> -		valid_connectors ++;
>  	}
> -
> -	igt_require_f(valid_connectors, "No connector found for pipe %s\n",
> -		      kmstest_pipe_name(pipe));
>  }
>  
>  data_t data = {0, };
> -- 
> 2.20.1
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Ville Syrjälä
Intel
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t] tests/kms_pipe_crc_basic: Add flip tests to ensure basic CRC sanity checking, v2.
  2019-02-25 15:13   ` [igt-dev] [PATCH i-g-t] tests/kms_pipe_crc_basic: Add flip tests to ensure basic CRC sanity checking, v2 Maarten Lankhorst
@ 2019-02-25 17:25     ` Ville Syrjälä
  0 siblings, 0 replies; 13+ messages in thread
From: Ville Syrjälä @ 2019-02-25 17:25 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: igt-dev

On Mon, Feb 25, 2019 at 04:13:00PM +0100, Maarten Lankhorst wrote:
> Warn if a CRC for every unique color will end up being identical, it's
> not counted as a test failure because intel might not handle it correctly.
> 
> After this, flip and dirtyfb a number of times to ensure that basic CRC
> reading works as intended.
> 
> Changes since v1:
> - Fix calling when output is NULL.
> 
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  tests/kms_pipe_crc_basic.c | 87 ++++++++++++++++++++++++++++++++++++--
>  1 file changed, 84 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c
> index 36ce624e4e9e..8a1b4208da29 100644
> --- a/tests/kms_pipe_crc_basic.c
> +++ b/tests/kms_pipe_crc_basic.c
> @@ -29,7 +29,7 @@
>  #include <stdio.h>
>  #include <string.h>
>  #include <fcntl.h>
> -
> +#include "igt_rand.h"
>  
>  typedef struct {
>  	int drm_fd;
> @@ -41,9 +41,15 @@ typedef struct {
>  static struct {
>  	double r, g, b;
>  	igt_crc_t crc;
> -} colors[2] = {
> +} colors[] = {
> +	{ .r = 0.0, .g = 0.0, .b = 0.0 },
> +	{ .r = 0.0, .g = 0.0, .b = 1.0 },
>  	{ .r = 0.0, .g = 1.0, .b = 0.0 },
>  	{ .r = 0.0, .g = 1.0, .b = 1.0 },
> +	{ .r = 1.0, .g = 0.0, .b = 0.0 },
> +	{ .r = 1.0, .g = 0.0, .b = 1.0 },
> +	{ .r = 1.0, .g = 1.0, .b = 0.0 },
> +	{ .r = 1.0, .g = 1.0, .b = 1.0 },
>  };
>  
>  static void test_bad_source(data_t *data)
> @@ -153,10 +159,82 @@ static void test_read_crc(data_t *data, enum pipe pipe, unsigned flags)
>  	}
>  }
>  
> -data_t data = {0, };
> +static void test_flip_crc(data_t *data, enum pipe pipe)
> +{
> +	igt_display_t *display = &data->display;
> +	igt_output_t *output = igt_get_single_output_for_pipe(display, pipe);
> +	igt_plane_t *primary;
> +	drmModeModeInfo *mode;
> +	igt_crc_t ref_crcs[ARRAY_SIZE(colors)], crc;
> +	int c, i, j;
> +	struct igt_fb fbs[ARRAY_SIZE(colors)] = {};
> +	igt_pipe_crc_t *pipe_crc;
> +	unsigned seed = 0x1234567 * (pipe + 1);
> +	int prev;
> +
> +	igt_skip_on(pipe >= display->n_pipes);
> +	igt_require_f(output, "No connector found for pipe %s\n",
> +		      kmstest_pipe_name(pipe));
> +
> +	igt_display_reset(display);
> +	igt_output_set_pipe(output, pipe);
> +	mode = igt_output_get_mode(output);
> +	primary = igt_output_get_plane(output, 0);
> +
> +	for (c = 0; c < ARRAY_SIZE(colors); c++) {
> +		igt_create_color_fb(display->drm_fd,
> +				    mode->hdisplay, mode->vdisplay,
> +				    DRM_FORMAT_XRGB8888,
> +				    LOCAL_DRM_FORMAT_MOD_NONE,
> +				    colors[c].r,
> +				    colors[c].g,
> +				    colors[c].b,
> +				    &fbs[c]);
> +
> +		igt_plane_set_fb(primary, &fbs[c]);
> +		igt_display_commit2(display, c ? COMMIT_UNIVERSAL : COMMIT_LEGACY);
> +		if (!c)
> +			pipe_crc = igt_pipe_crc_new(display->drm_fd, pipe,
> +						    INTEL_PIPE_CRC_SOURCE_AUTO);
> +
> +		igt_pipe_crc_collect_crc(pipe_crc, &ref_crcs[c]);
> +
> +		for (j = c - 1; j >= 0; j--)
> +			igt_warn_on_f(igt_check_crc_equal(&ref_crcs[c], &ref_crcs[j]),
> +				"Identical CRC for very different colors, %g %g %g vs %g %g %g\n",
> +				colors[c].r, colors[c].g, colors[c].b,
> +				colors[j].r, colors[j].g, colors[j].b);
> +	}
> +
> +	igt_pipe_crc_start(pipe_crc);
> +
> +	prev = c;
> +	for (i = 0; i < 10 * ARRAY_SIZE(colors); i++) {
> +		c = hars_petruska_f54_1_random(&seed) % ARRAY_SIZE(colors);
> +		igt_debug("Testing color %g %g %g with %s\n",
> +			  colors[c].r, colors[c].g, colors[c].b,
> +			  c == prev ? "dirtyfb" : "commit");
> +
> +		if (c != prev) {
> +			igt_plane_set_fb(primary, &fbs[c]);
> +			igt_display_commit2(display, COMMIT_UNIVERSAL);
> +		} else {
> +			igt_dirty_fb(display->drm_fd, &fbs[c]);
> +			igt_wait_for_vblank(display->drm_fd, pipe);
> +		}
> +
> +		igt_pipe_crc_get_current(display->drm_fd, pipe_crc, &crc);

When flipping it might be nice to check every crc to make sure
there are no bad ones in the middle of the sequence.

> +		igt_assert_crc_equal(&ref_crcs[c], &crc);
> +		prev = c;
> +	}
> +
> +	for (c = 0; c < ARRAY_SIZE(colors); c++)
> +		igt_remove_fb(display->drm_fd, &fbs[c]);
> +}
>  
>  igt_main
>  {
> +	data_t data = {};
>  	enum pipe pipe;
>  
>  	igt_fixture {
> @@ -210,6 +288,9 @@ igt_main
>  
>  			igt_disallow_hang(data.drm_fd, hang);
>  		}
> +
> +		igt_subtest_f("flip-crc-pipe-%s", kmstest_pipe_name(pipe))
> +			test_flip_crc(&data, pipe);
>  	}
>  
>  	igt_fixture {
> -- 
> 2.20.1
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Ville Syrjälä
Intel
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static().
  2019-02-25 13:02 [igt-dev] [PATCH i-g-t 1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static() Maarten Lankhorst
                   ` (5 preceding siblings ...)
  2019-02-25 17:18 ` [igt-dev] [PATCH i-g-t 1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static() Ville Syrjälä
@ 2019-02-25 17:32 ` Patchwork
  2019-02-25 21:09 ` [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static(). (rev2) Patchwork
  7 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2019-02-25 17:32 UTC (permalink / raw)
  To: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static().
URL   : https://patchwork.freedesktop.org/series/57186/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5658_full -> IGTPW_2509_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/57186/revisions/1/mbox/

New tests
---------

  New tests have been introduced between CI_DRM_5658_full and IGTPW_2509_full:

### New IGT tests (18) ###

  * igt@kms_pipe_crc_basic@flip-crc-pipe-a:
    - Statuses : 5 pass(s)
    - Exec time: [3.27, 6.00] s

  * igt@kms_pipe_crc_basic@flip-crc-pipe-b:
    - Statuses : 5 pass(s)
    - Exec time: [3.20, 6.21] s

  * igt@kms_pipe_crc_basic@flip-crc-pipe-c:
    - Statuses : 4 pass(s) 1 skip(s)
    - Exec time: [0.0, 6.03] s

  * igt@kms_pipe_crc_basic@flip-crc-pipe-d:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_pipe_crc_basic@flip-crc-pipe-e:
    - Statuses : 5 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_pipe_crc_basic@flip-crc-pipe-f:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-d:
    - Statuses : 5 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-e:
    - Statuses : 4 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-f:
    - Statuses : 5 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-d:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-e:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-f:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_pipe_crc_basic@read-crc-pipe-d:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_pipe_crc_basic@read-crc-pipe-e:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_pipe_crc_basic@read-crc-pipe-f:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-d:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-e:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-f:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_schedule@preemptive-hang-bsd2:
    - shard-hsw:          NOTRUN -> SKIP [fdo#109271] +31

  * igt@gem_pread@basic:
    - shard-snb:          PASS -> INCOMPLETE [fdo#105411]

  * igt@i915_suspend@fence-restore-tiled2untiled:
    - shard-kbl:          PASS -> INCOMPLETE [fdo#103665]

  * igt@kms_busy@extended-modeset-hang-newfb-render-a:
    - shard-snb:          NOTRUN -> DMESG-WARN [fdo#107956]

  * igt@kms_chamelium@hdmi-crc-single:
    - shard-glk:          NOTRUN -> SKIP [fdo#109271] +3

  * igt@kms_color@pipe-b-legacy-gamma:
    - shard-glk:          PASS -> FAIL [fdo#104782] +1

  * igt@kms_cursor_crc@cursor-128x128-suspend:
    - shard-apl:          PASS -> FAIL [fdo#103191] / [fdo#103232]
    - shard-kbl:          PASS -> FAIL [fdo#103191] / [fdo#103232]

  * igt@kms_cursor_crc@cursor-64x21-random:
    - shard-apl:          PASS -> FAIL [fdo#103232] +2

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

  * igt@kms_cursor_crc@cursor-alpha-opaque:
    - shard-apl:          PASS -> FAIL [fdo#109350]

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

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff:
    - shard-glk:          PASS -> FAIL [fdo#103167] +13

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-render:
    - shard-kbl:          NOTRUN -> SKIP [fdo#109271] +16

  * {igt@kms_pipe_crc_basic@nonblocking-crc-pipe-d} (NEW):
    - shard-apl:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +18

  * {igt@kms_pipe_crc_basic@nonblocking-crc-pipe-e} (NEW):
    - shard-snb:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +14

  * {igt@kms_pipe_crc_basic@read-crc-pipe-d} (NEW):
    - shard-kbl:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +17

  * {igt@kms_pipe_crc_basic@read-crc-pipe-f} (NEW):
    - shard-hsw:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +17

  * {igt@kms_pipe_crc_basic@suspend-read-crc-pipe-d} (NEW):
    - shard-glk:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +13

  * igt@kms_plane@pixel-format-pipe-a-planes-source-clamping:
    - shard-glk:          PASS -> FAIL [fdo#108948]

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes:
    - shard-glk:          PASS -> INCOMPLETE [fdo#103359] / [k.org#198133]

  * igt@kms_plane_alpha_blend@pipe-a-alpha-transparant-fb:
    - shard-kbl:          NOTRUN -> FAIL [fdo#108145]

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-none:
    - shard-glk:          PASS -> FAIL [fdo#103166] +8
    - shard-apl:          PASS -> FAIL [fdo#103166] +5

  * igt@kms_plane_multiple@atomic-pipe-c-tiling-x:
    - shard-kbl:          PASS -> FAIL [fdo#103166]

  * igt@kms_rotation_crc@multiplane-rotation-cropping-bottom:
    - shard-kbl:          PASS -> DMESG-FAIL [fdo#105763]

  * igt@kms_setmode@basic:
    - shard-kbl:          PASS -> FAIL [fdo#99912]

  * igt@perf_pmu@busy-check-all-vecs0:
    - shard-snb:          NOTRUN -> SKIP [fdo#109271] +36

  * igt@prime_vgem@fence-write-hang:
    - shard-apl:          NOTRUN -> SKIP [fdo#109271] +29

  
#### Possible fixes ####

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

  * igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
    - shard-apl:          FAIL [fdo#106510] / [fdo#108145] -> PASS

  * igt@kms_color@pipe-b-legacy-gamma:
    - shard-apl:          FAIL [fdo#104782] -> PASS
    - shard-kbl:          FAIL [fdo#104782] -> PASS

  * igt@kms_cursor_crc@cursor-64x21-sliding:
    - shard-apl:          FAIL [fdo#103232] -> PASS +1
    - shard-kbl:          FAIL [fdo#103232] -> PASS

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
    - shard-glk:          FAIL [fdo#104873] -> PASS

  * igt@kms_cursor_legacy@pipe-c-torture-bo:
    - shard-hsw:          DMESG-WARN [fdo#107122] -> PASS

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-cpu:
    - shard-glk:          FAIL [fdo#103167] -> PASS +2

  * igt@kms_plane@pixel-format-pipe-b-planes-source-clamping:
    - shard-apl:          FAIL [fdo#108948] -> PASS +1

  * igt@kms_plane@pixel-format-pipe-c-planes-source-clamping:
    - shard-glk:          FAIL [fdo#108948] -> PASS

  * igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
    - shard-apl:          FAIL [fdo#108145] -> PASS
    - shard-glk:          FAIL [fdo#108145] -> PASS

  * igt@kms_plane_multiple@atomic-pipe-c-tiling-none:
    - shard-glk:          FAIL [fdo#103166] -> PASS +1

  * igt@kms_setmode@basic:
    - shard-apl:          FAIL [fdo#99912] -> PASS

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

  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359
  [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#104873]: https://bugs.freedesktop.org/show_bug.cgi?id=104873
  [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
  [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
  [fdo#106510]: https://bugs.freedesktop.org/show_bug.cgi?id=106510
  [fdo#107122]: https://bugs.freedesktop.org/show_bug.cgi?id=107122
  [fdo#107956]: https://bugs.freedesktop.org/show_bug.cgi?id=107956
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108948]: https://bugs.freedesktop.org/show_bug.cgi?id=108948
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109350]: https://bugs.freedesktop.org/show_bug.cgi?id=109350
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
  [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133


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

  Missing    (2): shard-skl shard-iclb 


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

    * IGT: IGT_4854 -> IGTPW_2509
    * Piglit: piglit_4509 -> None

  CI_DRM_5658: dc6f5e9c1239d7a4b77e31cfaca48873692d579f @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2509: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2509/
  IGT_4854: 06b0830fb948b9b632342cd26100342aa01cbc79 @ 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_2509/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static(). (rev2)
  2019-02-25 13:02 [igt-dev] [PATCH i-g-t 1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static() Maarten Lankhorst
                   ` (6 preceding siblings ...)
  2019-02-25 17:32 ` [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/4] " Patchwork
@ 2019-02-25 21:09 ` Patchwork
  7 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2019-02-25 21:09 UTC (permalink / raw)
  To: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static(). (rev2)
URL   : https://patchwork.freedesktop.org/series/57186/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5658_full -> IGTPW_2512_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/57186/revisions/2/mbox/

New tests
---------

  New tests have been introduced between CI_DRM_5658_full and IGTPW_2512_full:

### New IGT tests (18) ###

  * igt@kms_pipe_crc_basic@flip-crc-pipe-a:
    - Statuses : 5 pass(s)
    - Exec time: [3.28, 5.97] s

  * igt@kms_pipe_crc_basic@flip-crc-pipe-b:
    - Statuses : 5 pass(s)
    - Exec time: [3.18, 6.20] s

  * igt@kms_pipe_crc_basic@flip-crc-pipe-c:
    - Statuses : 4 pass(s) 1 skip(s)
    - Exec time: [0.0, 6.08] s

  * igt@kms_pipe_crc_basic@flip-crc-pipe-d:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_pipe_crc_basic@flip-crc-pipe-e:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_pipe_crc_basic@flip-crc-pipe-f:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-d:
    - Statuses : 5 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-e:
    - Statuses : 5 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-f:
    - Statuses : 5 skip(s)
    - Exec time: [0.0, 0.00] s

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-d:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-e:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-f:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_pipe_crc_basic@read-crc-pipe-d:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_pipe_crc_basic@read-crc-pipe-e:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_pipe_crc_basic@read-crc-pipe-f:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-d:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-e:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-f:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_schedule@preemptive-hang-bsd2:
    - shard-hsw:          NOTRUN -> SKIP [fdo#109271] +32

  * igt@kms_atomic_transition@1x-modeset-transitions-nonblocking:
    - shard-apl:          PASS -> FAIL [fdo#109660]
    - shard-kbl:          PASS -> FAIL [fdo#109660]

  * igt@kms_busy@extended-modeset-hang-newfb-render-a:
    - shard-snb:          NOTRUN -> DMESG-WARN [fdo#107956]

  * igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
    - shard-glk:          PASS -> FAIL [fdo#108145]

  * igt@kms_chamelium@hdmi-crc-single:
    - shard-glk:          NOTRUN -> SKIP [fdo#109271] +3

  * igt@kms_color@pipe-a-legacy-gamma:
    - shard-glk:          PASS -> FAIL [fdo#104782] / [fdo#108145]

  * igt@kms_color@pipe-b-legacy-gamma:
    - shard-glk:          PASS -> FAIL [fdo#104782]

  * igt@kms_cursor_crc@cursor-256x256-onscreen:
    - shard-kbl:          PASS -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-64x21-random:
    - shard-apl:          PASS -> FAIL [fdo#103232] +3

  * igt@kms_flip@flip-vs-suspend:
    - shard-apl:          PASS -> DMESG-WARN [fdo#108566]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt:
    - shard-glk:          PASS -> FAIL [fdo#103167] +2
    - shard-kbl:          PASS -> FAIL [fdo#103167]

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

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-render:
    - shard-kbl:          NOTRUN -> SKIP [fdo#109271] +15

  * {igt@kms_pipe_crc_basic@nonblocking-crc-pipe-d} (NEW):
    - shard-apl:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +18

  * {igt@kms_pipe_crc_basic@nonblocking-crc-pipe-e} (NEW):
    - shard-snb:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +16

  * {igt@kms_pipe_crc_basic@read-crc-pipe-d} (NEW):
    - shard-kbl:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +15

  * {igt@kms_pipe_crc_basic@read-crc-pipe-f} (NEW):
    - shard-hsw:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +17

  * {igt@kms_pipe_crc_basic@suspend-read-crc-pipe-d} (NEW):
    - shard-glk:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +14

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes:
    - shard-kbl:          PASS -> INCOMPLETE [fdo#103665]

  * igt@kms_plane_alpha_blend@pipe-a-alpha-transparant-fb:
    - shard-apl:          NOTRUN -> FAIL [fdo#108145]
    - shard-kbl:          NOTRUN -> FAIL [fdo#108145]

  * igt@kms_plane_multiple@atomic-pipe-a-tiling-y:
    - shard-glk:          PASS -> FAIL [fdo#103166] +3
    - shard-kbl:          PASS -> FAIL [fdo#103166]

  * igt@kms_plane_multiple@atomic-pipe-c-tiling-yf:
    - shard-apl:          PASS -> FAIL [fdo#103166] +2

  * igt@kms_rotation_crc@multiplane-rotation-cropping-bottom:
    - shard-kbl:          PASS -> DMESG-FAIL [fdo#105763]

  * igt@kms_setmode@basic:
    - shard-kbl:          PASS -> FAIL [fdo#99912]

  * igt@kms_vblank@pipe-b-ts-continuation-modeset-rpm:
    - shard-kbl:          PASS -> FAIL [fdo#104894]

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

  * igt@perf_pmu@busy-check-all-vecs0:
    - shard-snb:          NOTRUN -> SKIP [fdo#109271] +35

  * igt@prime_vgem@fence-write-hang:
    - shard-apl:          NOTRUN -> SKIP [fdo#109271] +31

  
#### Possible fixes ####

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

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-c:
    - shard-kbl:          DMESG-WARN [fdo#107956] -> PASS

  * igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
    - shard-apl:          FAIL [fdo#106510] / [fdo#108145] -> PASS

  * igt@kms_color@pipe-b-legacy-gamma:
    - shard-kbl:          FAIL [fdo#104782] -> PASS

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

  * igt@kms_cursor_crc@cursor-64x21-sliding:
    - shard-apl:          FAIL [fdo#103232] -> PASS +3

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
    - shard-glk:          FAIL [fdo#104873] -> PASS

  * igt@kms_cursor_legacy@pipe-c-torture-bo:
    - shard-hsw:          DMESG-WARN [fdo#107122] -> PASS

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt:
    - shard-apl:          FAIL [fdo#103167] -> PASS +1

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-cpu:
    - shard-glk:          FAIL [fdo#103167] -> PASS +5

  * igt@kms_plane@pixel-format-pipe-b-planes-source-clamping:
    - shard-apl:          FAIL [fdo#108948] -> PASS +1

  * igt@kms_plane@pixel-format-pipe-c-planes-source-clamping:
    - shard-glk:          FAIL [fdo#108948] -> PASS

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
    - shard-glk:          FAIL [fdo#103166] -> PASS +3

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

  
#### Warnings ####

  * igt@kms_cursor_legacy@cursorb-vs-flipa-toggle:
    - shard-snb:          SKIP [fdo#109271] -> INCOMPLETE [fdo#105411]

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

  [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#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#104873]: https://bugs.freedesktop.org/show_bug.cgi?id=104873
  [fdo#104894]: https://bugs.freedesktop.org/show_bug.cgi?id=104894
  [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
  [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
  [fdo#106510]: https://bugs.freedesktop.org/show_bug.cgi?id=106510
  [fdo#107122]: https://bugs.freedesktop.org/show_bug.cgi?id=107122
  [fdo#107956]: https://bugs.freedesktop.org/show_bug.cgi?id=107956
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#108948]: https://bugs.freedesktop.org/show_bug.cgi?id=108948
  [fdo#109016]: https://bugs.freedesktop.org/show_bug.cgi?id=109016
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109660]: https://bugs.freedesktop.org/show_bug.cgi?id=109660
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


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

  Missing    (2): shard-skl shard-iclb 


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

    * IGT: IGT_4854 -> IGTPW_2512
    * Piglit: piglit_4509 -> None

  CI_DRM_5658: dc6f5e9c1239d7a4b77e31cfaca48873692d579f @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2512: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2512/
  IGT_4854: 06b0830fb948b9b632342cd26100342aa01cbc79 @ 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_2512/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 2/4] tests/kms_pipe_crc_basic: Only test a single output per pipe.
  2019-02-25 17:21   ` Ville Syrjälä
@ 2019-02-27 14:30     ` Maarten Lankhorst
  0 siblings, 0 replies; 13+ messages in thread
From: Maarten Lankhorst @ 2019-02-27 14:30 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: igt-dev

Op 25-02-2019 om 18:21 schreef Ville Syrjälä:
> On Mon, Feb 25, 2019 at 02:02:35PM +0100, Maarten Lankhorst wrote:
>> Instead of iterating over all outputs, use igt_get_single_output_for_pipe
>> to only test a single output.
> Yeah, I guess that's sufficient.
>
> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>


Thanks, pushed 1 and 2, will resend #3 :)

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

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

end of thread, other threads:[~2019-02-27 14:30 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-25 13:02 [igt-dev] [PATCH i-g-t 1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static() Maarten Lankhorst
2019-02-25 13:02 ` [igt-dev] [PATCH i-g-t 2/4] tests/kms_pipe_crc_basic: Only test a single output per pipe Maarten Lankhorst
2019-02-25 17:21   ` Ville Syrjälä
2019-02-27 14:30     ` Maarten Lankhorst
2019-02-25 13:02 ` [igt-dev] [PATCH i-g-t 3/4] tests/kms_pipe_crc_basic: Add flip tests to ensure basic CRC sanity checking Maarten Lankhorst
2019-02-25 15:13   ` [igt-dev] [PATCH i-g-t] tests/kms_pipe_crc_basic: Add flip tests to ensure basic CRC sanity checking, v2 Maarten Lankhorst
2019-02-25 17:25     ` Ville Syrjälä
2019-02-25 13:02 ` [igt-dev] [PATCH i-g-t 4/4] HACK: Add pipe_crc_basic to ff Maarten Lankhorst
2019-02-25 14:29 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static() Patchwork
2019-02-25 15:46 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static(). (rev2) Patchwork
2019-02-25 17:18 ` [igt-dev] [PATCH i-g-t 1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static() Ville Syrjälä
2019-02-25 17:32 ` [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/4] " Patchwork
2019-02-25 21:09 ` [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/4] tests/kms_pipe_crc_basic: Use for_each_pipe_static(). (rev2) 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.