All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t 1/5] lib/igt_fb: Call dumb_destroy ioctl in case of dumb buffers
@ 2018-10-16 22:23 ` Deepak Rawat
  0 siblings, 0 replies; 22+ messages in thread
From: Deepak Rawat @ 2018-10-16 22:23 UTC (permalink / raw)
  To: igt-dev, intel-gfx, linux-graphics-maintainer; +Cc: Deepak Rawat

vmwgfx does not support GEM interface so calling gem_close on vmwgfx
results in error.

v2: Use drmIoctl with error when ioctl() failed.

v3: Seperate ioctl wrapper.

Signed-off-by: Deepak Rawat <drawat@vmware.com>
---
 lib/igt_fb.c  |  5 ++++-
 lib/igt_kms.c | 22 ++++++++++++++++++++++
 lib/igt_kms.h |  1 +
 3 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/lib/igt_fb.c b/lib/igt_fb.c
index 35be2e88..335ece69 100644
--- a/lib/igt_fb.c
+++ b/lib/igt_fb.c
@@ -2121,7 +2121,10 @@ void igt_remove_fb(int fd, struct igt_fb *fb)
 
 	cairo_surface_destroy(fb->cairo_surface);
 	do_or_die(drmModeRmFB(fd, fb->fb_id));
-	gem_close(fd, fb->gem_handle);
+	if (fb->is_dumb)
+		kmstest_dumb_destroy(fd, fb->gem_handle);
+	else
+		gem_close(fd, fb->gem_handle);
 	fb->fb_id = 0;
 }
 
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index b2cbaa11..6e499f48 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -641,6 +641,28 @@ void *kmstest_dumb_map_buffer(int fd, uint32_t handle, uint64_t size,
 	return ptr;
 }
 
+static int __kmstest_dumb_destroy(int fd, uint32_t handle)
+{
+	struct drm_mode_destroy_dumb arg = { handle };
+	int err = 0;
+
+	if (drmIoctl(fd, DRM_IOCTL_MODE_DESTROY_DUMB, &arg))
+		err = -errno;
+
+	errno = 0;
+	return err;
+}
+
+/**
+ * kmstest_dumb_destroy:
+ * @fd: Opened drm file descriptor
+ * @handle: Offset in the file referred to by fd
+ */
+void kmstest_dumb_destroy(int fd, uint32_t handle)
+{
+	igt_assert_eq(__kmstest_dumb_destroy(fd, handle), 0);
+}
+
 /*
  * Returns: the previous mode, or KD_GRAPHICS if no /dev/tty0 was
  * found and nothing was done.
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 38fa944e..cbfcced9 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -222,6 +222,7 @@ 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);
+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, bool visibility);
-- 
2.17.1

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

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

* [igt-dev] [PATCH i-g-t 1/5] lib/igt_fb: Call dumb_destroy ioctl in case of dumb buffers
@ 2018-10-16 22:23 ` Deepak Rawat
  0 siblings, 0 replies; 22+ messages in thread
From: Deepak Rawat @ 2018-10-16 22:23 UTC (permalink / raw)
  To: igt-dev, intel-gfx, linux-graphics-maintainer; +Cc: Deepak Rawat, petri.latvala

vmwgfx does not support GEM interface so calling gem_close on vmwgfx
results in error.

v2: Use drmIoctl with error when ioctl() failed.

v3: Seperate ioctl wrapper.

Signed-off-by: Deepak Rawat <drawat@vmware.com>
---
 lib/igt_fb.c  |  5 ++++-
 lib/igt_kms.c | 22 ++++++++++++++++++++++
 lib/igt_kms.h |  1 +
 3 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/lib/igt_fb.c b/lib/igt_fb.c
index 35be2e88..335ece69 100644
--- a/lib/igt_fb.c
+++ b/lib/igt_fb.c
@@ -2121,7 +2121,10 @@ void igt_remove_fb(int fd, struct igt_fb *fb)
 
 	cairo_surface_destroy(fb->cairo_surface);
 	do_or_die(drmModeRmFB(fd, fb->fb_id));
-	gem_close(fd, fb->gem_handle);
+	if (fb->is_dumb)
+		kmstest_dumb_destroy(fd, fb->gem_handle);
+	else
+		gem_close(fd, fb->gem_handle);
 	fb->fb_id = 0;
 }
 
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index b2cbaa11..6e499f48 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -641,6 +641,28 @@ void *kmstest_dumb_map_buffer(int fd, uint32_t handle, uint64_t size,
 	return ptr;
 }
 
+static int __kmstest_dumb_destroy(int fd, uint32_t handle)
+{
+	struct drm_mode_destroy_dumb arg = { handle };
+	int err = 0;
+
+	if (drmIoctl(fd, DRM_IOCTL_MODE_DESTROY_DUMB, &arg))
+		err = -errno;
+
+	errno = 0;
+	return err;
+}
+
+/**
+ * kmstest_dumb_destroy:
+ * @fd: Opened drm file descriptor
+ * @handle: Offset in the file referred to by fd
+ */
+void kmstest_dumb_destroy(int fd, uint32_t handle)
+{
+	igt_assert_eq(__kmstest_dumb_destroy(fd, handle), 0);
+}
+
 /*
  * Returns: the previous mode, or KD_GRAPHICS if no /dev/tty0 was
  * found and nothing was done.
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 38fa944e..cbfcced9 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -222,6 +222,7 @@ 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);
+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, bool visibility);
-- 
2.17.1

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

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

* [PATCH i-g-t 2/5] lib/igt_fb: Check for cairo surface success
  2018-10-16 22:23 ` [igt-dev] " Deepak Rawat
@ 2018-10-16 22:23   ` Deepak Rawat
  -1 siblings, 0 replies; 22+ messages in thread
From: Deepak Rawat @ 2018-10-16 22:23 UTC (permalink / raw)
  To: igt-dev, intel-gfx, linux-graphics-maintainer; +Cc: Deepak Rawat

For vmwgfx cairo surface creation fails due to stride mismatch, add a
igt_require_f() for surface.

v2: Check for surface creation failure.

Signed-off-by: Deepak Rawat <drawat@vmware.com>
---
 lib/igt_fb.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/igt_fb.c b/lib/igt_fb.c
index 335ece69..1bb6d324 100644
--- a/lib/igt_fb.c
+++ b/lib/igt_fb.c
@@ -1433,6 +1433,10 @@ static void create_cairo_surface__gtt(int fd, struct igt_fb *fb)
 		cairo_image_surface_create_for_data(ptr,
 						    drm_format_to_cairo(fb->drm_format),
 						    fb->width, fb->height, fb->strides[0]);
+	igt_require_f(cairo_surface_status(fb->cairo_surface) == CAIRO_STATUS_SUCCESS,
+		      "Unable to create a cairo surface: %s\n",
+		      cairo_status_to_string(cairo_surface_status(fb->cairo_surface)));
+
 	fb->domain = I915_GEM_DOMAIN_GTT;
 
 	cairo_surface_set_user_data(fb->cairo_surface,
-- 
2.17.1

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

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

* [Intel-gfx] [PATCH i-g-t 2/5] lib/igt_fb: Check for cairo surface success
@ 2018-10-16 22:23   ` Deepak Rawat
  0 siblings, 0 replies; 22+ messages in thread
From: Deepak Rawat @ 2018-10-16 22:23 UTC (permalink / raw)
  To: igt-dev, intel-gfx, linux-graphics-maintainer; +Cc: Deepak Rawat

For vmwgfx cairo surface creation fails due to stride mismatch, add a
igt_require_f() for surface.

v2: Check for surface creation failure.

Signed-off-by: Deepak Rawat <drawat@vmware.com>
---
 lib/igt_fb.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/igt_fb.c b/lib/igt_fb.c
index 335ece69..1bb6d324 100644
--- a/lib/igt_fb.c
+++ b/lib/igt_fb.c
@@ -1433,6 +1433,10 @@ static void create_cairo_surface__gtt(int fd, struct igt_fb *fb)
 		cairo_image_surface_create_for_data(ptr,
 						    drm_format_to_cairo(fb->drm_format),
 						    fb->width, fb->height, fb->strides[0]);
+	igt_require_f(cairo_surface_status(fb->cairo_surface) == CAIRO_STATUS_SUCCESS,
+		      "Unable to create a cairo surface: %s\n",
+		      cairo_status_to_string(cairo_surface_status(fb->cairo_surface)));
+
 	fb->domain = I915_GEM_DOMAIN_GTT;
 
 	cairo_surface_set_user_data(fb->cairo_surface,
-- 
2.17.1

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

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

* [PATCH i-g-t 3/5] lib: Don't call igt_require_fb_modifiers() when no modifier
  2018-10-16 22:23 ` [igt-dev] " Deepak Rawat
@ 2018-10-16 22:23   ` Deepak Rawat
  -1 siblings, 0 replies; 22+ messages in thread
From: Deepak Rawat @ 2018-10-16 22:23 UTC (permalink / raw)
  To: igt-dev, intel-gfx, linux-graphics-maintainer; +Cc: Leo Li, Deepak Rawat

vmwgfx and amdgpu doesn't support fb modifiers, yet kms_addfb() requires
modifier support. Since many tests don't need this to run, the
requirement can be made less broad.

Therefore, tighten the requirement to cases where modifiers are actually
needed.

v2:
* In create_fb() calls to kms_addfb(), remove the modifier flag iff the
  driver doesn't support modifiers and the modifer is 0
* Don't modify the flag in kms_addfb().

Signed-off-by: Deepak Rawat <drawat@vmware.com>
Signed-off-by: Leo Li <sunpeng.li@amd.com>
---
 lib/igt_fb.c         |  7 +++++--
 lib/ioctl_wrappers.c | 24 +++++++++++++++---------
 lib/ioctl_wrappers.h |  1 +
 3 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/lib/igt_fb.c b/lib/igt_fb.c
index 1bb6d324..5dca1cfa 100644
--- a/lib/igt_fb.c
+++ b/lib/igt_fb.c
@@ -913,6 +913,7 @@ igt_create_fb_with_bo_size(int fd, int width, int height,
 	/* FIXME allow the caller to pass these in */
 	enum igt_color_encoding color_encoding = IGT_COLOR_YCBCR_BT709;
 	enum igt_color_range color_range = IGT_COLOR_YCBCR_LIMITED_RANGE;
+	uint32_t flags = 0;
 
 	fb_init(fb, fd, width, height, format, tiling,
 		color_encoding, color_range);
@@ -931,11 +932,13 @@ igt_create_fb_with_bo_size(int fd, int width, int height,
 	igt_debug("%s(handle=%d, pitch=%d)\n",
 		  __func__, fb->gem_handle, fb->strides[0]);
 
+	if (fb->tiling || igt_has_fb_modifiers(fd))
+		flags = LOCAL_DRM_MODE_FB_MODIFIERS;
+
 	do_or_die(__kms_addfb(fb->fd, fb->gem_handle,
 			      fb->width, fb->height,
 			      fb->drm_format, fb->tiling,
-			      fb->strides, fb->offsets, fb->num_planes,
-			      LOCAL_DRM_MODE_FB_MODIFIERS,
+			      fb->strides, fb->offsets, fb->num_planes, flags,
 			      &fb->fb_id));
 
 	return fb->fb_id;
diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c
index 0929c43f..10d32bec 100644
--- a/lib/ioctl_wrappers.c
+++ b/lib/ioctl_wrappers.c
@@ -1646,13 +1646,7 @@ void prime_sync_end(int dma_buf_fd, bool write)
 	do_ioctl(dma_buf_fd, LOCAL_DMA_BUF_IOCTL_SYNC, &sync_end);
 }
 
-/**
- * igt_require_fb_modifiers:
- * @fd: Open DRM file descriptor.
- *
- * Requires presence of DRM_CAP_ADDFB2_MODIFIERS.
- */
-void igt_require_fb_modifiers(int fd)
+bool igt_has_fb_modifiers(int fd)
 {
 	static bool has_modifiers, cap_modifiers_tested;
 
@@ -1666,7 +1660,18 @@ void igt_require_fb_modifiers(int fd)
 		cap_modifiers_tested = true;
 	}
 
