diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2021-10-13 21:14:04 +0300 |
---|---|---|
committer | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2021-10-18 16:54:27 +0300 |
commit | f4df3a41ff1c04dfe049b78bd108110ba72f42a7 (patch) | |
tree | 5c038e3c7db0f274db84d6fb1099bee1e06519e1 /tests/i915/kms_flip_tiling.c | |
parent | 43c17ecf6a7185a2d0232d67c2a18539c5ba98a1 (diff) |
tests/i915/kms_flip_tiling: Stick pipe_crc into data_t
Dunno why the pipe_crc has its own variable visible throughout
the whole file. Just stuff it into data_t where everything else
lives.
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Diffstat (limited to 'tests/i915/kms_flip_tiling.c')
-rw-r--r-- | tests/i915/kms_flip_tiling.c | 36 |
1 files changed, 15 insertions, 21 deletions
diff --git a/tests/i915/kms_flip_tiling.c b/tests/i915/kms_flip_tiling.c index 40dad427..56b787c1 100644 --- a/tests/i915/kms_flip_tiling.c +++ b/tests/i915/kms_flip_tiling.c @@ -39,29 +39,24 @@ typedef struct { int gen; uint32_t testformat; struct igt_fb fb[2]; + igt_pipe_crc_t *pipe_crc; } data_t; -static igt_pipe_crc_t *_pipe_crc; - -static igt_pipe_crc_t *pipe_crc_new(data_t *data, int pipe) +static void pipe_crc_free(data_t *data) { - if (_pipe_crc) { - igt_pipe_crc_free(_pipe_crc); - _pipe_crc = NULL; - } - - _pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe, INTEL_PIPE_CRC_SOURCE_AUTO); - igt_assert(_pipe_crc); + if (!data->pipe_crc) + return; - return _pipe_crc; + igt_pipe_crc_free(data->pipe_crc); + data->pipe_crc = NULL; } -static void pipe_crc_free(void) +static void pipe_crc_new(data_t *data, int pipe) { - if (_pipe_crc) { - igt_pipe_crc_free(_pipe_crc); - _pipe_crc = NULL; - } + pipe_crc_free(data); + + data->pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe, INTEL_PIPE_CRC_SOURCE_AUTO); + igt_assert(data->pipe_crc); } static int try_commit(igt_display_t *display) @@ -75,11 +70,10 @@ test_flip_tiling(data_t *data, enum pipe pipe, igt_output_t *output, uint64_t mo { drmModeModeInfo *mode; igt_plane_t *primary; - igt_pipe_crc_t *pipe_crc; igt_crc_t reference_crc, crc; int fb_id, ret; - pipe_crc = pipe_crc_new(data, pipe); + pipe_crc_new(data, pipe); igt_output_set_pipe(output, pipe); mode = igt_output_get_mode(output); @@ -104,7 +98,7 @@ test_flip_tiling(data_t *data, enum pipe pipe, igt_output_t *output, uint64_t mo igt_require_f(try_commit(&data->display) == 0, "commit failed with " IGT_MODIFIER_FMT "\n", IGT_MODIFIER_ARGS(modifier[1])); - igt_pipe_crc_collect_crc(pipe_crc, &reference_crc); + igt_pipe_crc_collect_crc(data->pipe_crc, &reference_crc); /* Commit the first fb. */ igt_plane_set_fb(primary, &data->fb[0]); @@ -124,7 +118,7 @@ test_flip_tiling(data_t *data, enum pipe pipe, igt_output_t *output, uint64_t mo kmstest_wait_for_pageflip(data->drm_fd); /* Get a crc and compare with the reference. */ - igt_pipe_crc_collect_crc(pipe_crc, &crc); + igt_pipe_crc_collect_crc(data->pipe_crc, &crc); igt_assert_crc_equal(&reference_crc, &crc); } @@ -135,7 +129,7 @@ static void test_cleanup(data_t *data, enum pipe pipe, igt_output_t *output) /* Clean up. */ igt_plane_set_fb(primary, NULL); - pipe_crc_free(); + pipe_crc_free(data); igt_output_set_pipe(output, PIPE_ANY); igt_display_commit(&data->display); |