public inbox for intel-gfx@lists.freedesktop.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox