diff --git a/gpu.cpp b/gpu.cpp index c24dee5..e3d7a6c 100644 --- a/gpu.cpp +++ b/gpu.cpp @@ -58,7 +58,7 @@ int gpu_context_t::gralloc_alloc_framebuffer_locked(size_t size, int usage, private_module_t* m = reinterpret_cast(common.module); // we don't support allocations with both the FB and PMEM_ADSP flags - if (usage & GRALLOC_USAGE_PRIVATE_PMEM_ADSP) { + if (usage & GRALLOC_USAGE_PRIVATE_ADSP_HEAP) { return -EINVAL; } @@ -190,7 +190,7 @@ int gpu_context_t::gralloc_alloc_buffer(size_t size, int usage, buffer_handle_t* flags |= private_handle_t::PRIV_FLAGS_USES_PMEM; } #else - if (usage & GRALLOC_USAGE_PRIVATE_PMEM){ + if (usage & GRALLOC_USAGE_PRIVATE_EBI_HEAP){ flags |= private_handle_t::PRIV_FLAGS_USES_PMEM; } @@ -201,7 +201,7 @@ int gpu_context_t::gralloc_alloc_buffer(size_t size, int usage, buffer_handle_t* flags |= private_handle_t::PRIV_FLAGS_USES_PMEM; } #endif - if (usage & GRALLOC_USAGE_PRIVATE_PMEM_ADSP) { + if (usage & GRALLOC_USAGE_PRIVATE_ADSP_HEAP) { flags |= private_handle_t::PRIV_FLAGS_USES_PMEM_ADSP; flags &= ~private_handle_t::PRIV_FLAGS_USES_PMEM; } @@ -237,8 +237,8 @@ int gpu_context_t::gralloc_alloc_buffer(size_t size, int usage, buffer_handle_t* // Allocate the buffer from pmem err = pma->alloc_pmem_buffer(size, usage, &base, &offset, &fd); if (err < 0) { - if (((usage & GRALLOC_USAGE_PRIVATE_PMEM) == 0) && - ((usage & GRALLOC_USAGE_PRIVATE_PMEM_ADSP) == 0) && + if (((usage & GRALLOC_USAGE_PRIVATE_EBI_HEAP) == 0) && + ((usage & GRALLOC_USAGE_PRIVATE_ADSP_HEAP) == 0) && !isMDPComposition) { // the caller didn't request PMEM, so we can try something else flags &= ~private_handle_t::PRIV_FLAGS_USES_PMEM; diff --git a/gralloc_priv.h b/gralloc_priv.h index b8873d6..8e79568 100644 --- a/gralloc_priv.h +++ b/gralloc_priv.h @@ -44,10 +44,12 @@ enum { BYPASS_OV_CHANNEL_OPEN, #endif enum { - /* gralloc usage bit indicating a pmem_adsp allocation should be used */ - GRALLOC_USAGE_PRIVATE_PMEM_ADSP = GRALLOC_USAGE_PRIVATE_0, - GRALLOC_USAGE_PRIVATE_PMEM = GRALLOC_USAGE_PRIVATE_1, - GRALLOC_USAGE_PRIVATE_ASHMEM = GRALLOC_USAGE_PRIVATE_2, + /* gralloc usage bit indicating the type + * of allocation that should be used */ + GRALLOC_USAGE_PRIVATE_ADSP_HEAP = GRALLOC_USAGE_PRIVATE_0, + GRALLOC_USAGE_PRIVATE_EBI_HEAP = GRALLOC_USAGE_PRIVATE_1, + GRALLOC_USAGE_PRIVATE_SMI_HEAP = GRALLOC_USAGE_PRIVATE_2, + GRALLOC_USAGE_PRIVATE_SYSTEM_HEAP = GRALLOC_USAGE_PRIVATE_3, }; /* numbers of max buffers for page flipping */ @@ -325,9 +327,10 @@ struct private_handle_t { PRIV_FLAGS_FRAMEBUFFER = 0x00000001, PRIV_FLAGS_USES_PMEM = 0x00000002, PRIV_FLAGS_USES_PMEM_ADSP = 0x00000004, - PRIV_FLAGS_NEEDS_FLUSH = 0x00000008, + PRIV_FLAGS_USES_ION = 0x00000008, PRIV_FLAGS_USES_ASHMEM = 0x00000010, - PRIV_FLAGS_DO_NOT_FLUSH = 0x00000020, + PRIV_FLAGS_NEEDS_FLUSH = 0x00000020, + PRIV_FLAGS_DO_NOT_FLUSH = 0x00000040, }; enum { diff --git a/mapper.cpp b/mapper.cpp index 96cf666..7699e4c 100644 --- a/mapper.cpp +++ b/mapper.cpp @@ -342,7 +342,7 @@ int gralloc_perform(struct gralloc_module_t const* module, native_handle_t** handle = va_arg(args, native_handle_t**); int memoryFlags = va_arg(args, int); - if (memoryFlags == GRALLOC_USAGE_PRIVATE_PMEM) { + if (memoryFlags == GRALLOC_USAGE_PRIVATE_EBI_HEAP) { // validate that it's indeed a pmem buffer pmem_region region; if (ioctl(fd, PMEM_GET_SIZE, ®ion) < 0) { @@ -353,7 +353,7 @@ int gralloc_perform(struct gralloc_module_t const* module, private_handle_t::sNumFds, private_handle_t::sNumInts); hnd->magic = private_handle_t::sMagic; hnd->fd = fd; - hnd->flags = (memoryFlags == GRALLOC_USAGE_PRIVATE_PMEM) ? + hnd->flags = (memoryFlags == GRALLOC_USAGE_PRIVATE_EBI_HEAP) ? private_handle_t::PRIV_FLAGS_USES_PMEM | private_handle_t::PRIV_FLAGS_DO_NOT_FLUSH: private_handle_t::PRIV_FLAGS_USES_ASHMEM;