summaryrefslogtreecommitdiff
path: root/lib/intel_bufops.c
diff options
context:
space:
mode:
authorVidya Srinivas <vidya.srinivas@intel.com>2021-09-20 16:17:47 +0530
committerMark Yacoub <markyacoub@google.com>2021-09-23 16:17:37 +0000
commitbc5979b6760ae2f73e6ad76b6a906feb6bc33fc4 (patch)
treef85f9b2040c8887305dd7e92f2b83f8869c9d9de /lib/intel_bufops.c
parent04a98602b79607a360c821668b947569c9ae9e6a (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.c8
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);
}