-	igt_require(has_modifiers);
+	return has_modifiers;
+}
+
+/**
+ * igt_require_fb_modifiers:
+ * @fd: Open DRM file descriptor.
+ *
+ * Requires presence of DRM_CAP_ADDFB2_MODIFIERS.
+ */
+void igt_require_fb_modifiers(int fd)
+{
+	igt_require(igt_has_fb_modifiers(fd));
 }
 
 int __kms_addfb(int fd, uint32_t handle,
@@ -1678,7 +1683,8 @@ int __kms_addfb(int fd, uint32_t handle,
 	struct drm_mode_fb_cmd2 f;
 	int ret, i;
 
-	igt_require_fb_modifiers(fd);
+	if (flags & DRM_MODE_FB_MODIFIERS)
+		igt_require_fb_modifiers(fd);
 
 	memset(&f, 0, sizeof(f));
 
diff --git a/lib/ioctl_wrappers.h b/lib/ioctl_wrappers.h
index c4e1956c..b22b36b0 100644
--- a/lib/ioctl_wrappers.h
+++ b/lib/ioctl_wrappers.h
@@ -227,6 +227,7 @@ struct local_drm_mode_fb_cmd2 {
 
 #define LOCAL_DRM_CAP_ADDFB2_MODIFIERS	0x10
 
+bool igt_has_fb_modifiers(int fd);
 void igt_require_fb_modifiers(int fd);
 
 /**
-- 
2.17.1

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

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

* [igt-dev] [PATCH i-g-t 3/5] lib: Don't call igt_require_fb_modifiers() when no modifier
@ 2018-10-16 22:23   ` Deepak Rawat
  0 siblings, 0 replies; 22+ messages in thread
From: Deepak Rawat @ 2018-10-16 22:23 UTC (permalink / raw)
  To: igt-dev, intel-gfx, linux-graphics-maintainer; +Cc: Deepak Rawat, petri.latvala

vmwgfx and amdgpu doesn't support fb modifiers, yet kms_addfb() requires
modifier support. Since many tests don't need this to run, the
requirement can be made less broad.

Therefore, tighten the requirement to cases where modifiers are actually
needed.

v2:
* In create_fb() calls to kms_addfb(), remove the modifier flag iff the
  driver doesn't support modifiers and the modifer is 0
* Don't modify the flag in kms_addfb().

Signed-off-by: Deepak Rawat <drawat@vmware.com>
Signed-off-by: Leo Li <sunpeng.li@amd.com>
---
 lib/igt_fb.c         |  7 +++++--
 lib/ioctl_wrappers.c | 24 +++++++++++++++---------
 lib/ioctl_wrappers.h |  1 +
 3 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/lib/igt_fb.c b/lib/igt_fb.c
index 1bb6d324..5dca1cfa 100644
--- a/lib/igt_fb.c
+++ b/lib/igt_fb.c
@@ -913,6 +913,7 @@ igt_create_fb_with_bo_size(int fd, int width, int height,
 	/* FIXME allow the caller to pass these in */
 	enum igt_color_encoding color_encoding = IGT_COLOR_YCBCR_BT709;
 	enum igt_color_range color_range = IGT_COLOR_YCBCR_LIMITED_RANGE;
+	uint32_t flags = 0;
 
 	fb_init(fb, fd, width, height, format, tiling,
 		color_encoding, color_range);
@@ -931,11 +932,13 @@ igt_create_fb_with_bo_size(int fd, int width, int height,
 	igt_debug("%s(handle=%d, pitch=%d)\n",
 		  __func__, fb->gem_handle, fb->strides[0]);
 
+	if (fb->tiling || igt_has_fb_modifiers(fd))
+		flags = LOCAL_DRM_MODE_FB_MODIFIERS;
+
 	do_or_die(__kms_addfb(fb->fd, fb->gem_handle,
 			      fb->width, fb->height,
 			      fb->drm_format, fb->tiling,
-			      fb->strides, fb->offsets, fb->num_planes,
-			      LOCAL_DRM_MODE_FB_MODIFIERS,
+			      fb->strides, fb->offsets, fb->num_planes, flags,
 			      &fb->fb_id));
 
 	return fb->fb_id;
diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c
index 0929c43f..10d32bec 100644
--- a/lib/ioctl_wrappers.c
+++ b/lib/ioctl_wrappers.c
@@ -1646,13 +1646,7 @@ void prime_sync_end(int dma_buf_fd, bool write)
 	do_ioctl(dma_buf_fd, LOCAL_DMA_BUF_IOCTL_SYNC, &sync_end);
 }
 
-/**
- * igt_require_fb_modifiers:
- * @fd: Open DRM file descriptor.
- *
- * Requires presence of DRM_CAP_ADDFB2_MODIFIERS.
- */
-void igt_require_fb_modifiers(int fd)
+bool igt_has_fb_modifiers(int fd)
 {
 	static bool has_modifiers, cap_modifiers_tested;
 
@@ -1666,7 +1660,18 @@ void igt_require_fb_modifiers(int fd)
 		cap_modifiers_tested = true;
 	}
 
-	igt_require(has_modifiers);
+	return has_modifiers;
+}
+
+/**
+ * igt_require_fb_modifiers:
+ * @fd: Open DRM file descriptor.
+ *
+ * Requires presence of DRM_CAP_ADDFB2_MODIFIERS.
+ */
+void igt_require_fb_modifiers(int fd)
+{
+	igt_require(igt_has_fb_modifiers(fd));
 }
 
 int __kms_addfb(int fd, uint32_t handle,
@@ -1678,7 +1683,8 @@ int __kms_addfb(int fd, uint32_t handle,
 	struct drm_mode_fb_cmd2 f;
 	int ret, i;
 
-	igt_require_fb_modifiers(fd);
+	if (flags & DRM_MODE_FB_MODIFIERS)
+		igt_require_fb_modifiers(fd);
 
 	memset(&f, 0, sizeof(f));
 
diff --git a/lib/ioctl_wrappers.h b/lib/ioctl_wrappers.h
index c4e1956c..b22b36b0 100644
--- a/lib/ioctl_wrappers.h
+++ b/lib/ioctl_wrappers.h
@@ -227,6 +227,7 @@ struct local_drm_mode_fb_cmd2 {
 
 #define LOCAL_DRM_CAP_ADDFB2_MODIFIERS	0x10
 
+bool igt_has_fb_modifiers(int fd);
 void igt_require_fb_modifiers(int fd);
 
 /**
-- 
2.17.1

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

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

* [PATCH i-g-t 4/5] tests/kms_atomic: Add a new test case for FB_DAMAGE_CLIPS plane property
  2018-10-16 22:23 ` [igt-dev] " Deepak Rawat
@ 2018-10-16 22:23   ` Deepak Rawat
  -1 siblings, 0 replies; 22+ messages in thread
From: Deepak Rawat @ 2018-10-16 22:23 UTC (permalink / raw)
  To: igt-dev, intel-gfx, linux-graphics-maintainer; +Cc: Deepak Rawat

Some simple test cases to use FB_DAMAGE_CLIPS plane property.

Signed-off-by: Deepak Rawat <drawat@vmware.com>
---
 lib/igt_kms.c      |   1 +
 lib/igt_kms.h      |   1 +
 tests/kms_atomic.c | 260 +++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 262 insertions(+)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 6e499f48..7a3ce2f6 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -177,6 +177,7 @@ const char * const igt_plane_prop_names[IGT_NUM_PLANE_PROPS] = {
 	[IGT_PLANE_COLOR_RANGE] = "COLOR_RANGE",
 	[IGT_PLANE_PIXEL_BLEND_MODE] = "pixel blend mode",
 	[IGT_PLANE_ALPHA] = "alpha",
+	[IGT_PLANE_FB_DAMAGE_CLIPS] = "FB_DAMAGE_CLIPS",
 };
 
 const char * const igt_crtc_prop_names[IGT_NUM_CRTC_PROPS] = {
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index cbfcced9..e1c9a6a5 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -269,6 +269,7 @@ enum igt_atomic_plane_properties {
        IGT_PLANE_COLOR_RANGE,
        IGT_PLANE_PIXEL_BLEND_MODE,
        IGT_PLANE_ALPHA,
+       IGT_PLANE_FB_DAMAGE_CLIPS,
        IGT_NUM_PLANE_PROPS
 };
 
diff --git a/tests/kms_atomic.c b/tests/kms_atomic.c
index 3aad2d9a..20dfc978 100644
--- a/tests/kms_atomic.c
+++ b/tests/kms_atomic.c
@@ -56,6 +56,24 @@
 
 IGT_TEST_DESCRIPTION("Test atomic modesetting API");
 
+/* signed32 drm_mode_rect declared here for use with drm damage for page-flip */
+struct damage_rect {
+	int x1;
+	int y1;
+	int x2;
+	int y2;
+};
+
+static inline int damage_rect_width(struct damage_rect *r)
+{
+	return r->x2 - r->x1;
+}
+
+static inline int damage_rect_height(struct damage_rect *r)
+{
+	return r->y2 - r->y1;
+}
+
 enum kms_atomic_check_relax {
 	ATOMIC_RELAX_NONE = 0,
 	CRTC_RELAX_MODE = (1 << 0),
@@ -835,6 +853,240 @@ static void atomic_invalid_params(igt_pipe_t *pipe,
 	do_ioctl_err(display->drm_fd, DRM_IOCTL_MODE_ATOMIC, &ioc, EFAULT);
 }
 
+static void atomic_plane_damage(igt_pipe_t *pipe, igt_plane_t *plane, struct igt_fb *fb)
+{
+	struct damage_rect *damage;
+	struct igt_fb fb_1;
+	struct igt_fb fb_2;
+	cairo_t *cr_1;
+	cairo_t *cr_2;
+
+	damage = malloc(sizeof(*damage) * 2);
+	igt_assert(damage);
+
+	/* Color fb with white rect at center */
+	igt_create_color_fb(pipe->display->drm_fd, fb->width, fb->height,
+			    fb->drm_format, I915_TILING_NONE, 0.2, 0.2, 0.2,
+			    &fb_1);
+	cr_1 = igt_get_cairo_ctx(pipe->display->drm_fd, &fb_1);
+	igt_paint_color(cr_1, fb->width/4, fb->height/4, fb->width/2,
+			fb->height/2, 1.0, 1.0, 1.0);
+	igt_put_cairo_ctx(pipe->display->drm_fd, &fb_1, cr_1);
+
+	/*
+	 * Flip the primary plane to new color fb using atomic API and check the
+	 * state.
+	 */
+	igt_plane_set_fb(plane, &fb_1);
+	crtc_commit(pipe, plane, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
+
+	/*
+	 * Change the color of top left clip from center and issue plane update
+	 * with damage and verify the state.
+	 */
+	damage[0].x1 = 0;
+	damage[0].y1 = 0;
+	damage[0].x2 = fb->width/2;
+	damage[0].y2 = fb->height/2;
+
+	cr_1 = igt_get_cairo_ctx(pipe->display->drm_fd, &fb_1);
+	igt_paint_color(cr_1, damage[0].x1, damage[0].y1,
+			damage_rect_width(&damage[0]),
+			damage_rect_height(&damage[0]), 1.0, 0, 0);
+	igt_put_cairo_ctx(pipe->display->drm_fd, &fb_1, cr_1);
+
+	igt_plane_set_fb(plane, &fb_1);
+	igt_plane_replace_prop_blob(plane, IGT_PLANE_FB_DAMAGE_CLIPS, damage,
+				    sizeof(*damage));
+	crtc_commit(pipe, plane, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
+
+	/*
+	 * Change the color of top left and bottom right clip from center and
+	 * issue plane update with damage and verify the state.
+	 */
+	damage[0].x1 = 0;
+	damage[0].y1 = 0;
+	damage[0].x2 = fb->width/2;
+	damage[0].y2 = fb->height/2;
+
+	damage[1].x1 = fb->width/2;
+	damage[1].y1 = fb->height/2;
+	damage[1].x2 = fb->width;
+	damage[1].y2 = fb->height;
+
+	cr_1 = igt_get_cairo_ctx(pipe->display->drm_fd, &fb_1);
+	igt_paint_color(cr_1, damage[0].x1, damage[0].y1,
+			damage_rect_width(&damage[0]),
+			damage_rect_height(&damage[0]), 1.0, 0, 1.0);
+	igt_paint_color(cr_1, damage[1].x1, damage[1].y1,
+			damage_rect_width(&damage[1]),
+			damage_rect_height(&damage[1]), 0, 0, 1.0);
+	igt_put_cairo_ctx(pipe->display->drm_fd, &fb_1, cr_1);
+
+	igt_plane_set_fb(plane, &fb_1);
+	igt_plane_replace_prop_blob(plane, IGT_PLANE_FB_DAMAGE_CLIPS, damage,
+				    sizeof(*damage) * 2);
+	crtc_commit(pipe, plane, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
+
+	/*
+	 * Issue a plane update with damage on a seperate fb with damage to
+	 * upper right clip from center.
+	 */
+	igt_create_color_fb(pipe->display->drm_fd, fb->width, fb->height,
+			    fb->drm_format, I915_TILING_NONE, 0.2, 0.2, 0.2,
+			    &fb_2);
+
+	damage[0].x1 = fb->width/2;
+	damage[0].y1 = 0;
+	damage[0].x2 = fb->width;
+	damage[0].y2 = fb->height/2;
+
+	cr_2 = igt_get_cairo_ctx(pipe->display->drm_fd, &fb_2);
+	cr_1 = igt_get_cairo_ctx(pipe->display->drm_fd, &fb_1);
+	cairo_set_source_surface(cr_2, fb_1.cairo_surface, 0, 0);
+	cairo_paint(cr_2);
+	igt_paint_color(cr_2, damage[0].x1, damage[0].y1,
+			damage_rect_width(&damage[0]),
+			damage_rect_height(&damage[0]), 0, 1.0, 0);
+	igt_put_cairo_ctx(pipe->display->drm_fd, &fb_1, cr_1);
+	igt_put_cairo_ctx(pipe->display->drm_fd, &fb_2, cr_2);
+	igt_plane_set_fb(plane, &fb_2);
+	igt_plane_replace_prop_blob(plane, IGT_PLANE_FB_DAMAGE_CLIPS, damage,
+				    sizeof(*damage));
+	crtc_commit(pipe, plane, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
+
+	/*
+	 * Issue plane update with damage with a clip outside of plane src.
+	 * NOTE: This will result in no update on plane as damage is outside, so
+	 * will see no change on the screen.
+	 */
+	/* Reszie fb_1 to be bigger than plane */
+	igt_remove_fb(pipe->display->drm_fd, &fb_1);
+	igt_create_color_fb(pipe->display->drm_fd, fb->width * 2, fb->height,
+			    fb->drm_format, I915_TILING_NONE, 0.2, 0.2, 0.2,
+			    &fb_1);
+
+	damage[0].x1 = fb->width;
+	damage[0].y1 = 0;
+	damage[0].x2 = fb->width + fb->width/2;
+	damage[0].y2 = fb->height/2;
+
+	cr_1 = igt_get_cairo_ctx(pipe->display->drm_fd, &fb_1);
+	cr_2 = igt_get_cairo_ctx(pipe->display->drm_fd, &fb_2);
+	cairo_set_source_surface(cr_1, fb_2.cairo_surface, 0, 0);
+	cairo_paint(cr_1);
+	igt_paint_color(cr_1, damage[0].x1, damage[0].y1,
+			damage_rect_width(&damage[0]),
+			damage_rect_height(&damage[0]), 0, 1.0, 0);
+	igt_put_cairo_ctx(pipe->display->drm_fd, &fb_2, cr_2);
+	igt_put_cairo_ctx(pipe->display->drm_fd, &fb_1, cr_1);
+	igt_plane_set_fb(plane, &fb_1);
+	igt_plane_set_size(plane, fb->width, fb->height);
+	igt_fb_set_position(&fb_1, plane, 0, 0);
+	igt_fb_set_size(&fb_1, plane, fb->width, fb->height);
+	igt_plane_replace_prop_blob(plane, IGT_PLANE_FB_DAMAGE_CLIPS, damage,
+				    sizeof(*damage));
+	crtc_commit(pipe, plane, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
+
+	/*
+	 * Issue a plane update with damage with a clip that overlap with plane
+	 * src (Top right from center extending outside src in below case).
+	 * NOTE: Here drm core should take care of intersecting the clip to
+	 * plane src.
+	 */
+	damage[0].x1 = fb->width/2;
+	damage[0].y1 = 0;
+	damage[0].x2 = fb->width/2 + fb->width;
+	damage[0].y2 = fb->height/2;
+
+	cr_1 = igt_get_cairo_ctx(pipe->display->drm_fd, &fb_1);
+	igt_paint_color(cr_1, damage[0].x1, damage[0].y1,
+			damage_rect_width(&damage[0]),
+			damage_rect_height(&damage[0]), 1.0, 1.0, 0);
+	igt_put_cairo_ctx(pipe->display->drm_fd, &fb_1, cr_1);
+	igt_plane_set_fb(plane, &fb_1);
+	igt_plane_set_size(plane, fb->width, fb->height);
+	igt_fb_set_position(&fb_1, plane, 0, 0);
+	igt_fb_set_size(&fb_1, plane, fb->width, fb->height);
+	igt_plane_replace_prop_blob(plane, IGT_PLANE_FB_DAMAGE_CLIPS, damage,
+				    sizeof(*damage));
+	crtc_commit(pipe, plane, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
+
+	/*
+	 * Issue a plane update with damage with two clips one inside plane src
+	 * and one outside
+	 * NOTE: This will result in plane update with clip inside plane src.
+	 */
+	damage[0].x1 = 0;
+	damage[0].y1 = fb->height/2;
+	damage[0].x2 = fb->width/2;
+	damage[0].y2 = fb->height;
+
+	damage[1].x1 = fb->width + fb->width/2;
+	damage[1].y1 = fb->height/2;
+	damage[1].x2 = fb->width * 2;
+	damage[1].y2 = fb->height;
+
+	cr_1 = igt_get_cairo_ctx(pipe->display->drm_fd, &fb_1);
+	igt_paint_color(cr_1, damage[0].x1, damage[0].y1,
+			damage_rect_width(&damage[0]),
+			damage_rect_height(&damage[0]), 0, 1.0, 1.0);
+	igt_paint_color(cr_1, damage[1].x1, damage[1].y1,
+			damage_rect_width(&damage[1]),
+			damage_rect_height(&damage[1]), 0, 1.0, 0);
+	igt_put_cairo_ctx(pipe->display->drm_fd, &fb_1, cr_1);
+	igt_plane_set_fb(plane, &fb_1);
+	igt_plane_set_size(plane, fb->width, fb->height);
+	igt_fb_set_position(&fb_1, plane, 0, 0);
+	igt_fb_set_size(&fb_1, plane, fb->width, fb->height);
+	igt_plane_replace_prop_blob(plane, IGT_PLANE_FB_DAMAGE_CLIPS, damage,
+				    sizeof(*damage) * 2);
+	crtc_commit(pipe, plane, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
+
+	/*
+	 * Issue a plane update with overlapping damage clips. White rect in
+	 * center overlap partially with top left red rect.
+	 * NOTE: Drm core does not error for overlapping damage clips so if any
+	 * driver does not support overlapping should have their own
+	 * validations.
+	 */
+	damage[0].x1 = 0;
+	damage[0].y1 = 0;
+	damage[0].x2 = fb->width/2;
+	damage[0].y2 = fb->height/2;
+
+	damage[1].x1 = fb->width/4;
+	damage[1].y1 = fb->height/4;
+	damage[1].x2 = fb->width/4 + fb->width/2;
+	damage[1].y2 = fb->height/4 + fb->height/2;
+
+	cr_1 = igt_get_cairo_ctx(pipe->display->drm_fd, &fb_1);
+	igt_paint_color(cr_1, damage[0].x1, damage[0].y1,
+			damage_rect_width(&damage[0]),
+			damage_rect_height(&damage[0]), 1.0, 0, 0);
+	igt_paint_color(cr_1, damage[1].x1, damage[1].y1,
+			damage_rect_width(&damage[1]),
+			damage_rect_height(&damage[1]), 1.0, 1.0, 1.0);
+	igt_put_cairo_ctx(pipe->display->drm_fd, &fb_1, cr_1);
+	igt_plane_set_fb(plane, &fb_1);
+	igt_plane_set_size(plane, fb->width, fb->height);
+	igt_fb_set_position(&fb_1, plane, 0, 0);
+	igt_fb_set_size(&fb_1, plane, fb->width, fb->height);
+	igt_plane_replace_prop_blob(plane, IGT_PLANE_FB_DAMAGE_CLIPS, damage,
+				    sizeof(*damage) * 2);
+	crtc_commit(pipe, plane, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
+
+	/* Restore the primary plane */
+	igt_plane_set_fb(plane, fb);
+	plane_commit(plane, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
+
+	/* Remove the fb created for this test */
+	igt_remove_fb(pipe->display->drm_fd, &fb_1);
+	igt_remove_fb(pipe->display->drm_fd, &fb_2);
+
+	free(damage);
+}
+
 static void atomic_setup(igt_display_t *display, enum pipe pipe, igt_output_t *output, igt_plane_t *primary, struct igt_fb *fb)
 {
 	igt_output_set_pipe(output, pipe);
@@ -950,6 +1202,14 @@ igt_main
 		atomic_invalid_params(pipe_obj, primary, output, &fb);
 	}
 
+	igt_subtest("atomic_plane_damage") {
+		igt_require(igt_plane_has_prop(primary, IGT_PLANE_FB_DAMAGE_CLIPS));
+
+		atomic_setup(&display, pipe, output, primary, &fb);
+
+		atomic_plane_damage(pipe_obj, primary, &fb);
+	}
+
 	igt_fixture {
 		atomic_clear(&display, pipe, primary, output);
 		igt_remove_fb(display.drm_fd, &fb);
-- 
2.17.1

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

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

* [igt-dev] [PATCH i-g-t 4/5] tests/kms_atomic: Add a new test case for FB_DAMAGE_CLIPS plane property
@ 2018-10-16 22:23   ` Deepak Rawat
  0 siblings, 0 replies; 22+ messages in thread
From: Deepak Rawat @ 2018-10-16 22:23 UTC (permalink / raw)
  To: igt-dev, intel-gfx, linux-graphics-maintainer; +Cc: Deepak Rawat, petri.latvala

Some simple test cases to use FB_DAMAGE_CLIPS plane property.

Signed-off-by: Deepak Rawat <drawat@vmware.com>
---
 lib/igt_kms.c      |   1 +
 lib/igt_kms.h      |   1 +
 tests/kms_atomic.c | 260 +++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 262 insertions(+)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 6e499f48..7a3ce2f6 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -177,6 +177,7 @@ const char * const igt_plane_prop_names[IGT_NUM_PLANE_PROPS] = {
 	[IGT_PLANE_COLOR_RANGE] = "COLOR_RANGE",
 	[IGT_PLANE_PIXEL_BLEND_MODE] = "pixel blend mode",
 	[IGT_PLANE_ALPHA] = "alpha",
+	[IGT_PLANE_FB_DAMAGE_CLIPS] = "FB_DAMAGE_CLIPS",
 };
 
 const char * const igt_crtc_prop_names[IGT_NUM_CRTC_PROPS] = {
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index cbfcced9..e1c9a6a5 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -269,6 +269,7 @@ enum igt_atomic_plane_properties {
        IGT_PLANE_COLOR_RANGE,
        IGT_PLANE_PIXEL_BLEND_MODE,
        IGT_PLANE_ALPHA,
+       IGT_PLANE_FB_DAMAGE_CLIPS,
        IGT_NUM_PLANE_PROPS
 };
 
diff --git a/tests/kms_atomic.c b/tests/kms_atomic.c
index 3aad2d9a..20dfc978 100644
--- a/tests/kms_atomic.c
+++ b/tests/kms_atomic.c
@@ -56,6 +56,24 @@
 
 IGT_TEST_DESCRIPTION("Test atomic modesetting API");
 
+/* signed32 drm_mode_rect declared here for use with drm damage for page-flip */
+struct damage_rect {
+	int x1;
+	int y1;
+	int x2;
+	int y2;
+};
+
+static inline int damage_rect_width(struct damage_rect *r)
+{
+	return r->x2 - r->x1;
+}
+
+static inline int damage_rect_height(struct damage_rect *r)
+{
+	return r->y2 - r->y1;
+}
+
 enum kms_atomic_check_relax {
 	ATOMIC_RELAX_NONE = 0,
 	CRTC_RELAX_MODE = (1 << 0),
@@ -835,6 +853,240 @@ static void atomic_invalid_params(igt_pipe_t *pipe,
 	do_ioctl_err(display->drm_fd, DRM_IOCTL_MODE_ATOMIC, &ioc, EFAULT);
 }
 
+static void atomic_plane_damage(igt_pipe_t *pipe, igt_plane_t *plane, struct igt_fb *fb)
+{
+	struct damage_rect *damage;
+	struct igt_fb fb_1;
+	struct igt_fb fb_2;
+	cairo_t *cr_1;
+	cairo_t *cr_2;
+
+	damage = malloc(sizeof(*damage) * 2);
+	igt_assert(damage);
+
+	/* Color fb with white rect at center */
+	igt_create_color_fb(pipe->display->drm_fd, fb->width, fb->height,
+			    fb->drm_format, I915_TILING_NONE, 0.2, 0.2, 0.2,
+			    &fb_1);
+	cr_1 = igt_get_cairo_ctx(pipe->display->drm_fd, &fb_1);
+	igt_paint_color(cr_1, fb->width/4, fb->height/4, fb->width/2,
+			fb->height/2, 1.0, 1.0, 1.0);
+	igt_put_cairo_ctx(pipe->display->drm_fd, &fb_1, cr_1);
+
+	/*
+	 * Flip the primary plane to new color fb using atomic API and check the
+	 * state.
+	 */
+	igt_plane_set_fb(plane, &fb_1);
+	crtc_commit(pipe, plane, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
+
+	/*
+	 * Change the color of top left clip from center and issue plane update
+	 * with damage and verify the state.
+	 */
+	damage[0].x1 = 0;
+	damage[0].y1 = 0;
+	damage[0].x2 = fb->width/2;
+	damage[0].y2 = fb->height/2;
+
+	cr_1 = igt_get_cairo_ctx(pipe->display->drm_fd, &fb_1);
+	igt_paint_color(cr_1, damage[0].x1, damage[0].y1,
+			damage_rect_width(&damage[0]),
+			damage_rect_height(&damage[0]), 1.0, 0, 0);
+	igt_put_cairo_ctx(pipe->display->drm_fd, &fb_1, cr_1);
+
+	igt_plane_set_fb(plane, &fb_1);
+	igt_plane_replace_prop_blob(plane, IGT_PLANE_FB_DAMAGE_CLIPS, damage,
+				    sizeof(*damage));
+	crtc_commit(pipe, plane, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
+
+	/*
+	 * Change the color of top left and bottom right clip from center and
+	 * issue plane update with damage and verify the state.
+	 */
+	damage[0].x1 = 0;
+	damage[0].y1 = 0;
+	damage[0].x2 = fb->width/2;
+	damage[0].y2 = fb->height/2;
+
+	damage[1].x1 = fb->width/2;
+	damage[1].y1 = fb->height/2;
+	damage[1].x2 = fb->width;
+	damage[1].y2 = fb->height;
+
+	cr_1 = igt_get_cairo_ctx(pipe->display->drm_fd, &fb_1);
+	igt_paint_color(cr_1, damage[0].x1, damage[0].y1,
+			damage_rect_width(&damage[0]),
+			damage_rect_height(&damage[0]), 1.0, 0, 1.0);
+	igt_paint_color(cr_1, damage[1].x1, damage[1].y1,
+			damage_rect_width(&damage[1]),
+			damage_rect_height(&damage[1]), 0, 0, 1.0);
+	igt_put_cairo_ctx(pipe->display->drm_fd, &fb_1, cr_1);
+
+	igt_plane_set_fb(plane, &fb_1);
+	igt_plane_replace_prop_blob(plane, IGT_PLANE_FB_DAMAGE_CLIPS, damage,
+				    sizeof(*damage) * 2);
+	crtc_commit(pipe, plane, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
+
+	/*
+	 * Issue a plane update with damage on a seperate fb with damage to
+	 * upper right clip from center.
+	 */
+	igt_create_color_fb(pipe->display->drm_fd, fb->width, fb->height,
+			    fb->drm_format, I915_TILING_NONE, 0.2, 0.2, 0.2,
+			    &fb_2);
+
+	damage[0].x1 = fb->width/2;
+	damage[0].y1 = 0;
+	damage[0].x2 = fb->width;
+	damage[0].y2 = fb->height/2;
+
+	cr_2 = igt_get_cairo_ctx(pipe->display->drm_fd, &fb_2);
+	cr_1 = igt_get_cairo_ctx(pipe->display->drm_fd, &fb_1);
+	cairo_set_source_surface(cr_2, fb_1.cairo_surface, 0, 0);
+	cairo_paint(cr_2);
+	igt_paint_color(cr_2, damage[0].x1, damage[0].y1,
+			damage_rect_width(&damage[0]),
+			damage_rect_height(&damage[0]), 0, 1.0, 0);
+	igt_put_cairo_ctx(pipe->display->drm_fd, &fb_1, cr_1);
+	igt_put_cairo_ctx(pipe->display->drm_fd, &fb_2, cr_2);
+	igt_plane_set_fb(plane, &fb_2);
+	igt_plane_replace_prop_blob(plane, IGT_PLANE_FB_DAMAGE_CLIPS, damage,
+				    sizeof(*damage));
+	crtc_commit(pipe, plane, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
+
+	/*
+	 * Issue plane update with damage with a clip outside of plane src.
+	 * NOTE: This will result in no update on plane as damage is outside, so
+	 * will see no change on the screen.
+	 */
+	/* Reszie fb_1 to be bigger than plane */
+	igt_remove_fb(pipe->display->drm_fd, &fb_1);
+	igt_create_color_fb(pipe->display->drm_fd, fb->width * 2, fb->height,
+			    fb->drm_format, I915_TILING_NONE, 0.2, 0.2, 0.2,
+			    &fb_1);
+
+	damage[0].x1 = fb->width;
+	damage[0].y1 = 0;
+	damage[0].x2 = fb->width + fb->width/2;
+	damage[0].y2 = fb->height/2;
+
+	cr_1 = igt_get_cairo_ctx(pipe->display->drm_fd, &fb_1);
+	cr_2 = igt_get_cairo_ctx(pipe->display->drm_fd, &fb_2);
+	cairo_set_source_surface(cr_1, fb_2.cairo_surface, 0, 0);
+	cairo_paint(cr_1);
+	igt_paint_color(cr_1, damage[0].x1, damage[0].y1,
+			damage_rect_width(&damage[0]),
+			damage_rect_height(&damage[0]), 0, 1.0, 0);
+	igt_put_cairo_ctx(pipe->display->drm_fd, &fb_2, cr_2);
+	igt_put_cairo_ctx(pipe->display->drm_fd, &fb_1, cr_1);
+	igt_plane_set_fb(plane, &fb_1);
+	igt_plane_set_size(plane, fb->width, fb->height);
+	igt_fb_set_position(&fb_1, plane, 0, 0);
+	igt_fb_set_size(&fb_1, plane, fb->width, fb->height);
+	igt_plane_replace_prop_blob(plane, IGT_PLANE_FB_DAMAGE_CLIPS, damage,
+				    sizeof(*damage));
+	crtc_commit(pipe, plane, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
+
+	/*
+	 * Issue a plane update with damage with a clip that overlap with plane
+	 * src (Top right from center extending outside src in below case).
+	 * NOTE: Here drm core should take care of intersecting the clip to
+	 * plane src.
+	 */
+	damage[0].x1 = fb->width/2;
+	damage[0].y1 = 0;
+	damage[0].x2 = fb->width/2 + fb->width;
+	damage[0].y2 = fb->height/2;
+
+	cr_1 = igt_get_cairo_ctx(pipe->display->drm_fd, &fb_1);
+	igt_paint_color(cr_1, damage[0].x1, damage[0].y1,
+			damage_rect_width(&damage[0]),
+			damage_rect_height(&damage[0]), 1.0, 1.0, 0);
+	igt_put_cairo_ctx(pipe->display->drm_fd, &fb_1, cr_1);
+	igt_plane_set_fb(plane, &fb_1);
+	igt_plane_set_size(plane, fb->width, fb->height);
+	igt_fb_set_position(&fb_1, plane, 0, 0);
+	igt_fb_set_size(&fb_1, plane, fb->width, fb->height);
+	igt_plane_replace_prop_blob(plane, IGT_PLANE_FB_DAMAGE_CLIPS, damage,
+				    sizeof(*damage));
+	crtc_commit(pipe, plane, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
+
+	/*
+	 * Issue a plane update with damage with two clips one inside plane src
+	 * and one outside
+	 * NOTE: This will result in plane update with clip inside plane src.
+	 */
+	damage[0].x1 = 0;
+	damage[0].y1 = fb->height/2;
+	damage[0].x2 = fb->width/2;
+	damage[0].y2 = fb->height;
+
+	damage[1].x1 = fb->width + fb->width/2;
+	damage[1].y1 = fb->height/2;
+	damage[1].x2 = fb->width * 2;
+	damage[1].y2 = fb->height;
+
+	cr_1 = igt_get_cairo_ctx(pipe->display->drm_fd, &fb_1);
+	igt_paint_color(cr_1, damage[0].x1, damage[0].y1,
+			damage_rect_width(&damage[0]),
+			damage_rect_height(&damage[0]), 0, 1.0, 1.0);
+	igt_paint_color(cr_1, damage[1].x1, damage[1].y1,
+			damage_rect_width(&damage[1]),
+			damage_rect_height(&damage[1]), 0, 1.0, 0);
+	igt_put_cairo_ctx(pipe->display->drm_fd, &fb_1, cr_1);
+	igt_plane_set_fb(plane, &fb_1);
+	igt_plane_set_size(plane, fb->width, fb->height);
+	igt_fb_set_position(&fb_1, plane, 0, 0);
+	igt_fb_set_size(&fb_1, plane, fb->width, fb->height);
+	igt_plane_replace_prop_blob(plane, IGT_PLANE_FB_DAMAGE_CLIPS, damage,
+				    sizeof(*damage) * 2);
+	crtc_commit(pipe, plane, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
+
+	/*
+	 * Issue a plane update with overlapping damage clips. White rect in
+	 * center overlap partially with top left red rect.
+	 * NOTE: Drm core does not error for overlapping damage clips so if any
+	 * driver does not support overlapping should have their own
+	 * validations.
+	 */
+	damage[0].x1 = 0;
+	damage[0].y1 = 0;
+	damage[0].x2 = fb->width/2;
+	damage[0].y2 = fb->height/2;
+
+	damage[1].x1 = fb->width/4;
+	damage[1].y1 = fb->height/4;
+	damage[1].x2 = fb->width/4 + fb->width/2;
+	damage[1].y2 = fb->height/4 + fb->height/2;
+
+	cr_1 = igt_get_cairo_ctx(pipe->display->drm_fd, &fb_1);
+	igt_paint_color(cr_1, damage[0].x1, damage[0].y1,
+			damage_rect_width(&damage[0]),
+			damage_rect_height(&damage[0]), 1.0, 0, 0);
+	igt_paint_color(cr_1, damage[1].x1, damage[1].y1,
+			damage_rect_width(&damage[1]),
+			damage_rect_height(&damage[1]), 1.0, 1.0, 1.0);
+	igt_put_cairo_ctx(pipe->display->drm_fd, &fb_1, cr_1);
+	igt_plane_set_fb(plane, &fb_1);
+	igt_plane_set_size(plane, fb->width, fb->height);
+	igt_fb_set_position(&fb_1, plane, 0, 0);
+	igt_fb_set_size(&fb_1, plane, fb->width, fb->height);
+	igt_plane_replace_prop_blob(plane, IGT_PLANE_FB_DAMAGE_CLIPS, damage,
+				    sizeof(*damage) * 2);
+	crtc_commit(pipe, plane, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
+
+	/* Restore the primary plane */
+	igt_plane_set_fb(plane, fb);
+	plane_commit(plane, COMMIT_ATOMIC, ATOMIC_RELAX_NONE);
+
+	/* Remove the fb created for this test */
+	igt_remove_fb(pipe->display->drm_fd, &fb_1);
+	igt_remove_fb(pipe->display->drm_fd, &fb_2);
+
+	free(damage);
+}
+
 static void atomic_setup(igt_display_t *display, enum pipe pipe, igt_output_t *output, igt_plane_t *primary, struct igt_fb *fb)
 {
 	igt_output_set_pipe(output, pipe);
@@ -950,6 +1202,14 @@ igt_main
 		atomic_invalid_params(pipe_obj, primary, output, &fb);
 	}
 
+	igt_subtest("atomic_plane_damage") {
+		igt_require(igt_plane_has_prop(primary, IGT_PLANE_FB_DAMAGE_CLIPS));
+
+		atomic_setup(&display, pipe, output, primary, &fb);
+
+		atomic_plane_damage(pipe_obj, primary, &fb);
+	}
+
 	igt_fixture {
 		atomic_clear(&display, pipe, primary, output);
 		igt_remove_fb(display.drm_fd, &fb);
-- 
2.17.1

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

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

* [PATCH i-g-t 5/5] tests/kms_selftest: Integrate kernel selftest test-drm_modeset
  2018-10-16 22:23 ` [igt-dev] " Deepak Rawat
@ 2018-10-16 22:23   ` Deepak Rawat
  -1 siblings, 0 replies; 22+ messages in thread
From: Deepak Rawat @ 2018-10-16 22:23 UTC (permalink / raw)
  To: igt-dev, intel-gfx, linux-graphics-maintainer; +Cc: Deepak Rawat

Call kernel selftest module test-drm_modeset for testing KMS.

v2:
- Add test alphabetically.
- Add test to meson build.

v3: Rename to kms_selftest.

Signed-off-by: Deepak Rawat <drawat@vmware.com>
---
 tests/Makefile.sources    |  1 +
 tests/igt_command_line.sh |  2 +-
 tests/kms_selftest.c      | 10 ++++++++++
 tests/meson.build         |  1 +
 4 files changed, 13 insertions(+), 1 deletion(-)
 create mode 100644 tests/kms_selftest.c

diff --git a/tests/Makefile.sources b/tests/Makefile.sources
index 001f1a2b..cdf5a7e1 100644
--- a/tests/Makefile.sources
+++ b/tests/Makefile.sources
@@ -202,6 +202,7 @@ TESTS_progs = \
 	kms_pwrite_crc \
 	kms_rmfb \
 	kms_rotation_crc \
+	kms_selftest \
 	kms_setmode \
 	kms_sysfs_edid_timing \
 	kms_tv_load_detect \
diff --git a/tests/igt_command_line.sh b/tests/igt_command_line.sh
index 8285ba62..a4ec3f95 100755
--- a/tests/igt_command_line.sh
+++ b/tests/igt_command_line.sh
@@ -90,7 +90,7 @@ check_test ()
 		# Subtest enumeration of kernel selftest launchers depends
 		# on the running kernel. If selftests are not enabled,
 		# they will output nothing and exit with 0.
-		if [ "$testname" != "drv_selftest" -a "$testname" != "drm_mm" ]; then
+		if [ "$testname" != "drv_selftest" -a "$testname" != "drm_mm" -a "$testname" != "kms_selftest" ]; then
 			fail $test
 		fi
 	fi
diff --git a/tests/kms_selftest.c b/tests/kms_selftest.c
new file mode 100644
index 00000000..f61ddd99
--- /dev/null
+++ b/tests/kms_selftest.c
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include "igt.h"
+#include "igt_kmod.h"
+
+IGT_TEST_DESCRIPTION("Basic sanity check of KMS selftests.");
+
+igt_main
+{
+	igt_kselftests("test-drm_modeset", NULL, NULL, NULL);
+}
diff --git a/tests/meson.build b/tests/meson.build
index 697ff515..d74eb109 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -177,6 +177,7 @@ test_progs = [
 	'kms_pwrite_crc',
 	'kms_rmfb',
 	'kms_rotation_crc',
+	'kms_selftest',
 	'kms_setmode',
 	'kms_sysfs_edid_timing',
 	'kms_tv_load_detect',
-- 
2.17.1

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

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

* [igt-dev] [PATCH i-g-t 5/5] tests/kms_selftest: Integrate kernel selftest test-drm_modeset
@ 2018-10-16 22:23   ` Deepak Rawat
  0 siblings, 0 replies; 22+ messages in thread
From: Deepak Rawat @ 2018-10-16 22:23 UTC (permalink / raw)
  To: igt-dev, intel-gfx, linux-graphics-maintainer; +Cc: Deepak Rawat, petri.latvala

Call kernel selftest module test-drm_modeset for testing KMS.

v2:
- Add test alphabetically.
- Add test to meson build.

v3: Rename to kms_selftest.

Signed-off-by: Deepak Rawat <drawat@vmware.com>
---
 tests/Makefile.sources    |  1 +
 tests/igt_command_line.sh |  2 +-
 tests/kms_selftest.c      | 10 ++++++++++
 tests/meson.build         |  1 +
 4 files changed, 13 insertions(+), 1 deletion(-)
 create mode 100644 tests/kms_selftest.c

diff --git a/tests/Makefile.sources b/tests/Makefile.sources
index 001f1a2b..cdf5a7e1 100644
--- a/tests/Makefile.sources
+++ b/tests/Makefile.sources
@@ -202,6 +202,7 @@ TESTS_progs = \
 	kms_pwrite_crc \
 	kms_rmfb \
 	kms_rotation_crc \
+	kms_selftest \
 	kms_setmode \
 	kms_sysfs_edid_timing \
 	kms_tv_load_detect \
diff --git a/tests/igt_command_line.sh b/tests/igt_command_line.sh
index 8285ba62..a4ec3f95 100755
--- a/tests/igt_command_line.sh
+++ b/tests/igt_command_line.sh
@@ -90,7 +90,7 @@ check_test ()
 		# Subtest enumeration of kernel selftest launchers depends
 		# on the running kernel. If selftests are not enabled,
 		# they will output nothing and exit with 0.
-		if [ "$testname" != "drv_selftest" -a "$testname" != "drm_mm" ]; then
+		if [ "$testname" != "drv_selftest" -a "$testname" != "drm_mm" -a "$testname" != "kms_selftest" ]; then
 			fail $test
 		fi
 	fi
diff --git a/tests/kms_selftest.c b/tests/kms_selftest.c
new file mode 100644
index 00000000..f61ddd99
--- /dev/null
+++ b/tests/kms_selftest.c
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include "igt.h"
+#include "igt_kmod.h"
+
+IGT_TEST_DESCRIPTION("Basic sanity check of KMS selftests.");
+
+igt_main
+{
+	igt_kselftests("test-drm_modeset", NULL, NULL, NULL);
+}
diff --git a/tests/meson.build b/tests/meson.build
index 697ff515..d74eb109 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -177,6 +177,7 @@ test_progs = [
 	'kms_pwrite_crc',
 	'kms_rmfb',
 	'kms_rotation_crc',
+	'kms_selftest',
 	'kms_setmode',
 	'kms_sysfs_edid_timing',
 	'kms_tv_load_detect',
-- 
2.17.1

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

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

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/5] lib/igt_fb: Call dumb_destroy ioctl in case of dumb buffers
  2018-10-16 22:23 ` [igt-dev] " Deepak Rawat
                   ` (4 preceding siblings ...)
  (?)
@ 2018-10-17  0:09 ` Patchwork
  -1 siblings, 0 replies; 22+ messages in thread
From: Patchwork @ 2018-10-17  0:09 UTC (permalink / raw)
  To: Deepak Rawat; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/5] lib/igt_fb: Call dumb_destroy ioctl in case of dumb buffers
URL   : https://patchwork.freedesktop.org/series/51087/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4990 -> IGTPW_1955 =

== Summary - SUCCESS ==

  No regressions found.

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

== Known issues ==

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

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_exec_suspend@basic-s4-devices:
      fi-blb-e6850:       PASS -> INCOMPLETE (fdo#107718)

    
    ==== Possible fixes ====

    igt@drv_module_reload@basic-reload:
      fi-glk-j4005:       DMESG-WARN (fdo#106725, fdo#106248) -> PASS

    igt@drv_selftest@live_hangcheck:
      fi-icl-u2:          INCOMPLETE (fdo#108315) -> PASS

    igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
      fi-glk-j4005:       FAIL (fdo#106765) -> PASS

    igt@kms_flip@basic-flip-vs-dpms:
      fi-hsw-4770r:       DMESG-WARN (fdo#105602) -> PASS

    igt@kms_flip@basic-flip-vs-wf_vblank:
      fi-glk-j4005:       FAIL (fdo#100368) -> PASS

    igt@kms_flip@basic-plain-flip:
      fi-glk-j4005:       DMESG-WARN (fdo#106097) -> PASS

    igt@kms_frontbuffer_tracking@basic:
      fi-icl-u2:          FAIL (fdo#103167) -> PASS
      fi-byt-clapper:     FAIL (fdo#103167) -> PASS

    
  fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#105602 https://bugs.freedesktop.org/show_bug.cgi?id=105602
  fdo#106097 https://bugs.freedesktop.org/show_bug.cgi?id=106097
  fdo#106248 https://bugs.freedesktop.org/show_bug.cgi?id=106248
  fdo#106725 https://bugs.freedesktop.org/show_bug.cgi?id=106725
  fdo#106765 https://bugs.freedesktop.org/show_bug.cgi?id=106765
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#108315 https://bugs.freedesktop.org/show_bug.cgi?id=108315


== Participating hosts (46 -> 36) ==

  Missing    (10): fi-ilk-m540 fi-hsw-4200u fi-byt-j1900 fi-skl-guc fi-byt-squawks fi-bsw-cyan fi-apl-guc fi-snb-2520m fi-pnv-d510 fi-kbl-7560u 


== Build changes ==

    * IGT: IGT_4681 -> IGTPW_1955

  CI_DRM_4990: 0bd34d92e9a27784cb988a300619f497ca0e99ec @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1955: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1955/
  IGT_4681: 959d6f95cb1344e0c0dace5b236e17755826fac1 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools



== Testlist changes ==

+igt@kms_atomic@atomic_plane_damage

== Logs ==

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

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

* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/5] lib/igt_fb: Call dumb_destroy ioctl in case of dumb buffers
  2018-10-16 22:23 ` [igt-dev] " Deepak Rawat
                   ` (5 preceding siblings ...)
  (?)
@ 2018-10-17  2:26 ` Patchwork
  -1 siblings, 0 replies; 22+ messages in thread
From: Patchwork @ 2018-10-17  2:26 UTC (permalink / raw)
  To: Deepak Rawat; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/5] lib/igt_fb: Call dumb_destroy ioctl in case of dumb buffers
URL   : https://patchwork.freedesktop.org/series/51087/
State : success

== Summary ==

= CI Bug Log - changes from IGT_4681_full -> IGTPW_1955_full =

== Summary - WARNING ==

  Minor unknown changes coming with IGTPW_1955_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_1955_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://patchwork.freedesktop.org/api/1.0/series/51087/revisions/1/mbox/

== Possible new issues ==

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

  === IGT changes ===

    ==== Warnings ====

    igt@pm_rc6_residency@rc6-accuracy:
      shard-snb:          SKIP -> PASS

    
== Known issues ==

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

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_ctx_isolation@vcs1-s3:
      shard-kbl:          PASS -> INCOMPLETE (fdo#103665)

    igt@gem_exec_schedule@pi-ringfull-render:
      shard-glk:          NOTRUN -> FAIL (fdo#103158)

    igt@kms_available_modes_crc@available_mode_test_crc:
      shard-apl:          PASS -> FAIL (fdo#106641)

    igt@kms_busy@extended-modeset-hang-newfb-render-c:
      shard-hsw:          NOTRUN -> DMESG-WARN (fdo#107956)

    igt@kms_busy@extended-pageflip-hang-newfb-render-c:
      shard-glk:          PASS -> DMESG-WARN (fdo#107956)

    igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b:
      shard-glk:          NOTRUN -> DMESG-WARN (fdo#107956) +1
      shard-kbl:          PASS -> DMESG-WARN (fdo#107956)

    igt@kms_cursor_crc@cursor-256x85-sliding:
      shard-apl:          PASS -> FAIL (fdo#103232) +2

    igt@kms_cursor_crc@cursor-64x64-onscreen:
      shard-kbl:          PASS -> FAIL (fdo#103232)

    igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
      shard-glk:          PASS -> DMESG-WARN (fdo#106538, fdo#105763)

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite:
      shard-apl:          PASS -> FAIL (fdo#103167)
      shard-glk:          PASS -> FAIL (fdo#103167)

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move:
      shard-kbl:          PASS -> FAIL (fdo#103167) +1

    igt@kms_plane@plane-position-covered-pipe-a-planes:
      shard-glk:          PASS -> FAIL (fdo#103166) +1
      shard-kbl:          PASS -> FAIL (fdo#103166)

    igt@kms_plane_alpha_blend@pipe-a-alpha-7efc:
      shard-apl:          PASS -> FAIL (fdo#108145)
      shard-kbl:          PASS -> FAIL (fdo#108145)

    igt@kms_plane_alpha_blend@pipe-a-alpha-transparant-fb:
      shard-glk:          NOTRUN -> FAIL (fdo#108145)

    igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max:
      shard-glk:          PASS -> FAIL (fdo#108145)

    igt@kms_plane_alpha_blend@pipe-c-alpha-7efc:
      shard-glk:          NOTRUN -> FAIL (fdo#108146)

    igt@kms_plane_multiple@atomic-pipe-c-tiling-y:
      shard-glk:          NOTRUN -> FAIL (fdo#103166)

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

    igt@kms_setmode@basic:
      shard-glk:          NOTRUN -> FAIL (fdo#99912)
      shard-hsw:          NOTRUN -> FAIL (fdo#99912)
      shard-kbl:          PASS -> FAIL (fdo#99912)

    igt@perf_pmu@render-node-busy-rcs0:
      shard-apl:          PASS -> INCOMPLETE (fdo#103927)

    
    ==== Possible fixes ====

    igt@gem_exec_await@wide-contexts:
      shard-kbl:          FAIL (fdo#106680) -> PASS

    igt@gem_ppgtt@blt-vs-render-ctxn:
      shard-kbl:          INCOMPLETE (fdo#106023, fdo#103665) -> PASS

    igt@kms_busy@extended-modeset-hang-oldfb-with-reset-render-b:
      shard-apl:          DMESG-WARN (fdo#103558, fdo#105602) -> PASS +3

    igt@kms_cursor_crc@cursor-128x42-sliding:
      shard-apl:          FAIL (fdo#103232) -> PASS +1

    igt@kms_cursor_crc@cursor-256x256-onscreen:
      shard-kbl:          FAIL (fdo#103232) -> PASS

    igt@kms_cursor_crc@cursor-256x256-random:
      shard-glk:          FAIL (fdo#103232) -> PASS +2

    igt@kms_flip@basic-flip-vs-dpms:
      shard-apl:          DMESG-FAIL (fdo#103558, fdo#105602) -> PASS

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
      shard-apl:          FAIL (fdo#103167) -> PASS +3

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-onoff:
      shard-glk:          FAIL (fdo#103167) -> PASS +2
      shard-kbl:          FAIL (fdo#103167) -> PASS

    igt@kms_plane_multiple@atomic-pipe-b-tiling-yf:
      shard-kbl:          FAIL (fdo#103166) -> PASS +1
      shard-apl:          FAIL (fdo#103166) -> PASS +2

    
  fdo#103158 https://bugs.freedesktop.org/show_bug.cgi?id=103158
  fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232
  fdo#103558 https://bugs.freedesktop.org/show_bug.cgi?id=103558
  fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665
  fdo#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927
  fdo#105602 https://bugs.freedesktop.org/show_bug.cgi?id=105602
  fdo#105763 https://bugs.freedesktop.org/show_bug.cgi?id=105763
  fdo#106023 https://bugs.freedesktop.org/show_bug.cgi?id=106023
  fdo#106538 https://bugs.freedesktop.org/show_bug.cgi?id=106538
  fdo#106641 https://bugs.freedesktop.org/show_bug.cgi?id=106641
  fdo#106680 https://bugs.freedesktop.org/show_bug.cgi?id=106680
  fdo#107956 https://bugs.freedesktop.org/show_bug.cgi?id=107956
  fdo#108145 https://bugs.freedesktop.org/show_bug.cgi?id=108145
  fdo#108146 https://bugs.freedesktop.org/show_bug.cgi?id=108146
  fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912


== Participating hosts (6 -> 5) ==

  Missing    (1): shard-skl 


== Build changes ==

    * IGT: IGT_4681 -> IGTPW_1955
    * Linux: CI_DRM_4989 -> CI_DRM_4990

  CI_DRM_4989: fb12f95e5945d56c2f04f1ad4ee491e9e7c2e1c7 @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_4990: 0bd34d92e9a27784cb988a300619f497ca0e99ec @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1955: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1955/
  IGT_4681: 959d6f95cb1344e0c0dace5b236e17755826fac1 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* Re: [PATCH i-g-t 5/5] tests/kms_selftest: Integrate kernel selftest test-drm_modeset
  2018-10-16 22:23   ` [igt-dev] " Deepak Rawat
@ 2019-06-20 13:20     ` Daniel Vetter
  -1 siblings, 0 replies; 22+ messages in thread
From: Daniel Vetter @ 2019-06-20 13:20 UTC (permalink / raw)
  To: Deepak Rawat, Petri Latvala, Arkadiusz Hiler
  Cc: IGT development, intel-gfx, VMware Graphics

On Tue, Oct 16, 2018 at 03:23:41PM -0700, Deepak Rawat wrote:
> Call kernel selftest module test-drm_modeset for testing KMS.
>
> v2:
> - Add test alphabetically.
> - Add test to meson build.
>
> v3: Rename to kms_selftest.
>
> Signed-off-by: Deepak Rawat <drawat@vmware.com>

Just realized that this never landed ... any reasons? Would be nice to get
this handled.

Petri/Arek?

Cheers, Daniel


> ---
>  tests/Makefile.sources    |  1 +
>  tests/igt_command_line.sh |  2 +-
>  tests/kms_selftest.c      | 10 ++++++++++
>  tests/meson.build         |  1 +
>  4 files changed, 13 insertions(+), 1 deletion(-)
>  create mode 100644 tests/kms_selftest.c
>
> diff --git a/tests/Makefile.sources b/tests/Makefile.sources
> index 001f1a2b..cdf5a7e1 100644
> --- a/tests/Makefile.sources
> +++ b/tests/Makefile.sources
> @@ -202,6 +202,7 @@ TESTS_progs = \
>       kms_pwrite_crc \
>       kms_rmfb \
>       kms_rotation_crc \
> +     kms_selftest \
>       kms_setmode \
>       kms_sysfs_edid_timing \
>       kms_tv_load_detect \
> diff --git a/tests/igt_command_line.sh b/tests/igt_command_line.sh
> index 8285ba62..a4ec3f95 100755
> --- a/tests/igt_command_line.sh
> +++ b/tests/igt_command_line.sh
> @@ -90,7 +90,7 @@ check_test ()
>               # Subtest enumeration of kernel selftest launchers depends
>               # on the running kernel. If selftests are not enabled,
>               # they will output nothing and exit with 0.
> -             if [ "$testname" != "drv_selftest" -a "$testname" != "drm_mm" ]; then
> +             if [ "$testname" != "drv_selftest" -a "$testname" != "drm_mm" -a "$testname" != "kms_selftest" ]; then
>                       fail $test
>               fi
>       fi
> diff --git a/tests/kms_selftest.c b/tests/kms_selftest.c
> new file mode 100644
> index 00000000..f61ddd99
> --- /dev/null
> +++ b/tests/kms_selftest.c
> @@ -0,0 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +#include "igt.h"
> +#include "igt_kmod.h"
> +
> +IGT_TEST_DESCRIPTION("Basic sanity check of KMS selftests.");
> +
> +igt_main
> +{
> +     igt_kselftests("test-drm_modeset", NULL, NULL, NULL);
> +}
> diff --git a/tests/meson.build b/tests/meson.build
> index 697ff515..d74eb109 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -177,6 +177,7 @@ test_progs = [
>       'kms_pwrite_crc',
>       'kms_rmfb',
>       'kms_rotation_crc',
> +     'kms_selftest',
>       'kms_setmode',
>       'kms_sysfs_edid_timing',
>       'kms_tv_load_detect',
> --
> 2.17.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [igt-dev] [Intel-gfx] [PATCH i-g-t 5/5] tests/kms_selftest: Integrate kernel selftest test-drm_modeset
@ 2019-06-20 13:20     ` Daniel Vetter
  0 siblings, 0 replies; 22+ messages in thread
From: Daniel Vetter @ 2019-06-20 13:20 UTC (permalink / raw)
  To: Deepak Rawat, Petri Latvala, Arkadiusz Hiler
  Cc: IGT development, intel-gfx, VMware Graphics

On Tue, Oct 16, 2018 at 03:23:41PM -0700, Deepak Rawat wrote:
> Call kernel selftest module test-drm_modeset for testing KMS.
>
> v2:
> - Add test alphabetically.
> - Add test to meson build.
>
> v3: Rename to kms_selftest.
>
> Signed-off-by: Deepak Rawat <drawat@vmware.com>

Just realized that this never landed ... any reasons? Would be nice to get
this handled.

Petri/Arek?

Cheers, Daniel


> ---
>  tests/Makefile.sources    |  1 +
>  tests/igt_command_line.sh |  2 +-
>  tests/kms_selftest.c      | 10 ++++++++++
>  tests/meson.build         |  1 +
>  4 files changed, 13 insertions(+), 1 deletion(-)
>  create mode 100644 tests/kms_selftest.c
>
> diff --git a/tests/Makefile.sources b/tests/Makefile.sources
> index 001f1a2b..cdf5a7e1 100644
> --- a/tests/Makefile.sources
> +++ b/tests/Makefile.sources
> @@ -202,6 +202,7 @@ TESTS_progs = \
>       kms_pwrite_crc \
>       kms_rmfb \
>       kms_rotation_crc \
> +     kms_selftest \
>       kms_setmode \
>       kms_sysfs_edid_timing \
>       kms_tv_load_detect \
> diff --git a/tests/igt_command_line.sh b/tests/igt_command_line.sh
> index 8285ba62..a4ec3f95 100755
> --- a/tests/igt_command_line.sh
> +++ b/tests/igt_command_line.sh
> @@ -90,7 +90,7 @@ check_test ()
>               # Subtest enumeration of kernel selftest launchers depends
>               # on the running kernel. If selftests are not enabled,
>               # they will output nothing and exit with 0.
> -             if [ "$testname" != "drv_selftest" -a "$testname" != "drm_mm" ]; then
> +             if [ "$testname" != "drv_selftest" -a "$testname" != "drm_mm" -a "$testname" != "kms_selftest" ]; then
>                       fail $test
>               fi
>       fi
> diff --git a/tests/kms_selftest.c b/tests/kms_selftest.c
> new file mode 100644
> index 00000000..f61ddd99
> --- /dev/null
> +++ b/tests/kms_selftest.c
> @@ -0,0 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +#include "igt.h"
> +#include "igt_kmod.h"
> +
> +IGT_TEST_DESCRIPTION("Basic sanity check of KMS selftests.");
> +
> +igt_main
> +{
> +     igt_kselftests("test-drm_modeset", NULL, NULL, NULL);
> +}
> diff --git a/tests/meson.build b/tests/meson.build
> index 697ff515..d74eb109 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -177,6 +177,7 @@ test_progs = [
>       'kms_pwrite_crc',
>       'kms_rmfb',
>       'kms_rotation_crc',
> +     'kms_selftest',
>       'kms_setmode',
>       'kms_sysfs_edid_timing',
>       'kms_tv_load_detect',
> --
> 2.17.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [PATCH i-g-t 5/5] tests/kms_selftest: Integrate kernel selftest test-drm_modeset
  2019-06-20 13:20     ` [igt-dev] [Intel-gfx] " Daniel Vetter
@ 2019-06-25  6:01       ` Arkadiusz Hiler
  -1 siblings, 0 replies; 22+ messages in thread
From: Arkadiusz Hiler @ 2019-06-25  6:01 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: IGT development, intel-gfx, Deepak Rawat, VMware Graphics

On Thu, Jun 20, 2019 at 03:20:02PM +0200, Daniel Vetter wrote:
> On Tue, Oct 16, 2018 at 03:23:41PM -0700, Deepak Rawat wrote:
> > Call kernel selftest module test-drm_modeset for testing KMS.
> >
> > v2:
> > - Add test alphabetically.
> > - Add test to meson build.
> >
> > v3: Rename to kms_selftest.
> >
> > Signed-off-by: Deepak Rawat <drawat@vmware.com>
> 
> Just realized that this never landed ... any reasons? Would be nice to get
> this handled.
> 
> Petri/Arek?
> 
> Cheers, Daniel

What do you mean by "this never landed"?

https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/7766b1e2348b

commit 7766b1e2348b32cc8ed58a972c6fd53b20279549
Author:     Deepak Rawat <drawat@vmware.com>
AuthorDate: Tue Oct 16 15:23:41 2018 -0700
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Wed Oct 17 09:41:07 2018 +0200

tests/kms_selftest: Integrate kernel selftest test-drm_modeset

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

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

* Re: [igt-dev] [Intel-gfx] [PATCH i-g-t 5/5] tests/kms_selftest: Integrate kernel selftest test-drm_modeset
@ 2019-06-25  6:01       ` Arkadiusz Hiler
  0 siblings, 0 replies; 22+ messages in thread
From: Arkadiusz Hiler @ 2019-06-25  6:01 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: IGT development, intel-gfx, VMware Graphics, Petri Latvala

On Thu, Jun 20, 2019 at 03:20:02PM +0200, Daniel Vetter wrote:
> On Tue, Oct 16, 2018 at 03:23:41PM -0700, Deepak Rawat wrote:
> > Call kernel selftest module test-drm_modeset for testing KMS.
> >
> > v2:
> > - Add test alphabetically.
> > - Add test to meson build.
> >
> > v3: Rename to kms_selftest.
> >
> > Signed-off-by: Deepak Rawat <drawat@vmware.com>
> 
> Just realized that this never landed ... any reasons? Would be nice to get
> this handled.
> 
> Petri/Arek?
> 
> Cheers, Daniel

What do you mean by "this never landed"?

https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/7766b1e2348b

commit 7766b1e2348b32cc8ed58a972c6fd53b20279549
Author:     Deepak Rawat <drawat@vmware.com>
AuthorDate: Tue Oct 16 15:23:41 2018 -0700
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Wed Oct 17 09:41:07 2018 +0200

tests/kms_selftest: Integrate kernel selftest test-drm_modeset

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

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

* Re: [PATCH i-g-t 5/5] tests/kms_selftest: Integrate kernel selftest test-drm_modeset
  2019-06-25  6:01       ` [igt-dev] [Intel-gfx] " Arkadiusz Hiler
@ 2019-06-25 15:37         ` Daniel Vetter
  -1 siblings, 0 replies; 22+ messages in thread
From: Daniel Vetter @ 2019-06-25 15:37 UTC (permalink / raw)
  To: Arkadiusz Hiler; +Cc: intel-gfx, IGT development, VMware Graphics, Deepak Rawat

On Tue, Jun 25, 2019 at 09:01:32AM +0300, Arkadiusz Hiler wrote:
> On Thu, Jun 20, 2019 at 03:20:02PM +0200, Daniel Vetter wrote:
> > On Tue, Oct 16, 2018 at 03:23:41PM -0700, Deepak Rawat wrote:
> > > Call kernel selftest module test-drm_modeset for testing KMS.
> > >
> > > v2:
> > > - Add test alphabetically.
> > > - Add test to meson build.
> > >
> > > v3: Rename to kms_selftest.
> > >
> > > Signed-off-by: Deepak Rawat <drawat@vmware.com>
> > 
> > Just realized that this never landed ... any reasons? Would be nice to get
> > this handled.
> > 
> > Petri/Arek?
> > 
> > Cheers, Daniel
> 
> What do you mean by "this never landed"?
> 
> https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/7766b1e2348b
> 
> commit 7766b1e2348b32cc8ed58a972c6fd53b20279549
> Author:     Deepak Rawat <drawat@vmware.com>
> AuthorDate: Tue Oct 16 15:23:41 2018 -0700
> Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
> CommitDate: Wed Oct 17 09:41:07 2018 +0200
> 
> tests/kms_selftest: Integrate kernel selftest test-drm_modeset

Hm not sure what I looked at, but it wasnt there. Sorry for the noise.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [igt-dev] [Intel-gfx] [PATCH i-g-t 5/5] tests/kms_selftest: Integrate kernel selftest test-drm_modeset
@ 2019-06-25 15:37         ` Daniel Vetter
  0 siblings, 0 replies; 22+ messages in thread
From: Daniel Vetter @ 2019-06-25 15:37 UTC (permalink / raw)
  To: Arkadiusz Hiler
  Cc: Petri Latvala, intel-gfx, IGT development, VMware Graphics,
	Daniel Vetter

On Tue, Jun 25, 2019 at 09:01:32AM +0300, Arkadiusz Hiler wrote:
> On Thu, Jun 20, 2019 at 03:20:02PM +0200, Daniel Vetter wrote:
> > On Tue, Oct 16, 2018 at 03:23:41PM -0700, Deepak Rawat wrote:
> > > Call kernel selftest module test-drm_modeset for testing KMS.
> > >
> > > v2:
> > > - Add test alphabetically.
> > > - Add test to meson build.
> > >
> > > v3: Rename to kms_selftest.
> > >
> > > Signed-off-by: Deepak Rawat <drawat@vmware.com>
> > 
> > Just realized that this never landed ... any reasons? Would be nice to get
> > this handled.
> > 
> > Petri/Arek?
> > 
> > Cheers, Daniel
> 
> What do you mean by "this never landed"?
> 
> https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/7766b1e2348b
> 
> commit 7766b1e2348b32cc8ed58a972c6fd53b20279549
> Author:     Deepak Rawat <drawat@vmware.com>
> AuthorDate: Tue Oct 16 15:23:41 2018 -0700
> Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
> CommitDate: Wed Oct 17 09:41:07 2018 +0200
> 
> tests/kms_selftest: Integrate kernel selftest test-drm_modeset

Hm not sure what I looked at, but it wasnt there. Sorry for the noise.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [PATCH i-g-t 5/5] tests/kms_selftest: Integrate kernel selftest test-drm_modeset
  2019-06-25 15:37         ` [igt-dev] [Intel-gfx] " Daniel Vetter
@ 2019-07-03 10:37           ` Daniel Vetter
  -1 siblings, 0 replies; 22+ messages in thread
From: Daniel Vetter @ 2019-07-03 10:37 UTC (permalink / raw)
  To: Arkadiusz Hiler; +Cc: intel-gfx, IGT development, VMware Graphics, Deepak Rawat

On Tue, Jun 25, 2019 at 05:37:01PM +0200, Daniel Vetter wrote:
> On Tue, Jun 25, 2019 at 09:01:32AM +0300, Arkadiusz Hiler wrote:
> > On Thu, Jun 20, 2019 at 03:20:02PM +0200, Daniel Vetter wrote:
> > > On Tue, Oct 16, 2018 at 03:23:41PM -0700, Deepak Rawat wrote:
> > > > Call kernel selftest module test-drm_modeset for testing KMS.
> > > >
> > > > v2:
> > > > - Add test alphabetically.
> > > > - Add test to meson build.
> > > >
> > > > v3: Rename to kms_selftest.
> > > >
> > > > Signed-off-by: Deepak Rawat <drawat@vmware.com>
> > > 
> > > Just realized that this never landed ... any reasons? Would be nice to get
> > > this handled.
> > > 
> > > Petri/Arek?
> > > 
> > > Cheers, Daniel
> > 
> > What do you mean by "this never landed"?
> > 
> > https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/7766b1e2348b
> > 
> > commit 7766b1e2348b32cc8ed58a972c6fd53b20279549
> > Author:     Deepak Rawat <drawat@vmware.com>
> > AuthorDate: Tue Oct 16 15:23:41 2018 -0700
> > Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
> > CommitDate: Wed Oct 17 09:41:07 2018 +0200
> > 
> > tests/kms_selftest: Integrate kernel selftest test-drm_modeset
> 
> Hm not sure what I looked at, but it wasnt there. Sorry for the noise.

Ok this one here landed, but the other 4 didn't ... Can we unblock them
somehow? Or any hold-up? Would be nice to have igts for at least the more
recently added uapi, especially when the tests exist ...
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [igt-dev] [Intel-gfx] [PATCH i-g-t 5/5] tests/kms_selftest: Integrate kernel selftest test-drm_modeset
@ 2019-07-03 10:37           ` Daniel Vetter
  0 siblings, 0 replies; 22+ messages in thread
From: Daniel Vetter @ 2019-07-03 10:37 UTC (permalink / raw)
  To: Arkadiusz Hiler
  Cc: Petri Latvala, intel-gfx, IGT development, VMware Graphics,
	Daniel Vetter

On Tue, Jun 25, 2019 at 05:37:01PM +0200, Daniel Vetter wrote:
> On Tue, Jun 25, 2019 at 09:01:32AM +0300, Arkadiusz Hiler wrote:
> > On Thu, Jun 20, 2019 at 03:20:02PM +0200, Daniel Vetter wrote:
> > > On Tue, Oct 16, 2018 at 03:23:41PM -0700, Deepak Rawat wrote:
> > > > Call kernel selftest module test-drm_modeset for testing KMS.
> > > >
> > > > v2:
> > > > - Add test alphabetically.
> > > > - Add test to meson build.
> > > >
> > > > v3: Rename to kms_selftest.
> > > >
> > > > Signed-off-by: Deepak Rawat <drawat@vmware.com>
> > > 
> > > Just realized that this never landed ... any reasons? Would be nice to get
> > > this handled.
> > > 
> > > Petri/Arek?
> > > 
> > > Cheers, Daniel
> > 
> > What do you mean by "this never landed"?
> > 
> > https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/7766b1e2348b
> > 
> > commit 7766b1e2348b32cc8ed58a972c6fd53b20279549
> > Author:     Deepak Rawat <drawat@vmware.com>
> > AuthorDate: Tue Oct 16 15:23:41 2018 -0700
> > Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
> > CommitDate: Wed Oct 17 09:41:07 2018 +0200
> > 
> > tests/kms_selftest: Integrate kernel selftest test-drm_modeset
> 
> Hm not sure what I looked at, but it wasnt there. Sorry for the noise.

Ok this one here landed, but the other 4 didn't ... Can we unblock them
somehow? Or any hold-up? Would be nice to have igts for at least the more
recently added uapi, especially when the tests exist ...
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [PATCH i-g-t 5/5] tests/kms_selftest: Integrate kernel selftest test-drm_modeset
  2019-07-03 10:37           ` [igt-dev] [Intel-gfx] " Daniel Vetter
@ 2019-07-03 10:53             ` Arkadiusz Hiler
  -1 siblings, 0 replies; 22+ messages in thread
From: Arkadiusz Hiler @ 2019-07-03 10:53 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: IGT development, intel-gfx, Deepak Rawat, VMware Graphics

On Wed, Jul 03, 2019 at 12:37:46PM +0200, Daniel Vetter wrote:
> On Tue, Jun 25, 2019 at 05:37:01PM +0200, Daniel Vetter wrote:
> > On Tue, Jun 25, 2019 at 09:01:32AM +0300, Arkadiusz Hiler wrote:
> > > On Thu, Jun 20, 2019 at 03:20:02PM +0200, Daniel Vetter wrote:
> > > > On Tue, Oct 16, 2018 at 03:23:41PM -0700, Deepak Rawat wrote:
> > > > > Call kernel selftest module test-drm_modeset for testing KMS.
> > > > >
> > > > > v2:
> > > > > - Add test alphabetically.
> > > > > - Add test to meson build.
> > > > >
> > > > > v3: Rename to kms_selftest.
> > > > >
> > > > > Signed-off-by: Deepak Rawat <drawat@vmware.com>
> > > > 
> > > > Just realized that this never landed ... any reasons? Would be nice to get
> > > > this handled.
> > > > 
> > > > Petri/Arek?
> > > > 
> > > > Cheers, Daniel
> > > 
> > > What do you mean by "this never landed"?
> > > 
> > > https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/7766b1e2348b
> > > 
> > > commit 7766b1e2348b32cc8ed58a972c6fd53b20279549
> > > Author:     Deepak Rawat <drawat@vmware.com>
> > > AuthorDate: Tue Oct 16 15:23:41 2018 -0700
> > > Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
> > > CommitDate: Wed Oct 17 09:41:07 2018 +0200
> > > 
> > > tests/kms_selftest: Integrate kernel selftest test-drm_modeset
> > 
> > Hm not sure what I looked at, but it wasnt there. Sorry for the noise.
> 
> Ok this one here landed, but the other 4 didn't ... Can we unblock them
> somehow? Or any hold-up? Would be nice to have igts for at least the more
> recently added uapi, especially when the tests exist ...
> -Daniel

I guess you are talking about https://patchwork.freedesktop.org/series/51087/

Seems like patches 1, 2, 3 and 5 are merged (see below).

The only patch that was not merged is "Some simple test cases to use
FB_DAMAGE_CLIPS plane property.":
https://patchwork.freedesktop.org/patch/257081/?series=51087&rev=1

Sorry but I jut feel lost here. Can you provide more context?
So what exactely haven't landed? What is still missing?


Looking through the archives it's impossible to tell what exactely
happened there. I have no idea why the 4th patch was left out and why
the other patches lack rb or ack and just have a second s-o-b.


commit 7766b1e2348b32cc8ed58a972c6fd53b20279549
Author:     Deepak Rawat <drawat@vmware.com>
AuthorDate: Tue Oct 16 15:23:41 2018 -0700
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Wed Oct 17 09:41:07 2018 +0200

    tests/kms_selftest: Integrate kernel selftest test-drm_modeset

    Call kernel selftest module test-drm_modeset for testing KMS.

    v2:
    - Add test alphabetically.
    - Add test to meson build.

    v3: Rename to kms_selftest.

    Signed-off-by: Deepak Rawat <drawat@vmware.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

commit 759af708db65d8f9fc2218e3445cfb903c8be72a
Author:     Deepak Rawat <drawat@vmware.com>
AuthorDate: Tue Oct 16 15:23:39 2018 -0700
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Wed Oct 17 09:41:00 2018 +0200

    lib: Don't call igt_require_fb_modifiers() when no modifier

    vmwgfx and amdgpu doesn't support fb modifiers, yet kms_addfb() requires
    modifier support. Since many tests don't need this to run, the
    requirement can be made less broad.

    Therefore, tighten the requirement to cases where modifiers are actually
    needed.

    v2:
    * In create_fb() calls to kms_addfb(), remove the modifier flag iff the
      driver doesn't support modifiers and the modifer is 0
    * Don't modify the flag in kms_addfb().

    Signed-off-by: Deepak Rawat <drawat@vmware.com>
    Signed-off-by: Leo Li <sunpeng.li@amd.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

commit c7034c780629b6f678dfe5021c38bc820a34e19d
Author:     Deepak Rawat <drawat@vmware.com>
AuthorDate: Tue Oct 16 15:23:38 2018 -0700
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Wed Oct 17 09:40:55 2018 +0200

    lib/igt_fb: Check for cairo surface success

    For vmwgfx cairo surface creation fails due to stride mismatch, add a
    igt_require_f() for surface.

    v2: Check for surface creation failure.

    Signed-off-by: Deepak Rawat <drawat@vmware.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

commit 4ca3d1de874bd269b37055f1a4cc6de04ea2d050
Author:     Deepak Rawat <drawat@vmware.com>
AuthorDate: Tue Oct 16 15:23:37 2018 -0700
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Wed Oct 17 09:40:51 2018 +0200

    lib/igt_fb: Call dumb_destroy ioctl in case of dumb buffers

    vmwgfx does not support GEM interface so calling gem_close on vmwgfx
    results in error.

    v2: Use drmIoctl with error when ioctl() failed.

    v3: Seperate ioctl wrapper.

    Signed-off-by: Deepak Rawat <drawat@vmware.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [igt-dev] [Intel-gfx] [PATCH i-g-t 5/5] tests/kms_selftest: Integrate kernel selftest test-drm_modeset
@ 2019-07-03 10:53             ` Arkadiusz Hiler
  0 siblings, 0 replies; 22+ messages in thread
From: Arkadiusz Hiler @ 2019-07-03 10:53 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: IGT development, intel-gfx, VMware Graphics, Petri Latvala

On Wed, Jul 03, 2019 at 12:37:46PM +0200, Daniel Vetter wrote:
> On Tue, Jun 25, 2019 at 05:37:01PM +0200, Daniel Vetter wrote:
> > On Tue, Jun 25, 2019 at 09:01:32AM +0300, Arkadiusz Hiler wrote:
> > > On Thu, Jun 20, 2019 at 03:20:02PM +0200, Daniel Vetter wrote:
> > > > On Tue, Oct 16, 2018 at 03:23:41PM -0700, Deepak Rawat wrote:
> > > > > Call kernel selftest module test-drm_modeset for testing KMS.
> > > > >
> > > > > v2:
> > > > > - Add test alphabetically.
> > > > > - Add test to meson build.
> > > > >
> > > > > v3: Rename to kms_selftest.
> > > > >
> > > > > Signed-off-by: Deepak Rawat <drawat@vmware.com>
> > > > 
> > > > Just realized that this never landed ... any reasons? Would be nice to get
> > > > this handled.
> > > > 
> > > > Petri/Arek?
> > > > 
> > > > Cheers, Daniel
> > > 
> > > What do you mean by "this never landed"?
> > > 
> > > https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/7766b1e2348b
> > > 
> > > commit 7766b1e2348b32cc8ed58a972c6fd53b20279549
> > > Author:     Deepak Rawat <drawat@vmware.com>
> > > AuthorDate: Tue Oct 16 15:23:41 2018 -0700
> > > Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
> > > CommitDate: Wed Oct 17 09:41:07 2018 +0200
> > > 
> > > tests/kms_selftest: Integrate kernel selftest test-drm_modeset
> > 
> > Hm not sure what I looked at, but it wasnt there. Sorry for the noise.
> 
> Ok this one here landed, but the other 4 didn't ... Can we unblock them
> somehow? Or any hold-up? Would be nice to have igts for at least the more
> recently added uapi, especially when the tests exist ...
> -Daniel

I guess you are talking about https://patchwork.freedesktop.org/series/51087/

Seems like patches 1, 2, 3 and 5 are merged (see below).

The only patch that was not merged is "Some simple test cases to use
FB_DAMAGE_CLIPS plane property.":
https://patchwork.freedesktop.org/patch/257081/?series=51087&rev=1

Sorry but I jut feel lost here. Can you provide more context?
So what exactely haven't landed? What is still missing?


Looking through the archives it's impossible to tell what exactely
happened there. I have no idea why the 4th patch was left out and why
the other patches lack rb or ack and just have a second s-o-b.


commit 7766b1e2348b32cc8ed58a972c6fd53b20279549
Author:     Deepak Rawat <drawat@vmware.com>
AuthorDate: Tue Oct 16 15:23:41 2018 -0700
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Wed Oct 17 09:41:07 2018 +0200

    tests/kms_selftest: Integrate kernel selftest test-drm_modeset

    Call kernel selftest module test-drm_modeset for testing KMS.

    v2:
    - Add test alphabetically.
    - Add test to meson build.

    v3: Rename to kms_selftest.

    Signed-off-by: Deepak Rawat <drawat@vmware.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

commit 759af708db65d8f9fc2218e3445cfb903c8be72a
Author:     Deepak Rawat <drawat@vmware.com>
AuthorDate: Tue Oct 16 15:23:39 2018 -0700
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Wed Oct 17 09:41:00 2018 +0200

    lib: Don't call igt_require_fb_modifiers() when no modifier

    vmwgfx and amdgpu doesn't support fb modifiers, yet kms_addfb() requires
    modifier support. Since many tests don't need this to run, the
    requirement can be made less broad.

    Therefore, tighten the requirement to cases where modifiers are actually
    needed.

    v2:
    * In create_fb() calls to kms_addfb(), remove the modifier flag iff the
      driver doesn't support modifiers and the modifer is 0
    * Don't modify the flag in kms_addfb().

    Signed-off-by: Deepak Rawat <drawat@vmware.com>
    Signed-off-by: Leo Li <sunpeng.li@amd.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

commit c7034c780629b6f678dfe5021c38bc820a34e19d
Author:     Deepak Rawat <drawat@vmware.com>
AuthorDate: Tue Oct 16 15:23:38 2018 -0700
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Wed Oct 17 09:40:55 2018 +0200

    lib/igt_fb: Check for cairo surface success

    For vmwgfx cairo surface creation fails due to stride mismatch, add a
    igt_require_f() for surface.

    v2: Check for surface creation failure.

    Signed-off-by: Deepak Rawat <drawat@vmware.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

commit 4ca3d1de874bd269b37055f1a4cc6de04ea2d050
Author:     Deepak Rawat <drawat@vmware.com>
AuthorDate: Tue Oct 16 15:23:37 2018 -0700
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Wed Oct 17 09:40:51 2018 +0200

    lib/igt_fb: Call dumb_destroy ioctl in case of dumb buffers

    vmwgfx does not support GEM interface so calling gem_close on vmwgfx
    results in error.

    v2: Use drmIoctl with error when ioctl() failed.

    v3: Seperate ioctl wrapper.

    Signed-off-by: Deepak Rawat <drawat@vmware.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2019-07-03 10:53 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-16 22:23 [PATCH i-g-t 1/5] lib/igt_fb: Call dumb_destroy ioctl in case of dumb buffers Deepak Rawat
2018-10-16 22:23 ` [igt-dev] " Deepak Rawat
2018-10-16 22:23 ` [PATCH i-g-t 2/5] lib/igt_fb: Check for cairo surface success Deepak Rawat
2018-10-16 22:23   ` [Intel-gfx] " Deepak Rawat
2018-10-16 22:23 ` [PATCH i-g-t 3/5] lib: Don't call igt_require_fb_modifiers() when no modifier Deepak Rawat
2018-10-16 22:23   ` [igt-dev] " Deepak Rawat
2018-10-16 22:23 ` [PATCH i-g-t 4/5] tests/kms_atomic: Add a new test case for FB_DAMAGE_CLIPS plane property Deepak Rawat
2018-10-16 22:23   ` [igt-dev] " Deepak Rawat
2018-10-16 22:23 ` [PATCH i-g-t 5/5] tests/kms_selftest: Integrate kernel selftest test-drm_modeset Deepak Rawat
2018-10-16 22:23   ` [igt-dev] " Deepak Rawat
2019-06-20 13:20   ` Daniel Vetter
2019-06-20 13:20     ` [igt-dev] [Intel-gfx] " Daniel Vetter
2019-06-25  6:01     ` Arkadiusz Hiler
2019-06-25  6:01       ` [igt-dev] [Intel-gfx] " Arkadiusz Hiler
2019-06-25 15:37       ` Daniel Vetter
2019-06-25 15:37         ` [igt-dev] [Intel-gfx] " Daniel Vetter
2019-07-03 10:37         ` Daniel Vetter
2019-07-03 10:37           ` [igt-dev] [Intel-gfx] " Daniel Vetter
2019-07-03 10:53           ` Arkadiusz Hiler
2019-07-03 10:53             ` [igt-dev] [Intel-gfx] " Arkadiusz Hiler
2018-10-17  0:09 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/5] lib/igt_fb: Call dumb_destroy ioctl in case of dumb buffers Patchwork
2018-10-17  2:26 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

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