panfrost: use os_mmap and os_munmap
authorMateusz Krzak <kszaquitto@gmail.com>
Sun, 7 Apr 2019 21:25:49 +0000 (23:25 +0200)
committerEric Anholt <eric@anholt.net>
Fri, 12 Apr 2019 16:33:00 +0000 (16:33 +0000)
32-bit needs mmap64 for 64-bit offsets. We get 64-bit offsets from kernel.

Signed-off-by: Mateusz Krzak <kszaquitto@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
src/gallium/drivers/panfrost/pan_drm.c

index 9aabd96..70d8d74 100644 (file)
@@ -29,6 +29,7 @@
 
 #include "util/u_memory.h"
 #include "util/os_time.h"
+#include "os/os_mman.h"
 
 #include "pan_screen.h"
 #include "pan_resource.h"
@@ -81,7 +82,7 @@ panfrost_drm_allocate_slab(struct panfrost_screen *screen,
                assert(0);
        }
 
-        mem->cpu = mmap(NULL, mem->size, PROT_READ | PROT_WRITE, MAP_SHARED,
+        mem->cpu = os_mmap(NULL, mem->size, PROT_READ | PROT_WRITE, MAP_SHARED,
                        drm->fd, mmap_bo.offset);
         if (mem->cpu == MAP_FAILED) {
                 fprintf(stderr, "mmap failed: %p\n", mem->cpu);
@@ -102,7 +103,7 @@ panfrost_drm_free_slab(struct panfrost_screen *screen, struct panfrost_memory *m
        };
        int ret;
 
-        if (munmap((void *) (uintptr_t) mem->cpu, mem->size)) {
+        if (os_munmap((void *) (uintptr_t) mem->cpu, mem->size)) {
                 perror("munmap");
                 abort();
         }
@@ -148,7 +149,7 @@ panfrost_drm_import_bo(struct panfrost_screen *screen, struct winsys_handle *wha
 
         bo->size = lseek(whandle->handle, 0, SEEK_END);
         assert(bo->size > 0);
-        bo->cpu = mmap(NULL, bo->size, PROT_READ | PROT_WRITE, MAP_SHARED,
+        bo->cpu = os_mmap(NULL, bo->size, PROT_READ | PROT_WRITE, MAP_SHARED,
                        drm->fd, mmap_bo.offset);
         if (bo->cpu == MAP_FAILED) {
                 fprintf(stderr, "mmap failed: %p\n", bo->cpu);