[igt-dev] [PATCH i-g-t] lib/intel_bufops: Fix regression on 5.4 kernel

Zbigniew Kempczyński zbigniew.kempczynski at intel.com
Mon Sep 20 09:24:32 UTC 2021


On Mon, Sep 20, 2021 at 01:30:47PM +0530, Vidya Srinivas wrote:
> Starting commit 8759c4a3020ce4 "Add intel_buf_init_in_region"
> __intel_buf_init uses gem_create_in_memory_regions instead of
> gem_create. Older kernels like 5.4 still dont have support for
> I915_GEM_CREATE_EXT_MEMORY_REGIONS (i915_gem_create_ext_ioctl)
> from kernel commit (https://patchwork.freedesktop.org/patch/431581/?series=89648&rev=1)
> Due to this, the flip-vs-fences tests are failing on kernel 5.4
> Patch adds fall back to gem_create when __gem_create_in_memory_region_list fails.
> 
> v2 - Addressed review comments from Zbigniew and Mark
> Added the fall back in __intel_buf_init
> 
> Signed-off-by: Vidya Srinivas <vidya.srinivas at intel.com>
> ---
>  lib/intel_bufops.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
> index f5f67eddabd7..c8c0a730ccfa 100644
> --- a/lib/intel_bufops.c
> +++ b/lib/intel_bufops.c
> @@ -818,8 +818,12 @@ static void __intel_buf_init(struct buf_ops *bops,
>  
>  	if (handle)
>  		buf->handle = handle;
> -	else
> -		buf->handle = gem_create_in_memory_regions(bops->fd, size, region);
> +	else {
> +		if( __gem_create_in_memory_regions(bops->fd, &handle, size, region) != 0)
                  ^---- missing space

Fix minor syntax nit, then:

Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>

--
Zbigniew

> +			buf->handle = gem_create(bops->fd, size);
> +		else
> +			buf->handle = handle;
> +	}
>  
>  	set_hw_tiled(bops, buf);
>  }
> -- 
> 2.33.0
> 


More information about the igt-dev mailing list