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

Re: [igt-dev] [PATCH i-g-t 2/7] tests/i915/kms_frontbuffer_tracking: Get rid of the funny mode_copy

From: Modem, Bhanuprakash <hidden>
Date: 2021-10-18 04:34:44

From: igt-dev <redacted> On Behalf Of Ville
Syrjala
Sent: Wednesday, October 13, 2021 6:30 PM
To: igt-dev@lists.freedesktop.org
Subject: [igt-dev] [PATCH i-g-t 2/7] tests/i915/kms_frontbuffer_tracking: Get
rid of the funny mode_copy

From: Ville Syrjälä <redacted>

For some reason we make a copy of the mode into 'mode_copy', and
then point the 'mode' pointer at that copy. Get rid of the pointer
and just use the struct directly.

Signed-off-by: Ville Syrjälä <redacted>
LGTM
Reviewed-by: Bhanuprakash Modem <redacted>

- Bhanu
quoted hunk ↗ jump to hunk
---
 tests/i915/kms_frontbuffer_tracking.c | 69 +++++++++++++--------------
 1 file changed, 33 insertions(+), 36 deletions(-)
diff --git a/tests/i915/kms_frontbuffer_tracking.c
b/tests/i915/kms_frontbuffer_tracking.c
index 4ae5286661bb..d8f08c147861 100644
--- a/tests/i915/kms_frontbuffer_tracking.c
+++ b/tests/i915/kms_frontbuffer_tracking.c
@@ -264,7 +264,7 @@ struct {
 struct modeset_params {
 	enum pipe pipe;
 	igt_output_t *output;
-	drmModeModeInfo mode_copy, *mode;
+	drmModeModeInfo mode;

 	struct fb_region primary;
 	struct fb_region cursor;
@@ -357,8 +357,7 @@ static void init_mode_params(struct modeset_params
*params,

 	params->pipe = pipe;
 	params->output = output;
-	params->mode_copy = *mode;
-	params->mode = &params->mode_copy;
+	params->mode = *mode;

 	params->primary.plane =
igt_pipe_get_plane_type(&drm.display.pipes[pipe], DRM_PLANE_TYPE_PRIMARY);
 	params->primary.fb = NULL;
@@ -617,12 +616,12 @@ static void create_shared_fb(enum pixel_format format,
enum tiling_type tiling)
 	int prim_w, prim_h, scnd_w, scnd_h, offs_w, offs_h, big_w, big_h;
 	struct screen_fbs *s = &fbs[format];

-	prim_w = prim_mode_params.mode->hdisplay;
-	prim_h = prim_mode_params.mode->vdisplay;
+	prim_w = prim_mode_params.mode.hdisplay;
+	prim_h = prim_mode_params.mode.vdisplay;

 	if (scnd_mode_params.output) {
-		scnd_w = scnd_mode_params.mode->hdisplay;
-		scnd_h = scnd_mode_params.mode->vdisplay;
+		scnd_w = scnd_mode_params.mode.hdisplay;
+		scnd_h = scnd_mode_params.mode.vdisplay;
 	} else {
 		scnd_w = 0;
 		scnd_h = 0;
@@ -670,8 +669,8 @@ static void create_fbs(enum pixel_format format, enum
tiling_type tiling)

 	s->initialized = true;

-	create_fb(format, prim_mode_params.mode->hdisplay,
-		  prim_mode_params.mode->vdisplay, tiling, PLANE_PRI,
+	create_fb(format, prim_mode_params.mode.hdisplay,
+		  prim_mode_params.mode.vdisplay, tiling, PLANE_PRI,
 		  &s->prim_pri);
 	create_fb(format, prim_mode_params.cursor.w,
 		  prim_mode_params.cursor.h, DRM_FORMAT_MOD_LINEAR,
@@ -687,8 +686,8 @@ static void create_fbs(enum pixel_format format, enum
tiling_type tiling)
 	if (!scnd_mode_params.output)
 		return;

-	create_fb(format, scnd_mode_params.mode->hdisplay,
-		  scnd_mode_params.mode->vdisplay, tiling, PLANE_PRI,
+	create_fb(format, scnd_mode_params.mode.hdisplay,
+		  scnd_mode_params.mode.vdisplay, tiling, PLANE_PRI,
 		  &s->scnd_pri);
 	create_fb(format, scnd_mode_params.cursor.w, scnd_mode_params.cursor.h,
 		  DRM_FORMAT_MOD_LINEAR, PLANE_CUR, &s->scnd_cur);
@@ -700,16 +699,16 @@ static void __set_prim_plane_for_params(struct
modeset_params *params)
 {
 	igt_plane_set_fb(params->primary.plane, params->primary.fb);
 	igt_plane_set_position(params->primary.plane, 0, 0);
-	igt_plane_set_size(params->primary.plane, params->mode->hdisplay,
params->mode->vdisplay);
+	igt_plane_set_size(params->primary.plane, params->mode.hdisplay, params-
quoted
mode.vdisplay);
 	igt_fb_set_position(params->primary.fb, params->primary.plane,
 			    params->primary.x, params->primary.y);
 	igt_fb_set_size(params->primary.fb, params->primary.plane,
-			params->mode->hdisplay, params->mode->vdisplay);
+			params->mode.hdisplay, params->mode.vdisplay);
 }

 static void __set_mode_for_params(struct modeset_params *params)
 {
-	igt_output_override_mode(params->output, params->mode);
+	igt_output_override_mode(params->output, &params->mode);
 	igt_output_set_pipe(params->output, params->pipe);

 	__set_prim_plane_for_params(params);
@@ -1212,14 +1211,14 @@ static void init_blue_crc(enum pixel_format format,
enum tiling_type tiling)
 	if (blue_crcs[format].initialized)
 		return;

-	create_fb(format, prim_mode_params.mode->hdisplay,
-		  prim_mode_params.mode->vdisplay, tiling, PLANE_PRI,
+	create_fb(format, prim_mode_params.mode.hdisplay,
+		  prim_mode_params.mode.vdisplay, tiling, PLANE_PRI,
 		  &blue);

 	fill_fb(&blue, COLOR_PRIM_BG);

 	igt_output_set_pipe(prim_mode_params.output, prim_mode_params.pipe);
-	igt_output_override_mode(prim_mode_params.output,
prim_mode_params.mode);
+	igt_output_override_mode(prim_mode_params.output,
&prim_mode_params.mode);
 	igt_plane_set_fb(prim_mode_params.primary.plane, &blue);
 	igt_display_commit(&drm.display);
@@ -1252,8 +1251,8 @@ static void init_crcs(enum pixel_format format, enum
tiling_type tiling,
 				       sizeof(*(pattern->crcs[format])));

 	for (r = 0; r < pattern->n_rects; r++)
-		create_fb(format, prim_mode_params.mode->hdisplay,
-			  prim_mode_params.mode->vdisplay, tiling,
+		create_fb(format, prim_mode_params.mode.hdisplay,
+			  prim_mode_params.mode.vdisplay, tiling,
 			  PLANE_PRI, &tmp_fbs[r]);

 	for (r = 0; r < pattern->n_rects; r++)
@@ -1271,7 +1270,7 @@ static void init_crcs(enum pixel_format format, enum
tiling_type tiling,
 	}

 	igt_output_set_pipe(prim_mode_params.output, prim_mode_params.pipe);
-	igt_output_override_mode(prim_mode_params.output,
prim_mode_params.mode);
+	igt_output_override_mode(prim_mode_params.output,
&prim_mode_params.mode);
 	for (r = 0; r < pattern->n_rects; r++) {
 		igt_plane_set_fb(prim_mode_params.primary.plane, &tmp_fbs[r]);
 		igt_display_commit(&drm.display);
@@ -1705,15 +1704,13 @@ static void update_modeset_cached_params(void)
 	found = igt_override_all_active_output_modes_to_fit_bw(&drm.display);
 	igt_require_f(found, "No valid mode combo found.\n");

-	prim_mode_params.mode_copy =
*igt_output_get_mode(prim_mode_params.output);
-	prim_mode_params.mode = &prim_mode_params.mode_copy;
-	prim_mode_params.primary.w = prim_mode_params.mode->hdisplay;
-	prim_mode_params.primary.h = prim_mode_params.mode->vdisplay;
+	prim_mode_params.mode = *igt_output_get_mode(prim_mode_params.output);
+	prim_mode_params.primary.w = prim_mode_params.mode.hdisplay;
+	prim_mode_params.primary.h = prim_mode_params.mode.vdisplay;

-	scnd_mode_params.mode_copy =
*igt_output_get_mode(scnd_mode_params.output);
-	scnd_mode_params.mode = &scnd_mode_params.mode_copy;
-	scnd_mode_params.primary.w = scnd_mode_params.mode->hdisplay;
-	scnd_mode_params.primary.h = scnd_mode_params.mode->vdisplay;
+	scnd_mode_params.mode = *igt_output_get_mode(scnd_mode_params.output);
+	scnd_mode_params.primary.w = scnd_mode_params.mode.hdisplay;
+	scnd_mode_params.primary.h = scnd_mode_params.mode.vdisplay;

 	fill_fb_region(&prim_mode_params.primary, COLOR_PRIM_BG);
 	fill_fb_region(&scnd_mode_params.primary, COLOR_SCND_BG);
@@ -2689,7 +2686,7 @@ static void scaledprimary_subtest(const struct test_mode
*t)
 	igt_plane_set_fb(reg->plane, &new_fb);
 	igt_fb_set_position(&new_fb, reg->plane, reg->x, reg->y);
 	igt_fb_set_size(&new_fb, reg->plane, reg->w, reg->h);
-	igt_plane_set_size(reg->plane, params->mode->hdisplay, params->mode-
quoted
vdisplay);
+	igt_plane_set_size(reg->plane, params->mode.hdisplay, params-
quoted
mode.vdisplay);
 	igt_display_commit2(&drm.display, COMMIT_UNIVERSAL);
 	do_assertions(DONT_ASSERT_CRC);
@@ -2701,11 +2698,11 @@ static void scaledprimary_subtest(const struct
test_mode *t)
 	/* Destination doesn't fill the entire CRTC, no scaling. */
 	igt_fb_set_size(&new_fb, reg->plane, reg->w / 2, reg->h / 2);
 	igt_plane_set_position(reg->plane,
-			       params->mode->hdisplay / 4,
-			       params->mode->vdisplay / 4);
+			       params->mode.hdisplay / 4,
+			       params->mode.vdisplay / 4);
 	igt_plane_set_size(reg->plane,
-			   params->mode->hdisplay / 2,
-			   params->mode->vdisplay / 2);
+			   params->mode.hdisplay / 2,
+			   params->mode.vdisplay / 2);
 	igt_display_commit2(&drm.display, COMMIT_UNIVERSAL);
 	do_assertions(DONT_ASSERT_CRC);
@@ -2731,7 +2728,7 @@ static void scaledprimary_subtest(const struct test_mode
*t)
 	/* Back to the good and old blue fb. */
 	igt_plane_set_fb(reg->plane, old_fb);
 	igt_plane_set_position(params->primary.plane, 0, 0);
-	igt_plane_set_size(reg->plane, params->mode->hdisplay, params->mode-
quoted
vdisplay);
+	igt_plane_set_size(reg->plane, params->mode.hdisplay, params-
quoted
mode.vdisplay);
 	igt_fb_set_position(reg->fb, reg->plane, reg->x, reg->y);
 	igt_fb_set_size(reg->fb, reg->plane, reg->w, reg->h);
 	igt_display_commit2(&drm.display, COMMIT_UNIVERSAL);
@@ -2868,14 +2865,14 @@ static void farfromfence_subtest(const struct
test_mode *t)
 	prepare_subtest(t, pattern);
 	target = pick_target(t, params);

-	create_fb(t->format, params->mode->hdisplay, max_height, t->tiling,
+	create_fb(t->format, params->mode.hdisplay, max_height, t->tiling,
 		  t->plane, &tall_fb);

 	fill_fb(&tall_fb, COLOR_PRIM_BG);

 	params->primary.fb = &tall_fb;
 	params->primary.x = 0;
-	params->primary.y = max_height - params->mode->vdisplay;
+	params->primary.y = max_height - params->mode.vdisplay;
 	set_mode_for_params(params);
 	do_assertions(assertions);

--
2.32.0
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help