|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef __RK_MPI_MMZ_H__ |
|
#define __RK_MPI_MMZ_H__ |
|
|
|
#include <stdint.h> |
|
|
|
#ifdef __cplusplus |
|
#if __cplusplus |
|
extern "C" { |
|
#endif |
|
#endif |
|
|
|
typedef void* MB_BLK; |
|
typedef int RK_S32; |
|
typedef uint32_t RK_U32; |
|
typedef uint64_t RK_U64; |
|
typedef void RK_VOID; |
|
|
|
#define RK_MMZ_ALLOC_TYPE_IOMMU 0x00000000 |
|
#define RK_MMZ_ALLOC_TYPE_CMA 0x00000001 |
|
|
|
#define RK_MMZ_ALLOC_CACHEABLE 0x00000000 |
|
#define RK_MMZ_ALLOC_UNCACHEABLE 0x00000010 |
|
|
|
#define RK_MMZ_SYNC_READONLY 0x00000000 |
|
#define RK_MMZ_SYNC_WRITEONLY 0x00000001 |
|
#define RK_MMZ_SYNC_RW 0x00000002 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RK_S32 RK_MPI_MMZ_Alloc(MB_BLK *pBlk, RK_U32 u32Len, RK_U32 u32Flags); |
|
|
|
|
|
|
|
|
|
RK_S32 RK_MPI_MMZ_Free(MB_BLK mb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
RK_U64 RK_MPI_MMZ_Handle2PhysAddr(MB_BLK mb); |
|
|
|
|
|
|
|
|
|
|
|
RK_VOID *RK_MPI_MMZ_Handle2VirAddr(MB_BLK mb); |
|
|
|
|
|
|
|
|
|
|
|
RK_S32 RK_MPI_MMZ_Handle2Fd(MB_BLK mb); |
|
|
|
|
|
|
|
|
|
|
|
RK_U64 RK_MPI_MMZ_GetSize(MB_BLK mb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
MB_BLK RK_MPI_MMZ_Fd2Handle(RK_S32 fd); |
|
|
|
|
|
|
|
|
|
|
|
|
|
MB_BLK RK_MPI_MMZ_VirAddr2Handle(RK_VOID *pstVirAddr); |
|
|
|
|
|
|
|
|
|
|
|
|
|
MB_BLK RK_MPI_MMZ_PhyAddr2Handle(RK_U64 paddr); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RK_S32 RK_MPI_MMZ_IsCacheable(MB_BLK mb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RK_S32 RK_MPI_MMZ_FlushCacheStart(MB_BLK mb, RK_U32 offset, RK_U32 length, RK_U32 flags); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RK_S32 RK_MPI_MMZ_FlushCacheEnd(MB_BLK mb, RK_U32 offset, RK_U32 length, RK_U32 flags); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RK_S32 RK_MPI_MMZ_FlushCacheVaddrStart(RK_VOID* vaddr, RK_U32 length, RK_U32 flags); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RK_S32 RK_MPI_MMZ_FlushCacheVaddrEnd(RK_VOID* vaddr, RK_U32 length, RK_U32 flags); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RK_S32 RK_MPI_MMZ_FlushCachePaddrStart(RK_U64 vaddr, RK_U32 length, RK_U32 flags); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RK_S32 RK_MPI_MMZ_FlushCachePaddrEnd(RK_U64 vaddr, RK_U32 length, RK_U32 flags); |
|
|
|
#ifdef __cplusplus |
|
#if __cplusplus |
|
} |
|
#endif |
|
#endif |
|
|
|
#endif |