[igt-dev] [i-g-t 2/2] tests/intel/kms_pm_lpsp: Fix Bigjoiner checks

Sharma, Swati2 swati2.sharma at intel.com
Tue Oct 10 15:33:30 UTC 2023


LGTM

Reviewed-by: Swati Sharma <swati2.sharma at intel.com>

On 26-Sep-23 5:17 PM, Bhanuprakash Modem wrote:
> Instead of writing a new logic to check the Bigjoiner validity,
> use the existing helpers from IGT lib.
> 
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
> ---
>   tests/intel/kms_pm_lpsp.c | 25 +++++++++++++++----------
>   1 file changed, 15 insertions(+), 10 deletions(-)
> 
> diff --git a/tests/intel/kms_pm_lpsp.c b/tests/intel/kms_pm_lpsp.c
> index d3e543048..cb3c3e379 100644
> --- a/tests/intel/kms_pm_lpsp.c
> +++ b/tests/intel/kms_pm_lpsp.c
> @@ -68,6 +68,8 @@ typedef struct {
>   	enum pipe pipe;
>   } data_t;
>   
> +static int max_dotclock;
> +
>   static bool lpsp_is_enabled(data_t *data)
>   {
>   	char buf[MAX_SINK_LPSP_INFO_BUF_LEN];
> @@ -123,7 +125,6 @@ static void setup_lpsp_output(data_t *data)
>   {
>   	igt_plane_t *primary;
>   
> -	igt_output_set_pipe(data->output, data->pipe);
>   	primary = igt_output_get_plane_type(data->output,
>   					    DRM_PLANE_TYPE_PRIMARY);
>   	igt_plane_set_fb(primary, NULL);
> @@ -158,20 +159,22 @@ static bool test_constraint(data_t *data)
>   	int i;
>   
>   	igt_display_reset(&data->display);
> +	igt_output_set_pipe(data->output, data->pipe);
>   
>   	data->mode = igt_output_get_mode(data->output);
>   
> -	/* For LPSP avoid pipe big joiner by atleast 4k mode */
> -	if (data->mode->hdisplay > 3840 && data->mode->vdisplay > 2160)
> +	/* For LPSP avoid Bigjoiner. */
> +	if (igt_bigjoiner_possible(data->mode, max_dotclock)) {
>   		for (i = 0; i < c->count_modes; i++) {
> -			if (c->modes[i].hdisplay <= 3840 &&
> -			    c->modes[i].vdisplay <= 2160) {
> -				data->mode = &c->modes[i];
> -				igt_output_override_mode(data->output,
> -							 data->mode);
> -				return true;
> -			}
> +			data->mode = &c->modes[i];
> +			if (igt_bigjoiner_possible(data->mode, max_dotclock))
> +				continue;
> +
> +			igt_output_override_mode(data->output, data->mode);
> +
> +			return true;
>   		}
> +	}
>   
>   	return false;
>   }
> @@ -200,6 +203,8 @@ igt_main
>   		data.devid = intel_get_drm_devid(data.drm_fd);
>   		igt_display_require(&data.display, data.drm_fd);
>   		igt_require(igt_pm_dmc_loaded(data.debugfs_fd));
> +
> +		max_dotclock = igt_get_max_dotclock(data.drm_fd);
>   	}
>   
>   	igt_describe("This test validates lpsp while all crtc are disabled");


More information about the igt-dev mailing list