public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH V2 i-g-t] lib: Drop __kms_addfb() wrapper
@ 2019-05-19 23:00 Rodrigo Siqueira
  2019-05-19 23:33 ` [igt-dev] ✗ Fi.CI.BAT: failure for " Patchwork
  2019-05-20  6:22 ` [igt-dev] [PATCH V2 i-g-t] " Ser, Simon
  0 siblings, 2 replies; 4+ messages in thread
From: Rodrigo Siqueira @ 2019-05-19 23:00 UTC (permalink / raw)
  To: Petri Latvala, Arkadiusz Hiler, Chris Wilson; +Cc: igt-dev, intel-gfx


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

The function __kms_addfb() and drmModeAddFB2WithModifiers() have a
similar code. Due to this similarity, this commit replaces all the
occurrences of  __kms_addfb() by drmModeAddFB2WithModifiers() and adds
the required adaptations.

V1: Arkadiusz Hiler
 - Fix array initialization
 - Drop __kms_addfb()

Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
---
 lib/igt_fb.c                    | 14 +++++++++-----
 lib/ioctl_wrappers.c            | 33 ---------------------------------
 lib/ioctl_wrappers.h            | 11 -----------
 tests/kms_available_modes_crc.c | 14 +++++++++-----
 tests/kms_draw_crc.c            | 10 ++++++----
 tests/prime_vgem.c              | 14 ++++++++------
 6 files changed, 32 insertions(+), 64 deletions(-)

diff --git a/lib/igt_fb.c b/lib/igt_fb.c
index d4929019..bac3b21c 100644
--- a/lib/igt_fb.c
+++ b/lib/igt_fb.c
@@ -1235,6 +1235,9 @@ igt_create_fb_with_bo_size(int fd, int width, int height,
 			   struct igt_fb *fb, uint64_t bo_size,
 			   unsigned bo_stride)
 {
+	uint32_t handles[4] = {};
+	uint64_t modifiers[4] = {};
+
 	/* 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;
@@ -1262,11 +1265,12 @@ igt_create_fb_with_bo_size(int fd, int width, int height,
 	if (fb->modifier || 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->modifier,
-			      fb->strides, fb->offsets, fb->num_planes, flags,
-			      &fb->fb_id));
+	memset(handles, fb->gem_handle, fb->num_planes);
+	memset(modifiers, modifier, fb->num_planes);
+	do_or_die(drmModeAddFB2WithModifiers(fb->fd, fb->width, fb->height,
+					     fb->drm_format, handles,
+					     fb->strides, fb->offsets,
+					     modifiers, &fb->fb_id, flags));
 
 	return fb->fb_id;
 }
diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c
index 280fdd62..0f00971d 100644
--- a/lib/ioctl_wrappers.c
+++ b/lib/ioctl_wrappers.c
@@ -1453,36 +1453,3 @@ void igt_require_fb_modifiers(int fd)
 {
 	igt_require(igt_has_fb_modifiers(fd));
 }
-
-int __kms_addfb(int fd, uint32_t handle,
-		uint32_t width, uint32_t height,
-		uint32_t pixel_format, uint64_t modifier,
-		uint32_t strides[4], uint32_t offsets[4],
-		int num_planes, uint32_t flags, uint32_t *buf_id)
-{
-	struct drm_mode_fb_cmd2 f;
-	int ret, i;
-
-	if (flags & DRM_MODE_FB_MODIFIERS)
-		igt_require_fb_modifiers(fd);
-
-	memset(&f, 0, sizeof(f));
-
-	f.width  = width;
-	f.height = height;
-	f.pixel_format = pixel_format;
-	f.flags = flags;
-
-	for (i = 0; i < num_planes; i++) {
-		f.handles[i] = handle;
-		f.modifier[i] = modifier;
-		f.pitches[i] = strides[i];
-		f.offsets[i] = offsets[i];
-	}
-
-	ret = igt_ioctl(fd, DRM_IOCTL_MODE_ADDFB2, &f);
-
-	*buf_id = f.fb_id;
-
-	return ret < 0 ? -errno : ret;
-}
diff --git a/lib/ioctl_wrappers.h b/lib/ioctl_wrappers.h
index 03211c97..4afc3e09 100644
--- a/lib/ioctl_wrappers.h
+++ b/lib/ioctl_wrappers.h
@@ -209,17 +209,6 @@ struct local_drm_mode_fb_cmd2 {
 bool igt_has_fb_modifiers(int fd);
 void igt_require_fb_modifiers(int fd);
 
-/**
- * __kms_addfb:
- *
- * Creates a framebuffer object.
- */
-int __kms_addfb(int fd, uint32_t handle,
-		uint32_t width, uint32_t height,
-		uint32_t pixel_format, uint64_t modifier,
-		uint32_t strides[4], uint32_t offsets[4],
-		int num_planes, uint32_t flags, uint32_t *buf_id);
-
 /**
  * to_user_pointer:
  *
diff --git a/tests/kms_available_modes_crc.c b/tests/kms_available_modes_crc.c
index 50b5522a..9e5f1fd5 100644
--- a/tests/kms_available_modes_crc.c
+++ b/tests/kms_available_modes_crc.c
@@ -172,9 +172,10 @@ static bool setup_fb(data_t *data, igt_output_t *output, igt_plane_t *plane,
 {
 	drmModeModeInfo *mode;
 	uint64_t w, h;
+	uint32_t handles[4] = {};
+	uint64_t modifiers[4] = {};
 	signed ret, gemsize = 0;
 	unsigned tile_width, tile_height;
-	int num_planes = 1;
 	uint64_t tiling;
 	int bpp = 0;
 	int i;
@@ -225,10 +226,13 @@ static bool setup_fb(data_t *data, igt_output_t *output, igt_plane_t *plane,
 
 	igt_assert_eq(ret, 0);
 
-	ret = __kms_addfb(data->gfx_fd, data->gem_handle, w, h,
-			  format, tiling, data->fb.strides, data->fb.offsets,
-			  num_planes, LOCAL_DRM_MODE_FB_MODIFIERS,
-			  &data->fb.fb_id);
+	memset(handles, data->gem_handle, 1);
+	memset(modifiers, tiling, 1);
+	ret = drmModeAddFB2WithModifiers(data->gfx_fd, w, h, format,
+					 handles, data->fb.strides,
+					 data->fb.offsets, modifiers,
+					 &data->fb.fb_id,
+					 LOCAL_DRM_MODE_FB_MODIFIERS);
 
 	if(ret < 0) {
 		igt_info("Creating fb for format %s failed, return code %d\n",
diff --git a/tests/kms_draw_crc.c b/tests/kms_draw_crc.c
index ea14db9a..507e6a7c 100644
--- a/tests/kms_draw_crc.c
+++ b/tests/kms_draw_crc.c
@@ -155,17 +155,19 @@ static void get_method_crc(enum igt_draw_method method, uint32_t drm_format,
 
 static bool format_is_supported(uint32_t format, uint64_t modifier)
 {
-	uint32_t gem_handle, fb_id;
+	uint32_t gem_handle, fb_id, handles[4] = {};
 	unsigned int offsets[4] = {};
 	unsigned int strides[4] = {};
+	uint64_t modifiers[4] = {};
 	int ret;
 
 	gem_handle = igt_create_bo_with_dimensions(drm_fd, 64, 64,
 						   format, modifier,
 						   0, NULL, &strides[0], NULL);
-	ret =  __kms_addfb(drm_fd, gem_handle, 64, 64,
-			   format, modifier, strides, offsets, 1,
-			   LOCAL_DRM_MODE_FB_MODIFIERS, &fb_id);
+	memset(handles, gem_handle, 1);
+	ret = drmModeAddFB2WithModifiers(drm_fd, 64, 64, format, handles,
+					 strides, offsets, modifiers, &fb_id,
+					 LOCAL_DRM_MODE_FB_MODIFIERS);
 	drmModeRmFB(drm_fd, fb_id);
 	gem_close(drm_fd, gem_handle);
 
diff --git a/tests/prime_vgem.c b/tests/prime_vgem.c
index 09e3373b..286957e8 100644
--- a/tests/prime_vgem.c
+++ b/tests/prime_vgem.c
@@ -761,6 +761,7 @@ static void test_flip(int i915, int vgem, unsigned hang)
 	for (int i = 0; i < 2; i++) {
 		uint32_t strides[4] = {};
 		uint32_t offsets[4] = {};
+		uint32_t handles[4] = {};
 		int fd;
 
 		bo[i].width = mode->hdisplay;
@@ -776,12 +777,13 @@ static void test_flip(int i915, int vgem, unsigned hang)
 		strides[0] = bo[i].pitch;
 
 		/* May skip if i915 has no displays */
-		igt_require(__kms_addfb(i915, handle[i],
-					bo[i].width, bo[i].height,
-					DRM_FORMAT_XRGB8888, I915_TILING_NONE,
-					strides, offsets, 1,
-					LOCAL_DRM_MODE_FB_MODIFIERS,
-					&fb_id[i]) == 0);
+		memset(handles, handle[i],1);
+		igt_require(drmModeAddFB2WithModifiers(i915, bo[i].width, bo[i].height,
+						       DRM_FORMAT_XRGB8888,
+						       handles, strides, offsets,
+						       I915_TILING_NONE, &fb_id[i],
+						       LOCAL_DRM_MODE_FB_MODIFIERS) == 0);
+
 		igt_assert(fb_id[i]);
 	}
 
