43 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
#ifndef _VOS_MEM_H_
 | 
						|
#define _VOS_MEM_H_
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
/*-----------------------------------------------------------------------------*/
 | 
						|
/* Including Files                                                             */
 | 
						|
/*-----------------------------------------------------------------------------*/
 | 
						|
#include <kwrap/nvt_type.h>
 | 
						|
 | 
						|
typedef void* VOS_MEM_CMA_HDL;
 | 
						|
 | 
						|
typedef enum _VOS_MEM_CMA_TYPE {
 | 
						|
	VOS_MEM_CMA_TYPE_CACHE = 1,         ///< linux: dma_alloc_from_contiguous / freertos: malloc
 | 
						|
	VOS_MEM_CMA_TYPE_NONCACHE,          ///< linux: dma_alloc_coherent        / freertos: Not supported
 | 
						|
	VOS_MEM_CMA_TYPE_BUFFER,            ///< linux: dma_alloc_writecombine    / freertos: Not supported
 | 
						|
}VOS_MEM_CMA_TYPE;
 | 
						|
 | 
						|
struct vos_mem_cma_info_t {
 | 
						|
    VOS_MEM_CMA_TYPE        type;       ///< allocate type, refer to #VOS_FMEM_ALLOC_TYPE
 | 
						|
    ULONG                   reserved1;
 | 
						|
    ULONG                   paddr;      ///< physical address
 | 
						|
    ULONG                   reserved2;
 | 
						|
    ULONG                   reserved3;
 | 
						|
    ULONG                   vaddr;      ///< virtual address
 | 
						|
    ULONG                   size;       ///< size
 | 
						|
};
 | 
						|
 | 
						|
void rtos_mem_init(void *param);
 | 
						|
void rtos_mem_exit(void);
 | 
						|
 | 
						|
int vos_mem_init_cma_info(struct vos_mem_cma_info_t *p_info, VOS_MEM_CMA_TYPE type, UINT32 size);
 | 
						|
VOS_MEM_CMA_HDL vos_mem_alloc_from_cma(struct vos_mem_cma_info_t *p_info);
 | 
						|
int vos_mem_release_from_cma(VOS_MEM_CMA_HDL cma_hdl);
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
#endif /* _VOS_MEM_H_ */
 | 
						|
 |