[Intel-gfx] [PATCH i-g-t v2] tests/kms_plane_multiple: Fix reference CRC
Lofstedt, Marta
marta.lofstedt at intel.com
Thu Aug 3 07:11:36 UTC 2017
Before merge, please add:
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101907
Reviewed-by: Marta Lofstedt <marta.lofstedt at intel.com>
> -----Original Message-----
> From: Kahola, Mika
> Sent: Thursday, August 3, 2017 9:54 AM
> To: intel-gfx at lists.freedesktop.org
> Cc: daniel at ffwll.ch; Latvala, Petri <petri.latvala at intel.com>; Lofstedt, Marta
> <marta.lofstedt at intel.com>
> Subject: [PATCH i-g-t v2] tests/kms_plane_multiple: Fix reference CRC
>
> kms_plane_multiple wrongly expected that igt lib function would modify the
> passed igt_crc_t* object. You should use igt_crc_t** instead. This patch fixes
> this anomaly in the test.
>
> While at it, remove unnecesary struct for test data as we only need
> reference CRC here.
>
> The problem was caught by CI system and at least affects on HSW platform.
>
> V2: Don't change function that collects CRC for reference CRC
> Fix CRC pointers
> Remove unnecessary struct for holding test data
>
> Signed-off-by: Mika Kahola <mika.kahola at intel.com>
> ---
> tests/kms_plane_multiple.c | 25 +++++++++----------------
> 1 file changed, 9 insertions(+), 16 deletions(-)
>
> diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c index
> f6c6223..4bc26b7 100644
> --- a/tests/kms_plane_multiple.c
> +++ b/tests/kms_plane_multiple.c
> @@ -51,11 +51,6 @@ typedef struct {
> struct igt_fb *fb;
> } data_t;
>
> -typedef struct {
> - data_t *data;
> - igt_crc_t reference_crc;
> -} test_position_t;
> -
> /* Command line parameters. */
> struct {
> int iterations;
> @@ -106,7 +101,7 @@ static void test_fini(data_t *data, igt_output_t
> *output, int n_planes)
>
> static void
> test_grab_crc(data_t *data, igt_output_t *output, enum pipe pipe, bool
> atomic,
> - color_t *color, uint64_t tiling, igt_crc_t *crc /* out */)
> + color_t *color, uint64_t tiling, igt_crc_t **crc /* out */)
> {
> drmModeModeInfo *mode;
> igt_plane_t *primary;
> @@ -132,7 +127,7 @@ test_grab_crc(data_t *data, igt_output_t *output,
> enum pipe pipe, bool atomic,
> igt_skip_on(ret != 0);
>
> igt_pipe_crc_start(data->pipe_crc);
> - n = igt_pipe_crc_get_crcs(data->pipe_crc, 1, &crc);
> + n = igt_pipe_crc_get_crcs(data->pipe_crc, 1, crc);
> igt_assert_eq(n, 1);
> }
>
> @@ -251,8 +246,8 @@ test_atomic_plane_position_with_output(data_t
> *data, enum pipe pipe, {
> char buf[256];
> struct drm_event *e = (void *)buf;
> - test_position_t test = { .data = data };
> color_t blue = { 0.0f, 0.0f, 1.0f };
> + igt_crc_t *ref = NULL;
> igt_crc_t *crc = NULL;
> unsigned int vblank_start, vblank_stop;
> int i, n, ret;
> @@ -275,8 +270,7 @@ test_atomic_plane_position_with_output(data_t
> *data, enum pipe pipe,
>
> test_init(data, pipe, n_planes);
>
> - test_grab_crc(data, output, pipe, true, &blue, tiling,
> - &test.reference_crc);
> + test_grab_crc(data, output, pipe, true, &blue, tiling, &ref);
>
> i = 0;
> while (i < iterations || loop_forever) { @@ -303,7 +297,7 @@
> test_atomic_plane_position_with_output(data_t *data, enum pipe pipe,
> igt_assert(vblank_stop - vblank_start <=
> MAX_CRCS);
> igt_assert_eq(n, vblank_stop - vblank_start);
>
> - igt_assert_crc_equal(&test.reference_crc, crc);
> + igt_assert_crc_equal(ref, crc);
>
> i++;
> }
> @@ -318,9 +312,9 @@ test_legacy_plane_position_with_output(data_t
> *data, enum pipe pipe,
> igt_output_t
> *output, int n_planes,
> uint64_t tiling)
> {
> - test_position_t test = { .data = data };
> color_t blue = { 0.0f, 0.0f, 1.0f };
> - igt_crc_t *crc;
> + igt_crc_t *ref = NULL;
> + igt_crc_t *crc = NULL;
> int i, n;
> int iterations = opt.iterations < 1 ? 1 : opt.iterations;
> bool loop_forever;
> @@ -341,8 +335,7 @@ test_legacy_plane_position_with_output(data_t
> *data, enum pipe pipe,
>
> test_init(data, pipe, n_planes);
>
> - test_grab_crc(data, output, pipe, false, &blue, tiling,
> - &test.reference_crc);
> + test_grab_crc(data, output, pipe, false, &blue, tiling, &ref);
>
> i = 0;
> while (i < iterations || loop_forever) { @@ -354,7 +347,7 @@
> test_legacy_plane_position_with_output(data_t *data, enum pipe pipe,
>
> igt_assert_eq(n, MAX_CRCS);
>
> - igt_assert_crc_equal(&test.reference_crc, crc);
> + igt_assert_crc_equal(ref, crc);
>
> i++;
> }
> --
> 2.7.4
More information about the Intel-gfx
mailing list