-- 
2.21.0

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

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

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

* [igt-dev] ✗ Fi.CI.BAT: failure for lib: Drop __kms_addfb() wrapper
  2019-05-19 23:00 [igt-dev] [PATCH V2 i-g-t] lib: Drop __kms_addfb() wrapper Rodrigo Siqueira
@ 2019-05-19 23:33 ` Patchwork
  2019-05-20  6:22 ` [igt-dev] [PATCH V2 i-g-t] " Ser, Simon
  1 sibling, 0 replies; 4+ messages in thread
From: Patchwork @ 2019-05-19 23:33 UTC (permalink / raw)
  To: Rodrigo Siqueira; +Cc: igt-dev

== Series Details ==

Series: lib: Drop __kms_addfb() wrapper
URL   : https://patchwork.freedesktop.org/series/60833/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6097 -> IGTPW_3003
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_3003 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_3003, 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/60833/revisions/1/mbox/

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@kms_busy@basic-flip-a:
    - fi-kbl-7567u:       [PASS][1] -> [FAIL][2] +3 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-kbl-7567u/igt@kms_busy@basic-flip-a.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-kbl-7567u/igt@kms_busy@basic-flip-a.html
    - fi-apl-guc:         [PASS][3] -> [FAIL][4] +3 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-apl-guc/igt@kms_busy@basic-flip-a.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-apl-guc/igt@kms_busy@basic-flip-a.html
    - fi-whl-u:           [PASS][5] -> [FAIL][6] +3 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-whl-u/igt@kms_busy@basic-flip-a.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-whl-u/igt@kms_busy@basic-flip-a.html
    - fi-byt-n2820:       [PASS][7] -> [FAIL][8] +2 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-byt-n2820/igt@kms_busy@basic-flip-a.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-byt-n2820/igt@kms_busy@basic-flip-a.html
    - fi-skl-6700k2:      [PASS][9] -> [FAIL][10] +3 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-skl-6700k2/igt@kms_busy@basic-flip-a.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-skl-6700k2/igt@kms_busy@basic-flip-a.html
    - fi-elk-e7500:       [PASS][11] -> [FAIL][12] +1 similar issue
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-elk-e7500/igt@kms_busy@basic-flip-a.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-elk-e7500/igt@kms_busy@basic-flip-a.html
    - fi-byt-j1900:       [PASS][13] -> [FAIL][14] +2 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-byt-j1900/igt@kms_busy@basic-flip-a.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-byt-j1900/igt@kms_busy@basic-flip-a.html
    - fi-skl-lmem:        [PASS][15] -> [FAIL][16] +3 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-skl-lmem/igt@kms_busy@basic-flip-a.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-skl-lmem/igt@kms_busy@basic-flip-a.html
    - fi-skl-iommu:       [PASS][17] -> [FAIL][18] +3 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-skl-iommu/igt@kms_busy@basic-flip-a.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-skl-iommu/igt@kms_busy@basic-flip-a.html
    - fi-snb-2600:        [PASS][19] -> [FAIL][20] +2 similar issues
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-snb-2600/igt@kms_busy@basic-flip-a.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-snb-2600/igt@kms_busy@basic-flip-a.html
    - fi-kbl-x1275:       [PASS][21] -> [FAIL][22] +3 similar issues
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-kbl-x1275/igt@kms_busy@basic-flip-a.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-kbl-x1275/igt@kms_busy@basic-flip-a.html
    - fi-skl-6260u:       [PASS][23] -> [FAIL][24] +3 similar issues
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-skl-6260u/igt@kms_busy@basic-flip-a.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-skl-6260u/igt@kms_busy@basic-flip-a.html
    - fi-bdw-gvtdvm:      [PASS][25] -> [FAIL][26] +3 similar issues
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-bdw-gvtdvm/igt@kms_busy@basic-flip-a.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-bdw-gvtdvm/igt@kms_busy@basic-flip-a.html
    - fi-snb-2520m:       [PASS][27] -> [FAIL][28] +2 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-snb-2520m/igt@kms_busy@basic-flip-a.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-snb-2520m/igt@kms_busy@basic-flip-a.html

  * igt@kms_busy@basic-flip-b:
    - fi-bdw-5557u:       [PASS][29] -> [FAIL][30] +3 similar issues
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-bdw-5557u/igt@kms_busy@basic-flip-b.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-bdw-5557u/igt@kms_busy@basic-flip-b.html
    - fi-skl-gvtdvm:      [PASS][31] -> [FAIL][32] +3 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-skl-gvtdvm/igt@kms_busy@basic-flip-b.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-skl-gvtdvm/igt@kms_busy@basic-flip-b.html
    - fi-cfl-guc:         [PASS][33] -> [FAIL][34] +3 similar issues
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-cfl-guc/igt@kms_busy@basic-flip-b.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-cfl-guc/igt@kms_busy@basic-flip-b.html
    - fi-skl-guc:         [PASS][35] -> [FAIL][36] +3 similar issues
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-skl-guc/igt@kms_busy@basic-flip-b.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-skl-guc/igt@kms_busy@basic-flip-b.html
    - fi-blb-e6850:       [PASS][37] -> [FAIL][38] +1 similar issue
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-blb-e6850/igt@kms_busy@basic-flip-b.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-blb-e6850/igt@kms_busy@basic-flip-b.html
    - fi-cfl-8700k:       [PASS][39] -> [FAIL][40] +3 similar issues
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-cfl-8700k/igt@kms_busy@basic-flip-b.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-cfl-8700k/igt@kms_busy@basic-flip-b.html
    - fi-pnv-d510:        NOTRUN -> [FAIL][41] +1 similar issue
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-pnv-d510/igt@kms_busy@basic-flip-b.html

  * igt@kms_busy@basic-flip-c:
    - fi-cfl-8109u:       [PASS][42] -> [FAIL][43] +3 similar issues
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-cfl-8109u/igt@kms_busy@basic-flip-c.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-cfl-8109u/igt@kms_busy@basic-flip-c.html
    - fi-skl-6770hq:      [PASS][44] -> [FAIL][45] +3 similar issues
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-skl-6770hq/igt@kms_busy@basic-flip-c.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-skl-6770hq/igt@kms_busy@basic-flip-c.html
    - fi-hsw-peppy:       [PASS][46] -> [FAIL][47] +3 similar issues
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-hsw-peppy/igt@kms_busy@basic-flip-c.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-hsw-peppy/igt@kms_busy@basic-flip-c.html
    - fi-hsw-4770r:       [PASS][48] -> [FAIL][49] +3 similar issues
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-hsw-4770r/igt@kms_busy@basic-flip-c.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-hsw-4770r/igt@kms_busy@basic-flip-c.html
    - fi-kbl-7500u:       [PASS][50] -> [FAIL][51] +3 similar issues
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-kbl-7500u/igt@kms_busy@basic-flip-c.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-kbl-7500u/igt@kms_busy@basic-flip-c.html
    - fi-glk-dsi:         [PASS][52] -> [FAIL][53] +3 similar issues
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-glk-dsi/igt@kms_busy@basic-flip-c.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-glk-dsi/igt@kms_busy@basic-flip-c.html

  * igt@kms_frontbuffer_tracking@basic:
    - fi-bsw-n3050:       [PASS][54] -> [FAIL][55] +1 similar issue
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-bsw-n3050/igt@kms_frontbuffer_tracking@basic.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-bsw-n3050/igt@kms_frontbuffer_tracking@basic.html
    - fi-bxt-j4205:       [PASS][56] -> [FAIL][57] +3 similar issues
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-bxt-j4205/igt@kms_frontbuffer_tracking@basic.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-bxt-j4205/igt@kms_frontbuffer_tracking@basic.html
    - fi-bsw-kefka:       [PASS][58] -> [FAIL][59] +2 similar issues
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-bsw-kefka/igt@kms_frontbuffer_tracking@basic.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-bsw-kefka/igt@kms_frontbuffer_tracking@basic.html
    - fi-bxt-dsi:         [PASS][60] -> [FAIL][61] +3 similar issues
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-bxt-dsi/igt@kms_frontbuffer_tracking@basic.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-bxt-dsi/igt@kms_frontbuffer_tracking@basic.html
    - fi-ivb-3770:        [PASS][62] -> [FAIL][63] +3 similar issues
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-ivb-3770/igt@kms_frontbuffer_tracking@basic.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-ivb-3770/igt@kms_frontbuffer_tracking@basic.html
    - fi-hsw-4770:        [PASS][64] -> [FAIL][65] +3 similar issues
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-hsw-4770/igt@kms_frontbuffer_tracking@basic.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-hsw-4770/igt@kms_frontbuffer_tracking@basic.html
    - fi-ilk-650:         [PASS][66] -> [FAIL][67] +2 similar issues
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-ilk-650/igt@kms_frontbuffer_tracking@basic.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-ilk-650/igt@kms_frontbuffer_tracking@basic.html

  * igt@kms_psr@cursor_plane_move:
    - fi-kbl-r:           [PASS][68] -> [FAIL][69] +7 similar issues
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-kbl-r/igt@kms_psr@cursor_plane_move.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-kbl-r/igt@kms_psr@cursor_plane_move.html
    - fi-icl-u2:          [PASS][70] -> [FAIL][71] +7 similar issues
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-icl-u2/igt@kms_psr@cursor_plane_move.html
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-icl-u2/igt@kms_psr@cursor_plane_move.html

  * igt@kms_psr@primary_page_flip:
    - fi-skl-6600u:       [PASS][72] -> [FAIL][73] +7 similar issues
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-skl-6600u/igt@kms_psr@primary_page_flip.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-skl-6600u/igt@kms_psr@primary_page_flip.html

  
#### Warnings ####

  * igt@kms_frontbuffer_tracking@basic:
    - fi-elk-e7500:       [SKIP][74] ([fdo#109271]) -> [FAIL][75]
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-elk-e7500/igt@kms_frontbuffer_tracking@basic.html
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-elk-e7500/igt@kms_frontbuffer_tracking@basic.html

  * igt@kms_psr@cursor_plane_move:
    - fi-whl-u:           [FAIL][76] ([fdo#107383]) -> [FAIL][77] +3 similar issues
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-whl-u/igt@kms_psr@cursor_plane_move.html
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-whl-u/igt@kms_psr@cursor_plane_move.html

  
#### Suppressed ####

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

  * igt@kms_busy@basic-flip-a:
    - {fi-icl-dsi}:       [PASS][78] -> [FAIL][79] +3 similar issues
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-icl-dsi/igt@kms_busy@basic-flip-a.html
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-icl-dsi/igt@kms_busy@basic-flip-a.html

  * igt@kms_busy@basic-flip-c:
    - {fi-icl-y}:         [PASS][80] -> [FAIL][81] +3 similar issues
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-icl-y/igt@kms_busy@basic-flip-c.html
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-icl-y/igt@kms_busy@basic-flip-c.html

  * igt@kms_frontbuffer_tracking@basic:
    - {fi-cml-u}:         [PASS][82] -> [FAIL][83] +7 similar issues
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-cml-u/igt@kms_frontbuffer_tracking@basic.html
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-cml-u/igt@kms_frontbuffer_tracking@basic.html
    - {fi-cml-u2}:        [PASS][84] -> [FAIL][85] +7 similar issues
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-cml-u2/igt@kms_frontbuffer_tracking@basic.html
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-cml-u2/igt@kms_frontbuffer_tracking@basic.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_pm_rpm@module-reload:
    - fi-skl-6770hq:      [PASS][86] -> [FAIL][87] ([fdo#108511])
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html

  
#### Possible fixes ####

  * igt@amdgpu/amd_basic@userptr:
    - fi-kbl-8809g:       [DMESG-WARN][88] ([fdo#108965]) -> [PASS][89]
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-kbl-8809g/igt@amdgpu/amd_basic@userptr.html
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-kbl-8809g/igt@amdgpu/amd_basic@userptr.html

  * igt@kms_flip@basic-flip-vs-dpms:
    - {fi-icl-dsi}:       [DMESG-WARN][90] ([fdo#107724]) -> [PASS][91]
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-icl-dsi/igt@kms_flip@basic-flip-vs-dpms.html
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-icl-dsi/igt@kms_flip@basic-flip-vs-dpms.html

  
#### Warnings ####

  * igt@i915_selftest@live_hangcheck:
    - fi-apl-guc:         [FAIL][92] ([fdo#110623]) -> [DMESG-FAIL][93] ([fdo#110620])
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-apl-guc/igt@i915_selftest@live_hangcheck.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-apl-guc/igt@i915_selftest@live_hangcheck.html

  * igt@runner@aborted:
    - fi-skl-iommu:       [FAIL][94] ([fdo#104108] / [fdo#108602]) -> [FAIL][95] ([fdo#104108])
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6097/fi-skl-iommu/igt@runner@aborted.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/fi-skl-iommu/igt@runner@aborted.html

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

  [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108
  [fdo#107383]: https://bugs.freedesktop.org/show_bug.cgi?id=107383
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#108511]: https://bugs.freedesktop.org/show_bug.cgi?id=108511
  [fdo#108602]: https://bugs.freedesktop.org/show_bug.cgi?id=108602
  [fdo#108965]: https://bugs.freedesktop.org/show_bug.cgi?id=108965
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#110620]: https://bugs.freedesktop.org/show_bug.cgi?id=110620
  [fdo#110623]: https://bugs.freedesktop.org/show_bug.cgi?id=110623


Participating hosts (52 -> 43)
------------------------------

  Additional (1): fi-pnv-d510 
  Missing    (10): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-bwr-2160 fi-ctg-p8600 fi-gdg-551 fi-icl-u3 fi-byt-clapper fi-bdw-samus 


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

  * IGT: IGT_4996 -> IGTPW_3003

  CI_DRM_6097: 3f2d6a47d9eec66594887b1e9718bc1a29aa6a77 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_3003: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3003/
  IGT_4996: 6fe5d254ec1b9b47d61408e1b49a7339876bf1e7 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* Re: [igt-dev] [PATCH V2 i-g-t] lib: Drop __kms_addfb() wrapper
  2019-05-19 23:00 [igt-dev] [PATCH V2 i-g-t] lib: Drop __kms_addfb() wrapper Rodrigo Siqueira
  2019-05-19 23:33 ` [igt-dev] ✗ Fi.CI.BAT: failure for " Patchwork
@ 2019-05-20  6:22 ` Ser, Simon
  2019-05-20 23:42   ` Rodrigo Siqueira
  1 sibling, 1 reply; 4+ messages in thread
From: Ser, Simon @ 2019-05-20  6:22 UTC (permalink / raw)
  To: Hiler, Arkadiusz, Latvala, Petri, rodrigosiqueiramelo@gmail.com,
	chris@chris-wilson.co.uk
  Cc: igt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org

Hi Rodrigo,

On Sun, 2019-05-19 at 20:00 -0300, Rodrigo Siqueira wrote:
> The function __kms_addfb() and drmModeAddFB2WithModifiers() have a
> similar code. Due to this similarity, this commit replaces all the
> occurrences of  __kms_addfb() by drmModeAddFB2WithModifiers() and adds
> the required adaptations.
> 
> V1: Arkadiusz Hiler
>  - Fix array initialization
>  - Drop __kms_addfb()
> 
> Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
> ---
>  lib/igt_fb.c                    | 14 +++++++++-----
>  lib/ioctl_wrappers.c            | 33 ---------------------------------
>  lib/ioctl_wrappers.h            | 11 -----------
>  tests/kms_available_modes_crc.c | 14 +++++++++-----
>  tests/kms_draw_crc.c            | 10 ++++++----
>  tests/prime_vgem.c              | 14 ++++++++------
>  6 files changed, 32 insertions(+), 64 deletions(-)
> 
> diff --git a/lib/igt_fb.c b/lib/igt_fb.c
> index d4929019..bac3b21c 100644
> --- a/lib/igt_fb.c
> +++ b/lib/igt_fb.c
> @@ -1235,6 +1235,9 @@ igt_create_fb_with_bo_size(int fd, int width, int height,
>  			   struct igt_fb *fb, uint64_t bo_size,
>  			   unsigned bo_stride)
>  {
> +	uint32_t handles[4] = {};
> +	uint64_t modifiers[4] = {};
> +
>  	/* 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;
> @@ -1262,11 +1265,12 @@ igt_create_fb_with_bo_size(int fd, int width, int height,
>  	if (fb->modifier || 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->modifier,
> -			      fb->strides, fb->offsets, fb->num_planes, flags,
> -			      &fb->fb_id));
> +	memset(handles, fb->gem_handle, fb->num_planes);
> +	memset(modifiers, modifier, fb->num_planes);

memset is only able to fill bytes. This won't work for larger values.

> +	do_or_die(drmModeAddFB2WithModifiers(fb->fd, fb->width, fb->height,
> +					     fb->drm_format, handles,
> +					     fb->strides, fb->offsets,
> +					     modifiers, &fb->fb_id, flags));
>  
>  	return fb->fb_id;
>  }
> diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c
> index 280fdd62..0f00971d 100644
> --- a/lib/ioctl_wrappers.c
> +++ b/lib/ioctl_wrappers.c
> @@ -1453,36 +1453,3 @@ void igt_require_fb_modifiers(int fd)
>  {
>  	igt_require(igt_has_fb_modifiers(fd));
>  }
> -
> -int __kms_addfb(int fd, uint32_t handle,
> -		uint32_t width, uint32_t height,
> -		uint32_t pixel_format, uint64_t modifier,
> -		uint32_t strides[4], uint32_t offsets[4],
> -		int num_planes, uint32_t flags, uint32_t *buf_id)
> -{
> -	struct drm_mode_fb_cmd2 f;
> -	int ret, i;
> -
> -	if (flags & DRM_MODE_FB_MODIFIERS)
> -		igt_require_fb_modifiers(fd);
> -
> -	memset(&f, 0, sizeof(f));
> -
> -	f.width  = width;
> -	f.height = height;
> -	f.pixel_format = pixel_format;
> -	f.flags = flags;
> -
> -	for (i = 0; i < num_planes; i++) {
> -		f.handles[i] = handle;
> -		f.modifier[i] = modifier;
> -		f.pitches[i] = strides[i];
> -		f.offsets[i] = offsets[i];
> -	}
> -
> -	ret = igt_ioctl(fd, DRM_IOCTL_MODE_ADDFB2, &f);
> -
> -	*buf_id = f.fb_id;
> -
> -	return ret < 0 ? -errno : ret;
> -}
> diff --git a/lib/ioctl_wrappers.h b/lib/ioctl_wrappers.h
> index 03211c97..4afc3e09 100644
> --- a/lib/ioctl_wrappers.h
> +++ b/lib/ioctl_wrappers.h
> @@ -209,17 +209,6 @@ struct local_drm_mode_fb_cmd2 {
>  bool igt_has_fb_modifiers(int fd);
>  void igt_require_fb_modifiers(int fd);
>  
> -/**
> - * __kms_addfb:
> - *
> - * Creates a framebuffer object.
> - */
> -int __kms_addfb(int fd, uint32_t handle,
> -		uint32_t width, uint32_t height,
> -		uint32_t pixel_format, uint64_t modifier,
> -		uint32_t strides[4], uint32_t offsets[4],
> -		int num_planes, uint32_t flags, uint32_t *buf_id);
> -
>  /**
>   * to_user_pointer:
>   *
> diff --git a/tests/kms_available_modes_crc.c b/tests/kms_available_modes_crc.c
> index 50b5522a..9e5f1fd5 100644
> --- a/tests/kms_available_modes_crc.c
> +++ b/tests/kms_available_modes_crc.c
> @@ -172,9 +172,10 @@ static bool setup_fb(data_t *data, igt_output_t *output, igt_plane_t *plane,
>  {
>  	drmModeModeInfo *mode;
>  	uint64_t w, h;
> +	uint32_t handles[4] = {};
> +	uint64_t modifiers[4] = {};
>  	signed ret, gemsize = 0;
>  	unsigned tile_width, tile_height;
> -	int num_planes = 1;
>  	uint64_t tiling;
>  	int bpp = 0;
>  	int i;
> @@ -225,10 +226,13 @@ static bool setup_fb(data_t *data, igt_output_t *output, igt_plane_t *plane,
>  
>  	igt_assert_eq(ret, 0);
>  
> -	ret = __kms_addfb(data->gfx_fd, data->gem_handle, w, h,
> -			  format, tiling, data->fb.strides, data->fb.offsets,
> -			  num_planes, LOCAL_DRM_MODE_FB_MODIFIERS,
> -			  &data->fb.fb_id);
> +	memset(handles, data->gem_handle, 1);
> +	memset(modifiers, tiling, 1);

Ditto.

> +	ret = drmModeAddFB2WithModifiers(data->gfx_fd, w, h, format,
> +					 handles, data->fb.strides,
> +					 data->fb.offsets, modifiers,
> +					 &data->fb.fb_id,
> +					 LOCAL_DRM_MODE_FB_MODIFIERS);
>  
>  	if(ret < 0) {
>  		igt_info("Creating fb for format %s failed, return code %d\n",
> diff --git a/tests/kms_draw_crc.c b/tests/kms_draw_crc.c
> index ea14db9a..507e6a7c 100644
> --- a/tests/kms_draw_crc.c
> +++ b/tests/kms_draw_crc.c
> @@ -155,17 +155,19 @@ static void get_method_crc(enum igt_draw_method method, uint32_t drm_format,
>  
>  static bool format_is_supported(uint32_t format, uint64_t modifier)
>  {
> -	uint32_t gem_handle, fb_id;
> +	uint32_t gem_handle, fb_id, handles[4] = {};
>  	unsigned int offsets[4] = {};
>  	unsigned int strides[4] = {};
> +	uint64_t modifiers[4] = {};
>  	int ret;
>  
>  	gem_handle = igt_create_bo_with_dimensions(drm_fd, 64, 64,
>  						   format, modifier,
>  						   0, NULL, &strides[0], NULL);
> -	ret =  __kms_addfb(drm_fd, gem_handle, 64, 64,
> -			   format, modifier, strides, offsets, 1,
> -			   LOCAL_DRM_MODE_FB_MODIFIERS, &fb_id);
> +	memset(handles, gem_handle, 1);

Ditto

> +	ret = drmModeAddFB2WithModifiers(drm_fd, 64, 64, format, handles,
> +					 strides, offsets, modifiers, &fb_id,
> +					 LOCAL_DRM_MODE_FB_MODIFIERS);
>  	drmModeRmFB(drm_fd, fb_id);
>  	gem_close(drm_fd, gem_handle);
>  
> diff --git a/tests/prime_vgem.c b/tests/prime_vgem.c
> index 09e3373b..286957e8 100644
> --- a/tests/prime_vgem.c
> +++ b/tests/prime_vgem.c
> @@ -761,6 +761,7 @@ static void test_flip(int i915, int vgem, unsigned hang)
>  	for (int i = 0; i < 2; i++) {
>  		uint32_t strides[4] = {};
>  		uint32_t offsets[4] = {};
> +		uint32_t handles[4] = {};
>  		int fd;
>  
>  		bo[i].width = mode->hdisplay;
> @@ -776,12 +777,13 @@ static void test_flip(int i915, int vgem, unsigned hang)
>  		strides[0] = bo[i].pitch;
>  
>  		/* May skip if i915 has no displays */
> -		igt_require(__kms_addfb(i915, handle[i],
> -					bo[i].width, bo[i].height,
> -					DRM_FORMAT_XRGB8888, I915_TILING_NONE,
> -					strides, offsets, 1,
> -					LOCAL_DRM_MODE_FB_MODIFIERS,
> -					&fb_id[i]) == 0);
> +		memset(handles, handle[i],1);

Ditto

(Style: missing space after comma)

> +		igt_require(drmModeAddFB2WithModifiers(i915, bo[i].width, bo[i].height,
> +						       DRM_FORMAT_XRGB8888,
> +						       handles, strides, offsets,
> +						       I915_TILING_NONE, &fb_id[i],
> +						       LOCAL_DRM_MODE_FB_MODIFIERS) == 0);
> +
>  		igt_assert(fb_id[i]);
>  	}
>  
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH V2 i-g-t] lib: Drop __kms_addfb() wrapper
  2019-05-20  6:22 ` [igt-dev] [PATCH V2 i-g-t] " Ser, Simon
@ 2019-05-20 23:42   ` Rodrigo Siqueira
  0 siblings, 0 replies; 4+ messages in thread
From: Rodrigo Siqueira @ 2019-05-20 23:42 UTC (permalink / raw)
  To: Ser, Simon
  Cc: igt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	Latvala, Petri

Hi Simon,

Thank you very much for your review. I'll fix the issue in the next version.

On Mon, May 20, 2019 at 3:22 AM Ser, Simon <simon.ser@intel.com> wrote:
>
> Hi Rodrigo,
>
> On Sun, 2019-05-19 at 20:00 -0300, Rodrigo Siqueira wrote:
> > The function __kms_addfb() and drmModeAddFB2WithModifiers() have a
> > similar code. Due to this similarity, this commit replaces all the
> > occurrences of  __kms_addfb() by drmModeAddFB2WithModifiers() and adds
> > the required adaptations.
> >
> > V1: Arkadiusz Hiler
> >  - Fix array initialization
> >  - Drop __kms_addfb()
> >
> > Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
> > ---
> >  lib/igt_fb.c                    | 14 +++++++++-----
> >  lib/ioctl_wrappers.c            | 33 ---------------------------------
> >  lib/ioctl_wrappers.h            | 11 -----------
> >  tests/kms_available_modes_crc.c | 14 +++++++++-----
> >  tests/kms_draw_crc.c            | 10 ++++++----
> >  tests/prime_vgem.c              | 14 ++++++++------
> >  6 files changed, 32 insertions(+), 64 deletions(-)
> >
> > diff --git a/lib/igt_fb.c b/lib/igt_fb.c
> > index d4929019..bac3b21c 100644
> > --- a/lib/igt_fb.c
> > +++ b/lib/igt_fb.c
> > @@ -1235,6 +1235,9 @@ igt_create_fb_with_bo_size(int fd, int width, int height,
> >                          struct igt_fb *fb, uint64_t bo_size,
> >                          unsigned bo_stride)
> >  {
> > +     uint32_t handles[4] = {};
> > +     uint64_t modifiers[4] = {};
> > +
> >       /* 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;
> > @@ -1262,11 +1265,12 @@ igt_create_fb_with_bo_size(int fd, int width, int height,
> >       if (fb->modifier || 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->modifier,
> > -                           fb->strides, fb->offsets, fb->num_planes, flags,
> > -                           &fb->fb_id));
> > +     memset(handles, fb->gem_handle, fb->num_planes);
> > +     memset(modifiers, modifier, fb->num_planes);
>
> memset is only able to fill bytes. This won't work for larger values.
>
> > +     do_or_die(drmModeAddFB2WithModifiers(fb->fd, fb->width, fb->height,
> > +                                          fb->drm_format, handles,
> > +                                          fb->strides, fb->offsets,
> > +                                          modifiers, &fb->fb_id, flags));
> >
> >       return fb->fb_id;
> >  }
> > diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c
> > index 280fdd62..0f00971d 100644
> > --- a/lib/ioctl_wrappers.c
> > +++ b/lib/ioctl_wrappers.c
> > @@ -1453,36 +1453,3 @@ void igt_require_fb_modifiers(int fd)
> >  {
> >       igt_require(igt_has_fb_modifiers(fd));
> >  }
> > -
> > -int __kms_addfb(int fd, uint32_t handle,
> > -             uint32_t width, uint32_t height,
> > -             uint32_t pixel_format, uint64_t modifier,
> > -             uint32_t strides[4], uint32_t offsets[4],
> > -             int num_planes, uint32_t flags, uint32_t *buf_id)
> > -{
> > -     struct drm_mode_fb_cmd2 f;
> > -     int ret, i;
> > -
> > -     if (flags & DRM_MODE_FB_MODIFIERS)
> > -             igt_require_fb_modifiers(fd);
> > -
> > -     memset(&f, 0, sizeof(f));
> > -
> > -     f.width  = width;
> > -     f.height = height;
> > -     f.pixel_format = pixel_format;
> > -     f.flags = flags;
> > -
> > -     for (i = 0; i < num_planes; i++) {
> > -             f.handles[i] = handle;
> > -             f.modifier[i] = modifier;
> > -             f.pitches[i] = strides[i];
> > -             f.offsets[i] = offsets[i];
> > -     }
> > -
> > -     ret = igt_ioctl(fd, DRM_IOCTL_MODE_ADDFB2, &f);
> > -
> > -     *buf_id = f.fb_id;
> > -
> > -     return ret < 0 ? -errno : ret;
> > -}
> > diff --git a/lib/ioctl_wrappers.h b/lib/ioctl_wrappers.h
> > index 03211c97..4afc3e09 100644
> > --- a/lib/ioctl_wrappers.h
> > +++ b/lib/ioctl_wrappers.h
> > @@ -209,17 +209,6 @@ struct local_drm_mode_fb_cmd2 {
> >  bool igt_has_fb_modifiers(int fd);
> >  void igt_require_fb_modifiers(int fd);
> >
> > -/**
> > - * __kms_addfb:
> > - *
> > - * Creates a framebuffer object.
> > - */
> > -int __kms_addfb(int fd, uint32_t handle,
> > -             uint32_t width, uint32_t height,
> > -             uint32_t pixel_format, uint64_t modifier,
> > -             uint32_t strides[4], uint32_t offsets[4],
> > -             int num_planes, uint32_t flags, uint32_t *buf_id);
> > -
> >  /**
> >   * to_user_pointer:
> >   *
> > diff --git a/tests/kms_available_modes_crc.c b/tests/kms_available_modes_crc.c
> > index 50b5522a..9e5f1fd5 100644
> > --- a/tests/kms_available_modes_crc.c
> > +++ b/tests/kms_available_modes_crc.c
> > @@ -172,9 +172,10 @@ static bool setup_fb(data_t *data, igt_output_t *output, igt_plane_t *plane,
> >  {
> >       drmModeModeInfo *mode;
> >       uint64_t w, h;
> > +     uint32_t handles[4] = {};
> > +     uint64_t modifiers[4] = {};
> >       signed ret, gemsize = 0;
> >       unsigned tile_width, tile_height;
> > -     int num_planes = 1;
> >       uint64_t tiling;
> >       int bpp = 0;
> >       int i;
> > @@ -225,10 +226,13 @@ static bool setup_fb(data_t *data, igt_output_t *output, igt_plane_t *plane,
> >
> >       igt_assert_eq(ret, 0);
> >
> > -     ret = __kms_addfb(data->gfx_fd, data->gem_handle, w, h,
> > -                       format, tiling, data->fb.strides, data->fb.offsets,
> > -                       num_planes, LOCAL_DRM_MODE_FB_MODIFIERS,
> > -                       &data->fb.fb_id);
> > +     memset(handles, data->gem_handle, 1);
> > +     memset(modifiers, tiling, 1);
>
> Ditto.
>
> > +     ret = drmModeAddFB2WithModifiers(data->gfx_fd, w, h, format,
> > +                                      handles, data->fb.strides,
> > +                                      data->fb.offsets, modifiers,
> > +                                      &data->fb.fb_id,
> > +                                      LOCAL_DRM_MODE_FB_MODIFIERS);
> >
> >       if(ret < 0) {
> >               igt_info("Creating fb for format %s failed, return code %d\n",
> > diff --git a/tests/kms_draw_crc.c b/tests/kms_draw_crc.c
> > index ea14db9a..507e6a7c 100644
> > --- a/tests/kms_draw_crc.c
> > +++ b/tests/kms_draw_crc.c
> > @@ -155,17 +155,19 @@ static void get_method_crc(enum igt_draw_method method, uint32_t drm_format,
> >
> >  static bool format_is_supported(uint32_t format, uint64_t modifier)
> >  {
> > -     uint32_t gem_handle, fb_id;
> > +     uint32_t gem_handle, fb_id, handles[4] = {};
> >       unsigned int offsets[4] = {};
> >       unsigned int strides[4] = {};
> > +     uint64_t modifiers[4] = {};
> >       int ret;
> >
> >       gem_handle = igt_create_bo_with_dimensions(drm_fd, 64, 64,
> >                                                  format, modifier,
> >                                                  0, NULL, &strides[0], NULL);
> > -     ret =  __kms_addfb(drm_fd, gem_handle, 64, 64,
> > -                        format, modifier, strides, offsets, 1,
> > -                        LOCAL_DRM_MODE_FB_MODIFIERS, &fb_id);
> > +     memset(handles, gem_handle, 1);
>
> Ditto
>
> > +     ret = drmModeAddFB2WithModifiers(drm_fd, 64, 64, format, handles,
> > +                                      strides, offsets, modifiers, &fb_id,
> > +                                      LOCAL_DRM_MODE_FB_MODIFIERS);
> >       drmModeRmFB(drm_fd, fb_id);
> >       gem_close(drm_fd, gem_handle);
> >
> > diff --git a/tests/prime_vgem.c b/tests/prime_vgem.c
> > index 09e3373b..286957e8 100644
> > --- a/tests/prime_vgem.c
> > +++ b/tests/prime_vgem.c
> > @@ -761,6 +761,7 @@ static void test_flip(int i915, int vgem, unsigned hang)
> >       for (int i = 0; i < 2; i++) {
> >               uint32_t strides[4] = {};
> >               uint32_t offsets[4] = {};
> > +             uint32_t handles[4] = {};
> >               int fd;
> >
> >               bo[i].width = mode->hdisplay;
> > @@ -776,12 +777,13 @@ static void test_flip(int i915, int vgem, unsigned hang)
> >               strides[0] = bo[i].pitch;
> >
> >               /* May skip if i915 has no displays */
> > -             igt_require(__kms_addfb(i915, handle[i],
> > -                                     bo[i].width, bo[i].height,
> > -                                     DRM_FORMAT_XRGB8888, I915_TILING_NONE,
> > -                                     strides, offsets, 1,
> > -                                     LOCAL_DRM_MODE_FB_MODIFIERS,
> > -                                     &fb_id[i]) == 0);
> > +             memset(handles, handle[i],1);
>
> Ditto
>
> (Style: missing space after comma)
>
> > +             igt_require(drmModeAddFB2WithModifiers(i915, bo[i].width, bo[i].height,
> > +                                                    DRM_FORMAT_XRGB8888,
> > +                                                    handles, strides, offsets,
> > +                                                    I915_TILING_NONE, &fb_id[i],
> > +                                                    LOCAL_DRM_MODE_FB_MODIFIERS) == 0);
> > +
> >               igt_assert(fb_id[i]);
> >       }
> >
> > _______________________________________________
> > igt-dev mailing list
> > igt-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/igt-dev



-- 

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

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

end of thread, other threads:[~2019-05-20 23:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-19 23:00 [igt-dev] [PATCH V2 i-g-t] lib: Drop __kms_addfb() wrapper Rodrigo Siqueira
2019-05-19 23:33 ` [igt-dev] ✗ Fi.CI.BAT: failure for " Patchwork
2019-05-20  6:22 ` [igt-dev] [PATCH V2 i-g-t] " Ser, Simon
2019-05-20 23:42   ` Rodrigo Siqueira

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox