All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 1/3] tests/kms_plane_lowres: Nuke unused defines
@ 2019-11-08 15:57 Ville Syrjala
  2019-11-08 15:57 ` [igt-dev] [PATCH i-g-t 2/3] tests/kms_plane_lowres: Stop relying in debugfs display_info Ville Syrjala
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Ville Syrjala @ 2019-11-08 15:57 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

MAX_CRCS and LOOP_FOREVER are unused. Get rid of them.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 tests/kms_plane_lowres.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/tests/kms_plane_lowres.c b/tests/kms_plane_lowres.c
index 1a316c84102f..1d3053420d10 100644
--- a/tests/kms_plane_lowres.c
+++ b/tests/kms_plane_lowres.c
@@ -32,9 +32,7 @@
 
 IGT_TEST_DESCRIPTION("Test atomic mode setting with a plane by switching between high and low resolutions");
 
-#define MAX_CRCS          1
 #define SIZE            256
-#define LOOP_FOREVER     -1
 
 typedef struct {
 	int drm_fd;
-- 
2.23.0

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

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

* [igt-dev] [PATCH i-g-t 2/3] tests/kms_plane_lowres: Stop relying in debugfs display_info
  2019-11-08 15:57 [igt-dev] [PATCH i-g-t 1/3] tests/kms_plane_lowres: Nuke unused defines Ville Syrjala
@ 2019-11-08 15:57 ` Ville Syrjala
  2019-11-19 10:42   ` Kahola, Mika
  2019-11-08 15:57 ` [igt-dev] [PATCH i-g-t 3/3] lib/igt_kms: Remove fragile display_info debugfs parsing Ville Syrjala
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 8+ messages in thread
From: Ville Syrjala @ 2019-11-08 15:57 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Switch the test to rely purely on crcs instead of parsing stuff
from the debugfs display_info file. Such parsin is fragile and
will cause test failures whenever anyone tries to adjust the
file layout. Let's trust that crcs are good enough to catch
cases where we misconfigure the planes.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 tests/kms_plane_lowres.c | 187 +++++++++++++++++++++------------------
 1 file changed, 102 insertions(+), 85 deletions(-)

diff --git a/tests/kms_plane_lowres.c b/tests/kms_plane_lowres.c
index 1d3053420d10..865c43e2333c 100644
--- a/tests/kms_plane_lowres.c
+++ b/tests/kms_plane_lowres.c
@@ -32,26 +32,36 @@
 
 IGT_TEST_DESCRIPTION("Test atomic mode setting with a plane by switching between high and low resolutions");
 
-#define SIZE            256
+#define SIZE 64
 
 typedef struct {
 	int drm_fd;
 	igt_display_t display;
 	struct igt_fb fb_primary;
-	struct igt_fb fb_plane;
+	struct igt_fb fb_plane[2];
+	struct {
+		struct igt_fb fb;
+		igt_crc_t crc;
+	} ref_lowres;
+	struct {
+		struct igt_fb fb;
+		igt_crc_t crc;
+	} ref_hires;
+	int x, y;
 } data_t;
 
 static drmModeModeInfo
