[igt-dev] [PATCH] lib/intel_bufops: Fix regression on 5.4 kernel
Vidya Srinivas
vidya.srinivas at intel.com
Mon Sep 20 10:47:47 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
v4 - Addressed review comments from Bhanu
Signed-off-by: Vidya Srinivas <vidya.srinivas at intel.com>
Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
Acked-by: Bhanuprakash Modem <bhanuprakash.modem 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..d1395c1605d2 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);
}
--
2.32.0
More information about the igt-dev
mailing list