All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t] kms_addfb_basic: Require fb modifiers for unused field tests
@ 2015-08-20 14:43 Ander Conselvan de Oliveira
  2015-08-21 13:49 ` [PATCH i-g-t] gem_storedw_loop: Skip test if device doesn't have requested ring Ander Conselvan de Oliveira
  2015-08-24 13:40 ` [PATCH i-g-t] kms_addfb_basic: Require fb modifiers for unused field tests Thomas Wood
  0 siblings, 2 replies; 5+ messages in thread
From: Ander Conselvan de Oliveira @ 2015-08-20 14:43 UTC (permalink / raw)
  To: intel-gfx; +Cc: Ander Conselvan de Oliveira

The drm core doesn't check unused fields of ADDFB2 for pre-FB_MODIFIERS
userspace, so require that and use the local version of the defines.

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
---
 tests/kms_addfb_basic.c | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
index f10e12b..732d6dc 100644
--- a/tests/kms_addfb_basic.c
+++ b/tests/kms_addfb_basic.c
@@ -51,6 +51,7 @@ static void invalid_tests(int fd)
 	f.height = 512;
 	f.pixel_format = DRM_FORMAT_XRGB8888;
 	f.pitches[0] = 512*4;
+	f.flags = LOCAL_DRM_MODE_FB_MODIFIERS;
 
 	igt_fixture {
 		gem_bo = gem_create(fd, 1024*1024*4);
@@ -60,35 +61,43 @@ static void invalid_tests(int fd)
 
 		f.handles[0] = gem_bo;
 
-		igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == 0);
+		igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == 0);
 		igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &f.fb_id) == 0);
 		f.fb_id = 0;
 	}
 
 	igt_subtest("unused-handle") {
+		igt_require_fb_modifiers(fd);
+
 		f.handles[1] = gem_bo_small;
-		igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
+		igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
 			   errno == EINVAL);
 		f.handles[1] = 0;
 	}
 
 	igt_subtest("unused-pitches") {
+		igt_require_fb_modifiers(fd);
+
 		f.pitches[1] = 512;
-		igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
+		igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
 			   errno == EINVAL);
 		f.pitches[1] = 0;
 	}
 
 	igt_subtest("unused-offsets") {
+		igt_require_fb_modifiers(fd);
+
 		f.offsets[1] = 512;
-		igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
+		igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
 			   errno == EINVAL);
 		f.offsets[1] = 0;
 	}
 
 	igt_subtest("unused-modifier") {
+		igt_require_fb_modifiers(fd);
+
 		f.modifier[1] =  LOCAL_I915_FORMAT_MOD_X_TILED;
-		igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
+		igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
 			   errno == EINVAL);
 		f.modifier[1] = 0;
 	}
-- 
2.4.3

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

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

* [PATCH i-g-t] gem_storedw_loop: Skip test if device doesn't have requested ring
  2015-08-20 14:43 [PATCH i-g-t] kms_addfb_basic: Require fb modifiers for unused field tests Ander Conselvan de Oliveira
@ 2015-08-21 13:49 ` Ander Conselvan de Oliveira
  2015-08-24 13:40 ` [PATCH i-g-t] kms_addfb_basic: Require fb modifiers for unused field tests Thomas Wood
  1 sibling, 0 replies; 5+ messages in thread
From: Ander Conselvan de Oliveira @ 2015-08-21 13:49 UTC (permalink / raw)
  To: intel-gfx; +Cc: Ander Conselvan de Oliveira

The VEBOX ring is not available in generations before Haswell, so make
tests that use it skip instead of fail in previous gens.

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
---
 tests/gem_storedw_loop.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/tests/gem_storedw_loop.c b/tests/gem_storedw_loop.c
index ee2f518..2263397 100644
--- a/tests/gem_storedw_loop.c
+++ b/tests/gem_storedw_loop.c
@@ -166,11 +166,15 @@ igt_main
 	}
 
 	for (i = 0; i < ARRAY_SIZE(rings); i++) {
-		igt_subtest_f("basic-%s", rings[i].name)
+		igt_subtest_f("basic-%s", rings[i].name) {
+			gem_require_ring(fd, rings[i].id);
 			store_test(rings[i].id, 16*1024);
+		}
 
-		igt_subtest_f("long-%s", rings[i].name)
+		igt_subtest_f("long-%s", rings[i].name) {
+			gem_require_ring(fd, rings[i].id);
 			store_test(rings[i].id, 1024*1024);
+		}
 	}
 
 	close(fd);
-- 
2.4.3

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

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

