[igt-dev] [PATCH] tests/kms_color: Change in commit style from legacy to atomic

Swati Sharma swati2.sharma at intel.com
Fri Mar 29 06:50:14 UTC 2019


Existing kms_color i-g-t, commit style by default is legacy for
all the ctm/gamma/degamma subtests.

In this patch, legacy commit is changed to atomic (since i915
no longer supports legacy commit)

v1: As per Daniel's comments switching over to atomic.
v2: As per Maarten's comments did COMMIT_ATOMIC, and added
    igt_require(display.is_atomic)
v3: Fixed stupid mistake, now test cases are not getting skipped

Need Feedback?
Still there are few functions like pipe_set_property_blob_id,
pipe_set_property_blob, invalid_lut_sizes where provision of
both legacy and atomic is there. Should I change them too to
atomic only like I did for other func?

Also, this patch is floating since ages, it will be nice if
I can have a closure(=>rb) on this and move forward :)

Signed-off-by: Swati Sharma <swati2.sharma at intel.com>
---
 tests/kms_color.c | 42 +++++++++++++++++++++---------------------
 1 file changed, 21 insertions(+), 21 deletions(-)

diff --git a/tests/kms_color.c b/tests/kms_color.c
index decf3c2..92f5c12 100644
--- a/tests/kms_color.c
+++ b/tests/kms_color.c
@@ -63,7 +63,6 @@ typedef struct {
 	uint64_t gamma_lut_size;
 } data_t;
 
