Mesa (main): iris/bufmgr: Set mmap_mode to IRIS_MMAP_NONE for lmem in small-BAR mode

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jul 21 20:54:55 UTC 2022


Module: Mesa
Branch: main
Commit: 180aa4f3b214b7da3ca23976c27ada4a07bac411
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=180aa4f3b214b7da3ca23976c27ada4a07bac411

Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Fri Jul 15 10:16:19 2022 -0700

iris/bufmgr: Set mmap_mode to IRIS_MMAP_NONE for lmem in small-BAR mode

Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
Suggested-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17349>

---

 src/gallium/drivers/iris/iris_bufmgr.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/iris/iris_bufmgr.c b/src/gallium/drivers/iris/iris_bufmgr.c
index 6c72e24a1e5..e04712a2540 100644
--- a/src/gallium/drivers/iris/iris_bufmgr.c
+++ b/src/gallium/drivers/iris/iris_bufmgr.c
@@ -1079,8 +1079,14 @@ iris_bo_alloc(struct iris_bufmgr *bufmgr,
                       (bufmgr->vram.size > 0 && !local) ||
                       (flags & BO_ALLOC_COHERENT);
    bool is_scanout = (flags & BO_ALLOC_SCANOUT) != 0;
-   enum iris_mmap_mode mmap_mode =
-      !local && is_coherent && !is_scanout ? IRIS_MMAP_WB : IRIS_MMAP_WC;
+
+   enum iris_mmap_mode mmap_mode;
+   if (!bufmgr->all_vram_mappable && heap == IRIS_HEAP_DEVICE_LOCAL)
+      mmap_mode = IRIS_MMAP_NONE;
+   else if (!local && is_coherent && !is_scanout)
+      mmap_mode = IRIS_MMAP_WB;
+   else
+      mmap_mode = IRIS_MMAP_WC;
 
    simple_mtx_lock(&bufmgr->lock);
 



More information about the mesa-commit mailing list