mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-09 11:00:53 +08:00
[allocator]: Add dma_heap allocator
The dma_heap is introduced in kernel 5.10. Change-Id: Id3c116d996da461467fe380a79434ba5ea875033 Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
|
||||
#if defined(__ANDROID__)
|
||||
#include "allocator_dma_heap.h"
|
||||
#include "allocator_drm.h"
|
||||
#include "allocator_ext_dma.h"
|
||||
#include "allocator_ion.h"
|
||||
@@ -29,7 +30,8 @@ MPP_RET os_allocator_get(os_allocator *api, MppBufferType type)
|
||||
case MPP_BUFFER_TYPE_NORMAL :
|
||||
*api = allocator_std;
|
||||
case MPP_BUFFER_TYPE_ION : {
|
||||
*api = (mpp_rt_allcator_is_valid(MPP_BUFFER_TYPE_ION)) ? allocator_ion :
|
||||
*api = (mpp_rt_allcator_is_valid(MPP_BUFFER_TYPE_DMA_HEAP)) ? allocator_dma_heap :
|
||||
(mpp_rt_allcator_is_valid(MPP_BUFFER_TYPE_ION)) ? allocator_ion :
|
||||
#if HAVE_DRM
|
||||
(mpp_rt_allcator_is_valid(MPP_BUFFER_TYPE_DRM)) ? allocator_drm :
|
||||
#endif
|
||||
@@ -39,14 +41,16 @@ MPP_RET os_allocator_get(os_allocator *api, MppBufferType type)
|
||||
*api = allocator_ext_dma;
|
||||
} break;
|
||||
case MPP_BUFFER_TYPE_DRM : {
|
||||
*api = (mpp_rt_allcator_is_valid(MPP_BUFFER_TYPE_DMA_HEAP)) ? allocator_dma_heap :
|
||||
#if HAVE_DRM
|
||||
*api = (mpp_rt_allcator_is_valid(MPP_BUFFER_TYPE_DRM)) ? allocator_drm :
|
||||
#else
|
||||
* api =
|
||||
(mpp_rt_allcator_is_valid(MPP_BUFFER_TYPE_DRM)) ? allocator_drm :
|
||||
#endif
|
||||
(mpp_rt_allcator_is_valid(MPP_BUFFER_TYPE_ION)) ? allocator_ion :
|
||||
allocator_std;
|
||||
} break;
|
||||
case MPP_BUFFER_TYPE_DMA_HEAP: {
|
||||
*api = allocator_dma_heap;
|
||||
} break;
|
||||
default : {
|
||||
ret = MPP_NOK;
|
||||
} break;
|
||||
|
Reference in New Issue
Block a user