* Re: [PATCH i-g-t] kms_addfb_basic: Require fb modifiers for unused field tests
  2015-08-20 14:43 [PATCH i-g-t] kms_addfb_basic: Require fb modifiers for unused field tests Ander Conselvan de Oliveira
  2015-08-21 13:49 ` [PATCH i-g-t] gem_storedw_loop: Skip test if device doesn't have requested ring Ander Conselvan de Oliveira
@ 2015-08-24 13:40 ` Thomas Wood
  2015-08-26  8:18   ` Ander Conselvan De Oliveira
  2015-08-26  8:29   ` [PATCH v2 " Ander Conselvan de Oliveira
  1 sibling, 2 replies; 5+ messages in thread
From: Thomas Wood @ 2015-08-24 13:40 UTC (permalink / raw)
  To: Ander Conselvan de Oliveira; +Cc: Intel Graphics Development

On 20 August 2015 at 15:43, Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@intel.com> wrote:
> The drm core doesn't check unused fields of ADDFB2 for pre-FB_MODIFIERS
> userspace, so require that and use the local version of the defines.
>
> Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
> ---
>  tests/kms_addfb_basic.c | 19 ++++++++++++++-----
>  1 file changed, 14 insertions(+), 5 deletions(-)
>
> diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
> index f10e12b..732d6dc 100644
> --- a/tests/kms_addfb_basic.c
> +++ b/tests/kms_addfb_basic.c
> @@ -51,6 +51,7 @@ static void invalid_tests(int fd)
>         f.height = 512;
>         f.pixel_format = DRM_FORMAT_XRGB8888;
>         f.pitches[0] = 512*4;
> +       f.flags = LOCAL_DRM_MODE_FB_MODIFIERS;
>
>         igt_fixture {
>                 gem_bo = gem_create(fd, 1024*1024*4);
> @@ -60,35 +61,43 @@ static void invalid_tests(int fd)
>
>                 f.handles[0] = gem_bo;
>
> -               igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == 0);
> +               igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == 0);

Missing igt_require_fb_modifiers()? Maybe this needs to be placed in a
separate subtest to prevent unrelated tests failing or skipping?


>                 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &f.fb_id) == 0);
>                 f.fb_id = 0;
>         }
>
>         igt_subtest("unused-handle") {
> +               igt_require_fb_modifiers(fd);
> +
>                 f.handles[1] = gem_bo_small;
> -               igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
> +               igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
>                            errno == EINVAL);
>                 f.handles[1] = 0;
>         }
>
>         igt_subtest("unused-pitches") {
> +               igt_require_fb_modifiers(fd);
> +
>                 f.pitches[1] = 512;
> -               igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
> +               igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
>                            errno == EINVAL);
>                 f.pitches[1] = 0;
>         }
>
>         igt_subtest("unused-offsets") {
> +               igt_require_fb_modifiers(fd);
> +
>                 f.offsets[1] = 512;
> -               igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
> +               igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
>                            errno == EINVAL);
>                 f.offsets[1] = 0;
>         }
>
>         igt_subtest("unused-modifier") {
> +               igt_require_fb_modifiers(fd);
> +
>                 f.modifier[1] =  LOCAL_I915_FORMAT_MOD_X_TILED;
> -               igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
> +               igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
>                            errno == EINVAL);
>                 f.modifier[1] = 0;
>         }
> --
> 2.4.3
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH i-g-t] kms_addfb_basic: Require fb modifiers for unused field tests
  2015-08-24 13:40 ` [PATCH i-g-t] kms_addfb_basic: Require fb modifiers for unused field tests Thomas Wood
@ 2015-08-26  8:18   ` Ander Conselvan De Oliveira
  2015-08-26  8:29   ` [PATCH v2 " Ander Conselvan de Oliveira
  1 sibling, 0 replies; 5+ messages in thread
From: Ander Conselvan De Oliveira @ 2015-08-26  8:18 UTC (permalink / raw)
  To: Thomas Wood; +Cc: Intel Graphics Development

On Mon, 2015-08-24 at 14:40 +0100, Thomas Wood wrote:
> On 20 August 2015 at 15:43, Ander Conselvan de Oliveira
> <ander.conselvan.de.oliveira@intel.com> wrote:
> > The drm core doesn't check unused fields of ADDFB2 for pre-FB_MODIFIERS
> > userspace, so require that and use the local version of the defines.
> > 
> > Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
> > ---
> >  tests/kms_addfb_basic.c | 19 ++++++++++++++-----
> >  1 file changed, 14 insertions(+), 5 deletions(-)
> > 
> > diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
> > index f10e12b..732d6dc 100644
> > --- a/tests/kms_addfb_basic.c
> > +++ b/tests/kms_addfb_basic.c
> > @@ -51,6 +51,7 @@ static void invalid_tests(int fd)
> >         f.height = 512;
> >         f.pixel_format = DRM_FORMAT_XRGB8888;
> >         f.pitches[0] = 512*4;
> > +       f.flags = LOCAL_DRM_MODE_FB_MODIFIERS;
> > 
> >         igt_fixture {
> >                 gem_bo = gem_create(fd, 1024*1024*4);
> > @@ -60,35 +61,43 @@ static void invalid_tests(int fd)
> > 
> >                 f.handles[0] = gem_bo;
> > 
> > -               igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == 0);
> > +               igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == 0);
> 
> Missing igt_require_fb_modifiers()? Maybe this needs to be placed in a
> separate subtest to prevent unrelated tests failing or skipping?

Looks like I was too trigger-happy with my search and replace. That one doesn't need the LOCAL_
version. I'll re-spin and also update the commit message based on our IRC discussion.

Thanks,
Ander

> 
> 
> >                 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &f.fb_id) == 0);
> >                 f.fb_id = 0;
> >         }
> > 
> >         igt_subtest("unused-handle") {
> > +               igt_require_fb_modifiers(fd);
> > +
> >                 f.handles[1] = gem_bo_small;
> > -               igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
> > +               igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
> >                            errno == EINVAL);
> >                 f.handles[1] = 0;
> >         }
> > 
> >         igt_subtest("unused-pitches") {
> > +               igt_require_fb_modifiers(fd);
> > +
> >                 f.pitches[1] = 512;
> > -               igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
> > +               igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
> >                            errno == EINVAL);
> >                 f.pitches[1] = 0;
> >         }
> > 
> >         igt_subtest("unused-offsets") {
> > +               igt_require_fb_modifiers(fd);
> > +
> >                 f.offsets[1] = 512;
> > -               igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
> > +               igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
> >                            errno == EINVAL);
> >                 f.offsets[1] = 0;
> >         }
> > 
> >         igt_subtest("unused-modifier") {
> > +               igt_require_fb_modifiers(fd);
> > +
> >                 f.modifier[1] =  LOCAL_I915_FORMAT_MOD_X_TILED;
> > -               igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
> > +               igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
> >                            errno == EINVAL);
> >                 f.modifier[1] = 0;
> >         }
> > --
> > 2.4.3
> > 
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH v2 i-g-t] kms_addfb_basic: Require fb modifiers for unused field tests
  2015-08-24 13:40 ` [PATCH i-g-t] kms_addfb_basic: Require fb modifiers for unused field tests Thomas Wood
  2015-08-26  8:18   ` Ander Conselvan De Oliveira
@ 2015-08-26  8:29   ` Ander Conselvan de Oliveira
  1 sibling, 0 replies; 5+ messages in thread
