[osal]: reorder dma heap type select priority

Change-Id: Ifd2286ecf97fb4477693c24cdaec10c1df15eacf
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
This commit is contained in:
Rimon Xu
2022-10-27 11:38:21 +08:00
parent e7a328f49c
commit 1cc1af1b08
2 changed files with 14 additions and 9 deletions

View File

@@ -145,11 +145,13 @@ typedef enum {
* flags originate from drm_rockchip_gem_mem_type
*/
#define MPP_BUFFER_FLAGS_MASK 0x000f0000 //ROCKCHIP_BO_MASK << 16
#define MPP_BUFFER_FLAGS_MASK 0x003f0000 //ROCKCHIP_BO_MASK << 16
#define MPP_BUFFER_FLAGS_CONTIG 0x00010000 //ROCKCHIP_BO_CONTIG << 16
#define MPP_BUFFER_FLAGS_CACHABLE 0x00020000 //ROCKCHIP_BO_CACHABLE << 16
#define MPP_BUFFER_FLAGS_WC 0x00040000 //ROCKCHIP_BO_WC << 16
#define MPP_BUFFER_FLAGS_SECURE 0x00080000 //ROCKCHIP_BO_SECURE << 16
#define MPP_BUFFER_FLAGS_ALLOC_KMAP 0x00100000 //ROCKCHIP_BO_ALLOC_KMAP << 16
#define MPP_BUFFER_FLAGS_DMA32 0x00200000 //ROCKCHIP_BO_DMA32 << 16
/*
* MppBufferInfo variable's meaning is different in different MppBufferType

View File

@@ -68,20 +68,20 @@ typedef struct {
typedef enum DmaHeapType_e {
DMA_HEAP_CMA = (1 << 0),
DMA_HEAP_CACHABLE = (1 << 1),
DMA_HEAP_DMA64 = (1 << 2),
DMA_HEAP_TYPE_MASK = DMA_HEAP_CMA | DMA_HEAP_CACHABLE | DMA_HEAP_DMA64,
DMA_HEAP_DMA32 = (1 << 2),
DMA_HEAP_TYPE_MASK = DMA_HEAP_CMA | DMA_HEAP_CACHABLE | DMA_HEAP_DMA32,
DMA_HEAP_TYPE_NB,
} DmaHeapType;
static const char *heap_names[] = {
"system-uncached-dma32", /* 0 - default */
"system-uncached", /* 0 - default */
"cma-uncached", /* 1 - DMA_HEAP_CMA */
"system-dma32", /* 2 - DMA_HEAP_CACHABLE */
"system", /* 2 - DMA_HEAP_CACHABLE */
"cma", /* 3 - DMA_HEAP_CACHABLE | DMA_HEAP_CMA */
"system-uncached", /* 4 - DMA_HEAP_DMA64 */
"cma-uncached", /* 5 - DMA_HEAP_DMA64 | DMA_HEAP_CMA */
"system", /* 6 - DMA_HEAP_DMA64 | DMA_HEAP_CACHABLE */
"cma", /* 7 - DMA_HEAP_DMA64 | DMA_HEAP_CACHABLE | DMA_HEAP_CMA */
"system-uncached-dma32", /* 4 - DMA_HEAP_DMA32 */
"cma-uncached", /* 5 - DMA_HEAP_DMA32 | DMA_HEAP_CMA */
"system-dma32", /* 6 - DMA_HEAP_DMA32 | DMA_HEAP_CACHABLE */
"cma", /* 7 - DMA_HEAP_DMA32 | DMA_HEAP_CACHABLE | DMA_HEAP_CMA */
};
static int heap_fds[DMA_HEAP_TYPE_NB];
@@ -168,6 +168,9 @@ static MPP_RET os_allocator_dma_heap_open(void **ctx, MppAllocatorCfg *cfg)
if (cfg->flags & (MPP_BUFFER_FLAGS_CACHABLE >> 16))
type |= DMA_HEAP_CACHABLE;
if (cfg->flags & (MPP_BUFFER_FLAGS_DMA32 >> 16))
type |= DMA_HEAP_DMA32;
fd = heap_fd_open(type);
if (fd < 0) {
mpp_err_f("open dma heap type %x failed!\n", type);