[PATCH i-g-t 3/3] tests/intel/kms_dirtyfb: Check features after rendering

Naladala, Ramanaidu ramanaidu.naladala at intel.com
Sat Sep 7 11:51:53 UTC 2024



On 7/1/2024 10:43 AM, Jouni Högander wrote:
> Check each feature after rendering and flush. Also add new check for
> possible PSR errors.
> 
> Signed-off-by: Jouni Högander <jouni.hogander at intel.com>
> ---
>   tests/intel/kms_dirtyfb.c | 33 +++++++++++++++++++++++++++++++--
>   1 file changed, 31 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/intel/kms_dirtyfb.c b/tests/intel/kms_dirtyfb.c
> index 75047ec63..35df9be3b 100644
> --- a/tests/intel/kms_dirtyfb.c
> +++ b/tests/intel/kms_dirtyfb.c
> @@ -145,7 +145,7 @@ static void enable_feature(data_t *data)
>   	}
>   }
>   
> -static void check_feature(data_t *data)
> +static void check_feature_enabled(data_t *data)
>   {
>   	switch (data->feature) {
>   	case FEATURE_NONE:
> @@ -171,6 +171,33 @@ static void check_feature(data_t *data)
>   	}
>   }
>   
> +static void check_feature(data_t *data)
> +{
> +	switch (data->feature) {
> +	case FEATURE_NONE:
> +		break;
> +	case FEATURE_FBC:
> +		igt_assert_f(intel_fbc_wait_until_enabled(data->drm_fd,
> +							  data->pipe),
> +			     "FBC disabled\n");
> +		/* TODO: Add compression check here */
> +		break;
> +	case FEATURE_PSR:
> +		igt_assert_f(psr_wait_entry(data->debugfs_fd, PSR_MODE_1, data->output),
> +			     "No PSR entry\n");
> +		psr_sink_error_check(data->debugfs_fd, PSR_MODE_1, data->output);
> +		break;
> +	case FEATURE_DRRS:
> +		igt_assert_f(!intel_is_drrs_inactive(data->drm_fd, data->pipe),
> +			     "DRRS INACTIVE\n");
> +		break;
> +	case FEATURE_DEFAULT:
> +		break;
> +	default:
> +		igt_assert(false);
> +	}
> +}
> +
>   static void disable_features(data_t *data)
>   {
>   	intel_fbc_disable(data->drm_fd);
> @@ -232,7 +259,7 @@ static void prepare(data_t *data)
>   
>   	igt_display_commit2(&data->display, COMMIT_ATOMIC);
>   
> -	check_feature(data);
> +	check_feature_enabled(data);
>   }
LGTM,
Reviewed-by: Naladala Ramanaidu <ramanaidu.naladala at intel.com>
>   
>   static void cleanup(data_t *data)
> @@ -298,6 +325,8 @@ static void run_test(data_t *data)
>   	igt_pipe_crc_collect_crc(data->pipe_crc, &crc);
>   	igt_assert_crc_equal(&crc, &data->ref_crc);
>   
> +	check_feature(data);
> +
>   	igt_spin_free(data->drm_fd, spin);
>   	intel_bb_destroy(ibb);
>   	intel_buf_destroy(src);



More information about the igt-dev mailing list