mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-15 11:40:39 +01:00
panfrost: use os_mmap and os_munmap
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>
This commit is contained in:
parent
411da8b80d
commit
f4fc2ece57
1 changed files with 4 additions and 3 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue