Thread (22 messages) 22 messages, 3 authors, 2021-10-18

Re: [igt-dev] [PATCH i-g-t 7/8] tests/i915/kms_flip_tiling: Stick pipe_crc into data_t

From: Karthik B S <hidden>
Date: 2021-10-18 07:05:00

On 10/14/2021 3:47 AM, Ville Syrjala wrote:
From: Ville Syrjälä <redacted>

Dunno why the pipe_crc has its own variable visible throughout
the whole file. Just stuff it into data_t where everything else
lives.

Signed-off-by: Ville Syrjälä <redacted>
Reviewed-by: Karthik B S <redacted>
quoted hunk ↗ jump to hunk
---
  tests/i915/kms_flip_tiling.c | 36 +++++++++++++++---------------------
  1 file changed, 15 insertions(+), 21 deletions(-)
diff --git a/tests/i915/kms_flip_tiling.c b/tests/i915/kms_flip_tiling.c
index 8eecb20c49b9..604f01dd3766 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;
-	}
+	if (!data->pipe_crc)
+		return;
  
-	_pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe, INTEL_PIPE_CRC_SOURCE_AUTO);
-	igt_assert(_pipe_crc);
-
-	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);
  
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help