GK SDK 源码库: XMIPCLinuxV100R005C00SPC030 (kernel/tools/open_source excluded)
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Copyright (c) XMEDIA. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef XMEDIA_MMZ_H
|
||||
#define XMEDIA_MMZ_H
|
||||
|
||||
#include "xmedia_type.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* 函数功能:申请 MMZ 内存
|
||||
* 函数参数:
|
||||
* mmz_name - 输入参数,申请的内存内存池名
|
||||
* buf_name - 输入参数,申请的内存命名
|
||||
* size - 输入参数,申请的内存大小
|
||||
* 返回值:
|
||||
* 0 - 函数执行失败,返回空
|
||||
* others - 函数执行成功,返回申请内存的物理地址
|
||||
*/
|
||||
xmedia_u64 xmedia_mmz_alloc(const xmedia_char *mmz_name, const xmedia_char *buf_name, xmedia_u32 size);
|
||||
|
||||
/*
|
||||
* 函数功能:释放 MMZ 内存
|
||||
* 函数参数:
|
||||
* phy_addr - 输入参数,待释放的MMZ内存物理地址
|
||||
* 返回值:
|
||||
* XMEDIA_SUCCESS - 函数执行成功
|
||||
* others - 函数执行失败,返回错误码
|
||||
*/
|
||||
xmedia_s32 xmedia_mmz_free(xmedia_u64 phy_addr);
|
||||
|
||||
/*
|
||||
* 函数功能:映射内存
|
||||
* 函数参数:
|
||||
* phy_addr - 输入参数,待映射内存对应的物理地址
|
||||
* size - 输入参数,待映射内存的大小
|
||||
* cached - 输入参数,映射时是否带cache
|
||||
* 返回值:
|
||||
* XMEDIA_NULL - 函数执行失败,返回空指针
|
||||
* others - 函数执行成功过,返回映射后的虚拟地址
|
||||
*/
|
||||
xmedia_void* xmedia_mmz_map(xmedia_u64 phy_addr, xmedia_u32 size, xmedia_bool cached);
|
||||
|
||||
/*
|
||||
* 函数功能:解除映射
|
||||
* 函数参数:
|
||||
* virt_addr - 输入参数,待解除映射内存对应的虚拟地址
|
||||
* 返回值:
|
||||
* XMEDIA_SUCCESS - 函数执行成功
|
||||
* others - 函数执行失败,返回错误码
|
||||
*/
|
||||
xmedia_s32 xmedia_mmz_unmap(void *virt_addr);
|
||||
|
||||
/*
|
||||
* 函数功能:刷新 cache 里的内容到MMZ内存并且使 cache 里的内容无效
|
||||
* 函数参数:
|
||||
* phy_addr - 输入参数,待刷新cache对应的内存物理地址
|
||||
* virt_addr - 输入参数,待刷新cache对应的内存虚拟地址
|
||||
* size - 输入参数,待刷新cache区域大小
|
||||
* 返回值:
|
||||
* XMEDIA_SUCCESS - 函数执行成功
|
||||
* others - 函数执行失败,返回错误码
|
||||
*/
|
||||
xmedia_s32 xmedia_mmz_flush_cache(xmedia_u64 phy_addr, xmedia_void *virt_addr, xmedia_u32 size);
|
||||
|
||||
/*
|
||||
* 函数功能:将用户空间mmz的虚拟地址转换成对应的物理地址
|
||||
* 函数参数:
|
||||
* pphy_addr - 输入参数,输出的mmz内存物理地址保存在此指针中
|
||||
* virt_addr - 输入参数,mmz的内存虚拟地址
|
||||
* 返回值:
|
||||
* XMEDIA_SUCCESS - 函数执行成功
|
||||
* others - 函数执行失败,返回错误码
|
||||
*/
|
||||
xmedia_s32 xmedia_mmz_virt_to_phy(xmedia_void *virt_addr, xmedia_u64 *pphy_addr);
|
||||
|
||||
/*
|
||||
* 函数功能:获取用户空间mmz map时是否cached
|
||||
* 函数参数:
|
||||
* pcached - 输入参数,输出的mmz内存是否cached保存在此指针中
|
||||
* virt_addr - 输入参数,mmz的内存虚拟地址
|
||||
* 返回值:
|
||||
* XMEDIA_SUCCESS - 函数执行成功
|
||||
* others - 函数执行失败,返回错误码
|
||||
*/
|
||||
xmedia_s32 xmedia_mmz_is_cached(xmedia_void *virt_addr, xmedia_bool *pcached);
|
||||
|
||||
xmedia_void xmedia_mmz_init(xmedia_void);
|
||||
|
||||
xmedia_void xmedia_mmz_exit(xmedia_void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user