[PATCH i-g-t v1 3/5] tests/kms_plane_scaling: Return error code in test_planes_scaling_combo

Sharma, Swati2 swati2.sharma at intel.com
Tue Sep 10 08:09:21 UTC 2024


LGTM

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

On 05-Sep-24 8:20 PM, Naladala Ramanaidu wrote:
> Change the return type of test_planes_scaling_combo from void to
> uint32_t to return error codes. Modify the loop in
> scaler_with_2_planes_tests to break on successful
> test_planes_scaling_combo execution.
> 
> v1: fix crash issues. (swati)
> 
> Signed-off-by: Naladala Ramanaidu <ramanaidu.naladala at intel.com>
> ---
>   tests/kms_plane_scaling.c | 37 ++++++++++++++++++++-----------------
>   1 file changed, 20 insertions(+), 17 deletions(-)
> 
> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
> index f03a73a5e..5d69eabf4 100644
> --- a/tests/kms_plane_scaling.c
> +++ b/tests/kms_plane_scaling.c
> @@ -933,7 +933,7 @@ static void setup_fb(int fd, int width, int height, struct igt_fb *fb)
>   		      fb);
>   }
>   
> -static void
> +static uint32_t
>   test_planes_scaling_combo(data_t *d, double sf_plane1,
>   			  double sf_plane2,
>   			  enum pipe pipe,
> @@ -997,13 +997,14 @@ test_planes_scaling_combo(data_t *d, double sf_plane1,
>   							  pipe, output, p1, p2,
>   							  &d->fb[1], &d->fb[2],
>   							  test_type);
> -			if (ret != 0)
> -				break;
> +			if (ret != 0) {
> +				cleanup_fbs(d);
> +				return ret;
> +			}
>   		}
>   		cleanup_fbs(d);
>   	}
> -	igt_skip_on_f(ret == -EINVAL || ret == -ERANGE, "Unsupported scaling operation in driver with return value %s\n",
> -		      (ret == -EINVAL) ? "-EINVAL" : "-ERANGE");
> +	return ret;
>   }
>   
>   static void
> @@ -1524,25 +1525,27 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
>   		for (int index = 0; index < ARRAY_SIZE(scaler_with_2_planes_tests); index++) {
>   			igt_describe(scaler_with_2_planes_tests[index].describe);
>   			igt_subtest_with_dynamic(scaler_with_2_planes_tests[index].name) {
> -			for_each_pipe(&data.display, pipe) {
> -				for_each_valid_output_on_pipe(&data.display, pipe, output) {
> -					if (!pipe_output_combo_valid(&data.display, pipe, output))
> -						continue;
> -					if (get_num_scalers(&data.display, pipe) < 2)
> -						continue;
> -
> -					igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe), igt_output_name(output)) {
> -
> -						test_planes_scaling_combo(&data,
> +				for_each_pipe(&data.display, pipe) {
> +					igt_dynamic_f("pipe-%s", kmstest_pipe_name(pipe)) {
> +						for_each_valid_output_on_pipe(&data.display, pipe, output) {
> +							if (!pipe_output_combo_valid(&data.display, pipe, output))
> +								continue;
> +							if (get_num_scalers(&data.display, pipe) < 2)
> +								continue;
> +							ret = test_planes_scaling_combo(&data,
>   								scaler_with_2_planes_tests[index].sf_plane1,
>   								scaler_with_2_planes_tests[index].sf_plane2,
>   								pipe, output,
>   								scaler_with_2_planes_tests[index].test_type);
> +							if (ret == 0)
> +								break;
> +						}
> +						igt_skip_on_f(ret == -ERANGE || ret == -EINVAL,
> +							      "Unsupported scaling operation in driver with return value %s\n",
> +							      (ret == -EINVAL) ? "-EINVAL" : "-ERANGE");
>   					}
> -					break;
>   				}
>   			}
> -			}
>   		}
>   
>   		for (int index = 0; index < ARRAY_SIZE(intel_paramtests); index++) {


More information about the igt-dev mailing list