diff options
author | Vidya Srinivas <vidya.srinivas@intel.com> | 2021-09-20 16:17:47 +0530 |
---|---|---|
committer | Mark Yacoub <markyacoub@google.com> | 2021-09-23 16:17:37 +0000 |
commit | bc5979b6760ae2f73e6ad76b6a906feb6bc33fc4 (patch) | |
tree | f85f9b2040c8887305dd7e92f2b83f8869c9d9de /lib/intel_bufops.c | |
parent | 04a98602b79607a360c821668b947569c9ae9e6a (diff) |
lib/intel_bufops: Fix regression on 5.4 kernel
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
v3 - Fixed space issue - review comment from Zbigniew
v4 - Addressed review comments from Bhanu
Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>
Reviewed-by: Zbigniew KempczyĆski <zbigniew.kempczynski@intel.com>
Acked-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Diffstat (limited to 'lib/intel_bufops.c')
-rw-r--r-- | lib/intel_bufops.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c index f5f67edd..d1395c16 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)) + buf->handle = handle; + else + buf->handle = gem_create(bops->fd, size); + } set_hw_tiled(bops, buf); } |