-get_lowres_mode(int drmfd, igt_output_t *output, drmModeModeInfo *mode_default)
+get_lowres_mode(int drmfd, igt_output_t *output,
+		const drmModeModeInfo *mode_default)
 {
-	drmModeModeInfo mode;
+	const drmModeModeInfo *mode;
 	bool found = false;
 	int limit = mode_default->vdisplay - SIZE;
 	int j;
 
 	for (j = 0; j < output->config.connector->count_modes; j++) {
-		mode = output->config.connector->modes[j];
-		if (mode.vdisplay < limit) {
+		mode = &output->config.connector->modes[j];
+		if (mode->vdisplay < limit) {
 			found = true;
 			break;
 		}
@@ -64,73 +74,69 @@ get_lowres_mode(int drmfd, igt_output_t *output, drmModeModeInfo *mode_default)
 		return *igt_std_1024_mode_get();
 	}
 
-	return mode;
+	return *mode;
 }
 
-static void
-check_mode(drmModeModeInfo *mode1, drmModeModeInfo *mode2)
+static bool setup_plane(data_t *data, igt_plane_t *plane)
 {
-	igt_assert_eq(mode1->hdisplay, mode2->hdisplay);
-	igt_assert_eq(mode1->vdisplay, mode2->vdisplay);
-	igt_assert_eq(mode1->vrefresh, mode2->vrefresh);
-}
-
-/*
- * Return false if test on this plane should be skipped
- */
-static bool
-setup_plane(data_t *data, igt_plane_t *plane, drmModeModeInfo *mode,
-	    uint64_t modifier)
-{
-	uint64_t plane_modifier;
-	uint32_t plane_format;
-	int size, x, y;
+	struct igt_fb *fb;
 
 	if (plane->type == DRM_PLANE_TYPE_PRIMARY)
 		return false;
 
-	if (plane->type == DRM_PLANE_TYPE_CURSOR)
-		size = 64;
-	else
-		size = SIZE;
+	fb = &data->fb_plane[0];
+	if (!igt_plane_has_format_mod(plane, fb->drm_format, fb->modifier))
+		fb = &data->fb_plane[1];
+	if (!igt_plane_has_format_mod(plane, fb->drm_format, fb->modifier))
+		return false;
 
-	x = 0;
-	y = mode->vdisplay - size;
+	igt_plane_set_position(plane, data->x, data->y);
+	igt_plane_set_fb(plane, fb);
 
-	if (plane->type == DRM_PLANE_TYPE_CURSOR) {
-		plane_format = DRM_FORMAT_ARGB8888;
-		plane_modifier = LOCAL_DRM_FORMAT_MOD_NONE;
-	} else {
-		plane_format = DRM_FORMAT_XRGB8888;
-		plane_modifier = modifier;
-	}
+	return true;
+}
 
-	if (!igt_plane_has_format_mod(plane, plane_format, plane_modifier))
-		return false;
+static void blit(data_t *data, cairo_t *cr,
+		 struct igt_fb *src, int x, int y)
+{
+	cairo_surface_t *surface;
 
-	igt_create_color_fb(data->drm_fd, size, size, plane_format,
-			    plane_modifier, 1.0, 1.0, 0.0, &data->fb_plane);
-	igt_plane_set_position(plane, x, y);
-	igt_plane_set_fb(plane, &data->fb_plane);
+	surface = igt_get_cairo_surface(data->drm_fd, src);
 
-	return true;
+	cairo_set_source_surface(cr, surface, x, y);
+	cairo_rectangle(cr, x, y, src->width, src->height);
+	cairo_fill (cr);
+
+	cairo_surface_destroy(surface);
 }
 
-static igt_plane_t *
-primary_plane_get(igt_display_t *display, enum pipe pipe)
+static void create_ref_fb(data_t *data, uint64_t modifier,
+			  const drmModeModeInfo *mode, struct igt_fb *fb)
 {
-	unsigned plane_primary_id = display->pipes[pipe].plane_primary;
-	return &display->pipes[pipe].planes[plane_primary_id];
+	cairo_t *cr;
+
+	igt_create_fb(data->drm_fd, mode->hdisplay, mode->vdisplay,
+		      DRM_FORMAT_XRGB8888, modifier, fb);
+
+	cr = igt_get_cairo_ctx(data->drm_fd, fb);
+	blit(data, cr, &data->fb_primary, 0, 0);
+	blit(data, cr, &data->fb_plane[0], data->x, data->y);
+	igt_put_cairo_ctx(data->drm_fd, fb, cr);
 }
 
 static unsigned
 test_planes_on_pipe_with_output(data_t *data, enum pipe pipe,
 				igt_output_t *output, uint64_t modifier)
 {
-	drmModeModeInfo *mode, mode_lowres;
+	igt_pipe_t *pipe_obj = &data->display.pipes[pipe];
+	const drmModeModeInfo *mode;
+	drmModeModeInfo mode_lowres;
 	igt_pipe_crc_t *pipe_crc;
 	unsigned tested = 0;
 	igt_plane_t *plane;
+	igt_plane_t *primary;
+
+	primary = igt_pipe_get_plane_type(pipe_obj, DRM_PLANE_TYPE_PRIMARY);
 
 	igt_info("Testing connector %s using pipe %s\n",
 		 igt_output_name(output), kmstest_pipe_name(pipe));
@@ -139,72 +145,83 @@ test_planes_on_pipe_with_output(data_t *data, enum pipe pipe,
 	mode = igt_output_get_mode(output);
 	mode_lowres = get_lowres_mode(data->drm_fd, output, mode);
 
-	igt_create_color_fb(data->drm_fd, mode->hdisplay, mode->vdisplay,
-			    DRM_FORMAT_XRGB8888, modifier, 0.0, 0.0, 1.0,
-			    &data->fb_primary);
-	igt_plane_set_fb(primary_plane_get(&data->display, pipe),
-			 &data->fb_primary);
+	igt_create_color_pattern_fb(data->drm_fd, mode->hdisplay, mode->vdisplay,
+				    DRM_FORMAT_XRGB8888, modifier, 0.0, 0.0, 1.0,
+				    &data->fb_primary);
+
+	data->x = 0;
+	data->y = mode->vdisplay - SIZE;
+
+	/* for other planes */
+	igt_create_color_pattern_fb(data->drm_fd, SIZE, SIZE,
+				    DRM_FORMAT_XRGB8888, modifier,
+				    1.0, 1.0, 0.0, &data->fb_plane[0]);
+	/* for cursor */
+	igt_create_color_pattern_fb(data->drm_fd, SIZE, SIZE,
+				    DRM_FORMAT_ARGB8888, DRM_FORMAT_MOD_LINEAR,
+				    1.0, 1.0, 0.0, &data->fb_plane[1]);
+
+	create_ref_fb(data, modifier, mode, &data->ref_hires.fb);
+	create_ref_fb(data, modifier, &mode_lowres, &data->ref_lowres.fb);
 
 	pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
 				    INTEL_PIPE_CRC_SOURCE_AUTO);
 
+	igt_output_override_mode(output, &mode_lowres);
+	igt_plane_set_fb(primary, &data->ref_lowres.fb);
+	igt_display_commit2(&data->display, COMMIT_ATOMIC);
+	igt_pipe_crc_collect_crc(pipe_crc, &data->ref_lowres.crc);
+
+	igt_output_override_mode(output, NULL);
+	igt_plane_set_fb(primary, &data->ref_hires.fb);
+	igt_display_commit2(&data->display, COMMIT_ATOMIC);
+	igt_pipe_crc_collect_crc(pipe_crc, &data->ref_hires.crc);
+
+	igt_plane_set_fb(primary, &data->fb_primary);
+	igt_display_commit2(&data->display, COMMIT_ATOMIC);
+
 	/* yellow sprite plane in lower left corner */
 	for_each_plane_on_pipe(&data->display, pipe, plane) {
-		igt_crc_t crc_hires1, crc_hires2;
-		int r;
-
-		if (!setup_plane(data, plane, mode, modifier))
-			continue;
+		igt_crc_t crc_lowres, crc_hires1, crc_hires2;
 
-		r = igt_display_try_commit2(&data->display, COMMIT_ATOMIC);
-		if (r) {
-			igt_debug("Commit failed %i", r);
+		if (!setup_plane(data, plane))
 			continue;
-		}
 
-		igt_pipe_crc_start(pipe_crc);
-		igt_pipe_crc_get_single(pipe_crc, &crc_hires1);
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 
-		igt_assert_plane_visible(data->drm_fd, pipe, plane->index,
-					 true);
+		igt_pipe_crc_collect_crc(pipe_crc, &crc_hires1);
 
 		/* switch to lower resolution */
 		igt_output_override_mode(output, &mode_lowres);
-		igt_output_set_pipe(output, pipe);
-		check_mode(&mode_lowres, igt_output_get_mode(output));
-
 		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 
-		igt_assert_plane_visible(data->drm_fd, pipe, plane->index,
-					 false);
+		igt_pipe_crc_collect_crc(pipe_crc, &crc_lowres);
 
 		/* switch back to higher resolution */
 		igt_output_override_mode(output, NULL);
-		igt_output_set_pipe(output, pipe);
-		check_mode(mode, igt_output_get_mode(output));
-
 		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 
-		igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc_hires2);
-
-		igt_assert_plane_visible(data->drm_fd, pipe, plane->index,
-					 true);
+		igt_pipe_crc_collect_crc(pipe_crc, &crc_hires2);
 
-		igt_assert_crc_equal(&crc_hires1, &crc_hires2);
-
-		igt_pipe_crc_stop(pipe_crc);
+		igt_assert_crc_equal(&data->ref_hires.crc, &crc_hires1);
+		igt_assert_crc_equal(&data->ref_hires.crc, &crc_hires2);
+		igt_assert_crc_equal(&data->ref_lowres.crc, &crc_lowres);
 
 		igt_plane_set_fb(plane, NULL);
-		igt_remove_fb(data->drm_fd, &data->fb_plane);
 		tested++;
 	}
 
 	igt_pipe_crc_free(pipe_crc);
 
-	igt_plane_set_fb(primary_plane_get(&data->display, pipe), NULL);
-	igt_remove_fb(data->drm_fd, &data->fb_primary);
+	igt_plane_set_fb(primary, NULL);
 	igt_output_set_pipe(output, PIPE_NONE);
 
+	igt_remove_fb(data->drm_fd, &data->fb_plane[1]);
+	igt_remove_fb(data->drm_fd, &data->fb_plane[0]);
+	igt_remove_fb(data->drm_fd, &data->fb_primary);
+	igt_remove_fb(data->drm_fd, &data->ref_hires.fb);
+	igt_remove_fb(data->drm_fd, &data->ref_lowres.fb);
+
 	return tested;
 }
 
-- 
2.23.0

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

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

