[i-g-t 2/4] tests/kms_vrr: Fix hardcoded step size

Golani, Mitulkumar Ajitkumar mitulkumar.ajitkumar.golani at intel.com
Mon Jun 24 12:12:52 UTC 2024



> -----Original Message-----
> From: Modem, Bhanuprakash <bhanuprakash.modem at intel.com>
> Sent: Friday, June 21, 2024 2:17 PM
> To: igt-dev at lists.freedesktop.org
> Cc: Modem, Bhanuprakash <bhanuprakash.modem at intel.com>; Manasi
> Navare <navaremanasi at chromium.org>; Golani, Mitulkumar Ajitkumar
> <mitulkumar.ajitkumar.golani at intel.com>
> Subject: [i-g-t 2/4] tests/kms_vrr: Fix hardcoded step size
> 
> In seamless-virtual subtest we are trying different Vrefresh values between
> Vmin & Vmax by incrementing the Vrefresh by by 10 Hz (hardcoded).
> 
> With this approach:
> - We'll achieve less no. of refresh rates if VRR range is low
>     Ex: We can achieve only 1 step between 40 to 60 Hz.
> - Execution time will increase in case of high VRR range.
>     Ex: We need 30 steps to reach 60 Hz to 360 Hz.
> 
> Instead of hardcoding the step size (10 Hz), allow test to execute fixed number
> of steps (say 5 steps to reach Vmin to
> Vmax) will guarantee to test (5) different refresh rates between Vmin & Vmax
> irrespective of the VRR range.
> 
> Cc: Manasi Navare <navaremanasi at chromium.org>
> Cc: Mitul Golani <mitulkumar.ajitkumar.golani at intel.com>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
> ---
>  tests/kms_vrr.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/kms_vrr.c b/tests/kms_vrr.c index 6fd04505e..2ea90cd8e
> 100644
> --- a/tests/kms_vrr.c
> +++ b/tests/kms_vrr.c
> @@ -740,6 +740,7 @@ test_seamless_virtual_rr_basic(data_t *data, enum
> pipe pipe, igt_output_t *outpu
>  	uint32_t result;
>  	unsigned int vrefresh;
>  	uint64_t rate[] = {0};
> +	uint32_t step_size;
> 
>  	igt_info("Use HIGH_RR Mode as default\n");
>  	kmstest_dump_mode(&data->switch_modes[HIGH_RR_MODE]);
> @@ -759,8 +760,14 @@ test_seamless_virtual_rr_basic(data_t *data, enum
> pipe pipe, igt_output_t *outpu
>  		     "Refresh rate (%u Hz) %"PRIu64"ns: Target threshold not
> reached, result was %u%%\n",
>  		     data->switch_modes[HIGH_RR_MODE].vrefresh, rate[0],
> result);
> 
> +	/*
> +	 * Calculate step size by considering the no. of steps required to
> +	 * reach Vmin to Vmax as 5.
> +	 */
> +	step_size = (data->range.max - data->range.min) / 5;
> +
>  	/* Switch to Virtual RR */
> -	for (vrefresh = data->range.min + 10; vrefresh < data->range.max;
> vrefresh += 10) {
> +	for (vrefresh = data->range.min + step_size; vrefresh <
> +data->range.max; vrefresh += step_size) {
>  		drmModeModeInfo virtual_mode =
> virtual_rr_vrr_range_mode(output, vrefresh);
> 

Changes LGTM.
Reviewed-by: Mitul Golani <mitulkumar.ajitkumar.golani at intel.com>

>  		igt_info("Requesting Virtual Mode with Refresh Rate (%u Hz):
> \n", vrefresh);
> --
> 2.43.2



More information about the igt-dev mailing list