[PATCH i-g-t v5 7/7] tests/intel/kms_frontbuffer_tracking: fix x-tiled tests for case when there is no x-tile

Cavitt, Jonathan jonathan.cavitt at intel.com
Wed Dec 18 22:05:55 UTC 2024


-----Original Message-----
From: igt-dev <igt-dev-bounces at lists.freedesktop.org> On Behalf Of Clint Taylor
Sent: Wednesday, December 18, 2024 1:37 PM
To: igt-dev at lists.freedesktop.org
Subject: [PATCH i-g-t v5 7/7] tests/intel/kms_frontbuffer_tracking: fix x-tiled tests for case when there is no x-tile
> 
> From: Juha-pekka Heikkila <juha-pekka.heikkila at intel.com>
> 
> x-tile is not supported from xe3 onwards. Handle this conclusively
> in all the kms_frontbuffer_tracking subtest options.
> 
> v2: Optimize display_ver checks (Sai Teja)
> 
> Signed-off-by: Juha-pekka Heikkila <juha-pekka.heikkila at intel.com>
> Signed-off-by: Vinod Govindapillai <vinod.govindapillai at intel.com>
> Signed-off-by: Clint Taylor <Clinton.A.Taylor at intel.com>

Aside from some nits and a newline that should be removed:
Reviewed-by: Jonathan Cavitt <jonathan.cavitt at intel.com>

> ---
>  tests/intel/kms_frontbuffer_tracking.c | 20 ++++++++++++++++----
>  1 file changed, 16 insertions(+), 4 deletions(-)
> 
> diff --git a/tests/intel/kms_frontbuffer_tracking.c b/tests/intel/kms_frontbuffer_tracking.c
> index e41ee0a80..ba564fafa 100644
> --- a/tests/intel/kms_frontbuffer_tracking.c
> +++ b/tests/intel/kms_frontbuffer_tracking.c
> @@ -1031,7 +1031,7 @@ struct test_mode {
>  		TILING_Y,
>  		TILING_4,
>  		TILING_COUNT,
> -		TILING_DEFAULT = TILING_X,
> +		TILING_AUTOSELECT,
>  	} tiling;
>  
>  	enum igt_draw_method method;
> @@ -1154,7 +1154,7 @@ struct {
>  	.only_pipes = PIPE_COUNT,
>  	.shared_fb_x_offset = 248,
>  	.shared_fb_y_offset = 500,
> -	.tiling = TILING_DEFAULT,
> +	.tiling = TILING_AUTOSELECT,
>  };
>  
>  struct modeset_params {
> @@ -2181,6 +2181,7 @@ static void setup_modeset(void)
>  	offscreen_fb.fb = NULL;
>  	offscreen_fb.w = 1024;
>  	offscreen_fb.h = 1024;
> +

Nit:
This is definitely a correct place for a newline to go, but I'm not sure if this is
the correct patch series to be making this kind of additional change.
On the other hand, I guess there isn't really a better place to be making this
change, so it's probably fine.

>  	create_fbs(FORMAT_DEFAULT, opt.tiling);
>  }
>  
> @@ -2302,7 +2303,6 @@ static void setup_drrs(void)
>  
>  static void setup_environment(void)
>  {
> -	setup_drm();
>  	setup_modeset();
>  
>  	setup_fbc();
> @@ -3146,6 +3146,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 > 29) ? false : true;
>  	case TILING_Y:
>  		return true;
>  	case TILING_4:
> @@ -4226,9 +4227,18 @@ 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);
> +
> +		/* TILING_X is not supported from Xe3 onwards. If the tiling
> +		 * is not set explicitly using the commandline parameter,
> +		 * handle the default tiling based on the platform.
> +		 */
> +		if (opt.tiling == TILING_AUTOSELECT)
> +			opt.tiling = drm.display_ver >= 30 ? TILING_4 : TILING_X;
> +
> +		setup_environment();
>  	}
>  
>  	for (t.feature = 0; t.feature < FEATURE_COUNT; t.feature++) {
> @@ -4537,6 +4547,7 @@ 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);
>  
> +

This newline needs to be removed before pushing.

>  					if (tiling_is_valid(t.feature, t.tiling))
>  						draw_subtest(&t);
>  					else
> @@ -4569,6 +4580,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
>  	t.flip = FLIP_PAGEFLIP;
>  	t.method = IGT_DRAW_BLT;
>  	t.tiling = opt.tiling;
> +

Nit:
Same as first Nit.
-Jonathan Cavitt

>  	igt_subtest("basic") {
>  		if (!is_xe_device(drm.fd))
>  			igt_require_gem(drm.fd);
> -- 
> 2.25.1
> 
> 


More information about the igt-dev mailing list