[PATCH i-g-t v2] tests/kms_display_modes: Remove negative test for extended display

B, Jeevan jeevan.b at intel.com
Mon Feb 24 05:19:23 UTC 2025


We can remove the test. LGTM. 

Reviewed-by: Jeevan B <jeevan.b at intel.com>

> -----Original Message-----
> From: Thasleem, Mohammed <mohammed.thasleem at intel.com>
> Sent: Friday, February 21, 2025 2:55 PM
> To: igt-dev at lists.freedesktop.org
> Cc: B, Jeevan <jeevan.b at intel.com>; Thasleem, Mohammed
> <mohammed.thasleem at intel.com>
> Subject: [PATCH i-g-t v2] tests/kms_display_modes: Remove negative test for
> extended display
> 
> This negative test was crated to validate ENOSPC when two 2k-4k or 4k-4k
> monitors connected through MST to cover bandwidth issue in MST config.
> 
> But it will not helpfult to handle current bandwidth which are DisplayPort (DP)
> 1.4 supports a total bandwidth of 4 × 8.1 Gbps.
> 
> However, with DP 2.1, the bandwidth allocation strategy has significantly
> changed to 4 × 20 Gbps of available bandwidth.
> This provides significantly greater display capabilities w.r.t bandwidth.
> 
> v2: Fix compilation issue.
> 
> Signed-off-by: Mohammed Thasleem <mohammed.thasleem at intel.com>
> ---
>  tests/kms_display_modes.c | 109 +-------------------------------------
>  1 file changed, 1 insertion(+), 108 deletions(-)
> 
> diff --git a/tests/kms_display_modes.c b/tests/kms_display_modes.c index
> 117f82325..e12d08f8d 100644
> --- a/tests/kms_display_modes.c
> +++ b/tests/kms_display_modes.c
> @@ -40,64 +40,17 @@
>   * Description: Test for validating display extended mode with a pair of
> connected
>   *              displays
>   * Functionality: kms_core
> - *
> - * SUBTEST: mst-extended-mode-negative
> - * Description: Negative test for validating display extended mode with a pair
> - *		of connected 2k-4k or 4k-4k displays.
> - * Functionality: kms_core, mst
>   */
> 
> -#define HDISPLAY_4K	3840
> -#define VDISPLAY_4K	2160
> -
>  IGT_TEST_DESCRIPTION("Test Display Modes");
> 
>  typedef struct {
>  	int drm_fd;
>  	igt_display_t display;
> -	drmModeModeInfo mode_mst[2];
>  	igt_output_t *mst_output[2];
>  	int n_pipes;
>  } data_t;
> 
> -/* Get higher mode supported by panel. */ -static drmModeModeInfo
> *get_highres_mode(igt_output_t *output) -{
> -	drmModeConnector *connector = output->config.connector;
> -	drmModeModeInfo *highest_mode = NULL;
> -
> -	igt_sort_connector_modes(connector, sort_drm_modes_by_res_dsc);
> -	highest_mode = &connector->modes[0];
> -
> -	return highest_mode;
> -}
> -
> -/* Get the 4k or less then 4k mode of connected panel. */ -static
> drmModeModeInfo *get_mode(igt_output_t *output) -{
> -	int j;
> -	drmModeModeInfo *required_mode = NULL;
> -	drmModeConnector *connector = output->config.connector;
> -
> -	required_mode = igt_output_get_mode(output);
> -	if (required_mode->vdisplay <= VDISPLAY_4K &&
> -	    required_mode->hdisplay <= HDISPLAY_4K) {
> -		return required_mode;
> -	}
> -
> -	/* If default mode not 4k or less than 4k mode, then sort modes and
> check for it. */
> -	igt_sort_connector_modes(connector, sort_drm_modes_by_res_dsc);
> -	for (j = 0; j < connector->count_modes; j++) {
> -		if (connector->modes[j].vdisplay <= VDISPLAY_4K &&
> -		    connector->modes[j].hdisplay <= HDISPLAY_4K) {
> -			required_mode = &connector->modes[j];
> -			break;
> -		}
> -	}
> -
> -	return required_mode;
> -}
> -
>  static bool output_is_dp_mst(data_t *data, igt_output_t *output, int i)  {
>  	int connector_id;
> @@ -110,7 +63,7 @@ static bool output_is_dp_mst(data_t *data,
> igt_output_t *output, int i)
>  	/*
>  	 * Discarding outputs of other DP MST topology.
>  	 * Testing only on outputs on the topology we got previously
> -	 */
> +	*/
>  	if (i == 0) {
>  		prev_connector_id = connector_id;
>  	} else {
> @@ -274,46 +227,9 @@ static void run_extendedmode_test(data_t *data) {
>  	}
>  }
> 
> -static void run_extendedmode_negative(data_t *data, int pipe1, int pipe2) -{
> -	struct igt_fb fbs[2];
> -	igt_display_t *display = &data->display;
> -	igt_plane_t *plane[2];
> -	int ret;
> -
> -	igt_display_reset(display);
> -
> -	igt_output_set_pipe(data->mst_output[0], pipe1);
> -	igt_output_set_pipe(data->mst_output[1], pipe2);
> -
> -	igt_create_color_fb(data->drm_fd, data->mode_mst[0].hdisplay,
> data->mode_mst[0].vdisplay,
> -			    DRM_FORMAT_XRGB8888,
> DRM_FORMAT_MOD_LINEAR, 1, 0, 0, &fbs[0]);
> -	igt_create_color_fb(data->drm_fd, data->mode_mst[1].hdisplay,
> data->mode_mst[1].vdisplay,
> -			    DRM_FORMAT_XRGB8888,
> DRM_FORMAT_MOD_LINEAR, 0, 0, 1, &fbs[1]);
> -
> -	plane[0] = igt_pipe_get_plane_type(&display->pipes[pipe1],
> DRM_PLANE_TYPE_PRIMARY);
> -	plane[1] = igt_pipe_get_plane_type(&display->pipes[pipe2],
> DRM_PLANE_TYPE_PRIMARY);
> -
> -	igt_plane_set_fb(plane[0], &fbs[0]);
> -	igt_fb_set_size(&fbs[0], plane[0], data->mode_mst[0].hdisplay, data-
> >mode_mst[0].vdisplay);
> -	igt_plane_set_size(plane[0], data->mode_mst[0].hdisplay, data-
> >mode_mst[0].vdisplay);
> -
> -	igt_plane_set_fb(plane[1], &fbs[1]);
> -	igt_fb_set_size(&fbs[1], plane[1], data->mode_mst[1].hdisplay, data-
> >mode_mst[1].vdisplay);
> -	igt_plane_set_size(plane[1], data->mode_mst[1].hdisplay, data-
> >mode_mst[1].vdisplay);
> -
> -	igt_output_override_mode(data->mst_output[0], &data-
> >mode_mst[0]);
> -	igt_output_override_mode(data->mst_output[1], &data-
> >mode_mst[1]);
> -
> -	igt_require(intel_pipe_output_combo_valid(display));
> -	ret = igt_display_try_commit2(display, COMMIT_ATOMIC);
> -	igt_assert(ret != 0 && errno == ENOSPC);
> -}
> -
>  igt_main
>  {
>  	int dp_mst_outputs = 0, count = 0;
> -	enum pipe pipe1, pipe2;
>  	igt_output_t *output;
>  	data_t data;
> 
> @@ -340,29 +256,6 @@ igt_main
>  		run_extendedmode_test(&data);
>  	}
> 
> -	igt_describe("Negative test for validating display extended mode with
> a pair of connected "
> -		     "2k-4k or 4k-4k displays");
> -	igt_subtest_with_dynamic("mst-extended-mode-negative") {
> -		igt_require_f(dp_mst_outputs > 1, "MST not found more then
> one\n");
> -
> -		memcpy(&data.mode_mst[0],
> get_mode(data.mst_output[0]), sizeof(drmModeModeInfo));
> -		memcpy(&data.mode_mst[1],
> get_highres_mode(data.mst_output[1]),
> -				sizeof(drmModeModeInfo));
> -		igt_require_f((data.mode_mst[1].hdisplay >= HDISPLAY_4K
> &&
> -			       data.mode_mst[1].vdisplay >= VDISPLAY_4K), "4k
> panel not found\n");
> -
> -		for_each_pipe(&data.display, pipe1) {
> -			for_each_pipe(&data.display, pipe2) {
> -				if (pipe1 == pipe2)
> -					continue;
> -
> -				igt_dynamic_f("pipe-%s-%s",
> kmstest_pipe_name(pipe1),
> -					      kmstest_pipe_name(pipe2))
> -					run_extendedmode_negative(&data,
> pipe1, pipe2);
> -			}
> -		}
> -	}
> -
>  	igt_fixture {
>  		igt_display_fini(&data.display);
>  	}
> --
> 2.43.0



More information about the igt-dev mailing list