mm-video: port heap mask change to ion.
Heap mask field passes as argument at allocation time
to specify ion heap.
Change-Id: Ib46d28aa1cf76efbfdadc8a624bf2d1ea483fe09
diff --git a/mm-video/vidc/vdec/src/omx_vdec_msm8974.cpp b/mm-video/vidc/vdec/src/omx_vdec_msm8974.cpp
index 65a3934..bf11a90 100644
--- a/mm-video/vidc/vdec/src/omx_vdec_msm8974.cpp
+++ b/mm-video/vidc/vdec/src/omx_vdec_msm8974.cpp
@@ -7360,17 +7360,17 @@
DEBUG_PRINT_ERROR("Invalid arguments to alloc_map_ion_memory\n");
return -EINVAL;
}
- if(!secure_mode && flag == CACHED)
- {
- ion_dev_flag = O_RDONLY;
- } else {
- ion_dev_flag = (O_RDONLY | O_DSYNC);
- }
+ ion_dev_flag = O_RDONLY;
fd = open (MEM_DEVICE, ion_dev_flag);
if (fd < 0) {
DEBUG_PRINT_ERROR("opening ion device failed with fd = %d\n", fd);
return fd;
}
+ alloc_data->flags = 0;
+ if(!secure_mode && (flag & ION_FLAG_CACHED))
+ {
+ alloc_data->flags |= ION_FLAG_CACHED;
+ }
alloc_data->len = buffer_size;
alloc_data->align = clip2(alignment);
if (alloc_data->align < 4096)
@@ -7378,9 +7378,9 @@
alloc_data->align = 4096;
}
if(secure_mode) {
- alloc_data->flags = (ION_HEAP(MEM_HEAP_ID) | ION_SECURE);
+ alloc_data->heap_mask = (ION_HEAP(MEM_HEAP_ID) | ION_SECURE);
} else {
- alloc_data->flags = ION_HEAP(MEM_HEAP_ID);
+ alloc_data->heap_mask = ION_HEAP(MEM_HEAP_ID);
}
rc = ioctl(fd,ION_IOC_ALLOC,alloc_data);
if (rc || !alloc_data->handle) {