[magma] Always cpu map with write access
Fixes an access violation exception.
Change-Id: Iacb8122365f1702add0b02d26f4faf9e56f24500
Reviewed-on: https://fuchsia-review.googlesource.com/c/third_party/github.com/intel/media-driver/+/732140
Reviewed-by: John Bauman <jbauman@google.com>
diff --git a/media_driver/linux/common/os/magma/mos_bufmgr_magma.cpp b/media_driver/linux/common/os/magma/mos_bufmgr_magma.cpp
index 4a57bdf..2b703e0 100644
--- a/media_driver/linux/common/os/magma/mos_bufmgr_magma.cpp
+++ b/media_driver/linux/common/os/magma/mos_bufmgr_magma.cpp
@@ -319,8 +319,9 @@
vmo_handle = handle;
}
+ // mos_bufmgr always maps RW on the CPU
zx_vaddr_t zx_vaddr;
- zx_status_t zx_status = zx_vmar_map(zx_vmar_root_self(), ZX_VM_PERM_READ | (write_enable ? ZX_VM_PERM_WRITE : 0),
+ zx_status_t zx_status = zx_vmar_map(zx_vmar_root_self(), ZX_VM_PERM_READ | ZX_VM_PERM_WRITE,
0 /*vmar_offset*/, vmo_handle, 0 /*offset*/, bo->size, &zx_vaddr);
zx_handle_close(vmo_handle);
@@ -332,7 +333,7 @@
bo->virt = reinterpret_cast<void*>(zx_vaddr);
- LOG_VERBOSE("mapped buffer %lu address %p", bo->id(), bo->virt);
+ LOG_VERBOSE("mapped buffer %lu address %p write_enable %d", bo->id(), bo->virt, write_enable);
return 0;
}