diff mbox

tests/gem_exec_parse: Test for OACONTROL tracking

Message ID 1395945885-20423-1-git-send-email-bradley.d.volkin@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

bradley.d.volkin@intel.com March 27, 2014, 6:44 p.m. UTC
From: Brad Volkin <bradley.d.volkin@intel.com>

Signed-off-by: Brad Volkin <bradley.d.volkin@intel.com>
---
 tests/gem_exec_parse.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

Comments

bradley.d.volkin@intel.com April 8, 2014, 9:28 p.m. UTC | #1
Hi Daniel, we've merged the kernel change for this but not the test. I'm
assuming we still want the test case.

Brad

On Thu, Mar 27, 2014 at 11:44:45AM -0700, Volkin, Bradley D wrote:
> From: Brad Volkin <bradley.d.volkin@intel.com>
> 
> Signed-off-by: Brad Volkin <bradley.d.volkin@intel.com>
> ---
>  tests/gem_exec_parse.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 48 insertions(+)
> 
> diff --git a/tests/gem_exec_parse.c b/tests/gem_exec_parse.c
> index 34d097d..853eb57 100644
> --- a/tests/gem_exec_parse.c
> +++ b/tests/gem_exec_parse.c
> @@ -204,6 +204,8 @@ int fd;
>  #define   PIPE_CONTROL_QW_WRITE	(1<<14)
>  #define   PIPE_CONTROL_LRI_POST_OP (1<<23)
>  
> +#define OACONTROL 0x2360
> +
>  igt_main
>  {
>  	igt_fixture {
> @@ -337,6 +339,52 @@ igt_main
>  					    0));
>  	}
>  
> +	igt_subtest("oacontrol-tracking") {
> +		uint32_t lri_ok[] = {
> +			MI_LOAD_REGISTER_IMM,
> +			OACONTROL,
> +			0x31337000,
> +			MI_LOAD_REGISTER_IMM,
> +			OACONTROL,
> +			0x0,
> +			MI_BATCH_BUFFER_END,
> +			0
> +		};
> +		uint32_t lri_bad[] = {
> +			MI_LOAD_REGISTER_IMM,
> +			OACONTROL,
> +			0x31337000,
> +			MI_BATCH_BUFFER_END,
> +		};
> +		uint32_t lri_extra_bad[] = {
> +			MI_LOAD_REGISTER_IMM,
> +			OACONTROL,
> +			0x31337000,
> +			MI_LOAD_REGISTER_IMM,
> +			OACONTROL,
> +			0x0,
> +			MI_LOAD_REGISTER_IMM,
> +			OACONTROL,
> +			0x31337000,
> +			MI_BATCH_BUFFER_END,
> +		};
> +		igt_assert(
> +			exec_batch(fd, handle,
> +				      lri_ok, sizeof(lri_ok),
> +				      I915_EXEC_RENDER,
> +				      0));
> +		igt_assert(
> +			exec_batch(fd, handle,
> +				      lri_bad, sizeof(lri_bad),
> +				      I915_EXEC_RENDER,
> +				      -EINVAL));
> +		igt_assert(
> +			exec_batch(fd, handle,
> +				      lri_extra_bad, sizeof(lri_extra_bad),
> +				      I915_EXEC_RENDER,
> +				      -EINVAL));
> +	}
> +
>  	igt_fixture {
>  		gem_close(fd, handle);
>  
> -- 
> 1.8.3.2
>
Daniel Vetter April 9, 2014, 12:25 p.m. UTC | #2
On Tue, Apr 08, 2014 at 02:28:58PM -0700, Volkin, Bradley D wrote:
> Hi Daniel, we've merged the kernel change for this but not the test. I'm
> assuming we still want the test case.

Sorry this fell through the cracks - pretty much everyone on our team has
igt access so we just push igt patches and tests after a bit of soaking
time on intel-gfx.

It might be good to designate a point person for all things igt on the vpg
side (Tim Gore maybe) who has push access and could take care of such
things. Adding Tim.
-Daniel

> 
> Brad
> 
> On Thu, Mar 27, 2014 at 11:44:45AM -0700, Volkin, Bradley D wrote:
> > From: Brad Volkin <bradley.d.volkin@intel.com>
> > 
> > Signed-off-by: Brad Volkin <bradley.d.volkin@intel.com>
> > ---
> >  tests/gem_exec_parse.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 48 insertions(+)
> > 
> > diff --git a/tests/gem_exec_parse.c b/tests/gem_exec_parse.c
> > index 34d097d..853eb57 100644
> > --- a/tests/gem_exec_parse.c
> > +++ b/tests/gem_exec_parse.c
> > @@ -204,6 +204,8 @@ int fd;
> >  #define   PIPE_CONTROL_QW_WRITE	(1<<14)
> >  #define   PIPE_CONTROL_LRI_POST_OP (1<<23)
> >  
> > +#define OACONTROL 0x2360
> > +
> >  igt_main
> >  {
> >  	igt_fixture {
> > @@ -337,6 +339,52 @@ igt_main
> >  					    0));
> >  	}
> >  
> > +	igt_subtest("oacontrol-tracking") {
> > +		uint32_t lri_ok[] = {
> > +			MI_LOAD_REGISTER_IMM,
> > +			OACONTROL,
> > +			0x31337000,
> > +			MI_LOAD_REGISTER_IMM,
> > +			OACONTROL,
> > +			0x0,
> > +			MI_BATCH_BUFFER_END,
> > +			0
> > +		};
> > +		uint32_t lri_bad[] = {
> > +			MI_LOAD_REGISTER_IMM,
> > +			OACONTROL,
> > +			0x31337000,
> > +			MI_BATCH_BUFFER_END,
> > +		};
> > +		uint32_t lri_extra_bad[] = {
> > +			MI_LOAD_REGISTER_IMM,
> > +			OACONTROL,
> > +			0x31337000,
> > +			MI_LOAD_REGISTER_IMM,
> > +			OACONTROL,
> > +			0x0,
> > +			MI_LOAD_REGISTER_IMM,
> > +			OACONTROL,
> > +			0x31337000,
> > +			MI_BATCH_BUFFER_END,
> > +		};
> > +		igt_assert(
> > +			exec_batch(fd, handle,
> > +				      lri_ok, sizeof(lri_ok),
> > +				      I915_EXEC_RENDER,
> > +				      0));
> > +		igt_assert(
> > +			exec_batch(fd, handle,
> > +				      lri_bad, sizeof(lri_bad),
> > +				      I915_EXEC_RENDER,
> > +				      -EINVAL));
> > +		igt_assert(
> > +			exec_batch(fd, handle,
> > +				      lri_extra_bad, sizeof(lri_extra_bad),
> > +				      I915_EXEC_RENDER,
> > +				      -EINVAL));
> > +	}
> > +
> >  	igt_fixture {
> >  		gem_close(fd, handle);
> >  
> > -- 
> > 1.8.3.2
> >
diff mbox

Patch

diff --git a/tests/gem_exec_parse.c b/tests/gem_exec_parse.c
index 34d097d..853eb57 100644
--- a/tests/gem_exec_parse.c
+++ b/tests/gem_exec_parse.c
@@ -204,6 +204,8 @@  int fd;
 #define   PIPE_CONTROL_QW_WRITE	(1<<14)
 #define   PIPE_CONTROL_LRI_POST_OP (1<<23)
 
+#define OACONTROL 0x2360
+
 igt_main
 {
 	igt_fixture {
@@ -337,6 +339,52 @@  igt_main
 					    0));
 	}
 
