All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] HAX: Do not restore mode through fbcon
@ 2017-10-13 14:10 Maarten Lankhorst
  2017-10-13 14:10 ` [PATCH i-g-t 1/2] tests/kms_plane_lowres: Rework tests to work without fbcon Maarten Lankhorst
                   ` (10 more replies)
  0 siblings, 11 replies; 17+ messages in thread
From: Maarten Lankhorst @ 2017-10-13 14:10 UTC (permalink / raw)
  To: intel-gfx

Lets try it and see what breaks!

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
 drivers/gpu/drm/drm_fb_helper.c | 30 +++++++++++-------------------
 1 file changed, 11 insertions(+), 19 deletions(-)

diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index 6a31d13f2f81..0414da99de5b 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -352,7 +352,8 @@ static int restore_fbdev_mode_atomic(struct drm_fb_helper *fb_helper, bool activ
 	struct drm_device *dev = fb_helper->dev;
 	struct drm_plane *plane;
 	struct drm_atomic_state *state;
-	int i, ret;
+	struct drm_crtc *crtc;
+	int ret;
 	unsigned int plane_mask;
 	struct drm_modeset_acquire_ctx ctx;
 
@@ -381,32 +382,23 @@ static int restore_fbdev_mode_atomic(struct drm_fb_helper *fb_helper, bool activ
 		plane->old_fb = plane->fb;
 		plane_mask |= 1 << drm_plane_index(plane);
 
-		/* disable non-primary: */
-		if (plane->type == DRM_PLANE_TYPE_PRIMARY)
-			continue;
-
 		ret = __drm_atomic_helper_disable_plane(plane, plane_state);
 		if (ret != 0)
 			goto out_state;
 	}
 
-	for (i = 0; i < fb_helper->crtc_count; i++) {
-		struct drm_mode_set *mode_set = &fb_helper->crtc_info[i].mode_set;
+	drm_for_each_crtc(crtc, dev) {
+		struct drm_crtc_state *crtc_state = drm_atomic_get_crtc_state(state, crtc);
 
-		ret = __drm_atomic_helper_set_config(mode_set, state);
-		if (ret != 0)
+		if (IS_ERR(crtc_state)) {
+			ret = PTR_ERR(crtc_state);
 			goto out_state;
-
-		/*
-		 * __drm_atomic_helper_set_config() sets active when a
-		 * mode is set, unconditionally clear it if we force DPMS off
-		 */
-		if (!active) {
-			struct drm_crtc *crtc = mode_set->crtc;
-			struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state, crtc);
-
-			crtc_state->active = false;
 		}
+
+		crtc_state->active = false;
+		ret = drm_atomic_set_mode_for_crtc(crtc_state, NULL);
+		if (ret)
+			goto out_state;
 	}
 
 	ret = drm_atomic_commit(state);
-- 
2.14.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH i-g-t 1/2] tests/kms_plane_lowres: Rework tests to work without fbcon.
  2017-10-13 14:10 [PATCH] HAX: Do not restore mode through fbcon Maarten Lankhorst
@ 2017-10-13 14:10 ` Maarten Lankhorst
  2017-10-13 14:10 ` [PATCH i-g-t] tests/pm_backlight: Enable connected output to allow tests to succeed, v2 Maarten Lankhorst
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Maarten Lankhorst @ 2017-10-13 14:10 UTC (permalink / raw)
  To: intel-gfx

kmstest_get_crtc was skipping because at that point the crtc was not
active yet, instead we should only use igt_assert_plane_visible
directly. Unexport kmstest_get_crtc, since nothing here should need it.
While at it fix a small leak in igt_assert_plane_visible, the only
remaining user.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
 lib/igt_kms.c            |  5 ++--
 lib/igt_kms.h            |  1 -
 tests/kms_plane_lowres.c | 64 ++++++++++++++++++++----------------------------
 3 files changed, 30 insertions(+), 40 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index cb2bc2b8df98..1c50484a613c 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1416,7 +1416,7 @@ static void parse_crtc(char *info, struct kmstest_crtc *crtc)
 	igt_assert_eq(ret, 2);
 }
 
-void kmstest_get_crtc(int device, enum pipe pipe, struct kmstest_crtc *crtc)
+static void kmstest_get_crtc(int device, enum pipe pipe, struct kmstest_crtc *crtc)
 {
 	char tmp[256];
 	FILE *file;
@@ -1460,7 +1460,7 @@ void kmstest_get_crtc(int device, enum pipe pipe, struct kmstest_crtc *crtc)
 	fclose(file);
 	close(fd);
 
-	igt_skip_on(ncrtc == 0);
+	igt_assert(ncrtc == 1);
 }
 
 void igt_assert_plane_visible(int fd, enum pipe pipe, bool visibility)
@@ -1485,6 +1485,7 @@ void igt_assert_plane_visible(int fd, enum pipe pipe, bool visibility)
 		}
 	}
 
+	free(crtc.planes);
 	igt_assert_eq(visible, visibility);
 }
 
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 200f35e63308..acc82913e0b7 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -221,7 +221,6 @@ uint32_t kmstest_dumb_create(int fd, int width, int height, int bpp,
 void *kmstest_dumb_map_buffer(int fd, uint32_t handle, uint64_t size,
 			      unsigned prot);
 unsigned int kmstest_get_vblank(int fd, int pipe, unsigned int flags);
-void kmstest_get_crtc(int fd, enum pipe pipe, struct kmstest_crtc *crtc);
 void igt_assert_plane_visible(int fd, enum pipe pipe, bool visibility);
 
 /*
diff --git a/tests/kms_plane_lowres.c b/tests/kms_plane_lowres.c
index b16c8cd433b2..44e0ada92ead 100644
--- a/tests/kms_plane_lowres.c
+++ b/tests/kms_plane_lowres.c
@@ -40,7 +40,6 @@ typedef struct {
 	int drm_fd;
 	igt_display_t display;
 	igt_pipe_crc_t *pipe_crc;
-	igt_plane_t **plane;
 	struct igt_fb *fb;
 } data_t;
 
@@ -113,30 +112,27 @@ static void
 test_init(data_t *data, enum pipe pipe)
 {
 	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe, INTEL_PIPE_CRC_SOURCE_AUTO);
-	data->plane = calloc(data->display.pipes[pipe].n_planes, sizeof(data->plane));\
-	igt_assert_f(data->plane, "Failed to allocate memory for %d planes\n",
-	             data->display.pipes[pipe].n_planes);
 	data->fb = calloc(data->display.pipes[pipe].n_planes, sizeof(struct igt_fb));
 	igt_assert_f(data->fb, "Failed to allocate memory for %d FBs\n",
 	             data->display.pipes[pipe].n_planes);
 }
 
 static void
-test_fini(data_t *data, igt_output_t *output)
+test_fini(data_t *data, igt_output_t *output, enum pipe pipe)
 {
+	igt_plane_t *plane;
+
 	/* restore original mode */
 	igt_output_override_mode(output, NULL);
 
-	for (int i = 0; i < 2; i++)
-		igt_plane_set_fb(data->plane[i], NULL);
+	for_each_plane_on_pipe(&data->display, pipe, plane)
+		igt_plane_set_fb(plane, NULL);
 
 	/* reset the constraint on the pipe */
 	igt_output_set_pipe(output, PIPE_ANY);
 
 	igt_pipe_crc_free(data->pipe_crc);
 
-	free(data->plane);
-	data->plane = NULL;
 	free(data->fb);
 	data->fb = NULL;
 }
@@ -184,19 +180,13 @@ static drmModeModeInfo *
 test_setup(data_t *data, enum pipe pipe, uint64_t modifier, int flags,
 	   igt_output_t *output)
 {
-	struct kmstest_crtc crtc;
 	drmModeModeInfo *mode;
 	int size;
 	int i, x, y;
+	igt_plane_t *plane;
 
 	igt_output_set_pipe(output, pipe);
 
-	kmstest_get_crtc(data->drm_fd, pipe, &crtc);
-	igt_skip_on(crtc.n_planes > data->display.pipes[pipe].n_planes);
-	igt_skip_on(crtc.n_planes == 0);
-
-	for (i = 0; i < crtc.n_planes; i++)
-		data->plane[i] = igt_output_get_plane(output, crtc.planes[i].index);
 
 	mode = igt_output_get_mode(output);
 
@@ -206,13 +196,14 @@ test_setup(data_t *data, enum pipe pipe, uint64_t modifier, int flags,
 			    0.0, 0.0, 1.0,
 			    &data->fb[0]);
 
-	igt_plane_set_fb(data->plane[0], &data->fb[0]);
-
 	/* yellow sprite plane in lower left corner */
-	for (i = 0; i < crtc.n_planes; i++) {
-		if (data->plane[i]->type == DRM_PLANE_TYPE_PRIMARY)
+	for_each_plane_on_pipe(&data->display, pipe, plane) {
+		if (plane->type == DRM_PLANE_TYPE_PRIMARY) {
+			igt_plane_set_fb(plane, &data->fb[0]);
 			continue;
-		if (data->plane[i]->type == DRM_PLANE_TYPE_CURSOR)
+		}
+
+		if (plane->type == DRM_PLANE_TYPE_CURSOR)
 			size = 64;
 		else
 			size = SIZE;
@@ -222,13 +213,13 @@ test_setup(data_t *data, enum pipe pipe, uint64_t modifier, int flags,
 
 		igt_create_color_fb(data->drm_fd,
 				    size, size,
-				    data->plane[i]->type == DRM_PLANE_TYPE_CURSOR ? DRM_FORMAT_ARGB8888 : DRM_FORMAT_XRGB8888,
-				    data->plane[i]->type == DRM_PLANE_TYPE_CURSOR ? LOCAL_DRM_FORMAT_MOD_NONE : modifier,
+				    plane->type == DRM_PLANE_TYPE_CURSOR ? DRM_FORMAT_ARGB8888 : DRM_FORMAT_XRGB8888,
+				    plane->type == DRM_PLANE_TYPE_CURSOR ? LOCAL_DRM_FORMAT_MOD_NONE : modifier,
 				    1.0, 1.0, 0.0,
 				    &data->fb[i]);
 
-		igt_plane_set_position(data->plane[i], x, y);
-		igt_plane_set_fb(data->plane[i], &data->fb[i]);
+		igt_plane_set_position(plane, x, y);
+		igt_plane_set_fb(plane, &data->fb[i]);
 	}
 
 	return mode;
@@ -289,35 +280,32 @@ test_plane_position_with_output(data_t *data, enum pipe pipe,
 
 	igt_pipe_crc_stop(data->pipe_crc);
 
-	test_fini(data, output);
+	test_fini(data, output, pipe);
 }
 
 static void
 test_plane_position(data_t *data, enum pipe pipe, uint64_t modifier)
 {
 	igt_output_t *output;
-	int connected_outs;
 	const int gen = intel_gen(intel_get_drm_devid(data->drm_fd));
 
-	igt_require(data->display.is_atomic);
-	igt_skip_on(pipe >= data->display.n_pipes);
-
 	if (modifier == LOCAL_I915_FORMAT_MOD_Y_TILED ||
 	    modifier == LOCAL_I915_FORMAT_MOD_Yf_TILED)
 		igt_skip_on(gen < 9);
 
-	connected_outs = 0;
-	for_each_valid_output_on_pipe(&data->display, pipe, output) {
+	for_each_valid_output_on_pipe(&data->display, pipe, output)
 		test_plane_position_with_output(data, pipe, output, modifier);
-		connected_outs++;
-	}
-
-	igt_skip_on(connected_outs == 0);
 }
 
 static void
 run_tests_for_pipe(data_t *data, enum pipe pipe)
 {
+	igt_fixture {
+		igt_skip_on(pipe >= data->display.n_pipes);
+
+		igt_display_require_output_on_pipe(&data->display, pipe);
+	}
+
 	igt_subtest_f("pipe-%s-tiling-none",
 		      kmstest_pipe_name(pipe))
 		test_plane_position(data, pipe, LOCAL_DRM_FORMAT_MOD_NONE);
@@ -350,10 +338,12 @@ igt_main
 
 		igt_require_pipe_crc(data.drm_fd);
 		igt_display_init(&data.display, data.drm_fd);
+		igt_require(data.display.is_atomic);
 	}
 
 	for_each_pipe_static(pipe)
-		run_tests_for_pipe(&data, pipe);
+		igt_subtest_group
+			run_tests_for_pipe(&data, pipe);
 
 	igt_fixture {
 		igt_display_fini(&data.display);
-- 
2.14.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH i-g-t] tests/pm_backlight: Enable connected output to allow tests to succeed, v2.
  2017-10-13 14:10 [PATCH] HAX: Do not restore mode through fbcon Maarten Lankhorst
  2017-10-13 14:10 ` [PATCH i-g-t 1/2] tests/kms_plane_lowres: Rework tests to work without fbcon Maarten Lankhorst
@ 2017-10-13 14:10 ` Maarten Lankhorst
  2017-10-13 14:58   ` [PATCH i-g-t] tests/kms_plane_lowres: Rework tests to work without fbcon Maarten Lankhorst
  2017-10-13 14:10 ` [PATCH i-g-t 2/2] tests/drm_read: Change tests to not require fbcon Maarten Lankhorst
                   ` (8 subsequent siblings)
  10 siblings, 1 reply; 17+ messages in thread
From: Maarten Lankhorst @ 2017-10-13 14:10 UTC (permalink / raw)
  To: intel-gfx

If the connected output is disabled before this test is run, then the test
will fail because actual_brightness stays at 0 instead of the value
of the desired brightness. Fix this by reading intel_backlight/device
for the output name, and enable that output at start of this test.

Changes since v1:
- Enable the connected output, instead of enabling all outputs.

Sample failure:
IGT-Version: 1.20-g01c550a27986 (x86_64) (Linux: 4.14.0-rc3-fbconhax+ x86_64)
(pm_backlight:1203) CRITICAL: Test assertion failure function test_and_verify, file pm_backlight.c:111:
(pm_backlight:1203) CRITICAL: Failed assertion: ({ typeof(0) _a = (0); typeof(val - tolerance) _b = (val - tolerance); _a > _b ? _a : _b; }) <= result
(pm_backlight:1203) CRITICAL: error: 91200 > 0

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

diff --git a/tests/pm_backlight.c b/tests/pm_backlight.c
index 8258d4e4c124..6909f7dc64b3 100644
--- a/tests/pm_backlight.c
+++ b/tests/pm_backlight.c
@@ -155,13 +155,44 @@ igt_main
 {
 	struct context context = {0};
 	int old;
+	igt_display_t display;
 
 	igt_skip_on_simulation();
 
 	igt_fixture {
+		enum pipe pipe;
+		igt_output_t *output;
+		bool found = false;
+		char full_name[32] = {};
+		char *name;
+
 		/* Get the max value and skip the whole test if sysfs interface not available */
 		igt_skip_on(backlight_read(&old, "brightness"));
 		igt_assert(backlight_read(&context.max, "max_brightness") > -1);
+
+		/*
+		 * Backlight tests requires the output to be enabled,
+		 * try to enable all.
+		 */
+		kmstest_set_vt_graphics_mode();
+		igt_display_init(&display, drm_open_driver(DRIVER_INTEL));
+
+		/* should be ../../cardX-$output */
+		igt_assert_lt(12, readlink(BACKLIGHT_PATH "/device", full_name, sizeof(full_name) - 1));
+		name = basename(full_name);
+
+		for_each_pipe_with_valid_output(&display, pipe, output) {
+			if (strcmp(name + 6, output->name))
+				continue;
+
+			igt_output_set_pipe(output, pipe);
+			found = true;
+			break;
+		}
+
+		igt_assert_f(found, "Could not map \"%s\" to output (%s?)\n", name, name + 6);
+
+		igt_display_commit2(&display, display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
 	}
 
 	igt_subtest("basic-brightness")
@@ -174,5 +205,8 @@ igt_main
 	igt_fixture {
 		/* Restore old brightness */
 		backlight_write(old, "brightness");
+
+		igt_display_fini(&display);
+		close(display.drm_fd);
 	}
 }
-- 
2.14.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH i-g-t 2/2] tests/drm_read: Change tests to not require fbcon
  2017-10-13 14:10 [PATCH] HAX: Do not restore mode through fbcon Maarten Lankhorst
  2017-10-13 14:10 ` [PATCH i-g-t 1/2] tests/kms_plane_lowres: Rework tests to work without fbcon Maarten Lankhorst
  2017-10-13 14:10 ` [PATCH i-g-t] tests/pm_backlight: Enable connected output to allow tests to succeed, v2 Maarten Lankhorst
@ 2017-10-13 14:10 ` Maarten Lankhorst
  2017-10-13 14:22   ` Chris Wilson
  2017-10-13 16:44 ` ✗ Fi.CI.BAT: failure for HAX: Do not restore mode through fbcon (rev2) Patchwork
                   ` (7 subsequent siblings)
  10 siblings, 1 reply; 17+ messages in thread
From: Maarten Lankhorst @ 2017-10-13 14:10 UTC (permalink / raw)
  To: intel-gfx

The first active pipe might not be pipe A, and we shouldn't rely on
fbcon for a working crtc. Use igt_kms to set up something basic, and
use the kmstest helper to get an event from the correct pipe.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
 tests/drm_read.c | 62 +++++++++++++++++++++++++++++++-------------------------
 1 file changed, 34 insertions(+), 28 deletions(-)

diff --git a/tests/drm_read.c b/tests/drm_read.c
index 7df36e965c59..b6aab731261d 100644
--- a/tests/drm_read.c
+++ b/tests/drm_read.c
@@ -57,18 +57,9 @@ static void assert_empty(int fd)
 	do_or_die(poll(&pfd, 1, 0));
 }
 
-static void generate_event(int fd)
+static void generate_event(int fd, enum pipe pipe)
 {
-	union drm_wait_vblank vbl;
-
-	/* We require that pipe 0 is running */
-
-	vbl.request.type =
-		DRM_VBLANK_RELATIVE |
-		DRM_VBLANK_EVENT;
-	vbl.request.sequence = 0;
-
-	do_ioctl(fd, DRM_IOCTL_WAIT_VBLANK, &vbl);
+	igt_assert(kmstest_get_vblank(fd, pipe, DRM_VBLANK_EVENT));
 }
 
 static void wait_for_event(int fd)
@@ -120,7 +111,7 @@ static void test_invalid_buffer(int in)
 	teardown(fd);
 }
 
-static void test_fault_buffer(int in)
+static void test_fault_buffer(int in, enum pipe pipe)
 {
 	int fd = setup(in, 0);
 	struct drm_mode_map_dumb arg;
@@ -134,7 +125,7 @@ static void test_fault_buffer(int in)
 	buf = mmap(0, 4096, PROT_WRITE, MAP_SHARED, fd, arg.offset);
 	igt_assert(buf != MAP_FAILED);
 
-	generate_event(fd);
+	generate_event(fd, pipe);
 
 	alarm(1);
 
@@ -156,13 +147,13 @@ static void test_empty(int in, int nonblock, int expected)
 	teardown(fd);
 }
 
-static void test_short_buffer(int in, int nonblock)
+static void test_short_buffer(int in, int nonblock, enum pipe pipe)
 {
 	char buffer[1024]; /* events are typically 32 bytes */
 	int fd = setup(in, nonblock);
 
-	generate_event(fd);
-	generate_event(fd);
+	generate_event(fd, pipe);
+	generate_event(fd, pipe);
 
 	wait_for_event(fd);
 
@@ -175,31 +166,46 @@ static void test_short_buffer(int in, int nonblock)
 	teardown(fd);
 }
 
-static bool crtc0_active(int fd)
-{
-	union drm_wait_vblank vbl = {};
-
-	vbl.request.type = DRM_VBLANK_RELATIVE;
-	return drmIoctl(fd, DRM_IOCTL_WAIT_VBLANK, &vbl) == 0;
-}
-
 igt_main
 {
 	int fd;
+	igt_display_t display;
+	struct igt_fb fb;
+	enum pipe pipe;
 
 	signal(SIGALRM, sighandler);
 	siginterrupt(SIGALRM, 1);
 
 	igt_fixture {
+		igt_output_t *output;
+
 		fd = drm_open_driver_master(DRIVER_ANY);
-		igt_require(crtc0_active(fd));
+		kmstest_set_vt_graphics_mode();
+
+		igt_display_init(&display, fd);
+		igt_display_require_output(&display);
+
+		for_each_pipe_with_valid_output(&display, pipe, output) {
+			drmModeModeInfo *mode = igt_output_get_mode(output);
+
+			igt_create_pattern_fb(fd, mode->hdisplay, mode->vdisplay,
+					      DRM_FORMAT_XRGB8888,
+					      LOCAL_DRM_FORMAT_MOD_NONE, &fb);
+
+			igt_output_set_pipe(output, pipe);
+			igt_plane_set_fb(igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY), &fb);
+			break;
+		}
+
+		igt_display_commit2(&display, display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
+		igt_require(kmstest_get_vblank(fd, pipe, 0));
 	}
 
 	igt_subtest("invalid-buffer")
 		test_invalid_buffer(fd);
 
 	igt_subtest("fault-buffer")
-		test_fault_buffer(fd);
+		test_fault_buffer(fd, pipe);
 
 	igt_subtest("empty-block")
 		test_empty(fd, 0, EINTR);
@@ -208,8 +214,8 @@ igt_main
 		test_empty(fd, 1, EAGAIN);
 
 	igt_subtest("short-buffer-block")
-		test_short_buffer(fd, 0);
+		test_short_buffer(fd, 0, pipe);
 
 	igt_subtest("short-buffer-nonblock")
-		test_short_buffer(fd, 1);
+		test_short_buffer(fd, 1, pipe);
 }
-- 
2.14.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH i-g-t 2/2] tests/drm_read: Change tests to not require fbcon
  2017-10-13 14:10 ` [PATCH i-g-t 2/2] tests/drm_read: Change tests to not require fbcon Maarten Lankhorst
@ 2017-10-13 14:22   ` Chris Wilson
  2017-10-16  7:40     ` Maarten Lankhorst
  0 siblings, 1 reply; 17+ messages in thread
From: Chris Wilson @ 2017-10-13 14:22 UTC (permalink / raw)
  To: Maarten Lankhorst, intel-gfx

Quoting Maarten Lankhorst (2017-10-13 15:10:49)
> The first active pipe might not be pipe A, and we shouldn't rely on
> fbcon for a working crtc. Use igt_kms to set up something basic, and
> use the kmstest helper to get an event from the correct pipe.
> 
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>

If one is lazy enough, some one will be foolhardy enough to try turning
off all outputs and fixup the fallout. Not the most catchy of sayings,
but true in this case.

> ---
>  tests/drm_read.c | 62 +++++++++++++++++++++++++++++++-------------------------
>  1 file changed, 34 insertions(+), 28 deletions(-)
> 
> diff --git a/tests/drm_read.c b/tests/drm_read.c
> index 7df36e965c59..b6aab731261d 100644
> --- a/tests/drm_read.c
> +++ b/tests/drm_read.c
> @@ -57,18 +57,9 @@ static void assert_empty(int fd)
>         do_or_die(poll(&pfd, 1, 0));
>  }
>  
> -static void generate_event(int fd)
> +static void generate_event(int fd, enum pipe pipe)
>  {
> -       union drm_wait_vblank vbl;
> -
> -       /* We require that pipe 0 is running */
> -
> -       vbl.request.type =
> -               DRM_VBLANK_RELATIVE |
> -               DRM_VBLANK_EVENT;
> -       vbl.request.sequence = 0;
> -
> -       do_ioctl(fd, DRM_IOCTL_WAIT_VBLANK, &vbl);
> +       igt_assert(kmstest_get_vblank(fd, pipe, DRM_VBLANK_EVENT));
>  }

Now this is pipe-aware, is there any variation between pipes? Any
advantage in extending the test? Well that should already be kms_vblank.

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH i-g-t] tests/kms_plane_lowres: Rework tests to work without fbcon.
  2017-10-13 14:10 ` [PATCH i-g-t] tests/pm_backlight: Enable connected output to allow tests to succeed, v2 Maarten Lankhorst
@ 2017-10-13 14:58   ` Maarten Lankhorst
  2017-10-23 10:05     ` Mika Kahola
  0 siblings, 1 reply; 17+ messages in thread
From: Maarten Lankhorst @ 2017-10-13 14:58 UTC (permalink / raw)
  To: intel-gfx

kmstest_get_crtc was skipping because at that point the crtc was not
active yet, instead we should only use igt_assert_plane_visible
directly. Unexport kmstest_get_crtc, since nothing here should need it.
While at it fix a small leak in igt_assert_plane_visible, the only
remaining user.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
Resend, messed up my git-send-email

 lib/igt_kms.c            |  5 ++--
 lib/igt_kms.h            |  1 -
 tests/kms_plane_lowres.c | 64 ++++++++++++++++++++----------------------------
 3 files changed, 30 insertions(+), 40 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index cb2bc2b8df98..1c50484a613c 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1416,7 +1416,7 @@ static void parse_crtc(char *info, struct kmstest_crtc *crtc)
 	igt_assert_eq(ret, 2);
 }
 
-void kmstest_get_crtc(int device, enum pipe pipe, struct kmstest_crtc *crtc)
+static void kmstest_get_crtc(int device, enum pipe pipe, struct kmstest_crtc *crtc)
 {
 	char tmp[256];
 	FILE *file;
@@ -1460,7 +1460,7 @@ void kmstest_get_crtc(int device, enum pipe pipe, struct kmstest_crtc *crtc)
 	fclose(file);
 	close(fd);
 
-	igt_skip_on(ncrtc == 0);
+	igt_assert(ncrtc == 1);
 }
 
 void igt_assert_plane_visible(int fd, enum pipe pipe, bool visibility)
@@ -1485,6 +1485,7 @@ void igt_assert_plane_visible(int fd, enum pipe pipe, bool visibility)
 		}
 	}
 
+	free(crtc.planes);
 	igt_assert_eq(visible, visibility);
 }
 
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 200f35e63308..acc82913e0b7 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -221,7 +221,6 @@ uint32_t kmstest_dumb_create(int fd, int width, int height, int bpp,
 void *kmstest_dumb_map_buffer(int fd, uint32_t handle, uint64_t size,
 			      unsigned prot);
 unsigned int kmstest_get_vblank(int fd, int pipe, unsigned int flags);
-void kmstest_get_crtc(int fd, enum pipe pipe, struct kmstest_crtc *crtc);
 void igt_assert_plane_visible(int fd, enum pipe pipe, bool visibility);
 
 /*
diff --git a/tests/kms_plane_lowres.c b/tests/kms_plane_lowres.c
index b16c8cd433b2..44e0ada92ead 100644
--- a/tests/kms_plane_lowres.c
+++ b/tests/kms_plane_lowres.c
@@ -40,7 +40,6 @@ typedef struct {
 	int drm_fd;
 	igt_display_t display;
 	igt_pipe_crc_t *pipe_crc;
-	igt_plane_t **plane;
 	struct igt_fb *fb;
 } data_t;
 
@@ -113,30 +112,27 @@ static void
 test_init(data_t *data, enum pipe pipe)
 {
 	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe, INTEL_PIPE_CRC_SOURCE_AUTO);
-	data->plane = calloc(data->display.pipes[pipe].n_planes, sizeof(data->plane));\
-	igt_assert_f(data->plane, "Failed to allocate memory for %d planes\n",
-	             data->display.pipes[pipe].n_planes);
 	data->fb = calloc(data->display.pipes[pipe].n_planes, sizeof(struct igt_fb));
 	igt_assert_f(data->fb, "Failed to allocate memory for %d FBs\n",
 	             data->display.pipes[pipe].n_planes);
 }
 
 static void
-test_fini(data_t *data, igt_output_t *output)
+test_fini(data_t *data, igt_output_t *output, enum pipe pipe)
 {
+	igt_plane_t *plane;
+
 	/* restore original mode */
 	igt_output_override_mode(output, NULL);
 
-	for (int i = 0; i < 2; i++)
-		igt_plane_set_fb(data->plane[i], NULL);
+	for_each_plane_on_pipe(&data->display, pipe, plane)
+		igt_plane_set_fb(plane, NULL);
 
 	/* reset the constraint on the pipe */
 	igt_output_set_pipe(output, PIPE_ANY);
 
 	igt_pipe_crc_free(data->pipe_crc);
 
-	free(data->plane);
-	data->plane = NULL;
 	free(data->fb);
 	data->fb = NULL;
 }
@@ -184,19 +180,13 @@ static drmModeModeInfo *
 test_setup(data_t *data, enum pipe pipe, uint64_t modifier, int flags,
 	   igt_output_t *output)
 {
-	struct kmstest_crtc crtc;
 	drmModeModeInfo *mode;
 	int size;
 	int i, x, y;
+	igt_plane_t *plane;
 
 	igt_output_set_pipe(output, pipe);
 
-	kmstest_get_crtc(data->drm_fd, pipe, &crtc);
-	igt_skip_on(crtc.n_planes > data->display.pipes[pipe].n_planes);
-	igt_skip_on(crtc.n_planes == 0);
-
-	for (i = 0; i < crtc.n_planes; i++)
-		data->plane[i] = igt_output_get_plane(output, crtc.planes[i].index);
 
 	mode = igt_output_get_mode(output);
 
@@ -206,13 +196,14 @@ test_setup(data_t *data, enum pipe pipe, uint64_t modifier, int flags,
 			    0.0, 0.0, 1.0,
 			    &data->fb[0]);
 
-	igt_plane_set_fb(data->plane[0], &data->fb[0]);
-
 	/* yellow sprite plane in lower left corner */
-	for (i = 0; i < crtc.n_planes; i++) {
-		if (data->plane[i]->type == DRM_PLANE_TYPE_PRIMARY)
+	for_each_plane_on_pipe(&data->display, pipe, plane) {
+		if (plane->type == DRM_PLANE_TYPE_PRIMARY) {
+			igt_plane_set_fb(plane, &data->fb[0]);
 			continue;
-		if (data->plane[i]->type == DRM_PLANE_TYPE_CURSOR)
+		}
+
+		if (plane->type == DRM_PLANE_TYPE_CURSOR)
 			size = 64;
 		else
 			size = SIZE;
@@ -222,13 +213,13 @@ test_setup(data_t *data, enum pipe pipe, uint64_t modifier, int flags,
 
 		igt_create_color_fb(data->drm_fd,
 				    size, size,
-				    data->plane[i]->type == DRM_PLANE_TYPE_CURSOR ? DRM_FORMAT_ARGB8888 : DRM_FORMAT_XRGB8888,
-				    data->plane[i]->type == DRM_PLANE_TYPE_CURSOR ? LOCAL_DRM_FORMAT_MOD_NONE : modifier,
+				    plane->type == DRM_PLANE_TYPE_CURSOR ? DRM_FORMAT_ARGB8888 : DRM_FORMAT_XRGB8888,
+				    plane->type == DRM_PLANE_TYPE_CURSOR ? LOCAL_DRM_FORMAT_MOD_NONE : modifier,
 				    1.0, 1.0, 0.0,
 				    &data->fb[i]);
 
-		igt_plane_set_position(data->plane[i], x, y);
-		igt_plane_set_fb(data->plane[i], &data->fb[i]);
+		igt_plane_set_position(plane, x, y);
+		igt_plane_set_fb(plane, &data->fb[i]);
 	}
 
 	return mode;
@@ -289,35 +280,32 @@ test_plane_position_with_output(data_t *data, enum pipe pipe,
 
 	igt_pipe_crc_stop(data->pipe_crc);
 
-	test_fini(data, output);
+	test_fini(data, output, pipe);
 }
 
 static void
 test_plane_position(data_t *data, enum pipe pipe, uint64_t modifier)
 {
 	igt_output_t *output;
-	int connected_outs;
 	const int gen = intel_gen(intel_get_drm_devid(data->drm_fd));
 
-	igt_require(data->display.is_atomic);
-	igt_skip_on(pipe >= data->display.n_pipes);
-
 	if (modifier == LOCAL_I915_FORMAT_MOD_Y_TILED ||
 	    modifier == LOCAL_I915_FORMAT_MOD_Yf_TILED)
 		igt_skip_on(gen < 9);
 
-	connected_outs = 0;
-	for_each_valid_output_on_pipe(&data->display, pipe, output) {
+	for_each_valid_output_on_pipe(&data->display, pipe, output)
 		test_plane_position_with_output(data, pipe, output, modifier);
-		connected_outs++;
-	}
-
-	igt_skip_on(connected_outs == 0);
 }
 
 static void
 run_tests_for_pipe(data_t *data, enum pipe pipe)
 {
+	igt_fixture {
+		igt_skip_on(pipe >= data->display.n_pipes);
+
+		igt_display_require_output_on_pipe(&data->display, pipe);
+	}
+
 	igt_subtest_f("pipe-%s-tiling-none",
 		      kmstest_pipe_name(pipe))
 		test_plane_position(data, pipe, LOCAL_DRM_FORMAT_MOD_NONE);
@@ -350,10 +338,12 @@ igt_main
 
 		igt_require_pipe_crc(data.drm_fd);
 		igt_display_init(&data.display, data.drm_fd);
+		igt_require(data.display.is_atomic);
 	}
 
 	for_each_pipe_static(pipe)
-		run_tests_for_pipe(&data, pipe);
+		igt_subtest_group
+			run_tests_for_pipe(&data, pipe);
 
 	igt_fixture {
 		igt_display_fini(&data.display);
-- 
2.14.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✗ Fi.CI.BAT: failure for HAX: Do not restore mode through fbcon (rev2)
  2017-10-13 14:10 [PATCH] HAX: Do not restore mode through fbcon Maarten Lankhorst
                   ` (2 preceding siblings ...)
  2017-10-13 14:10 ` [PATCH i-g-t 2/2] tests/drm_read: Change tests to not require fbcon Maarten Lankhorst
@ 2017-10-13 16:44 ` Patchwork
  2017-10-13 19:06 ` ✗ Fi.CI.BAT: warning for tests/pm_backlight: Enable connected output to allow tests to succeed, v2. (rev2) Patchwork
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2017-10-13 16:44 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: intel-gfx

== Series Details ==

Series: HAX: Do not restore mode through fbcon (rev2)
URL   : https://patchwork.freedesktop.org/series/31893/
State : failure

== Summary ==

Series 31893v2 HAX: Do not restore mode through fbcon
https://patchwork.freedesktop.org/api/1.0/series/31893/revisions/2/mbox/

Test chamelium:
        Subgroup dp-crc-fast:
                fail       -> PASS       (fi-kbl-7500u) fdo#102514
        Subgroup hdmi-crc-fast:
                pass       -> DMESG-WARN (fi-skl-6700k) fdo#103019
        Subgroup common-hpd-after-suspend:
                dmesg-warn -> PASS       (fi-kbl-7500u) fdo#102505
Test debugfs_test:
        Subgroup read_all_entries:
                pass       -> DMESG-WARN (fi-ilk-650)
                pass       -> DMESG-WARN (fi-skl-6770hq)
                pass       -> DMESG-WARN (fi-cfl-s)
Test gem_exec_nop:
        Subgroup basic-parallel:
                pass       -> INCOMPLETE (fi-bxt-j4205)
Test gem_exec_suspend:
        Subgroup basic-s3:
                dmesg-warn -> PASS       (fi-cfl-s) fdo#103186
        Subgroup basic-s4-devices:
                pass       -> DMESG-WARN (fi-byt-j1900)
Test gem_ringfill:
        Subgroup basic-default-hang:
                dmesg-warn -> PASS       (fi-blb-e6850) fdo#101600 +1
Test kms_pipe_crc_basic:
        Subgroup suspend-read-crc-pipe-a:
                pass       -> DMESG-WARN (fi-byt-n2820)
        Subgroup suspend-read-crc-pipe-b:
                dmesg-warn -> PASS       (fi-byt-j1900) fdo#101705
Test drv_module_reload:
        Subgroup basic-reload:
                dmesg-warn -> PASS       (fi-gdg-551) fdo#102707

fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514
fdo#103019 https://bugs.freedesktop.org/show_bug.cgi?id=103019
fdo#102505 https://bugs.freedesktop.org/show_bug.cgi?id=102505
fdo#103186 https://bugs.freedesktop.org/show_bug.cgi?id=103186
fdo#101600 https://bugs.freedesktop.org/show_bug.cgi?id=101600
fdo#101705 https://bugs.freedesktop.org/show_bug.cgi?id=101705
fdo#102707 https://bugs.freedesktop.org/show_bug.cgi?id=102707

fi-bdw-5557u     total:289  pass:268  dwarn:0   dfail:0   fail:0   skip:21  time:455s
fi-bdw-gvtdvm    total:289  pass:265  dwarn:0   dfail:0   fail:0   skip:24  time:456s
fi-blb-e6850     total:289  pass:224  dwarn:0   dfail:0   fail:0   skip:65  time:369s
fi-bsw-n3050     total:289  pass:243  dwarn:0   dfail:0   fail:0   skip:46  time:585s
fi-bwr-2160      total:289  pass:183  dwarn:0   dfail:0   fail:0   skip:106 time:272s
fi-bxt-dsi       total:289  pass:259  dwarn:0   dfail:0   fail:0   skip:30  time:535s
fi-bxt-j4205     total:76   pass:59   dwarn:0   dfail:0   fail:0   skip:16 
fi-byt-j1900     total:289  pass:253  dwarn:1   dfail:0   fail:0   skip:35  time:547s
fi-byt-n2820     total:289  pass:249  dwarn:1   dfail:0   fail:0   skip:39  time:516s
fi-cfl-s         total:289  pass:253  dwarn:4   dfail:0   fail:0   skip:32  time:567s
fi-elk-e7500     total:289  pass:229  dwarn:0   dfail:0   fail:0   skip:60  time:427s
fi-gdg-551       total:289  pass:179  dwarn:0   dfail:0   fail:1   skip:109 time:259s
fi-glk-1         total:289  pass:261  dwarn:0   dfail:0   fail:0   skip:28  time:613s
fi-hsw-4770r     total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:437s
fi-ilk-650       total:289  pass:227  dwarn:1   dfail:0   fail:0   skip:61  time:445s
fi-ivb-3520m     total:289  pass:260  dwarn:0   dfail:0   fail:0   skip:29  time:468s
fi-ivb-3770      total:289  pass:260  dwarn:0   dfail:0   fail:0   skip:29  time:474s
fi-kbl-7500u     total:289  pass:265  dwarn:0   dfail:0   fail:0   skip:24  time:491s
fi-kbl-7567u     total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:495s
fi-kbl-r         total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:567s
fi-pnv-d510      total:289  pass:223  dwarn:0   dfail:0   fail:0   skip:66  time:642s
fi-skl-6260u     total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:486s
fi-skl-6700hq    total:289  pass:263  dwarn:0   dfail:0   fail:0   skip:26  time:622s
fi-skl-6700k     total:289  pass:264  dwarn:1   dfail:0   fail:0   skip:24  time:531s
fi-skl-6770hq    total:289  pass:268  dwarn:1   dfail:0   fail:0   skip:20  time:508s
fi-skl-gvtdvm    total:289  pass:266  dwarn:0   dfail:0   fail:0   skip:23  time:469s
fi-snb-2520m     total:289  pass:250  dwarn:0   dfail:0   fail:0   skip:39  time:542s
fi-snb-2600      total:289  pass:249  dwarn:0   dfail:0   fail:0   skip:40  time:417s

005c15a2795854ab64b6ce63dcb099d2eea4a889 drm-tip: 2017y-10m-13d-15h-39m-54s UTC integration manifest
c3dfbdd36db2 HAX: Do not restore mode through fbcon

== Logs ==

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

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

* ✗ Fi.CI.BAT: warning for tests/pm_backlight: Enable connected output to allow tests to succeed, v2. (rev2)
  2017-10-13 14:10 [PATCH] HAX: Do not restore mode through fbcon Maarten Lankhorst
                   ` (3 preceding siblings ...)
  2017-10-13 16:44 ` ✗ Fi.CI.BAT: failure for HAX: Do not restore mode through fbcon (rev2) Patchwork
@ 2017-10-13 19:06 ` Patchwork
  2017-10-20 14:12 ` ✗ Fi.CI.BAT: failure for HAX: Do not restore mode through fbcon (rev2) Patchwork
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2017-10-13 19:06 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: intel-gfx

== Series Details ==

Series: tests/pm_backlight: Enable connected output to allow tests to succeed, v2. (rev2)
URL   : https://patchwork.freedesktop.org/series/31924/
State : warning

== Summary ==

IGT patchset tested on top of latest successful build
58616272b23efce1e62a3ee0d37e13de6ffc012f igt/gem_eio: Check hang/eio recovery during suspend

with latest DRM-Tip kernel build CI_DRM_3235
5a6dc55bd5e6 drm-tip: 2017y-10m-13d-18h-14m-47s UTC integration manifest

No testlist changes.

Test chamelium:
        Subgroup dp-crc-fast:
                pass       -> FAIL       (fi-kbl-7500u) fdo#102514
Test debugfs_test:
        Subgroup read_all_entries:
                pass       -> DMESG-WARN (fi-kbl-7500u)

fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514

fi-bdw-5557u     total:289  pass:268  dwarn:0   dfail:0   fail:0   skip:21  time:462s
fi-bdw-gvtdvm    total:289  pass:265  dwarn:0   dfail:0   fail:0   skip:24  time:472s
fi-blb-e6850     total:289  pass:223  dwarn:1   dfail:0   fail:0   skip:65  time:397s
fi-bsw-n3050     total:289  pass:243  dwarn:0   dfail:0   fail:0   skip:46  time:580s
fi-bwr-2160      total:289  pass:183  dwarn:0   dfail:0   fail:0   skip:106 time:289s
fi-bxt-dsi       total:289  pass:259  dwarn:0   dfail:0   fail:0   skip:30  time:530s
fi-bxt-j4205     total:289  pass:260  dwarn:0   dfail:0   fail:0   skip:29  time:523s
fi-byt-j1900     total:289  pass:253  dwarn:1   dfail:0   fail:0   skip:35  time:551s
fi-byt-n2820     total:289  pass:249  dwarn:1   dfail:0   fail:0   skip:39  time:529s
fi-cfl-s         total:289  pass:253  dwarn:4   dfail:0   fail:0   skip:32  time:568s
fi-elk-e7500     total:289  pass:229  dwarn:0   dfail:0   fail:0   skip:60  time:442s
fi-gdg-551       total:289  pass:178  dwarn:1   dfail:0   fail:1   skip:109 time:273s
fi-glk-1         total:289  pass:261  dwarn:0   dfail:0   fail:0   skip:28  time:607s
fi-hsw-4770r     total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:443s
fi-ilk-650       total:289  pass:228  dwarn:0   dfail:0   fail:0   skip:61  time:469s
fi-ivb-3520m     total:289  pass:260  dwarn:0   dfail:0   fail:0   skip:29  time:508s
fi-ivb-3770      total:289  pass:260  dwarn:0   dfail:0   fail:0   skip:29  time:476s
fi-kbl-7500u     total:289  pass:262  dwarn:2   dfail:0   fail:1   skip:24  time:501s
fi-kbl-7567u     total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:491s
fi-kbl-r         total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:595s
fi-pnv-d510      total:289  pass:222  dwarn:1   dfail:0   fail:0   skip:66  time:654s
fi-skl-6260u     total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:476s
fi-skl-6700hq    total:289  pass:263  dwarn:0   dfail:0   fail:0   skip:26  time:668s
fi-skl-6700k     total:289  pass:265  dwarn:0   dfail:0   fail:0   skip:24  time:538s
fi-skl-6770hq    total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:517s
fi-skl-gvtdvm    total:289  pass:266  dwarn:0   dfail:0   fail:0   skip:23  time:476s
fi-snb-2520m     total:289  pass:250  dwarn:0   dfail:0   fail:0   skip:39  time:590s
fi-snb-2600      total:289  pass:249  dwarn:0   dfail:0   fail:0   skip:40  time:433s

== Logs ==

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

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

* Re: [PATCH i-g-t 2/2] tests/drm_read: Change tests to not require fbcon
  2017-10-13 14:22   ` Chris Wilson
@ 2017-10-16  7:40     ` Maarten Lankhorst
  0 siblings, 0 replies; 17+ messages in thread
From: Maarten Lankhorst @ 2017-10-16  7:40 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx

Op 13-10-17 om 16:22 schreef Chris Wilson:
> Quoting Maarten Lankhorst (2017-10-13 15:10:49)
>> The first active pipe might not be pipe A, and we shouldn't rely on
>> fbcon for a working crtc. Use igt_kms to set up something basic, and
>> use the kmstest helper to get an event from the correct pipe.
>>
>> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> If one is lazy enough, some one will be foolhardy enough to try turning
> off all outputs and fixup the fallout. Not the most catchy of sayings,
> but true in this case.
>
>> ---
>>  tests/drm_read.c | 62 +++++++++++++++++++++++++++++++-------------------------
>>  1 file changed, 34 insertions(+), 28 deletions(-)
>>
>> diff --git a/tests/drm_read.c b/tests/drm_read.c
>> index 7df36e965c59..b6aab731261d 100644
>> --- a/tests/drm_read.c
>> +++ b/tests/drm_read.c
>> @@ -57,18 +57,9 @@ static void assert_empty(int fd)
>>         do_or_die(poll(&pfd, 1, 0));
>>  }
>>  
>> -static void generate_event(int fd)
>> +static void generate_event(int fd, enum pipe pipe)
>>  {
>> -       union drm_wait_vblank vbl;
>> -
>> -       /* We require that pipe 0 is running */
>> -
>> -       vbl.request.type =
>> -               DRM_VBLANK_RELATIVE |
>> -               DRM_VBLANK_EVENT;
>> -       vbl.request.sequence = 0;
>> -
>> -       do_ioctl(fd, DRM_IOCTL_WAIT_VBLANK, &vbl);
>> +       igt_assert(kmstest_get_vblank(fd, pipe, DRM_VBLANK_EVENT));
>>  }
> Now this is pipe-aware, is there any variation between pipes? Any
> advantage in extending the test? Well that should already be kms_vblank.
>
> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
> -Chris

Thanks, pushed. Will resubmit kms_plane_lowres, can't get it right..

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✗ Fi.CI.BAT: failure for HAX: Do not restore mode through fbcon (rev2)
  2017-10-13 14:10 [PATCH] HAX: Do not restore mode through fbcon Maarten Lankhorst
                   ` (4 preceding siblings ...)
  2017-10-13 19:06 ` ✗ Fi.CI.BAT: warning for tests/pm_backlight: Enable connected output to allow tests to succeed, v2. (rev2) Patchwork
@ 2017-10-20 14:12 ` Patchwork
  2017-10-20 15:07 ` Patchwork
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2017-10-20 14:12 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: intel-gfx

== Series Details ==

Series: HAX: Do not restore mode through fbcon (rev2)
URL   : https://patchwork.freedesktop.org/series/31893/
State : failure

== Summary ==

Series 31893v2 HAX: Do not restore mode through fbcon
https://patchwork.freedesktop.org/api/1.0/series/31893/revisions/2/mbox/

Test chamelium:
        Subgroup hdmi-crc-fast:
                pass       -> INCOMPLETE (fi-skl-6700k) fdo#103019
        Subgroup common-hpd-after-suspend:
                dmesg-warn -> PASS       (fi-kbl-7500u) fdo#102505
Test debugfs_test:
        Subgroup read_all_entries:
                pass       -> DMESG-WARN (fi-ilk-650)
                pass       -> DMESG-WARN (fi-skl-6770hq)
                pass       -> DMESG-WARN (fi-cfl-s)
Test gem_ctx_exec:
        Subgroup basic:
                pass       -> INCOMPLETE (fi-skl-gvtdvm)
Test gem_exec_basic:
        Subgroup readonly-blt:
                pass       -> INCOMPLETE (fi-skl-6700hq)
Test gem_exec_nop:
        Subgroup basic-parallel:
                pass       -> INCOMPLETE (fi-bxt-j4205)
                pass       -> INCOMPLETE (fi-glk-1)
Test gem_exec_reloc:
        Subgroup basic-write-read-noreloc:
                pass       -> INCOMPLETE (fi-skl-6770hq)
Test gem_exec_suspend:
        Subgroup basic-s3:
                dmesg-warn -> PASS       (fi-cfl-s) fdo#103186
        Subgroup basic-s4-devices:
                pass       -> DMESG-WARN (fi-byt-j1900)
Test gem_ringfill:
        Subgroup basic-default-hang:
                dmesg-warn -> PASS       (fi-blb-e6850) fdo#101600 +1
Test kms_pipe_crc_basic:
        Subgroup suspend-read-crc-pipe-a:
                pass       -> DMESG-WARN (fi-byt-n2820)
        Subgroup suspend-read-crc-pipe-b:
                dmesg-warn -> PASS       (fi-byt-j1900) fdo#101705 +1
Test prime_vgem:
        Subgroup basic-fence-flip:
                dmesg-warn -> PASS       (fi-kbl-7567u) fdo#103165 +1

fdo#103019 https://bugs.freedesktop.org/show_bug.cgi?id=103019
fdo#102505 https://bugs.freedesktop.org/show_bug.cgi?id=102505
fdo#103186 https://bugs.freedesktop.org/show_bug.cgi?id=103186
fdo#101600 https://bugs.freedesktop.org/show_bug.cgi?id=101600
fdo#101705 https://bugs.freedesktop.org/show_bug.cgi?id=101705
fdo#103165 https://bugs.freedesktop.org/show_bug.cgi?id=103165

fi-bdw-5557u     total:289  pass:268  dwarn:0   dfail:0   fail:0   skip:21  time:444s
fi-bdw-gvtdvm    total:289  pass:265  dwarn:0   dfail:0   fail:0   skip:24  time:436s
fi-blb-e6850     total:289  pass:224  dwarn:0   dfail:0   fail:0   skip:65  time:367s
fi-bsw-n3050     total:289  pass:243  dwarn:0   dfail:0   fail:0   skip:46  time:558s
fi-bwr-2160      total:289  pass:183  dwarn:0   dfail:0   fail:0   skip:106 time:249s
fi-bxt-dsi       total:289  pass:259  dwarn:0   dfail:0   fail:0   skip:30  time:515s
fi-bxt-j4205     total:76   pass:59   dwarn:0   dfail:0   fail:0   skip:16 
fi-byt-j1900     total:289  pass:253  dwarn:1   dfail:0   fail:0   skip:35  time:506s
fi-byt-n2820     total:289  pass:249  dwarn:1   dfail:0   fail:0   skip:39  time:486s
fi-cfl-s         total:289  pass:253  dwarn:4   dfail:0   fail:0   skip:32  time:551s
fi-elk-e7500     total:289  pass:229  dwarn:0   dfail:0   fail:0   skip:60  time:406s
fi-glk-1         total:76   pass:58   dwarn:0   dfail:0   fail:0   skip:17 
fi-hsw-4770      total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:444s
fi-hsw-4770r     total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:425s
fi-ilk-650       total:289  pass:227  dwarn:1   dfail:0   fail:0   skip:61  time:429s
fi-ivb-3520m     total:289  pass:260  dwarn:0   dfail:0   fail:0   skip:29  time:462s
fi-ivb-3770      total:289  pass:260  dwarn:0   dfail:0   fail:0   skip:29  time:456s
fi-kbl-7500u     total:289  pass:265  dwarn:0   dfail:0   fail:0   skip:24  time:478s
fi-kbl-7560u     total:289  pass:270  dwarn:0   dfail:0   fail:0   skip:19  time:533s
fi-kbl-7567u     total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:498s
fi-kbl-r         total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:547s
fi-pnv-d510      total:289  pass:223  dwarn:0   dfail:0   fail:0   skip:66  time:528s
fi-skl-6260u     total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:460s
fi-skl-6700hq    total:47   pass:33   dwarn:0   dfail:0   fail:0   skip:13 
fi-skl-6700k     total:6    pass:2    dwarn:0   dfail:0   fail:0   skip:3  
fi-skl-6770hq    total:98   pass:84   dwarn:1   dfail:0   fail:0   skip:12 
fi-skl-gvtdvm    total:28   pass:18   dwarn:0   dfail:0   fail:0   skip:9  
fi-snb-2520m     total:289  pass:250  dwarn:0   dfail:0   fail:0   skip:39  time:528s
fi-snb-2600      total:289  pass:249  dwarn:0   dfail:0   fail:0   skip:40  time:408s
fi-gdg-551 failed to connect after reboot

75b85b0dce2faee585046d3ce19d76bcb163c3e7 drm-tip: 2017y-10m-20d-10h-07m-16s UTC integration manifest
6996613f0e2d HAX: Do not restore mode through fbcon

== Logs ==

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

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

* ✗ Fi.CI.BAT: failure for HAX: Do not restore mode through fbcon (rev2)
  2017-10-13 14:10 [PATCH] HAX: Do not restore mode through fbcon Maarten Lankhorst
                   ` (5 preceding siblings ...)
  2017-10-20 14:12 ` ✗ Fi.CI.BAT: failure for HAX: Do not restore mode through fbcon (rev2) Patchwork
@ 2017-10-20 15:07 ` Patchwork
  2017-10-20 15:17 ` ✗ Fi.CI.IGT: " Patchwork
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2017-10-20 15:07 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: intel-gfx

== Series Details ==

Series: HAX: Do not restore mode through fbcon (rev2)
URL   : https://patchwork.freedesktop.org/series/31893/
State : failure

== Summary ==

Series 31893v2 HAX: Do not restore mode through fbcon
https://patchwork.freedesktop.org/api/1.0/series/31893/revisions/2/mbox/

Test chamelium:
        Subgroup hdmi-edid-read:
                skip       -> INCOMPLETE (fi-skl-6700hq)
        Subgroup hdmi-crc-fast:
                pass       -> INCOMPLETE (fi-skl-6700k) fdo#103019
        Subgroup common-hpd-after-suspend:
                dmesg-warn -> PASS       (fi-kbl-7500u) fdo#102505
Test debugfs_test:
        Subgroup read_all_entries:
                pass       -> DMESG-WARN (fi-ilk-650)
                pass       -> DMESG-WARN (fi-skl-6770hq)
                pass       -> DMESG-WARN (fi-cfl-s)
Test drv_getparams_basic:
        Subgroup basic-eu-total:
                pass       -> INCOMPLETE (fi-kbl-7567u)
Test gem_exec_basic:
        Subgroup gtt-bsd2:
                pass       -> INCOMPLETE (fi-skl-6260u)
        Subgroup readonly-bsd:
                pass       -> INCOMPLETE (fi-cfl-s)
Test gem_exec_gttfill:
        Subgroup basic:
                pass       -> INCOMPLETE (fi-bxt-j4205)
Test gem_exec_suspend:
        Subgroup basic-s4-devices:
                pass       -> DMESG-WARN (fi-byt-j1900)
                pass       -> DMESG-WARN (fi-byt-n2820)
Test gem_ringfill:
        Subgroup basic-default-hang:
                dmesg-warn -> PASS       (fi-blb-e6850) fdo#101600 +1
Test kms_addfb_basic:
        Subgroup bad-pitch-1024:
                pass       -> INCOMPLETE (fi-skl-6770hq)
Test kms_busy:
        Subgroup basic-flip-a:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup basic-flip-b:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup basic-flip-c:
                pass       -> SKIP       (fi-hsw-4770r)
Test kms_cursor_legacy:
        Subgroup basic-busy-flip-before-cursor-atomic:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup basic-busy-flip-before-cursor-legacy:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup basic-flip-after-cursor-atomic:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup basic-flip-after-cursor-legacy:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup basic-flip-after-cursor-varying-size:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup basic-flip-before-cursor-atomic:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup basic-flip-before-cursor-legacy:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup basic-flip-before-cursor-varying-size:
                pass       -> SKIP       (fi-hsw-4770r)
Test kms_flip:
        Subgroup basic-flip-vs-dpms:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup basic-flip-vs-modeset:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup basic-flip-vs-wf_vblank:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup basic-plain-flip:
                pass       -> SKIP       (fi-hsw-4770r)
Test kms_frontbuffer_tracking:
        Subgroup basic:
                pass       -> SKIP       (fi-hsw-4770r)
Test kms_pipe_crc_basic:
        Subgroup hang-read-crc-pipe-a:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup hang-read-crc-pipe-b:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup hang-read-crc-pipe-c:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup nonblocking-crc-pipe-a:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup nonblocking-crc-pipe-a-frame-sequence:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup nonblocking-crc-pipe-b:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup nonblocking-crc-pipe-b-frame-sequence:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup nonblocking-crc-pipe-c:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup nonblocking-crc-pipe-c-frame-sequence:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup read-crc-pipe-a:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup read-crc-pipe-a-frame-sequence:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup read-crc-pipe-b:
                pass       -> SKIP       (fi-hsw-4770r)
        Subgroup read-crc-pipe-b-frame-sequence:
                pass       -> SKIP       (fi-hsw-4770r) fdo#102332
        Subgroup read-crc-pipe-c:
WARNING: Long output truncated

75b85b0dce2faee585046d3ce19d76bcb163c3e7 drm-tip: 2017y-10m-20d-10h-07m-16s UTC integration manifest
57c716927064 HAX: Do not restore mode through fbcon

== Logs ==

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

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

* ✗ Fi.CI.IGT: failure for HAX: Do not restore mode through fbcon (rev2)
  2017-10-13 14:10 [PATCH] HAX: Do not restore mode through fbcon Maarten Lankhorst
                   ` (6 preceding siblings ...)
  2017-10-20 15:07 ` Patchwork
@ 2017-10-20 15:17 ` Patchwork
  2017-10-20 17:08 ` Patchwork
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2017-10-20 15:17 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: intel-gfx

== Series Details ==

Series: HAX: Do not restore mode through fbcon (rev2)
URL   : https://patchwork.freedesktop.org/series/31893/
State : failure

== Summary ==

Test kms_plane_lowres:
        Subgroup pipe-A-tiling-none:
                pass       -> SKIP       (shard-hsw)
        Subgroup pipe-A-tiling-x:
                pass       -> SKIP       (shard-hsw)
Test kms_atomic:
        Subgroup test_only:
                pass       -> SKIP       (shard-hsw)
        Subgroup plane_cursor_legacy:
                pass       -> SKIP       (shard-hsw)
        Subgroup plane_invalid_params:
                pass       -> SKIP       (shard-hsw)
        Subgroup crtc_invalid_params:
                pass       -> SKIP       (shard-hsw)
        Subgroup plane_invalid_params_fence:
                pass       -> SKIP       (shard-hsw)
        Subgroup atomic_invalid_params:
                pass       -> SKIP       (shard-hsw)
        Subgroup plane_overlay_legacy:
                pass       -> SKIP       (shard-hsw)
Test kms_busy:
        Subgroup extended-modeset-hang-newfb-with-reset-render-C:
                pass       -> DMESG-WARN (shard-hsw) fdo#102249 +1
        Subgroup extended-modeset-hang-newfb-with-reset-render-B:
                dmesg-warn -> PASS       (shard-hsw) fdo#103038
Test kms_frontbuffer_tracking:
        Subgroup fbc-1p-primscrn-spr-indfb-fullscreen:
                pass       -> FAIL       (shard-hsw)
        Subgroup fbc-1p-primscrn-cur-indfb-move:
                skip       -> PASS       (shard-hsw)
        Subgroup fbc-1p-offscren-pri-indfb-draw-mmap-cpu:
                skip       -> PASS       (shard-hsw)
Test kms_sysfs_edid_timing:
                pass       -> FAIL       (shard-hsw) fdo#100047
Test kms_flip:
        Subgroup blt-wf_vblank-vs-dpms:
                dmesg-warn -> PASS       (shard-hsw)
Test kms_plane:
        Subgroup plane-panning-bottom-right-suspend-pipe-C-planes:
                pass       -> INCOMPLETE (shard-hsw)
        Subgroup plane-position-hole-pipe-A-planes:
                skip       -> PASS       (shard-hsw)
Test gem_mmap_wc:
        Subgroup set-cache-level:
                pass       -> SKIP       (shard-hsw)
Test drv_module_reload:
        Subgroup basic-reload:
                pass       -> DMESG-WARN (shard-hsw) fdo#102707
Test gem_userptr_blits:
        Subgroup map-fixed-invalidate-overlap-gup:
                pass       -> INCOMPLETE (shard-hsw)

fdo#102249 https://bugs.freedesktop.org/show_bug.cgi?id=102249
fdo#103038 https://bugs.freedesktop.org/show_bug.cgi?id=103038
fdo#100047 https://bugs.freedesktop.org/show_bug.cgi?id=100047
fdo#102707 https://bugs.freedesktop.org/show_bug.cgi?id=102707

shard-hsw        total:2421 pass:1356 dwarn:3   dfail:0   fail:10  skip:1050 time:8952s

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_6122/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✗ Fi.CI.IGT: failure for HAX: Do not restore mode through fbcon (rev2)
  2017-10-13 14:10 [PATCH] HAX: Do not restore mode through fbcon Maarten Lankhorst
                   ` (7 preceding siblings ...)
  2017-10-20 15:17 ` ✗ Fi.CI.IGT: " Patchwork
@ 2017-10-20 17:08 ` Patchwork
  2017-10-21 12:53 ` ✗ Fi.CI.BAT: " Patchwork
  2017-10-21 13:43 ` ✗ Fi.CI.IGT: " Patchwork
  10 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2017-10-20 17:08 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: intel-gfx

== Series Details ==

Series: HAX: Do not restore mode through fbcon (rev2)
URL   : https://patchwork.freedesktop.org/series/31893/
State : failure

== Summary ==

Test kms_busy:
        Subgroup extended-modeset-hang-newfb-with-reset-render-C:
                pass       -> DMESG-WARN (shard-hsw) fdo#102249 +1
        Subgroup extended-modeset-hang-newfb-with-reset-render-B:
                dmesg-warn -> PASS       (shard-hsw) fdo#103038
Test kms_frontbuffer_tracking:
        Subgroup fbc-1p-primscrn-spr-indfb-fullscreen:
                pass       -> FAIL       (shard-hsw)
        Subgroup fbc-1p-primscrn-cur-indfb-move:
                skip       -> PASS       (shard-hsw)
        Subgroup fbc-1p-offscren-pri-indfb-draw-mmap-cpu:
                skip       -> PASS       (shard-hsw)
Test kms_sysfs_edid_timing:
                pass       -> FAIL       (shard-hsw) fdo#100047
Test kms_plane:
        Subgroup plane-panning-bottom-right-suspend-pipe-C-planes:
                pass       -> INCOMPLETE (shard-hsw)
        Subgroup plane-position-hole-pipe-A-planes:
                skip       -> PASS       (shard-hsw)
Test kms_atomic:
        Subgroup atomic_invalid_params:
                pass       -> SKIP       (shard-hsw)
        Subgroup plane_overlay_legacy:
                pass       -> SKIP       (shard-hsw)
        Subgroup crtc_invalid_params_fence:
                pass       -> SKIP       (shard-hsw)
        Subgroup plane_cursor_legacy:
                pass       -> SKIP       (shard-hsw)
        Subgroup plane_invalid_params:
                pass       -> SKIP       (shard-hsw)
        Subgroup crtc_invalid_params:
                pass       -> SKIP       (shard-hsw)
        Subgroup plane_invalid_params_fence:
                pass       -> SKIP       (shard-hsw)
        Subgroup test_only:
                pass       -> SKIP       (shard-hsw)
Test kms_plane_lowres:
        Subgroup pipe-A-tiling-none:
                pass       -> SKIP       (shard-hsw)
        Subgroup pipe-A-tiling-x:
                pass       -> SKIP       (shard-hsw)
Test gem_userptr_blits:
        Subgroup map-fixed-invalidate-overlap-gup:
                pass       -> DMESG-WARN (shard-hsw)
Test gem_mmap_wc:
        Subgroup set-cache-level:
                pass       -> SKIP       (shard-hsw)
Test kms_flip:
        Subgroup blt-wf_vblank-vs-dpms:
                dmesg-warn -> PASS       (shard-hsw) fdo#102614

fdo#102249 https://bugs.freedesktop.org/show_bug.cgi?id=102249
fdo#103038 https://bugs.freedesktop.org/show_bug.cgi?id=103038
fdo#100047 https://bugs.freedesktop.org/show_bug.cgi?id=100047
fdo#102614 https://bugs.freedesktop.org/show_bug.cgi?id=102614

shard-hsw        total:2469 pass:1381 dwarn:3   dfail:0   fail:10  skip:1074 time:9104s

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_6124/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✗ Fi.CI.BAT: failure for HAX: Do not restore mode through fbcon (rev2)
  2017-10-13 14:10 [PATCH] HAX: Do not restore mode through fbcon Maarten Lankhorst
                   ` (8 preceding siblings ...)
  2017-10-20 17:08 ` Patchwork
@ 2017-10-21 12:53 ` Patchwork
  2017-10-21 13:43 ` ✗ Fi.CI.IGT: " Patchwork
  10 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2017-10-21 12:53 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: intel-gfx

== Series Details ==

Series: HAX: Do not restore mode through fbcon (rev2)
URL   : https://patchwork.freedesktop.org/series/31893/
State : failure

== Summary ==

Series 31893v2 HAX: Do not restore mode through fbcon
https://patchwork.freedesktop.org/api/1.0/series/31893/revisions/2/mbox/

Test chamelium:
        Subgroup dp-crc-fast:
                fail       -> PASS       (fi-kbl-7500u) fdo#102514
        Subgroup hdmi-crc-fast:
                pass       -> INCOMPLETE (fi-skl-6700k) fdo#103019
        Subgroup common-hpd-after-suspend:
                dmesg-warn -> PASS       (fi-kbl-7500u) fdo#102505
Test debugfs_test:
        Subgroup read_all_entries:
                pass       -> DMESG-WARN (fi-ilk-650)
Test gem_exec_nop:
        Subgroup basic-parallel:
                pass       -> INCOMPLETE (fi-bxt-j4205)
Test gem_exec_parse:
        Subgroup basic-allowed:
                skip       -> INCOMPLETE (fi-skl-gvtdvm)
Test gem_exec_store:
        Subgroup basic-bsd:
                pass       -> INCOMPLETE (fi-cfl-s)
        Subgroup basic-render:
                pass       -> INCOMPLETE (fi-kbl-7567u)
Test gem_exec_suspend:
        Subgroup basic-s3:
                pass       -> DMESG-FAIL (fi-kbl-7560u) fdo#103039
        Subgroup basic-s4-devices:
                pass       -> DMESG-WARN (fi-byt-n2820)
                pass       -> DMESG-FAIL (fi-kbl-7560u) fdo#102846 +1
Test gem_flink_basic:
        Subgroup bad-flink:
                pass       -> DMESG-WARN (fi-kbl-7560u) fdo#103049 +4
Test gem_mmap:
        Subgroup basic:
                pass       -> DMESG-WARN (fi-kbl-7560u)
        Subgroup basic-small-bo:
                pass       -> DMESG-WARN (fi-kbl-7560u)
Test gem_mmap_gtt:
        Subgroup basic:
                pass       -> DMESG-WARN (fi-kbl-7560u)
        Subgroup basic-copy:
                pass       -> DMESG-WARN (fi-kbl-7560u)
        Subgroup basic-read:
                pass       -> DMESG-WARN (fi-kbl-7560u)
        Subgroup basic-read-no-prefault:
                pass       -> DMESG-WARN (fi-kbl-7560u)
        Subgroup basic-read-write:
                pass       -> DMESG-WARN (fi-kbl-7560u)
        Subgroup basic-read-write-distinct:
                pass       -> DMESG-WARN (fi-kbl-7560u)
        Subgroup basic-short:
                pass       -> DMESG-WARN (fi-kbl-7560u)
        Subgroup basic-small-bo:
                pass       -> DMESG-WARN (fi-kbl-7560u)
        Subgroup basic-small-bo-tiledx:
                pass       -> DMESG-WARN (fi-kbl-7560u)
        Subgroup basic-small-bo-tiledy:
                pass       -> DMESG-WARN (fi-kbl-7560u)
        Subgroup basic-small-copy:
                pass       -> DMESG-WARN (fi-kbl-7560u)
        Subgroup basic-small-copy-xy:
                pass       -> DMESG-WARN (fi-kbl-7560u)
        Subgroup basic-wc:
                pass       -> DMESG-WARN (fi-kbl-7560u)
        Subgroup basic-write:
                pass       -> INCOMPLETE (fi-kbl-7560u)
Test gem_ringfill:
        Subgroup basic-default-hang:
                dmesg-warn -> PASS       (fi-blb-e6850) fdo#101600 +1
Test kms_addfb_basic:
        Subgroup addfb25-x-tiled:
                pass       -> INCOMPLETE (fi-skl-6770hq)
        Subgroup invalid-set-prop:
                pass       -> INCOMPLETE (fi-skl-6260u)
Test kms_pipe_crc_basic:
        Subgroup suspend-read-crc-pipe-b:
                dmesg-warn -> PASS       (fi-byt-n2820) fdo#101705
Test drv_module_reload:
        Subgroup basic-reload:
                dmesg-warn -> PASS       (fi-gdg-551) fdo#102707

fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514
fdo#103019 https://bugs.freedesktop.org/show_bug.cgi?id=103019
fdo#102505 https://bugs.freedesktop.org/show_bug.cgi?id=102505
fdo#103039 https://bugs.freedesktop.org/show_bug.cgi?id=103039
fdo#102846 https://bugs.freedesktop.org/show_bug.cgi?id=102846
fdo#103049 https://bugs.freedesktop.org/show_bug.cgi?id=103049
fdo#101600 https://bugs.freedesktop.org/show_bug.cgi?id=101600
fdo#101705 https://bugs.freedesktop.org/show_bug.cgi?id=101705
fdo#102707 https://bugs.freedesktop.org/show_bug.cgi?id=102707

fi-bdw-5557u     total:289  pass:268  dwarn:0   dfail:0   fail:0   skip:21  time:438s
fi-bdw-gvtdvm    total:289  pass:265  dwarn:0   dfail:0   fail:0   skip:24  time:438s
fi-blb-e6850     total:289  pass:224  dwarn:0   dfail:0   fail:0   skip:65  time:363s
fi-bsw-n3050     total:289  pass:243  dwarn:0   dfail:0   fail:0   skip:46  time:547s
fi-bwr-2160      total:289  pass:183  dwarn:0   dfail:0   fail:0   skip:106 time:248s
fi-bxt-dsi       total:289  pass:259  dwarn:0   dfail:0   fail:0   skip:30  time:515s
fi-bxt-j4205     total:76   pass:59   dwarn:0   dfail:0   fail:0   skip:16 
fi-byt-j1900     total:289  pass:253  dwarn:1   dfail:0   fail:0   skip:35  time:508s
WARNING: Long output truncated

fcd4cd0d6182714b9ab0b5bb9139a06e6378b8ce drm-tip: 2017y-10m-20d-23h-22m-54s UTC integration manifest
d5527e25b92a HAX: Do not restore mode through fbcon

== Logs ==

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

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

* ✗ Fi.CI.IGT: failure for HAX: Do not restore mode through fbcon (rev2)
  2017-10-13 14:10 [PATCH] HAX: Do not restore mode through fbcon Maarten Lankhorst
                   ` (9 preceding siblings ...)
  2017-10-21 12:53 ` ✗ Fi.CI.BAT: " Patchwork
@ 2017-10-21 13:43 ` Patchwork
  10 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2017-10-21 13:43 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: intel-gfx

== Series Details ==

Series: HAX: Do not restore mode through fbcon (rev2)
URL   : https://patchwork.freedesktop.org/series/31893/
State : failure

== Summary ==

Test gem_mmap_wc:
        Subgroup set-cache-level:
                pass       -> SKIP       (shard-hsw)
Test kms_sysfs_edid_timing:
                pass       -> FAIL       (shard-hsw) fdo#100047
Test kms_chv_cursor_fail:
        Subgroup pipe-B-256x256-left-edge:
                pass       -> INCOMPLETE (shard-hsw)
Test kms_plane_multiple:
        Subgroup atomic-pipe-C-tiling-none:
                pass       -> INCOMPLETE (shard-hsw)
Test gem_userptr_blits:
        Subgroup map-fixed-invalidate-overlap-gup:
                pass       -> DMESG-WARN (shard-hsw)
        Subgroup map-fixed-invalidate-gup:
                pass       -> INCOMPLETE (shard-hsw)
Test kms_setmode:
        Subgroup basic:
                fail       -> PASS       (shard-hsw) fdo#99912
Test kms_plane_lowres:
        Subgroup pipe-A-tiling-x:
                pass       -> SKIP       (shard-hsw)
        Subgroup pipe-A-tiling-none:
                pass       -> SKIP       (shard-hsw)
Test kms_frontbuffer_tracking:
        Subgroup fbc-1p-primscrn-spr-indfb-fullscreen:
                pass       -> FAIL       (shard-hsw)

fdo#100047 https://bugs.freedesktop.org/show_bug.cgi?id=100047
fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912

shard-hsw        total:2361 pass:1309 dwarn:3   dfail:0   fail:10  skip:1036 time:8344s

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_6134/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH i-g-t] tests/kms_plane_lowres: Rework tests to work without fbcon.
  2017-10-13 14:58   ` [PATCH i-g-t] tests/kms_plane_lowres: Rework tests to work without fbcon Maarten Lankhorst
@ 2017-10-23 10:05     ` Mika Kahola
  2017-10-23 10:14       ` Maarten Lankhorst
  0 siblings, 1 reply; 17+ messages in thread
From: Mika Kahola @ 2017-10-23 10:05 UTC (permalink / raw)
  To: Maarten Lankhorst, intel-gfx

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

On Fri, 2017-10-13 at 16:58 +0200, Maarten Lankhorst wrote:
> kmstest_get_crtc was skipping because at that point the crtc was not
> active yet, instead we should only use igt_assert_plane_visible
> directly. Unexport kmstest_get_crtc, since nothing here should need
> it.
> While at it fix a small leak in igt_assert_plane_visible, the only
> remaining user.
> 
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
> Resend, messed up my git-send-email
> 
>  lib/igt_kms.c            |  5 ++--
>  lib/igt_kms.h            |  1 -
>  tests/kms_plane_lowres.c | 64 ++++++++++++++++++++----------------
> ------------
>  3 files changed, 30 insertions(+), 40 deletions(-)
> 
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index cb2bc2b8df98..1c50484a613c 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -1416,7 +1416,7 @@ static void parse_crtc(char *info, struct
> kmstest_crtc *crtc)
>  	igt_assert_eq(ret, 2);
>  }
>  
> -void kmstest_get_crtc(int device, enum pipe pipe, struct
> kmstest_crtc *crtc)
> +static void kmstest_get_crtc(int device, enum pipe pipe, struct
> kmstest_crtc *crtc)
>  {
>  	char tmp[256];
>  	FILE *file;
> @@ -1460,7 +1460,7 @@ void kmstest_get_crtc(int device, enum pipe
> pipe, struct kmstest_crtc *crtc)
>  	fclose(file);
>  	close(fd);
>  
> -	igt_skip_on(ncrtc == 0);
> +	igt_assert(ncrtc == 1);
>  }
>  
>  void igt_assert_plane_visible(int fd, enum pipe pipe, bool
> visibility)
> @@ -1485,6 +1485,7 @@ void igt_assert_plane_visible(int fd, enum pipe
> pipe, bool visibility)
>  		}
>  	}
>  
> +	free(crtc.planes);
>  	igt_assert_eq(visible, visibility);
>  }
>  
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index 200f35e63308..acc82913e0b7 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -221,7 +221,6 @@ uint32_t kmstest_dumb_create(int fd, int width,
> int height, int bpp,
>  void *kmstest_dumb_map_buffer(int fd, uint32_t handle, uint64_t
> size,
>  			      unsigned prot);
>  unsigned int kmstest_get_vblank(int fd, int pipe, unsigned int
> flags);
> -void kmstest_get_crtc(int fd, enum pipe pipe, struct kmstest_crtc
> *crtc);
>  void igt_assert_plane_visible(int fd, enum pipe pipe, bool
> visibility);
>  
>  /*
> diff --git a/tests/kms_plane_lowres.c b/tests/kms_plane_lowres.c
> index b16c8cd433b2..44e0ada92ead 100644
> --- a/tests/kms_plane_lowres.c
> +++ b/tests/kms_plane_lowres.c
> @@ -40,7 +40,6 @@ typedef struct {
>  	int drm_fd;
>  	igt_display_t display;
>  	igt_pipe_crc_t *pipe_crc;
> -	igt_plane_t **plane;
>  	struct igt_fb *fb;
>  } data_t;
>  
> @@ -113,30 +112,27 @@ static void
>  test_init(data_t *data, enum pipe pipe)
>  {
>  	data->pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe,
> INTEL_PIPE_CRC_SOURCE_AUTO);
> -	data->plane = calloc(data->display.pipes[pipe].n_planes,
> sizeof(data->plane));\
> -	igt_assert_f(data->plane, "Failed to allocate memory for %d
> planes\n",
> -	             data->display.pipes[pipe].n_planes);
>  	data->fb = calloc(data->display.pipes[pipe].n_planes,
> sizeof(struct igt_fb));
>  	igt_assert_f(data->fb, "Failed to allocate memory for %d
> FBs\n",
>  	             data->display.pipes[pipe].n_planes);
>  }
>  
>  static void
> -test_fini(data_t *data, igt_output_t *output)
> +test_fini(data_t *data, igt_output_t *output, enum pipe pipe)
>  {
> +	igt_plane_t *plane;
> +
>  	/* restore original mode */
>  	igt_output_override_mode(output, NULL);
>  
> -	for (int i = 0; i < 2; i++)
> -		igt_plane_set_fb(data->plane[i], NULL);
> +	for_each_plane_on_pipe(&data->display, pipe, plane)
> +		igt_plane_set_fb(plane, NULL);
>  
>  	/* reset the constraint on the pipe */
>  	igt_output_set_pipe(output, PIPE_ANY);
>  
>  	igt_pipe_crc_free(data->pipe_crc);
>  
> -	free(data->plane);
> -	data->plane = NULL;
>  	free(data->fb);
>  	data->fb = NULL;
>  }
> @@ -184,19 +180,13 @@ static drmModeModeInfo *
>  test_setup(data_t *data, enum pipe pipe, uint64_t modifier, int
> flags,
>  	   igt_output_t *output)
>  {
> -	struct kmstest_crtc crtc;
>  	drmModeModeInfo *mode;
>  	int size;
>  	int i, x, y;
> +	igt_plane_t *plane;
>  
>  	igt_output_set_pipe(output, pipe);
>  
> -	kmstest_get_crtc(data->drm_fd, pipe, &crtc);
> -	igt_skip_on(crtc.n_planes > data-
> >display.pipes[pipe].n_planes);
> -	igt_skip_on(crtc.n_planes == 0);
> -
> -	for (i = 0; i < crtc.n_planes; i++)
> -		data->plane[i] = igt_output_get_plane(output,
> crtc.planes[i].index);
>  
>  	mode = igt_output_get_mode(output);
>  
> @@ -206,13 +196,14 @@ test_setup(data_t *data, enum pipe pipe,
> uint64_t modifier, int flags,
>  			    0.0, 0.0, 1.0,
>  			    &data->fb[0]);
>  
> -	igt_plane_set_fb(data->plane[0], &data->fb[0]);
> -
>  	/* yellow sprite plane in lower left corner */
> -	for (i = 0; i < crtc.n_planes; i++) {
> -		if (data->plane[i]->type == DRM_PLANE_TYPE_PRIMARY)
> +	for_each_plane_on_pipe(&data->display, pipe, plane) {
> +		if (plane->type == DRM_PLANE_TYPE_PRIMARY) {
> +			igt_plane_set_fb(plane, &data->fb[0]);
>  			continue;
> -		if (data->plane[i]->type == DRM_PLANE_TYPE_CURSOR)
> +		}
> +
> +		if (plane->type == DRM_PLANE_TYPE_CURSOR)
>  			size = 64;
>  		else
>  			size = SIZE;
> @@ -222,13 +213,13 @@ test_setup(data_t *data, enum pipe pipe,
> uint64_t modifier, int flags,
>  
>  		igt_create_color_fb(data->drm_fd,
>  				    size, size,
> -				    data->plane[i]->type ==
> DRM_PLANE_TYPE_CURSOR ? DRM_FORMAT_ARGB8888 : DRM_FORMAT_XRGB8888,
> -				    data->plane[i]->type ==
> DRM_PLANE_TYPE_CURSOR ? LOCAL_DRM_FORMAT_MOD_NONE : modifier,
> +				    plane->type ==
> DRM_PLANE_TYPE_CURSOR ? DRM_FORMAT_ARGB8888 : DRM_FORMAT_XRGB8888,
> +				    plane->type ==
> DRM_PLANE_TYPE_CURSOR ? LOCAL_DRM_FORMAT_MOD_NONE : modifier,
>  				    1.0, 1.0, 0.0,
>  				    &data->fb[i]);
>  
> -		igt_plane_set_position(data->plane[i], x, y);
> -		igt_plane_set_fb(data->plane[i], &data->fb[i]);
> +		igt_plane_set_position(plane, x, y);
> +		igt_plane_set_fb(plane, &data->fb[i]);
>  	}
>  
>  	return mode;
> @@ -289,35 +280,32 @@ test_plane_position_with_output(data_t *data,
> enum pipe pipe,
>  
>  	igt_pipe_crc_stop(data->pipe_crc);
>  
> -	test_fini(data, output);
> +	test_fini(data, output, pipe);
>  }
>  
>  static void
>  test_plane_position(data_t *data, enum pipe pipe, uint64_t modifier)
>  {
>  	igt_output_t *output;
> -	int connected_outs;
>  	const int gen = intel_gen(intel_get_drm_devid(data-
> >drm_fd));
>  
> -	igt_require(data->display.is_atomic);
> -	igt_skip_on(pipe >= data->display.n_pipes);
> -
>  	if (modifier == LOCAL_I915_FORMAT_MOD_Y_TILED ||
>  	    modifier == LOCAL_I915_FORMAT_MOD_Yf_TILED)
>  		igt_skip_on(gen < 9);
>  
> -	connected_outs = 0;
> -	for_each_valid_output_on_pipe(&data->display, pipe, output)
> {
> +	for_each_valid_output_on_pipe(&data->display, pipe, output)
>  		test_plane_position_with_output(data, pipe, output,
> modifier);
> -		connected_outs++;
> -	}
> -
> -	igt_skip_on(connected_outs == 0);
>  }
>  
>  static void
>  run_tests_for_pipe(data_t *data, enum pipe pipe)
>  {
> +	igt_fixture {
> +		igt_skip_on(pipe >= data->display.n_pipes);
> +
> +		igt_display_require_output_on_pipe(&data->display,
> pipe);
> +	}
> +
>  	igt_subtest_f("pipe-%s-tiling-none",
>  		      kmstest_pipe_name(pipe))
>  		test_plane_position(data, pipe,
> LOCAL_DRM_FORMAT_MOD_NONE);
> @@ -350,10 +338,12 @@ igt_main
>  
>  		igt_require_pipe_crc(data.drm_fd);
>  		igt_display_init(&data.display, data.drm_fd);
> +		igt_require(data.display.is_atomic);
>  	}
>  
>  	for_each_pipe_static(pipe)
> -		run_tests_for_pipe(&data, pipe);
> +		igt_subtest_group
> +			run_tests_for_pipe(&data, pipe);
>  
>  	igt_fixture {
>  		igt_display_fini(&data.display);
-- 
Mika Kahola - Intel OTC

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH i-g-t] tests/kms_plane_lowres: Rework tests to work without fbcon.
  2017-10-23 10:05     ` Mika Kahola
@ 2017-10-23 10:14       ` Maarten Lankhorst
  0 siblings, 0 replies; 17+ messages in thread
From: Maarten Lankhorst @ 2017-10-23 10:14 UTC (permalink / raw)
  To: mika.kahola, intel-gfx

Op 23-10-17 om 12:05 schreef Mika Kahola:
> Reviewed-by: Mika Kahola <mika.kahola@intel.com>
>
> On Fri, 2017-10-13 at 16:58 +0200, Maarten Lankhorst wrote:
>> kmstest_get_crtc was skipping because at that point the crtc was not
>> active yet, instead we should only use igt_assert_plane_visible
>> directly. Unexport kmstest_get_crtc, since nothing here should need
>> it.
>> While at it fix a small leak in igt_assert_plane_visible, the only
>> remaining user.
>>
>> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>> ---
>> Resend, messed up my git-send-email
Thanks, pushed v3 which had some more fixes to make the test pass. :)
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

end of thread, other threads:[~2017-10-23 10:14 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-13 14:10 [PATCH] HAX: Do not restore mode through fbcon Maarten Lankhorst
2017-10-13 14:10 ` [PATCH i-g-t 1/2] tests/kms_plane_lowres: Rework tests to work without fbcon Maarten Lankhorst
2017-10-13 14:10 ` [PATCH i-g-t] tests/pm_backlight: Enable connected output to allow tests to succeed, v2 Maarten Lankhorst
2017-10-13 14:58   ` [PATCH i-g-t] tests/kms_plane_lowres: Rework tests to work without fbcon Maarten Lankhorst
2017-10-23 10:05     ` Mika Kahola
2017-10-23 10:14       ` Maarten Lankhorst
2017-10-13 14:10 ` [PATCH i-g-t 2/2] tests/drm_read: Change tests to not require fbcon Maarten Lankhorst
2017-10-13 14:22   ` Chris Wilson
2017-10-16  7:40     ` Maarten Lankhorst
2017-10-13 16:44 ` ✗ Fi.CI.BAT: failure for HAX: Do not restore mode through fbcon (rev2) Patchwork
2017-10-13 19:06 ` ✗ Fi.CI.BAT: warning for tests/pm_backlight: Enable connected output to allow tests to succeed, v2. (rev2) Patchwork
2017-10-20 14:12 ` ✗ Fi.CI.BAT: failure for HAX: Do not restore mode through fbcon (rev2) Patchwork
2017-10-20 15:07 ` Patchwork
2017-10-20 15:17 ` ✗ Fi.CI.IGT: " Patchwork
2017-10-20 17:08 ` Patchwork
2017-10-21 12:53 ` ✗ Fi.CI.BAT: " Patchwork
2017-10-21 13:43 ` ✗ Fi.CI.IGT: " Patchwork

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