xref: /OK3568_Linux_fs/external/rockit/mpi/sdk/include/rk_mpi_mmz.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /* GPL-2.0 WITH Linux-syscall-note OR Apache 2.0 */
2 /* Copyright (c) 2021 Fuzhou Rockchip Electronics Co., Ltd */
3 
4 #ifndef INCLUDE_RT_MPI_RK_MPI_MMZ_H__
5 #define INCLUDE_RT_MPI_RK_MPI_MMZ_H__
6 
7 #include "rk_comm_mb.h"
8 
9 #ifdef __cplusplus
10 #if __cplusplus
11 extern "C" {
12 #endif
13 #endif /* __cplusplus */
14 
15 #define RK_MMZ_ALLOC_TYPE_IOMMU     0x00000000
16 #define RK_MMZ_ALLOC_TYPE_CMA       0x00000001
17 
18 #define RK_MMZ_ALLOC_CACHEABLE      0x00000000
19 #define RK_MMZ_ALLOC_UNCACHEABLE    0x00000010
20 
21 #define RK_MMZ_SYNC_READONLY        0x00000000
22 #define RK_MMZ_SYNC_WRITEONLY       0x00000001
23 #define RK_MMZ_SYNC_RW              0x00000002
24 
25 RK_S32 RK_MPI_MMZ_Alloc(MB_BLK *pBlk, RK_U32 u32Length, RK_U32 u32Flags);
26 RK_S32 RK_MPI_MMZ_Free(MB_BLK blk);
27 
28 RK_U64 RK_MPI_MMZ_Handle2PhysAddr(MB_BLK blk);
29 RK_VOID *RK_MPI_MMZ_Handle2VirAddr(MB_BLK blk);
30 RK_S32 RK_MPI_MMZ_Handle2Fd(MB_BLK blk);
31 RK_U64 RK_MPI_MMZ_GetSize(MB_BLK blk);
32 MB_BLK RK_MPI_MMZ_Fd2Handle(RK_S32 u32Fd);
33 MB_BLK RK_MPI_MMZ_VirAddr2Handle(RK_VOID *pVirAddr);
34 MB_BLK RK_MPI_MMZ_PhyAddr2Handle(RK_U64 u64phyAddr);
35 
36 RK_S32 RK_MPI_MMZ_IsCacheable(MB_BLK blk);
37 RK_S32 RK_MPI_MMZ_FlushCacheStart(MB_BLK blk, RK_U32 u32Offset, RK_U32 u32Length, RK_U32 u32Flags);
38 RK_S32 RK_MPI_MMZ_FlushCacheEnd(MB_BLK blk, RK_U32 u32Offset, RK_U32 u32Length, RK_U32 u32Flags);
39 RK_S32 RK_MPI_MMZ_FlushCacheVaddrStart(RK_VOID *pVirAddr, RK_U32 u32Length, RK_U32 u32Flags);
40 RK_S32 RK_MPI_MMZ_FlushCacheVaddrEnd(RK_VOID *pVirAddr, RK_U32 u32Length, RK_U32 u32Flags);
41 RK_S32 RK_MPI_MMZ_FlushCachePaddrStart(RK_U64 u64phyAddr, RK_U32 u32Length, RK_U32 u32Flags);
42 RK_S32 RK_MPI_MMZ_FlushCachePaddrEnd(RK_U64 u64phyAddr, RK_U32 u32Length, RK_U32 u32Flags);
43 
44 #ifdef __cplusplus
45 #if __cplusplus
46 }
47 #endif
48 #endif /* __cplusplus */
49 
50 #endif /* INCLUDE_RT_MPI_RK_MPI_MMZ_H__ */
51