+	igt_subtest("oacontrol-tracking") {
+		uint32_t lri_ok[] = {
+			MI_LOAD_REGISTER_IMM,
+			OACONTROL,
+			0x31337000,
+			MI_LOAD_REGISTER_IMM,
+			OACONTROL,
+			0x0,
+			MI_BATCH_BUFFER_END,
+			0
+		};
+		uint32_t lri_bad[] = {
+			MI_LOAD_REGISTER_IMM,
+			OACONTROL,
+			0x31337000,
+			MI_BATCH_BUFFER_END,
+		};
+		uint32_t lri_extra_bad[] = {
+			MI_LOAD_REGISTER_IMM,
+			OACONTROL,
+			0x31337000,
+			MI_LOAD_REGISTER_IMM,
+			OACONTROL,
+			0x0,
+			MI_LOAD_REGISTER_IMM,
+			OACONTROL,
+			0x31337000,
+			MI_BATCH_BUFFER_END,
+		};
+		igt_assert(
+			exec_batch(fd, handle,
+				      lri_ok, sizeof(lri_ok),
+				      I915_EXEC_RENDER,
+				      0));
+		igt_assert(
+			exec_batch(fd, handle,
+				      lri_bad, sizeof(lri_bad),
+				      I915_EXEC_RENDER,
+				      -EINVAL));
+		igt_assert(
+			exec_batch(fd, handle,
+				      lri_extra_bad, sizeof(lri_extra_bad),
+				      I915_EXEC_RENDER,
+				      -EINVAL));
+	}
+
 	igt_fixture {
 		gem_close(fd, handle);