diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
index 9bfcde3..2d2606d 100644
--- a/tests/kms_rotation_crc.c
+++ b/tests/kms_rotation_crc.c
@@ -522,46 +522,109 @@ igt_main
 		igt_display_init(&data.display, data.gfx_fd);
 	}
 	igt_subtest_f("primary-rotation-180") {
+		data.display.force_test_atomic = false;
+		data.rotation = IGT_ROTATION_180;
+		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
+	}
+
+	igt_subtest_f("primary-rotation-180-with-test") {
+		data.display.force_test_atomic = true;
 		data.rotation = IGT_ROTATION_180;
 		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
 	}
 
 	igt_subtest_f("sprite-rotation-180") {
+		data.display.force_test_atomic = false;
+		data.rotation = IGT_ROTATION_180;
+		test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
+	}
+
+	igt_subtest_f("sprite-rotation-180-with-test") {
+		data.display.force_test_atomic = true;
 		data.rotation = IGT_ROTATION_180;
 		test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
 	}
 
 	igt_subtest_f("cursor-rotation-180") {
+		data.display.force_test_atomic = false;
+		data.rotation = IGT_ROTATION_180;
+		test_plane_rotation(&data, DRM_PLANE_TYPE_CURSOR);
+	}
+
+	igt_subtest_f("cursor-rotation-180-with-test") {
+		data.display.force_test_atomic = true;
 		data.rotation = IGT_ROTATION_180;
 		test_plane_rotation(&data, DRM_PLANE_TYPE_CURSOR);
 	}
 
 	igt_subtest_f("primary-rotation-90") {
 		igt_require(gen >= 9);
+		data.display.force_test_atomic = false;
+		data.rotation = IGT_ROTATION_90;
+		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
+	}
+
+	igt_subtest_f("primary-rotation-90-with-test") {
+		igt_require(gen >= 9);
+		data.display.force_test_atomic = true;
 		data.rotation = IGT_ROTATION_90;
 		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
 	}
 
 	igt_subtest_f("primary-rotation-270") {
 		igt_require(gen >= 9);
+		data.display.force_test_atomic = false;
+		data.rotation = IGT_ROTATION_270;
+		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
+	}
+
+	igt_subtest_f("primary-rotation-270-with-test") {
+		igt_require(gen >= 9);
+		data.display.force_test_atomic = true;
 		data.rotation = IGT_ROTATION_270;
 		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
 	}
 
 	igt_subtest_f("sprite-rotation-90") {
 		igt_require(gen >= 9);
+		data.display.force_test_atomic = false;
+		data.rotation = IGT_ROTATION_90;
+		test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
+	}
+
+	igt_subtest_f("sprite-rotation-90-with-test") {
+		igt_require(gen >= 9);
+		data.display.force_test_atomic = true;
 		data.rotation = IGT_ROTATION_90;
 		test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
 	}
 
 	igt_subtest_f("sprite-rotation-270") {
 		igt_require(gen >= 9);
+		data.display.force_test_atomic = false;
+		data.rotation = IGT_ROTATION_270;
+		test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
+	}
+
+	igt_subtest_f("sprite-rotation-270-with-test") {
+		igt_require(gen >= 9);
+		data.display.force_test_atomic = true;
 		data.rotation = IGT_ROTATION_270;
 		test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
 	}
 
 	igt_subtest_f("sprite-rotation-90-pos-100-0") {
 		igt_require(gen >= 9);
+		data.display.force_test_atomic = false;
+		data.rotation = IGT_ROTATION_90;
+		data.pos_x = 100,
+		data.pos_y = 0;
+		test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
+	}
+
+	igt_subtest_f("sprite-rotation-90-pos-100-0-with-test") {
+		igt_require(gen >= 9);
+		data.display.force_test_atomic = true;
 		data.rotation = IGT_ROTATION_90;
 		data.pos_x = 100,
 		data.pos_y = 0;
@@ -574,6 +637,17 @@ igt_main
 		data.pos_y = 0;
 		data.rotation = IGT_ROTATION_90;
 		data.override_fmt = DRM_FORMAT_RGB565;
+		data.display.force_test_atomic = false;
+		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
+	}
+
+	igt_subtest_f("bad-pixel-format-with-test") {
+		igt_require(gen >= 9);
+		data.pos_x = 0,
+		data.pos_y = 0;
+		data.rotation = IGT_ROTATION_90;
+		data.override_fmt = DRM_FORMAT_RGB565;
+		data.display.force_test_atomic = true;
 		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
 	}
 
@@ -582,6 +656,16 @@ igt_main
 		data.override_fmt = 0;
 		data.rotation = IGT_ROTATION_90;
 		data.override_tiling = LOCAL_DRM_FORMAT_MOD_NONE;
+		data.display.force_test_atomic = false;
+		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
+	}
+
+	igt_subtest_f("bad-tiling-with-test") {
+		igt_require(gen >= 9);
+		data.override_fmt = 0;
+		data.rotation = IGT_ROTATION_90;
+		data.override_tiling = LOCAL_DRM_FORMAT_MOD_NONE;
+		data.display.force_test_atomic = true;
 		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
 	}
 
@@ -590,6 +674,16 @@ igt_main
 		data.override_tiling = 0;
 		data.flip_stress = 60;
 		data.rotation = IGT_ROTATION_90;
+		data.display.force_test_atomic = false;
+		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
+	}
+
+	igt_subtest_f("primary-rotation-90-flip-stress-with-test") {
+		igt_require(gen >= 9);
+		data.override_tiling = 0;
+		data.flip_stress = 60;
+		data.rotation = IGT_ROTATION_90;
+		data.display.force_test_atomic = true;
 		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
 	}
 
@@ -600,6 +694,28 @@ igt_main
 
 		igt_require(gen >= 9);
 		data.rotation = IGT_ROTATION_90;
+		data.display.force_test_atomic = false;
+
+		for_each_pipe_with_valid_output(&data.display, pipe, output) {
+			igt_output_set_pipe(output, pipe);
+
+			test_plane_rotation_ytiled_obj(&data, output, DRM_PLANE_TYPE_PRIMARY);
+
+			valid_tests++;
+			break;
+		}
+
+		igt_require_f(valid_tests, "no valid crtc/connector combinations found\n");
+	}
+
+	igt_subtest_f("primary-rotation-90-Y-tiled-with-test") {
+		enum pipe pipe;
+		igt_output_t *output;
+		int valid_tests = 0;
+
+		igt_require(gen >= 9);
+		data.rotation = IGT_ROTATION_90;
+		data.display.force_test_atomic = true;
 
 		for_each_pipe_with_valid_output(&data.display, pipe, output) {
 			igt_output_set_pipe(output, pipe);
@@ -620,6 +736,29 @@ igt_main
 
 		igt_require(gen >= 9);
 
+		data.display.force_test_atomic = false;
+
+		for_each_pipe_with_valid_output(&data.display, pipe, output) {
+			igt_output_set_pipe(output, pipe);
+
+			test_plane_rotation_exhaust_fences(&data, output, DRM_PLANE_TYPE_PRIMARY);
+
+			valid_tests++;
+			break;
+		}
+
+		igt_require_f(valid_tests, "no valid crtc/connector combinations found\n");
+	}
+
+	igt_subtest_f("exhaust-fences-with-test") {
+		enum pipe pipe;
+		igt_output_t *output;
+		int valid_tests = 0;
+
+		igt_require(gen >= 9);
+
+		data.display.force_test_atomic = true;
+
 		for_each_pipe_with_valid_output(&data.display, pipe, output) {
 			igt_output_set_pipe(output, pipe);
 