* [igt-dev] [PATCH i-g-t 3/3] lib/igt_kms: Remove fragile display_info debugfs parsing
  2019-11-08 15:57 [igt-dev] [PATCH i-g-t 1/3] tests/kms_plane_lowres: Nuke unused defines Ville Syrjala
  2019-11-08 15:57 ` [igt-dev] [PATCH i-g-t 2/3] tests/kms_plane_lowres: Stop relying in debugfs display_info Ville Syrjala
@ 2019-11-08 15:57 ` Ville Syrjala
  2019-11-19 10:43   ` Kahola, Mika
  2019-11-08 16:29 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/3] tests/kms_plane_lowres: Nuke unused defines Patchwork
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 8+ messages in thread
From: Ville Syrjala @ 2019-11-08 15:57 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Relying on the specific layout of the display_info debugfs
file is fragile. Any change in the file layout will likely
result in test failure. Let's just get rid of it.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 lib/igt_kms.c | 141 --------------------------------------------------
 lib/igt_kms.h |   1 -
 2 files changed, 142 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index e9b80b9bcb81..7095d8252262 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1520,147 +1520,6 @@ void kmstest_wait_for_pageflip(int fd)
 	igt_assert(drmHandleEvent(fd, &evctx) == 0);
 }
 
-static void get_plane(char *str, int type, struct kmstest_plane *plane)
-{
-	int ret;
-	char buf[256];
-
-	plane->type = type;
-	ret = sscanf(str + 12, "%d%*c %*s %[^n]s",
-		     &plane->id,
-		     buf);
-	igt_assert_eq(ret, 2);
-
-	ret = sscanf(buf + 9, "%4d%*c%4d%*c", &plane->pos_x, &plane->pos_y);
-	igt_assert_eq(ret, 2);
-
-	ret = sscanf(buf + 30, "%4d%*c%4d%*c", &plane->width, &plane->height);
-	igt_assert_eq(ret, 2);
-}
-
-static int parse_planes(FILE *fid, struct kmstest_plane *planes)
-{
-	char tmp[256];
-	int n_planes;
-
-	n_planes = 0;
-	while (fgets(tmp, 256, fid) != NULL) {
-		if (strstr(tmp, "type=PRI") != NULL) {
-			if (planes) {
-				get_plane(tmp, DRM_PLANE_TYPE_PRIMARY, &planes[n_planes]);
-				planes[n_planes].index = n_planes;
-			}
-			n_planes++;
-		} else if (strstr(tmp, "type=OVL") != NULL) {
-			if (planes) {
-				get_plane(tmp, DRM_PLANE_TYPE_OVERLAY, &planes[n_planes]);
-				planes[n_planes].index = n_planes;
-			}
-			n_planes++;
-		} else if (strstr(tmp, "type=CUR") != NULL) {
-			if (planes) {
-				get_plane(tmp, DRM_PLANE_TYPE_CURSOR, &planes[n_planes]);
-				planes[n_planes].index = n_planes;
-			}
-			n_planes++;
-			break;
-		}
-	}
-
-	return n_planes;
-}
-
-static void parse_crtc(char *info, struct kmstest_crtc *crtc)
-{
-	char buf[256];
-	int ret;
-	char pipe;
-
-	ret = sscanf(info + 4, "%d%*c %*s %c%*c %*s %s%*c",
-		     &crtc->id, &pipe, buf);
-	igt_assert_eq(ret, 3);
-
-	crtc->pipe = kmstest_pipe_to_index(pipe);
-	igt_assert(crtc->pipe >= 0);
-
-	ret = sscanf(buf + 6, "%d%*c%d%*c",
-		     &crtc->width, &crtc->height);
-	igt_assert_eq(ret, 2);
-}
-
-static void kmstest_get_crtc(int device, enum pipe pipe, struct kmstest_crtc *crtc)
-{
-	char tmp[256];
-	FILE *file;
-	int ncrtc;
-	int line;
-	long int n;
-	int fd;
-
-	fd = igt_debugfs_open(device, "i915_display_info", O_RDONLY);
-	file = fdopen(fd, "r");
-	igt_skip_on(file == NULL);
-
-	ncrtc = 0;
-	line = 0;
-	while (fgets(tmp, 256, file) != NULL) {
-		if ((strstr(tmp, "CRTC") != NULL) && (line > 0)) {
-			if (strstr(tmp, "active=yes") != NULL) {
-				crtc->active = true;
-				parse_crtc(tmp, crtc);
-
-				n = ftell(file);
-				crtc->n_planes = parse_planes(file, NULL);
-				igt_assert_lt(0, crtc->n_planes);
-				crtc->planes = calloc(crtc->n_planes, sizeof(*crtc->planes));
-				igt_assert_f(crtc->planes, "Failed to allocate memory for %d planes\n", crtc->n_planes);
-
-				fseek(file, n, SEEK_SET);
-				parse_planes(file, crtc->planes);
-
-				if (crtc->pipe != pipe) {
-					free(crtc->planes);
-				} else {
-					ncrtc++;
-					break;
-				}
-			}
-		}
-
-		line++;
-	}
-
-	fclose(file);
-	close(fd);
-
-	igt_assert(ncrtc == 1);
-}
-
-/**
- * igt_assert_plane_visible:
- * @fd: Opened file descriptor
- * @pipe: Display pipe
- * @visibility: Boolean parameter to test against the plane's current visibility state
- *
- * Asserts only if the plane's visibility state matches the status being passed by @visibility
- */
-void igt_assert_plane_visible(int fd, enum pipe pipe, int plane_index, bool visibility)
-{
-	struct kmstest_crtc crtc;
-	bool visible = true;
-
-	kmstest_get_crtc(fd, pipe, &crtc);
-
-	igt_assert(plane_index < crtc.n_planes);
-
-	if (crtc.planes[plane_index].pos_x > crtc.width ||
-	    crtc.planes[plane_index].pos_y > crtc.height)
-		visible = false;
-
-	free(crtc.planes);
-	igt_assert_eq(visible, visibility);
-}
-
 /**
  * kms_has_vblank:
  * @fd: DRM fd
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 7193f9a50ea2..3f798392f8a0 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -228,7 +228,6 @@ void *kmstest_dumb_map_buffer(int fd, uint32_t handle, uint64_t size,
 void kmstest_dumb_destroy(int fd, uint32_t handle);
 void kmstest_wait_for_pageflip(int fd);
 unsigned int kmstest_get_vblank(int fd, int pipe, unsigned int flags);
-void igt_assert_plane_visible(int fd, enum pipe pipe, int plane_index, bool visibility);
 
 bool kms_has_vblank(int fd);
 
-- 
2.23.0

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

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

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/3] tests/kms_plane_lowres: Nuke unused defines
  2019-11-08 15:57 [igt-dev] [PATCH i-g-t 1/3] tests/kms_plane_lowres: Nuke unused defines Ville Syrjala
  2019-11-08 15:57 ` [igt-dev] [PATCH i-g-t 2/3] tests/kms_plane_lowres: Stop relying in debugfs display_info Ville Syrjala
  2019-11-08 15:57 ` [igt-dev] [PATCH i-g-t 3/3] lib/igt_kms: Remove fragile display_info debugfs parsing Ville Syrjala
@ 2019-11-08 16:29 ` Patchwork
  2019-11-10  8:19 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  2019-11-19 10:35 ` [igt-dev] [PATCH i-g-t 1/3] " Kahola, Mika
  4 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2019-11-08 16:29 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/3] tests/kms_plane_lowres: Nuke unused defines
URL   : https://patchwork.freedesktop.org/series/69203/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_7298 -> IGTPW_3672
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live_gt_heartbeat:
    - fi-kbl-guc:         [PASS][1] -> [DMESG-FAIL][2] ([fdo#112096])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/fi-kbl-guc/igt@i915_selftest@live_gt_heartbeat.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/fi-kbl-guc/igt@i915_selftest@live_gt_heartbeat.html

  * igt@kms_chamelium@dp-edid-read:
    - fi-kbl-7500u:       [PASS][3] -> [WARN][4] ([fdo#109483])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/fi-kbl-7500u/igt@kms_chamelium@dp-edid-read.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/fi-kbl-7500u/igt@kms_chamelium@dp-edid-read.html

  * igt@kms_frontbuffer_tracking@basic:
    - fi-hsw-peppy:       [PASS][5] -> [DMESG-WARN][6] ([fdo#102614])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html

  
#### Possible fixes ####

  * igt@i915_pm_rpm@module-reload:
    - fi-icl-u3:          [DMESG-WARN][7] -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/fi-icl-u3/igt@i915_pm_rpm@module-reload.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/fi-icl-u3/igt@i915_pm_rpm@module-reload.html

  * igt@i915_selftest@live_hangcheck:
    - fi-icl-dsi:         [INCOMPLETE][9] ([fdo#107713] / [fdo#108569]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/fi-icl-dsi/igt@i915_selftest@live_hangcheck.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/fi-icl-dsi/igt@i915_selftest@live_hangcheck.html
    - fi-hsw-4770r:       [DMESG-FAIL][11] ([fdo#111991]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/fi-hsw-4770r/igt@i915_selftest@live_hangcheck.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/fi-hsw-4770r/igt@i915_selftest@live_hangcheck.html

  * igt@kms_chamelium@dp-crc-fast:
    - fi-icl-u2:          [FAIL][13] ([fdo#109635 ] / [fdo#110387]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/fi-icl-u2/igt@kms_chamelium@dp-crc-fast.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/fi-icl-u2/igt@kms_chamelium@dp-crc-fast.html

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

  [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#109483]: https://bugs.freedesktop.org/show_bug.cgi?id=109483
  [fdo#109635 ]: https://bugs.freedesktop.org/show_bug.cgi?id=109635 
  [fdo#110387]: https://bugs.freedesktop.org/show_bug.cgi?id=110387
  [fdo#111887]: https://bugs.freedesktop.org/show_bug.cgi?id=111887
  [fdo#111991]: https://bugs.freedesktop.org/show_bug.cgi?id=111991
  [fdo#112096]: https://bugs.freedesktop.org/show_bug.cgi?id=112096


Participating hosts (51 -> 45)
------------------------------

  Missing    (6): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-byt-clapper fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5268 -> IGTPW_3672

  CI-20190529: 20190529
  CI_DRM_7298: 1281ac91aabe4bed2f89e539a7f2073475d0124b @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_3672: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/index.html
  IGT_5268: c94958b8f7caefcda72392417ae6f3a98e36a48b @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* [igt-dev] ✗ Fi.CI.IGT: failure for series starting with [i-g-t,1/3] tests/kms_plane_lowres: Nuke unused defines
  2019-11-08 15:57 [igt-dev] [PATCH i-g-t 1/3] tests/kms_plane_lowres: Nuke unused defines Ville Syrjala
                   ` (2 preceding siblings ...)
  2019-11-08 16:29 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/3] tests/kms_plane_lowres: Nuke unused defines Patchwork
