From e1ab32237227805775d5eedc14c9b3d41031ce0d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Date: Mon, 17 Apr 2023 08:32:08 -0700 Subject: [PATCH] iris: Add function to return mmap mode for aux map MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: José Roberto de Souza Reviewed-by: Kenneth Graunke Part-of: --- src/gallium/drivers/iris/iris_bufmgr.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/iris/iris_bufmgr.c b/src/gallium/drivers/iris/iris_bufmgr.c index 0e0056a..e887773 100644 --- a/src/gallium/drivers/iris/iris_bufmgr.c +++ b/src/gallium/drivers/iris/iris_bufmgr.c @@ -2127,6 +2127,20 @@ init_cache_buckets(struct iris_bufmgr *bufmgr, enum iris_heap heap) } } +static enum iris_mmap_mode +iris_bo_alloc_aux_map_get_mmap_mode(struct iris_bufmgr *bufmgr, + enum iris_heap heap) +{ + switch (bufmgr->devinfo.kmd_type) { + case INTEL_KMD_TYPE_I915: + return heap != IRIS_HEAP_SYSTEM_MEMORY ? IRIS_MMAP_WC : IRIS_MMAP_WB; + case INTEL_KMD_TYPE_XE: + return iris_xe_bo_flags_to_mmap_mode(bufmgr, heap, 0); + default: + return IRIS_MMAP_NONE; + } +} + static struct intel_buffer * intel_aux_map_buffer_alloc(void *driver_ctx, uint32_t size) { @@ -2161,8 +2175,8 @@ intel_aux_map_buffer_alloc(void *driver_ctx, uint32_t size) bo->index = -1; bo->real.kflags = EXEC_OBJECT_SUPPORTS_48B_ADDRESS | EXEC_OBJECT_PINNED | EXEC_OBJECT_CAPTURE; - bo->real.mmap_mode = - bo->real.heap != IRIS_HEAP_SYSTEM_MEMORY ? IRIS_MMAP_WC : IRIS_MMAP_WB; + bo->real.mmap_mode = iris_bo_alloc_aux_map_get_mmap_mode(bufmgr, + bo->real.heap); buf->driver_bo = bo; buf->gpu = bo->address; -- 2.7.4