[igt-dev] [PATCH v2 3/8] tests/kms_available_modes_crc: Don't set tiling for framebuffer

Dixit, Ashutosh ashutosh.dixit at intel.com
Tue Feb 11 20:15:57 UTC 2020


On Mon, 10 Feb 2020 18:31:03 -0800, Imre Deak wrote:
>
> From: Vanshidhar Konda <vanshidhar.r.konda at intel.com>
>
> The GEM object used for the framebuffer does not need tiling to be set
> on it as the entire framebuffer is being filled with the same value -
> tiling will not impact the end value of the buffer.
>
> Cc: Matt Roper <matthew.d.roper at intel.com>
> Signed-off-by: Vanshidhar Konda <vanshidhar.r.konda at intel.com>
> Signed-off-by: Imre Deak <imre.deak at intel.com>
> Reviewed-by: Matt Roper <matthew.d.roper at intel.com>
> ---
>  tests/kms_available_modes_crc.c | 6 ------
>  1 file changed, 6 deletions(-)
>
> diff --git a/tests/kms_available_modes_crc.c b/tests/kms_available_modes_crc.c
> index 12761343..ed43d1fb 100644
> --- a/tests/kms_available_modes_crc.c
> +++ b/tests/kms_available_modes_crc.c
> @@ -211,17 +211,11 @@ static bool setup_fb(data_t *data, igt_output_t *output, igt_plane_t *plane,
>	data->buf = (unsigned char *)calloc(data->size*2, 1);
>
>	data->gem_handle = gem_create(data->gfx_fd, gemsize);
> -	ret = __gem_set_tiling(data->gfx_fd, data->gem_handle,
> -			       igt_fb_mod_to_tiling(tiling),
> -			       data->fb.strides[0]);
> -
>	data->fb.gem_handle = data->gem_handle;
>	data->fb.width = w;
>	data->fb.height = h;
>	fill_in_fb(data, output, plane, format);
>
> -	igt_assert_eq(ret, 0);
> -
>	ret = __kms_addfb(data->gfx_fd, data->gem_handle, w, h,
>			  format, tiling, data->fb.strides, data->fb.offsets,
>			  num_planes, LOCAL_DRM_MODE_FB_MODIFIERS,

I think there are still the following remaining issues with this patch:

1. 33cc93c8 has introduced a gem_require_mappable_ggtt() skipping the
   entire test. That should probably be removed as part of this patch?

2. do_write() has a gem_mmap__gtt() which should be converted to
   device_coherent()?

3. This is sort of optional but in my view there is an inconsistency here
   which should be addressed:

   The original test was actually using a tiled object and using the tiling
   available in the aperture/gtt to write to the object. Through this patch
   we have essentially removed the tiling on the object. However, we are
   continuing to use LOCAL_I915_FORMAT_MOD_X_TILED in setup_fb(). It just
   happens that because we are filling in a single value the modifier is
   immaterial.

   Shouldn't this be made consistent? Either

   (a) we should change the modifier to LOCAL_DRM_FORMAT_MOD_NONE, or

   (b) if we are going to use the tiled modifer we should assume the object
       is really tiled and use the blitter or rendercopy to write to the
       object.

   I guess (a) is simpler to do.


More information about the igt-dev mailing list