@ 2019-11-10  8:19 ` Patchwork
  2019-11-19 10:35 ` [igt-dev] [PATCH i-g-t 1/3] " Kahola, Mika
  4 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2019-11-10  8:19 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/3] tests/kms_plane_lowres: Nuke unused defines
URL   : https://patchwork.freedesktop.org/series/69203/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_7298_full -> IGTPW_3672_full
====================================================

Summary
-------

  **FAILURE**

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

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

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_pm_dc@dc5-dpms:
    - shard-iclb:         [PASS][1] -> [FAIL][2] +1 similar issue
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-iclb8/igt@i915_pm_dc@dc5-dpms.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-iclb3/igt@i915_pm_dc@dc5-dpms.html

  * igt@i915_pm_dc@dc6-dpms:
    - shard-kbl:          NOTRUN -> [FAIL][3]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-kbl6/igt@i915_pm_dc@dc6-dpms.html

  
#### Suppressed ####

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

  * {igt@i915_pm_dc@dc3co-vpb-simulation}:
    - shard-tglb:         [PASS][4] -> [SKIP][5]
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-tglb2/igt@i915_pm_dc@dc3co-vpb-simulation.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-tglb6/igt@i915_pm_dc@dc3co-vpb-simulation.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_busy@busy-vcs1:
    - shard-iclb:         [PASS][6] -> [SKIP][7] ([fdo#112080]) +11 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-iclb2/igt@gem_busy@busy-vcs1.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-iclb7/igt@gem_busy@busy-vcs1.html

  * igt@gem_busy@close-race:
    - shard-tglb:         [PASS][8] -> [INCOMPLETE][9] ([fdo#111747])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-tglb2/igt@gem_busy@close-race.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-tglb6/igt@gem_busy@close-race.html

  * igt@gem_ctx_isolation@vcs1-none:
    - shard-iclb:         [PASS][10] -> [SKIP][11] ([fdo#109276] / [fdo#112080]) +1 similar issue
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-iclb1/igt@gem_ctx_isolation@vcs1-none.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-iclb7/igt@gem_ctx_isolation@vcs1-none.html

  * igt@gem_exec_create@forked:
    - shard-tglb:         [PASS][12] -> [INCOMPLETE][13] ([fdo#108838] / [fdo#111747])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-tglb5/igt@gem_exec_create@forked.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-tglb4/igt@gem_exec_create@forked.html

  * igt@gem_exec_schedule@reorder-wide-bsd:
    - shard-iclb:         [PASS][14] -> [SKIP][15] ([fdo#112146]) +6 similar issues
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-iclb8/igt@gem_exec_schedule@reorder-wide-bsd.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-iclb1/igt@gem_exec_schedule@reorder-wide-bsd.html

  * igt@gem_exec_suspend@basic-s0:
    - shard-tglb:         [PASS][16] -> [INCOMPLETE][17] ([fdo#111832])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-tglb5/igt@gem_exec_suspend@basic-s0.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-tglb8/igt@gem_exec_suspend@basic-s0.html

  * igt@gem_exec_suspend@basic-s3:
    - shard-kbl:          [PASS][18] -> [DMESG-WARN][19] ([fdo#108566]) +2 similar issues
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-kbl2/igt@gem_exec_suspend@basic-s3.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-kbl3/igt@gem_exec_suspend@basic-s3.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-hsw:          [PASS][20] -> [DMESG-WARN][21] ([fdo#111870])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-hsw2/igt@gem_userptr_blits@dmabuf-sync.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-hsw1/igt@gem_userptr_blits@dmabuf-sync.html

  * igt@gem_userptr_blits@sync-unmap-cycles:
    - shard-snb:          [PASS][22] -> [DMESG-WARN][23] ([fdo#111870]) +1 similar issue
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-snb2/igt@gem_userptr_blits@sync-unmap-cycles.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-snb5/igt@gem_userptr_blits@sync-unmap-cycles.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
    - shard-glk:          [PASS][24] -> [FAIL][25] ([fdo#104873])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-glk6/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-glk3/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-apl:          [PASS][26] -> [DMESG-WARN][27] ([fdo#108566]) +1 similar issue
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-apl7/igt@kms_flip@flip-vs-suspend-interruptible.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-apl4/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render:
    - shard-iclb:         [PASS][28] -> [FAIL][29] ([fdo#103167]) +4 similar issues
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-iclb3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-iclb4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_plane_lowres@pipe-a-tiling-none:
    - shard-tglb:         [PASS][30] -> [FAIL][31] ([fdo#103166]) +4 similar issues
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-tglb1/igt@kms_plane_lowres@pipe-a-tiling-none.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-tglb6/igt@kms_plane_lowres@pipe-a-tiling-none.html

  * igt@kms_plane_lowres@pipe-b-tiling-x:
    - shard-glk:          [PASS][32] -> [FAIL][33] ([fdo#103166]) +11 similar issues
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-glk5/igt@kms_plane_lowres@pipe-b-tiling-x.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-glk4/igt@kms_plane_lowres@pipe-b-tiling-x.html

  * igt@kms_plane_lowres@pipe-c-tiling-none:
    - shard-iclb:         [PASS][34] -> [FAIL][35] ([fdo#103166]) +11 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-iclb8/igt@kms_plane_lowres@pipe-c-tiling-none.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-iclb2/igt@kms_plane_lowres@pipe-c-tiling-none.html

  * igt@kms_psr@psr2_suspend:
    - shard-iclb:         [PASS][36] -> [SKIP][37] ([fdo#109441]) +1 similar issue
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-iclb2/igt@kms_psr@psr2_suspend.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-iclb3/igt@kms_psr@psr2_suspend.html

  * igt@prime_vgem@fence-wait-bsd2:
    - shard-iclb:         [PASS][38] -> [SKIP][39] ([fdo#109276]) +18 similar issues
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-iclb4/igt@prime_vgem@fence-wait-bsd2.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-iclb6/igt@prime_vgem@fence-wait-bsd2.html

  
#### Possible fixes ####

  * igt@gem_ctx_isolation@bcs0-s3:
    - shard-tglb:         [INCOMPLETE][40] ([fdo#111832]) -> [PASS][41] +1 similar issue
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-tglb5/igt@gem_ctx_isolation@bcs0-s3.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-tglb2/igt@gem_ctx_isolation@bcs0-s3.html

  * igt@gem_ctx_persistence@vcs1-cleanup:
    - shard-iclb:         [SKIP][42] ([fdo#109276] / [fdo#112080]) -> [PASS][43]
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-iclb6/igt@gem_ctx_persistence@vcs1-cleanup.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-iclb1/igt@gem_ctx_persistence@vcs1-cleanup.html

  * igt@gem_ctx_switch@legacy-bsd2-heavy-queue:
    - shard-kbl:          [INCOMPLETE][44] ([fdo#103665]) -> [PASS][45]
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-kbl4/igt@gem_ctx_switch@legacy-bsd2-heavy-queue.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-kbl2/igt@gem_ctx_switch@legacy-bsd2-heavy-queue.html

  * igt@gem_ctx_switch@vcs1-heavy:
    - shard-iclb:         [SKIP][46] ([fdo#112080]) -> [PASS][47] +11 similar issues
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-iclb8/igt@gem_ctx_switch@vcs1-heavy.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-iclb4/igt@gem_ctx_switch@vcs1-heavy.html

  * igt@gem_eio@in-flight-contexts-1us:
    - shard-snb:          [FAIL][48] ([fdo#111946]) -> [PASS][49]
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-snb4/igt@gem_eio@in-flight-contexts-1us.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-snb2/igt@gem_eio@in-flight-contexts-1us.html

  * igt@gem_eio@reset-stress:
    - shard-snb:          [FAIL][50] ([fdo#109661]) -> [PASS][51]
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-snb4/igt@gem_eio@reset-stress.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-snb5/igt@gem_eio@reset-stress.html

  * igt@gem_exec_balancer@smoke:
    - shard-iclb:         [SKIP][52] ([fdo#110854]) -> [PASS][53]
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-iclb8/igt@gem_exec_balancer@smoke.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-iclb2/igt@gem_exec_balancer@smoke.html

  * igt@gem_exec_schedule@preempt-other-chain-bsd:
    - shard-iclb:         [SKIP][54] ([fdo#112146]) -> [PASS][55] +5 similar issues
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-iclb2/igt@gem_exec_schedule@preempt-other-chain-bsd.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-iclb3/igt@gem_exec_schedule@preempt-other-chain-bsd.html

  * igt@gem_exec_schedule@preempt-queue-bsd1:
    - shard-iclb:         [SKIP][56] ([fdo#109276]) -> [PASS][57] +15 similar issues
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-iclb3/igt@gem_exec_schedule@preempt-queue-bsd1.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-iclb1/igt@gem_exec_schedule@preempt-queue-bsd1.html

  * igt@gem_userptr_blits@map-fixed-invalidate-busy-gup:
    - shard-hsw:          [DMESG-WARN][58] ([fdo#111870]) -> [PASS][59] +1 similar issue
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-hsw1/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-hsw5/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html

  * igt@gem_userptr_blits@sync-unmap:
    - shard-snb:          [DMESG-WARN][60] ([fdo#111870]) -> [PASS][61] +1 similar issue
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-snb7/igt@gem_userptr_blits@sync-unmap.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-snb2/igt@gem_userptr_blits@sync-unmap.html
    - shard-hsw:          [DMESG-WARN][62] ([fdo#110789] / [fdo#111870]) -> [PASS][63]
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-hsw5/igt@gem_userptr_blits@sync-unmap.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-hsw2/igt@gem_userptr_blits@sync-unmap.html

  * igt@gem_workarounds@suspend-resume:
    - shard-tglb:         [INCOMPLETE][64] ([fdo#111832] / [fdo#111850]) -> [PASS][65]
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-tglb5/igt@gem_workarounds@suspend-resume.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-tglb2/igt@gem_workarounds@suspend-resume.html

  * igt@kms_cursor_crc@pipe-a-cursor-suspend:
    - shard-kbl:          [DMESG-WARN][66] ([fdo#108566]) -> [PASS][67] +4 similar issues
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-kbl6/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-suspend.html

  * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic:
    - shard-hsw:          [FAIL][68] ([fdo#105767]) -> [PASS][69]
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-hsw6/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-hsw5/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt:
    - shard-tglb:         [FAIL][70] ([fdo#103167]) -> [PASS][71] +4 similar issues
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-tglb1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt.html
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-tglb8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-blt:
    - shard-iclb:         [FAIL][72] ([fdo#103167]) -> [PASS][73] +3 similar issues
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-iclb4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-blt.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-iclb3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-blt.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
    - shard-apl:          [DMESG-WARN][74] ([fdo#108566]) -> [PASS][75] +2 similar issues
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-apl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-apl7/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html

  * igt@kms_psr2_su@page_flip:
    - shard-iclb:         [SKIP][76] ([fdo#109642] / [fdo#111068]) -> [PASS][77]
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-iclb1/igt@kms_psr2_su@page_flip.html
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-iclb2/igt@kms_psr2_su@page_flip.html

  * igt@kms_psr@psr2_primary_mmap_cpu:
    - shard-iclb:         [SKIP][78] ([fdo#109441]) -> [PASS][79] +2 similar issues
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-iclb5/igt@kms_psr@psr2_primary_mmap_cpu.html
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html

  * igt@kms_setmode@basic:
    - shard-hsw:          [FAIL][80] ([fdo#99912]) -> [PASS][81]
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-hsw2/igt@kms_setmode@basic.html
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-hsw2/igt@kms_setmode@basic.html

  
#### Warnings ####

  * igt@gem_ctx_isolation@vcs1-nonpriv:
    - shard-iclb:         [SKIP][82] ([fdo#109276] / [fdo#112080]) -> [FAIL][83] ([fdo#111329]) +1 similar issue
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-iclb5/igt@gem_ctx_isolation@vcs1-nonpriv.html
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-iclb1/igt@gem_ctx_isolation@vcs1-nonpriv.html

  * igt@gem_eio@kms:
    - shard-snb:          [DMESG-WARN][84] ([fdo# 112000 ] / [fdo#111781]) -> [INCOMPLETE][85] ([fdo#105411])
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-snb5/igt@gem_eio@kms.html
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-snb7/igt@gem_eio@kms.html

  * igt@gem_mocs_settings@mocs-isolation-bsd2:
    - shard-iclb:         [FAIL][86] ([fdo#111330]) -> [SKIP][87] ([fdo#109276])
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7298/shard-iclb1/igt@gem_mocs_settings@mocs-isolation-bsd2.html
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/shard-iclb6/igt@gem_mocs_settings@mocs-isolation-bsd2.html

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

  [fdo# 112000 ]: https://bugs.freedesktop.org/show_bug.cgi?id= 112000 
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#104873]: https://bugs.freedesktop.org/show_bug.cgi?id=104873
  [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
  [fdo#105767]: https://bugs.freedesktop.org/show_bug.cgi?id=105767
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#108838]: https://bugs.freedesktop.org/show_bug.cgi?id=108838
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#109661]: https://bugs.freedesktop.org/show_bug.cgi?id=109661
  [fdo#110789]: https://bugs.freedesktop.org/show_bug.cgi?id=110789
  [fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111329]: https://bugs.freedesktop.org/show_bug.cgi?id=111329
  [fdo#111330]: https://bugs.freedesktop.org/show_bug.cgi?id=111330
  [fdo#111747]: https://bugs.freedesktop.org/show_bug.cgi?id=111747
  [fdo#111781]: https://bugs.freedesktop.org/show_bug.cgi?id=111781
  [fdo#111832]: https://bugs.freedesktop.org/show_bug.cgi?id=111832
  [fdo#111850]: https://bugs.freedesktop.org/show_bug.cgi?id=111850
  [fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870
  [fdo#111946]: https://bugs.freedesktop.org/show_bug.cgi?id=111946
  [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
  [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (11 -> 8)
------------------------------

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


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5268 -> IGTPW_3672
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_7298: 1281ac91aabe4bed2f89e539a7f2073475d0124b @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_3672: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3672/index.html
  IGT_5268: c94958b8f7caefcda72392417ae6f3a98e36a48b @ 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_3672/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 1/3] tests/kms_plane_lowres: Nuke unused defines
  2019-11-08 15:57 [igt-dev] [PATCH i-g-t 1/3] tests/kms_plane_lowres: Nuke unused defines Ville Syrjala
                   ` (3 preceding siblings ...)
  2019-11-10  8:19 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
@ 2019-11-19 10:35 ` Kahola, Mika
  4 siblings, 0 replies; 8+ messages in thread
From: Kahola, Mika @ 2019-11-19 10:35 UTC (permalink / raw)
  To: ville.syrjala, igt-dev

On Fri, 2019-11-08 at 17:57 +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> MAX_CRCS and LOOP_FOREVER are unused. Get rid of them.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Mika Kahola <mika.kahola@intel.com>

> ---
>  tests/kms_plane_lowres.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/tests/kms_plane_lowres.c b/tests/kms_plane_lowres.c
> index 1a316c84102f..1d3053420d10 100644
> --- a/tests/kms_plane_lowres.c
> +++ b/tests/kms_plane_lowres.c
> @@ -32,9 +32,7 @@
>  
>  IGT_TEST_DESCRIPTION("Test atomic mode setting with a plane by
> switching between high and low resolutions");
>  
> -#define MAX_CRCS          1
>  #define SIZE            256
> -#define LOOP_FOREVER     -1
>  
>  typedef struct {
>  	int drm_fd;
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 2/3] tests/kms_plane_lowres: Stop relying in debugfs display_info
  2019-11-08 15:57 ` [igt-dev] [PATCH i-g-t 2/3] tests/kms_plane_lowres: Stop relying in debugfs display_info Ville Syrjala
@ 2019-11-19 10:42   ` Kahola, Mika
  0 siblings, 0 replies; 8+ messages in thread
From: Kahola, Mika @ 2019-11-19 10:42 UTC (permalink / raw)
  To: ville.syrjala, igt-dev

On Fri, 2019-11-08 at 17:57 +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Switch the test to rely purely on crcs instead of parsing stuff
> from the debugfs display_info file. Such parsin is fragile and
> will cause test failures whenever anyone tries to adjust the
> file layout. Let's trust that crcs are good enough to catch
> cases where we misconfigure the planes.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Mika Kahola <mika.kahola@intel.com>

> ---
>  tests/kms_plane_lowres.c | 187 +++++++++++++++++++++--------------
> ----
>  1 file changed, 102 insertions(+), 85 deletions(-)
> 
> diff --git a/tests/kms_plane_lowres.c b/tests/kms_plane_lowres.c
> index 1d3053420d10..865c43e2333c 100644
> --- a/tests/kms_plane_lowres.c
> +++ b/tests/kms_plane_lowres.c
> @@ -32,26 +32,36 @@
>  
>  IGT_TEST_DESCRIPTION("Test atomic mode setting with a plane by
> switching between high and low resolutions");
>  
> -#define SIZE            256
> +#define SIZE 64
>  
>  typedef struct {
>  	int drm_fd;
>  	igt_display_t display;
>  	struct igt_fb fb_primary;
> -	struct igt_fb fb_plane;
> +	struct igt_fb fb_plane[2];
> +	struct {
> +		struct igt_fb fb;
> +		igt_crc_t crc;
> +	} ref_lowres;
> +	struct {
> +		struct igt_fb fb;
> +		igt_crc_t crc;
> +	} ref_hires;
> +	int x, y;
>  } data_t;
>  
>  static drmModeModeInfo
> -get_lowres_mode(int drmfd, igt_output_t *output, drmModeModeInfo
> *mode_default)
> +get_lowres_mode(int drmfd, igt_output_t *output,
> +		const drmModeModeInfo *mode_default)
>  {
> -	drmModeModeInfo mode;
> +	const drmModeModeInfo *mode;
>  	bool found = false;
>  	int limit = mode_default->vdisplay - SIZE;
>  	int j;
>  
>  	for (j = 0; j < output->config.connector->count_modes; j++) {
> -		mode = output->config.connector->modes[j];
> -		if (mode.vdisplay < limit) {
> +		mode = &output->config.connector->modes[j];
> +		if (mode->vdisplay < limit) {
>  			found = true;
>  			break;
>  		}
> @@ -64,73 +74,69 @@ get_lowres_mode(int drmfd, igt_output_t *output,
> drmModeModeInfo *mode_default)
>  		return *igt_std_1024_mode_get();
>  	}
>  
> -	return mode;
> +	return *mode;
>  }
>  
> -static void
> -check_mode(drmModeModeInfo *mode1, drmModeModeInfo *mode2)
> +static bool setup_plane(data_t *data, igt_plane_t *plane)
>  {
> -	igt_assert_eq(mode1->hdisplay, mode2->hdisplay);
> -	igt_assert_eq(mode1->vdisplay, mode2->vdisplay);
> -	igt_assert_eq(mode1->vrefresh, mode2->vrefresh);
> -}
> -
> -/*
> - * Return false if test on this plane should be skipped
> - */
> -static bool
> -setup_plane(data_t *data, igt_plane_t *plane, drmModeModeInfo *mode,
> -	    uint64_t modifier)
> -{
> -	uint64_t plane_modifier;
> -	uint32_t plane_format;
> -	int size, x, y;
> +	struct igt_fb *fb;
>  
>  	if (plane->type == DRM_PLANE_TYPE_PRIMARY)
>  		return false;
>  
> -	if (plane->type == DRM_PLANE_TYPE_CURSOR)
> -		size = 64;
> -	else
> -		size = SIZE;
> +	fb = &data->fb_plane[0];
> +	if (!igt_plane_has_format_mod(plane, fb->drm_format, fb-
> >modifier))
> +		fb = &data->fb_plane[1];
> +	if (!igt_plane_has_format_mod(plane, fb->drm_format, fb-
> >modifier))
> +		return false;
>  
> -	x = 0;
> -	y = mode->vdisplay - size;
> +	igt_plane_set_position(plane, data->x, data->y);
> +	igt_plane_set_fb(plane, fb);
>  
> -	if (plane->type == DRM_PLANE_TYPE_CURSOR) {
> -		plane_format = DRM_FORMAT_ARGB8888;
> -		plane_modifier = LOCAL_DRM_FORMAT_MOD_NONE;
> -	} else {
> -		plane_format = DRM_FORMAT_XRGB8888;
> -		plane_modifier = modifier;
> -	}
> +	return true;
> +}
>  
> -	if (!igt_plane_has_format_mod(plane, plane_format,
> plane_modifier))
> -		return false;
> +static void blit(data_t *data, cairo_t *cr,
> +		 struct igt_fb *src, int x, int y)
> +{
> +	cairo_surface_t *surface;
>  
> -	igt_create_color_fb(data->drm_fd, size, size, plane_format,
> -			    plane_modifier, 1.0, 1.0, 0.0, &data-
> >fb_plane);
> -	igt_plane_set_position(plane, x, y);
> -	igt_plane_set_fb(plane, &data->fb_plane);
> +	surface = igt_get_cairo_surface(data->drm_fd, src);
>  
> -	return true;
> +	cairo_set_source_surface(cr, surface, x, y);
> +	cairo_rectangle(cr, x, y, src->width, src->height);
> +	cairo_fill (cr);
> +
> +	cairo_surface_destroy(surface);
>  }
>  
> -static igt_plane_t *
> -primary_plane_get(igt_display_t *display, enum pipe pipe)
> +static void create_ref_fb(data_t *data, uint64_t modifier,
> +			  const drmModeModeInfo *mode, struct igt_fb
> *fb)
>  {
> -	unsigned plane_primary_id = display->pipes[pipe].plane_primary;
> -	return &display->pipes[pipe].planes[plane_primary_id];
> +	cairo_t *cr;
> +
> +	igt_create_fb(data->drm_fd, mode->hdisplay, mode->vdisplay,
> +		      DRM_FORMAT_XRGB8888, modifier, fb);
> +
> +	cr = igt_get_cairo_ctx(data->drm_fd, fb);
> +	blit(data, cr, &data->fb_primary, 0, 0);
> +	blit(data, cr, &data->fb_plane[0], data->x, data->y);
> +	igt_put_cairo_ctx(data->drm_fd, fb, cr);
>  }
>  
>  static unsigned
>  test_planes_on_pipe_with_output(data_t *data, enum pipe pipe,
>  				igt_output_t *output, uint64_t
> modifier)
>  {
> -	drmModeModeInfo *mode, mode_lowres;
> +	igt_pipe_t *pipe_obj = &data->display.pipes[pipe];
> +	const drmModeModeInfo *mode;
> +	drmModeModeInfo mode_lowres;
>  	igt_pipe_crc_t *pipe_crc;
>  	unsigned tested = 0;
>  	igt_plane_t *plane;
> +	igt_plane_t *primary;
> +
> +	primary = igt_pipe_get_plane_type(pipe_obj,
> DRM_PLANE_TYPE_PRIMARY);
>  
>  	igt_info("Testing connector %s using pipe %s\n",
>  		 igt_output_name(output), kmstest_pipe_name(pipe));
> @@ -139,72 +145,83 @@ test_planes_on_pipe_with_output(data_t *data,
> enum pipe pipe,
>  	mode = igt_output_get_mode(output);
>  	mode_lowres = get_lowres_mode(data->drm_fd, output, mode);
>  
> -	igt_create_color_fb(data->drm_fd, mode->hdisplay, mode-
> >vdisplay,
> -			    DRM_FORMAT_XRGB8888, modifier, 0.0, 0.0,
> 1.0,
> -			    &data->fb_primary);
> -	igt_plane_set_fb(primary_plane_get(&data->display, pipe),
> -			 &data->fb_primary);
> +	igt_create_color_pattern_fb(data->drm_fd, mode->hdisplay, mode-
> >vdisplay,
> +				    DRM_FORMAT_XRGB8888, modifier, 0.0,
> 0.0, 1.0,
> +				    &data->fb_primary);
> +
> +	data->x = 0;
> +	data->y = mode->vdisplay - SIZE;
> +
> +	/* for other planes */
> +	igt_create_color_pattern_fb(data->drm_fd, SIZE, SIZE,
> +				    DRM_FORMAT_XRGB8888, modifier,
> +				    1.0, 1.0, 0.0, &data->fb_plane[0]);
> +	/* for cursor */
> +	igt_create_color_pattern_fb(data->drm_fd, SIZE, SIZE,
> +				    DRM_FORMAT_ARGB8888,
> DRM_FORMAT_MOD_LINEAR,
> +				    1.0, 1.0, 0.0, &data->fb_plane[1]);
> +
> +	create_ref_fb(data, modifier, mode, &data->ref_hires.fb);
> +	create_ref_fb(data, modifier, &mode_lowres, &data-
> >ref_lowres.fb);
>  
>  	pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
>  				    INTEL_PIPE_CRC_SOURCE_AUTO);
>  
> +	igt_output_override_mode(output, &mode_lowres);
> +	igt_plane_set_fb(primary, &data->ref_lowres.fb);
> +	igt_display_commit2(&data->display, COMMIT_ATOMIC);
> +	igt_pipe_crc_collect_crc(pipe_crc, &data->ref_lowres.crc);
> +
> +	igt_output_override_mode(output, NULL);
> +	igt_plane_set_fb(primary, &data->ref_hires.fb);
> +	igt_display_commit2(&data->display, COMMIT_ATOMIC);
> +	igt_pipe_crc_collect_crc(pipe_crc, &data->ref_hires.crc);
> +
> +	igt_plane_set_fb(primary, &data->fb_primary);
> +	igt_display_commit2(&data->display, COMMIT_ATOMIC);
> +
>  	/* yellow sprite plane in lower left corner */
>  	for_each_plane_on_pipe(&data->display, pipe, plane) {
> -		igt_crc_t crc_hires1, crc_hires2;
> -		int r;
> -
> -		if (!setup_plane(data, plane, mode, modifier))
> -			continue;
> +		igt_crc_t crc_lowres, crc_hires1, crc_hires2;
>  
> -		r = igt_display_try_commit2(&data->display,
> COMMIT_ATOMIC);
> -		if (r) {
> -			igt_debug("Commit failed %i", r);
> +		if (!setup_plane(data, plane))
>  			continue;
> -		}
>  
> -		igt_pipe_crc_start(pipe_crc);
> -		igt_pipe_crc_get_single(pipe_crc, &crc_hires1);
> +		igt_display_commit2(&data->display, COMMIT_ATOMIC);
>  
> -		igt_assert_plane_visible(data->drm_fd, pipe, plane-
> >index,
> -					 true);
> +		igt_pipe_crc_collect_crc(pipe_crc, &crc_hires1);
>  
>  		/* switch to lower resolution */
>  		igt_output_override_mode(output, &mode_lowres);
> -		igt_output_set_pipe(output, pipe);
> -		check_mode(&mode_lowres, igt_output_get_mode(output));
> -
>  		igt_display_commit2(&data->display, COMMIT_ATOMIC);
>  
> -		igt_assert_plane_visible(data->drm_fd, pipe, plane-
> >index,
> -					 false);
> +		igt_pipe_crc_collect_crc(pipe_crc, &crc_lowres);
>  
>  		/* switch back to higher resolution */
>  		igt_output_override_mode(output, NULL);
> -		igt_output_set_pipe(output, pipe);
> -		check_mode(mode, igt_output_get_mode(output));
> -
>  		igt_display_commit2(&data->display, COMMIT_ATOMIC);
>  
> -		igt_pipe_crc_get_current(data->drm_fd, pipe_crc,
> &crc_hires2);
> -
> -		igt_assert_plane_visible(data->drm_fd, pipe, plane-
> >index,
> -					 true);
> +		igt_pipe_crc_collect_crc(pipe_crc, &crc_hires2);
>  
> -		igt_assert_crc_equal(&crc_hires1, &crc_hires2);
> -
> -		igt_pipe_crc_stop(pipe_crc);
> +		igt_assert_crc_equal(&data->ref_hires.crc,
> &crc_hires1);
> +		igt_assert_crc_equal(&data->ref_hires.crc,
> &crc_hires2);
> +		igt_assert_crc_equal(&data->ref_lowres.crc,
> &crc_lowres);
>  
>  		igt_plane_set_fb(plane, NULL);
> -		igt_remove_fb(data->drm_fd, &data->fb_plane);
>  		tested++;
>  	}
>  
>  	igt_pipe_crc_free(pipe_crc);
>  
> -	igt_plane_set_fb(primary_plane_get(&data->display, pipe),
> NULL);
> -	igt_remove_fb(data->drm_fd, &data->fb_primary);
> +	igt_plane_set_fb(primary, NULL);
>  	igt_output_set_pipe(output, PIPE_NONE);
>  
> +	igt_remove_fb(data->drm_fd, &data->fb_plane[1]);
> +	igt_remove_fb(data->drm_fd, &data->fb_plane[0]);
> +	igt_remove_fb(data->drm_fd, &data->fb_primary);
> +	igt_remove_fb(data->drm_fd, &data->ref_hires.fb);
> +	igt_remove_fb(data->drm_fd, &data->ref_lowres.fb);
> +
>  	return tested;
>  }
>  
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 3/3] lib/igt_kms: Remove fragile display_info debugfs parsing
  2019-11-08 15:57 ` [igt-dev] [PATCH i-g-t 3/3] lib/igt_kms: Remove fragile display_info debugfs parsing Ville Syrjala
@ 2019-11-19 10:43   ` Kahola, Mika
  0 siblings, 0 replies; 8+ messages in thread
From: Kahola, Mika @ 2019-11-19 10:43 UTC (permalink / raw)
  To: ville.syrjala, igt-dev

On Fri, 2019-11-08 at 17:57 +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Relying on the specific layout of the display_info debugfs
> file is fragile. Any change in the file layout will likely
> result in test failure. Let's just get rid of it.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Mika Kahola <mika.kahola@intel.com>

> ---
>  lib/igt_kms.c | 141 ------------------------------------------------
> --
>  lib/igt_kms.h |   1 -
>  2 files changed, 142 deletions(-)
> 
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index e9b80b9bcb81..7095d8252262 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -1520,147 +1520,6 @@ void kmstest_wait_for_pageflip(int fd)
>  	igt_assert(drmHandleEvent(fd, &evctx) == 0);
>  }
>  
> -static void get_plane(char *str, int type, struct kmstest_plane
> *plane)
> -{
> -	int ret;
> -	char buf[256];
> -
> -	plane->type = type;
> -	ret = sscanf(str + 12, "%d%*c %*s %[^n]s",
> -		     &plane->id,
> -		     buf);
> -	igt_assert_eq(ret, 2);
> -
> -	ret = sscanf(buf + 9, "%4d%*c%4d%*c", &plane->pos_x, &plane-
> >pos_y);
> -	igt_assert_eq(ret, 2);
> -
> -	ret = sscanf(buf + 30, "%4d%*c%4d%*c", &plane->width, &plane-
> >height);
> -	igt_assert_eq(ret, 2);
> -}
> -
> -static int parse_planes(FILE *fid, struct kmstest_plane *planes)
> -{
> -	char tmp[256];
> -	int n_planes;
> -
> -	n_planes = 0;
> -	while (fgets(tmp, 256, fid) != NULL) {
> -		if (strstr(tmp, "type=PRI") != NULL) {
> -			if (planes) {
> -				get_plane(tmp, DRM_PLANE_TYPE_PRIMARY,
> &planes[n_planes]);
> -				planes[n_planes].index = n_planes;
> -			}
> -			n_planes++;
> -		} else if (strstr(tmp, "type=OVL") != NULL) {
> -			if (planes) {
> -				get_plane(tmp, DRM_PLANE_TYPE_OVERLAY,
> &planes[n_planes]);
> -				planes[n_planes].index = n_planes;
> -			}
> -			n_planes++;
> -		} else if (strstr(tmp, "type=CUR") != NULL) {
> -			if (planes) {
> -				get_plane(tmp, DRM_PLANE_TYPE_CURSOR,
> &planes[n_planes]);
> -				planes[n_planes].index = n_planes;
> -			}
> -			n_planes++;
> -			break;
> -		}
> -	}
> -
> -	return n_planes;
> -}
> -
> -static void parse_crtc(char *info, struct kmstest_crtc *crtc)
> -{
> -	char buf[256];
> -	int ret;
> -	char pipe;
> -
> -	ret = sscanf(info + 4, "%d%*c %*s %c%*c %*s %s%*c",
> -		     &crtc->id, &pipe, buf);
> -	igt_assert_eq(ret, 3);
> -
> -	crtc->pipe = kmstest_pipe_to_index(pipe);
> -	igt_assert(crtc->pipe >= 0);
> -
> -	ret = sscanf(buf + 6, "%d%*c%d%*c",
> -		     &crtc->width, &crtc->height);
> -	igt_assert_eq(ret, 2);
> -}
> -
> -static void kmstest_get_crtc(int device, enum pipe pipe, struct
> kmstest_crtc *crtc)
> -{
> -	char tmp[256];
> -	FILE *file;
> -	int ncrtc;
> -	int line;
> -	long int n;
> -	int fd;
> -
> -	fd = igt_debugfs_open(device, "i915_display_info", O_RDONLY);
> -	file = fdopen(fd, "r");
> -	igt_skip_on(file == NULL);
> -
> -	ncrtc = 0;
> -	line = 0;
> -	while (fgets(tmp, 256, file) != NULL) {
> -		if ((strstr(tmp, "CRTC") != NULL) && (line > 0)) {
> -			if (strstr(tmp, "active=yes") != NULL) {
> -				crtc->active = true;
> -				parse_crtc(tmp, crtc);
> -
> -				n = ftell(file);
> -				crtc->n_planes = parse_planes(file,
> NULL);
> -				igt_assert_lt(0, crtc->n_planes);
> -				crtc->planes = calloc(crtc->n_planes,
> sizeof(*crtc->planes));
> -				igt_assert_f(crtc->planes, "Failed to
> allocate memory for %d planes\n", crtc->n_planes);
> -
> -				fseek(file, n, SEEK_SET);
> -				parse_planes(file, crtc->planes);
> -
> -				if (crtc->pipe != pipe) {
> -					free(crtc->planes);
> -				} else {
> -					ncrtc++;
> -					break;
> -				}
> -			}
> -		}
> -
> -		line++;
> -	}
> -
> -	fclose(file);
> -	close(fd);
> -
> -	igt_assert(ncrtc == 1);
> -}
> -
> -/**
> - * igt_assert_plane_visible:
> - * @fd: Opened file descriptor
> - * @pipe: Display pipe
> - * @visibility: Boolean parameter to test against the plane's
> current visibility state
> - *
> - * Asserts only if the plane's visibility state matches the status
> being passed by @visibility
> - */
> -void igt_assert_plane_visible(int fd, enum pipe pipe, int
> plane_index, bool visibility)
> -{
> -	struct kmstest_crtc crtc;
> -	bool visible = true;
> -
> -	kmstest_get_crtc(fd, pipe, &crtc);
> -
> -	igt_assert(plane_index < crtc.n_planes);
> -
> -	if (crtc.planes[plane_index].pos_x > crtc.width ||
> -	    crtc.planes[plane_index].pos_y > crtc.height)
> -		visible = false;
> -
> -	free(crtc.planes);
> -	igt_assert_eq(visible, visibility);
> -}
> -
>  /**
>   * kms_has_vblank:
>   * @fd: DRM fd
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index 7193f9a50ea2..3f798392f8a0 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -228,7 +228,6 @@ void *kmstest_dumb_map_buffer(int fd, uint32_t
> handle, uint64_t size,
>  void kmstest_dumb_destroy(int fd, uint32_t handle);
>  void kmstest_wait_for_pageflip(int fd);
>  unsigned int kmstest_get_vblank(int fd, int pipe, unsigned int
> flags);
> -void igt_assert_plane_visible(int fd, enum pipe pipe, int
> plane_index, bool visibility);
>  
>  bool kms_has_vblank(int fd);
>  
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2019-11-19 10:43 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-08 15:57 [igt-dev] [PATCH i-g-t 1/3] tests/kms_plane_lowres: Nuke unused defines Ville Syrjala
2019-11-08 15:57 ` [igt-dev] [PATCH i-g-t 2/3] tests/kms_plane_lowres: Stop relying in debugfs display_info Ville Syrjala
2019-11-19 10:42   ` Kahola, Mika
2019-11-08 15:57 ` [igt-dev] [PATCH i-g-t 3/3] lib/igt_kms: Remove fragile display_info debugfs parsing Ville Syrjala
2019-11-19 10:43   ` Kahola, Mika
2019-11-08 16:29 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/3] tests/kms_plane_lowres: Nuke unused defines Patchwork
2019-11-10  8:19 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2019-11-19 10:35 ` [igt-dev] [PATCH i-g-t 1/3] " Kahola, Mika

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.