[PATCH i-g-t] tests/kms_rotation_crc: Add bad-rotation subtest

Ville Syrjälä ville.syrjala at linux.intel.com
Thu Jul 21 11:05:49 UTC 2016


On Thu, Jul 21, 2016 at 01:32:48PM +0300, Joonas Lahtinen wrote:
> Was not this implemented once and then dropped for some reason?

Dunno.

> 
> On ke, 2016-07-20 at 16:18 +0300, ville.syrjala at linux.intel.com wrote:
> > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > 
> > Add "bad-rotation" subtest to make sure the kernel rejects some
> > invalid rotation values (0 and specifying multiple angles at one).
> > 
> > Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > ---
> >  tests/kms_rotation_crc.c | 33 +++++++++++++++++++++++++++++++++
> >  1 file changed, 33 insertions(+)
> > 
> > diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
> > index 6cc15337fff9..e10a0a770437 100644
> > --- a/tests/kms_rotation_crc.c
> > +++ b/tests/kms_rotation_crc.c
> > @@ -237,6 +237,31 @@ static void wait_for_pageflip(int fd)
> >  	igt_assert(drmHandleEvent(fd, &evctx) == 0);
> >  }
> >  
> > +static void test_bad_prop_value(data_t *data)
> > +{
> > +	igt_display_t *display = &data->display;
> > +	int valid_tests = 0;
> > +	enum pipe pipe;
> > +	igt_plane_t *plane;
> > +	int ret;
> > +
> > +	for_each_pipe(display, pipe)  {
> > +		for_each_plane_on_pipe(display, pipe, plane) {
> > +			igt_require(igt_plane_supports_rotation(plane));
> > +
> > +			ret = drmModeObjectSetProperty(display->drm_fd,
> > +						       plane->drm_plane->plane_id,
> > +						       DRM_MODE_OBJECT_PLANE,
> > +						       plane->rotation_property,
> > +						       data->rotation);
> > +
> > +			igt_assert_eq(ret, -EINVAL);
> > +			valid_tests++;
> > +		}
> > +	}
> > +	igt_require_f(valid_tests, "no valid crtc/connector combinations found\n");
> > +}
> > +
> >  static void test_plane_rotation(data_t *data, enum igt_plane plane_type)
> >  {
> >  	igt_display_t *display = &data->display;
> > @@ -508,6 +533,14 @@ igt_main
> >  
> >  		igt_display_init(&data.display, data.gfx_fd);
> >  	}
> > +	igt_subtest_f("bad-rotation") {
> > +		data.rotation = 0;
> > +		test_bad_prop_value(&data);
> > +
> > +		data.rotation = IGT_ROTATION_0 | IGT_ROTATION_180;
> > +		test_bad_prop_value(&data);
> > +	}
> > +
> >  	igt_subtest_f("primary-rotation-180") {
> >  		data.rotation = IGT_ROTATION_180;
> >  		test_plane_rotation(&data, IGT_PLANE_PRIMARY);
> -- 
> Joonas Lahtinen
> Open Source Technology Center
> Intel Corporation

-- 
Ville Syrjälä
Intel OTC


More information about the dri-devel mailing list