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@linux.intel.com wrote:
From: Ville Syrjälä ville.syrjala@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@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