From: Ander Conselvan de Oliveira @ 2015-08-26  8:29 UTC (permalink / raw)
  To: intel-gfx, thomas.wood; +Cc: Ander Conselvan de Oliveira

The drm core doesn't check unused fields of ADDFB2 for pre-FB_MODIFIERS
userspace, so use igt_require_fb_modifiers(). Also, the size of the
ioctl changed with the addition of the modifiers, so it is necessary to
use the LOCAL_ version of it, otherwise some data may get truncated.

v2: Improve commit message. (Thomas)
    Remove one spurious change to use LOCAL_DRM_IOCTL_ADDFB2. (Thomas)

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
---
 tests/kms_addfb_basic.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
index 38af334..9c3659d 100644
--- a/tests/kms_addfb_basic.c
+++ b/tests/kms_addfb_basic.c
@@ -63,30 +63,40 @@ static void invalid_tests(int fd)
 		f.fb_id = 0;
 	}
 
+	f.flags = LOCAL_DRM_MODE_FB_MODIFIERS;
+
 	igt_subtest("unused-handle") {
+		igt_require_fb_modifiers(fd);
+
 		f.handles[1] = gem_bo_small;
-		igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
+		igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
 			   errno == EINVAL);
 		f.handles[1] = 0;
 	}
 
 	igt_subtest("unused-pitches") {
+		igt_require_fb_modifiers(fd);
+
 		f.pitches[1] = 512;
-		igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
+		igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
 			   errno == EINVAL);
 		f.pitches[1] = 0;
 	}
 
 	igt_subtest("unused-offsets") {
+		igt_require_fb_modifiers(fd);
+
 		f.offsets[1] = 512;
-		igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
+		igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
 			   errno == EINVAL);
 		f.offsets[1] = 0;
 	}
 
 	igt_subtest("unused-modifier") {
+		igt_require_fb_modifiers(fd);
+
 		f.modifier[1] =  LOCAL_I915_FORMAT_MOD_X_TILED;
-		igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
+		igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == -1 &&
 			   errno == EINVAL);
 		f.modifier[1] = 0;
 	}
-- 
2.4.3

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

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

end of thread, other threads:[~2015-08-26  8:29 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-20 14:43 [PATCH i-g-t] kms_addfb_basic: Require fb modifiers for unused field tests Ander Conselvan de Oliveira
2015-08-21 13:49 ` [PATCH i-g-t] gem_storedw_loop: Skip test if device doesn't have requested ring Ander Conselvan de Oliveira
2015-08-24 13:40 ` [PATCH i-g-t] kms_addfb_basic: Require fb modifiers for unused field tests Thomas Wood
2015-08-26  8:18   ` Ander Conselvan De Oliveira
2015-08-26  8:29   ` [PATCH v2 " Ander Conselvan de Oliveira

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.