-
 static void paint_gradient_rectangles(data_t *data,
 				      drmModeModeInfo *mode,
 				      color_t *colors,
@@ -311,12 +310,12 @@ static void test_pipe_degamma(data_t *data,
 		disable_ctm(primary->pipe);
 		disable_degamma(primary->pipe);
 		set_gamma(data, primary->pipe, gamma_linear);
-		igt_display_commit(&data->display);
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 
 		/* Draw solid colors with no degamma transformation. */
 		paint_rectangles(data, mode, red_green_blue, &fb);
 		igt_plane_set_fb(primary, &fb);
-		igt_display_commit(&data->display);
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 		igt_wait_for_vblank(data->drm_fd, primary->pipe->pipe);
 		igt_pipe_crc_collect_crc(data->pipe_crc, &crc_fullcolors);
 
@@ -326,7 +325,7 @@ static void test_pipe_degamma(data_t *data,
 		paint_gradient_rectangles(data, mode, red_green_blue, &fb);
 		igt_plane_set_fb(primary, &fb);
 		set_degamma(data, primary->pipe, degamma_full);
-		igt_display_commit(&data->display);
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 		igt_wait_for_vblank(data->drm_fd, primary->pipe->pipe);
 		igt_pipe_crc_collect_crc(data->pipe_crc, &crc_fullgamma);
 
@@ -391,12 +390,12 @@ static void test_pipe_gamma(data_t *data,
 		disable_ctm(primary->pipe);
 		disable_degamma(primary->pipe);
 		set_gamma(data, primary->pipe, gamma_full);
-		igt_display_commit(&data->display);
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 
 		/* Draw solid colors with no gamma transformation. */
 		paint_rectangles(data, mode, red_green_blue, &fb);
 		igt_plane_set_fb(primary, &fb);
-		igt_display_commit(&data->display);
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 		igt_wait_for_vblank(data->drm_fd, primary->pipe->pipe);
 		igt_pipe_crc_collect_crc(data->pipe_crc, &crc_fullcolors);
 
@@ -405,7 +404,7 @@ static void test_pipe_gamma(data_t *data,
 		 */
 		paint_gradient_rectangles(data, mode, red_green_blue, &fb);
 		igt_plane_set_fb(primary, &fb);
-		igt_display_commit(&data->display);
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 		igt_wait_for_vblank(data->drm_fd, primary->pipe->pipe);
 		igt_pipe_crc_collect_crc(data->pipe_crc, &crc_fullgamma);
 
@@ -477,12 +476,12 @@ static void test_pipe_legacy_gamma(data_t *data,
 		disable_degamma(primary->pipe);
 		disable_gamma(primary->pipe);
 		disable_ctm(primary->pipe);
-		igt_display_commit(&data->display);
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 
 		/* Draw solid colors with no gamma transformation. */
 		paint_rectangles(data, mode, red_green_blue, &fb);
 		igt_plane_set_fb(primary, &fb);
-		igt_display_commit(&data->display);
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 		igt_wait_for_vblank(data->drm_fd, primary->pipe->pipe);
 		igt_pipe_crc_collect_crc(data->pipe_crc, &crc_fullcolors);
 
@@ -497,7 +496,7 @@ static void test_pipe_legacy_gamma(data_t *data,
 			red_lut[i] = green_lut[i] = blue_lut[i] = 0xffff;
 		igt_assert_eq(drmModeCrtcSetGamma(data->drm_fd, primary->pipe->crtc_id,
 						  legacy_lut_size, red_lut, green_lut, blue_lut), 0);
-		igt_display_commit(&data->display);
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 		igt_wait_for_vblank(data->drm_fd, primary->pipe->pipe);
 		igt_pipe_crc_collect_crc(data->pipe_crc, &crc_fullgamma);
 
@@ -512,7 +511,7 @@ static void test_pipe_legacy_gamma(data_t *data,
 
 		igt_assert_eq(drmModeCrtcSetGamma(data->drm_fd, primary->pipe->crtc_id,
 						  legacy_lut_size, red_lut, green_lut, blue_lut), 0);
-		igt_display_commit(&data->display);
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 
 		igt_plane_set_fb(primary, NULL);
 		igt_output_set_pipe(output, PIPE_NONE);
@@ -566,7 +565,7 @@ static void test_pipe_legacy_gamma_reset(data_t *data,
 		disable_degamma(primary->pipe);
 		disable_ctm(primary->pipe);
 		disable_gamma(primary->pipe);
-		igt_display_commit(&data->display);
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 
 		/* Set a degama & gamma LUT and a CTM using the
 		 * properties and verify the content of the
@@ -574,7 +573,7 @@ static void test_pipe_legacy_gamma_reset(data_t *data,
 		set_degamma(data, primary->pipe, degamma_linear);
 		set_ctm(primary->pipe, ctm_identity);
 		set_gamma(data, primary->pipe, gamma_zero);
-		igt_display_commit(&data->display);
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 
 		blob = get_blob(data, primary->pipe, IGT_CRTC_DEGAMMA_LUT);
 		igt_assert(blob &&
@@ -617,7 +616,7 @@ static void test_pipe_legacy_gamma_reset(data_t *data,
 						  legacy_lut_size,
 						  red_lut, green_lut, blue_lut),
 			      0);
-		igt_display_commit(&data->display);
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 
 		igt_assert(get_blob(data, primary->pipe,
 				    IGT_CRTC_DEGAMMA_LUT) == NULL);
@@ -699,12 +698,12 @@ static bool test_pipe_ctm(data_t *data,
 		set_degamma(data, primary->pipe, degamma_linear);
 		set_gamma(data, primary->pipe, gamma_linear);
 		disable_ctm(primary->pipe);
-		igt_display_commit(&data->display);
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 
 		paint_rectangles(data, mode, after, &fb);
 		igt_plane_set_fb(primary, &fb);
 		set_ctm(primary->pipe, ctm_identity);
-		igt_display_commit(&data->display);
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 		igt_wait_for_vblank(data->drm_fd, primary->pipe->pipe);
 		igt_pipe_crc_collect_crc(data->pipe_crc, &crc_software);
 
@@ -712,7 +711,7 @@ static bool test_pipe_ctm(data_t *data,
 		paint_rectangles(data, mode, before, &fb);
 		igt_plane_set_fb(primary, &fb);
 		set_ctm(primary->pipe, ctm_matrix);
-		igt_display_commit(&data->display);
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 		igt_wait_for_vblank(data->drm_fd, primary->pipe->pipe);
 		igt_pipe_crc_collect_crc(data->pipe_crc, &crc_hardware);
 
@@ -807,7 +806,7 @@ static void test_pipe_limited_range_ctm(data_t *data,
 		igt_output_set_prop_value(output, IGT_CONNECTOR_BROADCAST_RGB, BROADCAST_RGB_FULL);
 		paint_rectangles(data, mode, red_green_blue_limited, &fb);
 		igt_plane_set_fb(primary, &fb);
-		igt_display_commit(&data->display);
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 		igt_wait_for_vblank(data->drm_fd, primary->pipe->pipe);
 		igt_pipe_crc_collect_crc(data->pipe_crc, &crc_full);
 
@@ -815,7 +814,7 @@ static void test_pipe_limited_range_ctm(data_t *data,
 		igt_output_set_prop_value(output, IGT_CONNECTOR_BROADCAST_RGB, BROADCAST_RGB_16_235);
 		paint_rectangles(data, mode, red_green_blue_full, &fb);
 		igt_plane_set_fb(primary, &fb);
-		igt_display_commit(&data->display);
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 		igt_wait_for_vblank(data->drm_fd, primary->pipe->pipe);
 		igt_pipe_crc_collect_crc(data->pipe_crc, &crc_limited);
 
@@ -1043,7 +1042,7 @@ run_tests_for_pipe(data_t *data, enum pipe p)
 		disable_degamma(primary->pipe);
 		disable_gamma(primary->pipe);
 		disable_ctm(primary->pipe);
-		igt_display_commit(&data->display);
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
 
 		igt_pipe_crc_free(data->pipe_crc);
 		data->pipe_crc = NULL;
@@ -1085,7 +1084,7 @@ invalid_lut_sizes(data_t *data)
 	struct _drm_color_lut *degamma_lut = malloc(data->degamma_lut_size * sizeof(struct _drm_color_lut) * 2);
 	struct _drm_color_lut *gamma_lut = malloc(data->gamma_lut_size * sizeof(struct _drm_color_lut) * 2);
 
-	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
+	igt_display_commit2(display, COMMIT_ATOMIC);
 
 	if (igt_pipe_obj_has_prop(pipe, IGT_CRTC_DEGAMMA_LUT)) {
 		igt_assert_eq(pipe_set_property_blob(pipe, IGT_CRTC_DEGAMMA_LUT,
@@ -1173,6 +1172,7 @@ igt_main
 		kmstest_set_vt_graphics_mode();
 
 		igt_display_require(&data.display, data.drm_fd);
+		igt_require(data.display.is_atomic);
 	}
 
 	for_each_pipe_static(pipe)
-- 
1.9.1



More information about the igt-dev mailing list