Re: [igt-dev] [i-g-t v6 22/52] tests/kms_plane: Add support for Bigjoiner

Karthik B S
2022-12-27T06:20:47Z

[-- Attachment #1: Type: text/plain, Size: 3551 bytes --]

On 12/15/2022 4:10 PM, Bhanuprakash Modem wrote:
> This patch will add a check to Skip the subtest if a selected pipe/output
> combo won't support Bigjoiner or 8K mode.
>
> Example:
> * Pipe-D wont support a mode > 5K
> * To use 8K mode on a pipe then consecutive pipe must be available & free.
>
> V2: - Use updated helper name
> V3: - Rebase
>
> Signed-off-by: Bhanuprakash Modem<bhanuprakash.modem@intel.com>
> ---
> tests/kms_plane.c | 30 +++++++++++++++++++-----------
> 1 file changed, 19 insertions(+), 11 deletions(-)
>
> diff --git a/tests/kms_plane.c b/tests/kms_plane.c
> index 164dacf4..a79802f6 100644
> --- a/tests/kms_plane.c
> +++ b/tests/kms_plane.c
> @@ -56,6 +56,7 @@ typedef struct {
> typedef struct {
> int drm_fd;
> igt_display_t display;
> + igt_output_t *output;
> igt_pipe_crc_t *pipe_crc;
> const color_t *colors;
> int num_colors;
> @@ -274,11 +275,11 @@ static void
> test_plane_position(data_t *data, enum pipe pipe)
> {
> int n_planes = data->display.pipes[pipe].n_planes;
> - igt_output_t *output;
> + igt_output_t *output = data->output;
> igt_crc_t reference_crc;
>
> - output = igt_get_single_output_for_pipe(&data->display, pipe);
> - igt_require(output);
> + igt_info("Using (pipe %s + %s) to run the subtest.\n",
> + kmstest_pipe_name(pipe), igt_output_name(output));

Hi,

This igt_info seems redundant here as we already have an igt_info doing
the same thing.

Using (pipe B + HDMI-A-4) to run the subtest.
Testing connector HDMI-A-4 using pipe B, mode 1920x1080

> test_init(data, pipe);
> test_grab_crc(data, output, pipe, &green, data->flags, &reference_crc);
> @@ -383,11 +384,11 @@ test_plane_panning(data_t *data, enum pipe pipe)
> {
> bool mode_found = false;
> uint64_t mem_size = 0;
> - igt_output_t *output;
> + igt_output_t *output = data->output;
> igt_crc_t ref_crc;
>
> - output = igt_get_single_output_for_pipe(&data->display, pipe);
> - igt_require(output);
> + igt_info("Using (pipe %s + %s) to run the subtest.\n",
> + kmstest_pipe_name(pipe), igt_output_name(output));
Same here.
>
> test_init(data, pipe);
>
> @@ -1076,7 +1077,7 @@ test_pixel_formats(data_t *data, enum pipe pipe)
> igt_plane_t *primary;
> drmModeModeInfo *mode;
> bool result;
> - igt_output_t *output;
> + igt_output_t *output = data->output;
> igt_plane_t *plane;
>
> if (data->extended) {
> @@ -1087,10 +1088,10 @@ test_pixel_formats(data_t *data, enum pipe pipe)
> data->num_colors = ARRAY_SIZE(colors_reduced);
> }
>
> - test_init(data, pipe);
> + igt_info("Using (pipe %s + %s) to run the subtest.\n",
> + kmstest_pipe_name(pipe), igt_output_name(output));
Same here.
>
> - output = igt_get_single_output_for_pipe(&data->display, pipe);
> - igt_require(output);
> + test_init(data, pipe);
>
> mode = igt_output_get_mode(output);
>
> @@ -1134,7 +1135,14 @@ static void run_test(data_t *data, void (*test)(data_t *, enum pipe))
> enum pipe pipe;
> int count = 0;
>
> - for_each_pipe(&data->display, pipe) {
> + for_each_pipe_with_single_output(&data->display, pipe, data->output) {
> + igt_display_reset(&data->display);
> +
> + igt_output_set_pipe(data->output, pipe);
> + if (!i915_pipe_output_combo_valid(&data->display))
> + continue;
> +
> + igt_output_set_pipe(data->output, PIPE_NONE);

With the above igt_info's removed, the patch LGTM.

Reviewed-by: Karthik B S <karthik.b.s@intel.com>

Thanks,
Karthik.B.S
> igt_dynamic_f("pipe-%s-planes", kmstest_pipe_name(pipe))
> test(data, pipe);
>
> --
> 2.38.1
>

[-- Attachment #2: Type: text/html, Size: 5155 bytes --]