[PATCH i-g-t v3 8/9] XE3: tests/intel/kms_frontbuffer_tracking: fix x-tiled tests for case when there is no x-tile

Pottumuttu, Sai Teja sai.teja.pottumuttu at intel.com
Mon Dec 2 07:04:49 UTC 2024


On 15-11-2024 00:33, Clint Taylor wrote:
> From: "Heikkila, Juha-pekka" <juha-pekka.heikkila at intel.com>
> 
> On Xe3 display no more support x-tile and will disable such framebuffers
> 
> Signed-off-by: Heikkila, Juha-pekka <juha-pekka.heikkila at intel.com>
> Signed-off-by: Clint Taylor <Clinton.A.Taylor at intel.com>
> ---
>   tests/intel/kms_frontbuffer_tracking.c | 25 +++++++++++++++++++++----
>   1 file changed, 21 insertions(+), 4 deletions(-)
> 
> diff --git a/tests/intel/kms_frontbuffer_tracking.c b/tests/intel/kms_frontbuffer_tracking.c
> index b7e3f7379..8af41caf3 100644
> --- a/tests/intel/kms_frontbuffer_tracking.c
> +++ b/tests/intel/kms_frontbuffer_tracking.c
> @@ -2421,7 +2421,12 @@ static void setup_modeset(void)
>   	offscreen_fb.fb = NULL;
>   	offscreen_fb.w = 1024;
>   	offscreen_fb.h = 1024;
> -	create_fbs(FORMAT_DEFAULT, opt.tiling);
> +
> +	/* Xe3 remove x-tile from display + */
> +	if (drm.display_ver <= 20)

As suggested in other patches, lets go with <30 here as well?

And we should adjust the below conditions as well on similar lines I guess.

> +		create_fbs(FORMAT_DEFAULT, opt.tiling);
> +	else
> +		create_fbs(FORMAT_DEFAULT, TILING_4);
>   }
>   
>   static void teardown_modeset(void)
> @@ -2542,7 +2547,6 @@ static void setup_drrs(void)
>   
>   static void setup_environment(void)
>   {
> -	setup_drm();
>   	setup_modeset();
>   
>   	setup_fbc();
> @@ -3386,6 +3390,7 @@ static bool tiling_is_valid(int feature_flags, enum tiling_type tiling)
>   	case TILING_LINEAR:
>   		return intel_gen(drm.devid) >= 9;
>   	case TILING_X:
> +		return (intel_get_device_info(drm.devid)->display_ver > 20) ? false : true;
>   	case TILING_Y:
>   		return true;
>   	case TILING_4:
> @@ -4468,9 +4473,10 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
>   	igt_output_t *output;
>   
>   	igt_fixture {
> -		setup_environment();
> +		setup_drm();
>   		drm.devid = intel_get_drm_devid(drm.fd);
>   		drm.display_ver = intel_display_ver(drm.devid);
> +		setup_environment();
>   	}
>   
>   	for (t.feature = 0; t.feature < FEATURE_COUNT; t.feature++) {
> @@ -4774,6 +4780,11 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
>   					if (t.tiling == TILING_4)
>   						igt_require(intel_get_device_info(drm.devid)->has_4tile);
>   
> +					/* Xe3 remove x-tile from display + */
> +					if (t.tiling == TILING_X) {
> +						igt_require(drm.display_ver <= 20);
> +					}

Looks like, this test won't run for TILING_X. As, a little above we have,

if (t.tiling == TILING_X)
    continue;

So, do we need this addition?

Thanks,
Sai Teja

> +
>   					if (tiling_is_valid(t.feature, t.tiling))
>   						draw_subtest(&t);
>   					else
> @@ -4805,7 +4816,13 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
>   	t.format = FORMAT_DEFAULT;
>   	t.flip = FLIP_PAGEFLIP;
>   	t.method = IGT_DRAW_BLT;
> -	t.tiling = opt.tiling;
> +
> +	/* Xe3 remove x-tile from display + */
> +	if (drm.display_ver <= 20)
> +		t.tiling = opt.tiling;
> +	else
> +		t.tiling = TILING_4;
> +
>   	igt_subtest("basic") {
>   		if (!is_xe_device(drm.fd))
>   			igt_require_gem(drm.fd);


More information about the igt-dev mailing list