[igt-dev] [PATCH i-g-t] lib/intel_bufops: Fix regression on 5.4 kernel
Vidya Srinivas
vidya.srinivas at intel.com
Mon Sep 20 09:24:55 UTC 2021
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
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..0236e4d919d5 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)
+ 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