diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2020-11-27 22:05:09 +0200 |
---|---|---|
committer | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2021-09-16 17:27:13 +0300 |
commit | 096d8c36c455255c166437a22da855458a489cf6 (patch) | |
tree | b4814d7d93dcad1ce3f3c141af9237e84703fb83 /tests/kms_color_helper.c | |
parent | e0ffde9bd61efec277a3945423968902f80d8baf (diff) |
tests/kms_color: Refactor invalid LUT size tests
Reuse the same code for all invalid LUT size tests.
v2: Drop the pointless return statements in void functions
Reviewed-by: Bhanuprakash Modem <Bhanuprakash.modem@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Diffstat (limited to 'tests/kms_color_helper.c')
-rw-r--r-- | tests/kms_color_helper.c | 81 |
1 files changed, 26 insertions, 55 deletions
diff --git a/tests/kms_color_helper.c b/tests/kms_color_helper.c index 5f223a88..68fa5f0e 100644 --- a/tests/kms_color_helper.c +++ b/tests/kms_color_helper.c @@ -277,77 +277,48 @@ pipe_set_property_blob(igt_pipe_t *pipe, COMMIT_ATOMIC : COMMIT_LEGACY); } -void -invalid_gamma_lut_sizes(data_t *data) +static void +invalid_lut_sizes(data_t *data, enum igt_atomic_crtc_properties prop, int size) { igt_display_t *display = &data->display; igt_pipe_t *pipe = &display->pipes[0]; - size_t gamma_lut_size = data->gamma_lut_size * - sizeof(struct drm_color_lut); - struct drm_color_lut *gamma_lut; + struct drm_color_lut *lut; + size_t lut_size = size * sizeof(lut[0]); - igt_require(igt_pipe_obj_has_prop(pipe, IGT_CRTC_GAMMA_LUT)); + igt_require(igt_pipe_obj_has_prop(pipe, prop)); - gamma_lut = malloc(gamma_lut_size * 2); + lut = malloc(lut_size * 2); igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY); - igt_assert_eq(pipe_set_property_blob(pipe, IGT_CRTC_GAMMA_LUT, - gamma_lut, 1), -EINVAL); - igt_assert_eq(pipe_set_property_blob(pipe, IGT_CRTC_GAMMA_LUT, - gamma_lut, gamma_lut_size + 1), - -EINVAL); - igt_assert_eq(pipe_set_property_blob(pipe, IGT_CRTC_GAMMA_LUT, - gamma_lut, gamma_lut_size - 1), - -EINVAL); - igt_assert_eq(pipe_set_property_blob(pipe, IGT_CRTC_GAMMA_LUT, - gamma_lut, gamma_lut_size + - sizeof(struct drm_color_lut)), - -EINVAL); - igt_assert_eq(pipe_set_property_blob_id(pipe, IGT_CRTC_GAMMA_LUT, - pipe->crtc_id), -EINVAL); - igt_assert_eq(pipe_set_property_blob_id(pipe, IGT_CRTC_GAMMA_LUT, - 4096 * 4096), -EINVAL); + igt_assert_eq(pipe_set_property_blob(pipe, prop, lut, + 1), -EINVAL); + igt_assert_eq(pipe_set_property_blob(pipe, prop, lut, + lut_size + 1), -EINVAL); + igt_assert_eq(pipe_set_property_blob(pipe, prop, lut, + lut_size - 1), -EINVAL); + igt_assert_eq(pipe_set_property_blob(pipe, prop, lut, + lut_size + sizeof(struct drm_color_lut)), -EINVAL); + igt_assert_eq(pipe_set_property_blob_id(pipe, prop, + pipe->crtc_id), -EINVAL); + igt_assert_eq(pipe_set_property_blob_id(pipe, prop, + 4096 * 4096), -EINVAL); - free(gamma_lut); + free(lut); } void -invalid_degamma_lut_sizes(data_t *data) +invalid_gamma_lut_sizes(data_t *data) { - igt_display_t *display = &data->display; - igt_pipe_t *pipe = &display->pipes[0]; - size_t degamma_lut_size = data->degamma_lut_size * - sizeof(struct drm_color_lut); - struct drm_color_lut *degamma_lut; - - igt_require(igt_pipe_obj_has_prop(pipe, IGT_CRTC_DEGAMMA_LUT)); - - degamma_lut = malloc(degamma_lut_size * 2); - - igt_display_commit2(display, display->is_atomic ? - COMMIT_ATOMIC : COMMIT_LEGACY); - - igt_assert_eq(pipe_set_property_blob(pipe, IGT_CRTC_DEGAMMA_LUT, - degamma_lut, 1), -EINVAL); - igt_assert_eq(pipe_set_property_blob(pipe, IGT_CRTC_DEGAMMA_LUT, - degamma_lut, degamma_lut_size + 1), - -EINVAL); - igt_assert_eq(pipe_set_property_blob(pipe, IGT_CRTC_DEGAMMA_LUT, - degamma_lut, degamma_lut_size - 1), - -EINVAL); - igt_assert_eq(pipe_set_property_blob(pipe, IGT_CRTC_DEGAMMA_LUT, - degamma_lut, degamma_lut_size + - sizeof(struct drm_color_lut)), - -EINVAL); - igt_assert_eq(pipe_set_property_blob_id(pipe, IGT_CRTC_DEGAMMA_LUT, - pipe->crtc_id), -EINVAL); - igt_assert_eq(pipe_set_property_blob_id(pipe, IGT_CRTC_DEGAMMA_LUT, - 4096 * 4096), -EINVAL); + invalid_lut_sizes(data, IGT_CRTC_GAMMA_LUT, data->gamma_lut_size); +} - free(degamma_lut); +void +invalid_degamma_lut_sizes(data_t *data) +{ + invalid_lut_sizes(data, IGT_CRTC_DEGAMMA_LUT, data->degamma_lut_size); } void invalid_ctm_matrix_sizes(data_t *data) |