mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-05 09:06:50 +08:00
[legacy]: Remove vpu dependence on mpp_service cmd
Change-Id: Ib447f1612f16cb9854fcee32c79eef5bcf26fe75 Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
This commit is contained in:
32
inc/vpu.h
32
inc/vpu.h
@@ -18,8 +18,7 @@
|
|||||||
#define __VPU_H__
|
#define __VPU_H__
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C"
|
extern "C" {
|
||||||
{
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "rk_type.h"
|
#include "rk_type.h"
|
||||||
@@ -108,32 +107,6 @@ typedef enum {
|
|||||||
VPU_CMD_BUTT ,
|
VPU_CMD_BUTT ,
|
||||||
} VPU_CMD_TYPE;
|
} VPU_CMD_TYPE;
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
MPP_DEV_CMD_QUERY_BASE = 0,
|
|
||||||
MPP_DEV_CMD_PROBE_HW_SUPPORT = MPP_DEV_CMD_QUERY_BASE + 0,
|
|
||||||
MPP_DEV_CMD_PROBE_IOMMU_STATUS = MPP_DEV_CMD_QUERY_BASE + 1,
|
|
||||||
|
|
||||||
MPP_DEV_CMD_INIT_BASE = 0x100,
|
|
||||||
MPP_DEV_CMD_INIT_CLIENT_TYPE = MPP_DEV_CMD_INIT_BASE + 0,
|
|
||||||
MPP_DEV_CMD_INIT_DRIVER_DATA = MPP_DEV_CMD_INIT_BASE + 1,
|
|
||||||
MPP_DEV_CMD_INIT_TRANS_TABLE = MPP_DEV_CMD_INIT_BASE + 2,
|
|
||||||
|
|
||||||
MPP_DEV_CMD_SEND_BASE = 0x200,
|
|
||||||
MPP_DEV_CMD_SET_REG_WRITE = MPP_DEV_CMD_SEND_BASE + 0,
|
|
||||||
MPP_DEV_CMD_SET_REG_READ = MPP_DEV_CMD_SEND_BASE + 1,
|
|
||||||
MPP_DEV_CMD_SET_REG_ADDR_OFFSET = MPP_DEV_CMD_SEND_BASE + 2,
|
|
||||||
|
|
||||||
MPP_DEV_CMD_POLL_BASE = 0x300,
|
|
||||||
MPP_DEV_CMD_POLL_HW_FINISH = MPP_DEV_CMD_POLL_BASE + 0,
|
|
||||||
|
|
||||||
MPP_DEV_CMD_CONTROL_BASE = 0x400,
|
|
||||||
MPP_DEV_CMD_RESET_SESSION = MPP_DEV_CMD_CONTROL_BASE + 0,
|
|
||||||
MPP_DEV_CMD_TRANS_FD_TO_IOVA = MPP_DEV_CMD_CONTROL_BASE + 1,
|
|
||||||
MPP_DEV_CMD_RELEASE_FD = MPP_DEV_CMD_CONTROL_BASE + 2,
|
|
||||||
|
|
||||||
MPP_DEV_CMD_BUTT,
|
|
||||||
} MPP_DEV_CMD_TYPE;
|
|
||||||
|
|
||||||
int VPUClientInit(VPU_CLIENT_TYPE type);
|
int VPUClientInit(VPU_CLIENT_TYPE type);
|
||||||
RK_S32 VPUClientRelease(int socket);
|
RK_S32 VPUClientRelease(int socket);
|
||||||
RK_S32 VPUClientSendReg(int socket, RK_U32 *regs, RK_U32 nregs);
|
RK_S32 VPUClientSendReg(int socket, RK_U32 *regs, RK_U32 nregs);
|
||||||
@@ -145,9 +118,6 @@ RK_U32 VPUCheckSupportWidth();
|
|||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* __VPU_H__ */
|
#endif /* __VPU_H__ */
|
||||||
|
|
||||||
|
|
||||||
|
@@ -83,7 +83,7 @@ static RK_S32 vpu_api_set_client_type(int dev, RK_S32 client_type)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
mpp_req.cmd = MPP_DEV_CMD_INIT_CLIENT_TYPE;
|
mpp_req.cmd = MPP_CMD_INIT_CLIENT_TYPE;
|
||||||
mpp_req.flag = 0;
|
mpp_req.flag = 0;
|
||||||
mpp_req.size = sizeof(client_data);
|
mpp_req.size = sizeof(client_data);
|
||||||
mpp_req.offset = 0;
|
mpp_req.offset = 0;
|
||||||
@@ -206,14 +206,14 @@ RK_S32 VPUClientSendReg(int socket, RK_U32 *regs, RK_U32 nregs)
|
|||||||
|
|
||||||
VpuExtraInfo *extra_info = (VpuExtraInfo*)(regs + (nregs - VPU_EXTRA_INFO_SIZE));
|
VpuExtraInfo *extra_info = (VpuExtraInfo*)(regs + (nregs - VPU_EXTRA_INFO_SIZE));
|
||||||
|
|
||||||
reqs[0].cmd = MPP_DEV_CMD_SET_REG_WRITE;
|
reqs[0].cmd = MPP_CMD_SET_REG_WRITE;
|
||||||
reqs[0].flag = 0;
|
reqs[0].flag = 0;
|
||||||
reqs[0].offset = 0;
|
reqs[0].offset = 0;
|
||||||
reqs[0].size = reg_size * sizeof(RK_U32);
|
reqs[0].size = reg_size * sizeof(RK_U32);
|
||||||
reqs[0].data_ptr = REQ_DATA_PTR((void*)regs);
|
reqs[0].data_ptr = REQ_DATA_PTR((void*)regs);
|
||||||
reqs[0].flag |= VPU_MPP_FLAGS_MULTI_MSG;
|
reqs[0].flag |= VPU_MPP_FLAGS_MULTI_MSG;
|
||||||
|
|
||||||
reqs[1].cmd = MPP_DEV_CMD_SET_REG_READ;
|
reqs[1].cmd = MPP_CMD_SET_REG_READ;
|
||||||
reqs[1].flag = 0;
|
reqs[1].flag = 0;
|
||||||
reqs[1].offset = 0;
|
reqs[1].offset = 0;
|
||||||
reqs[1].size = reg_size * sizeof(RK_U32);
|
reqs[1].size = reg_size * sizeof(RK_U32);
|
||||||
@@ -221,7 +221,7 @@ RK_S32 VPUClientSendReg(int socket, RK_U32 *regs, RK_U32 nregs)
|
|||||||
|
|
||||||
if (extra_info && extra_info->magic == VPU_EXTRA_INFO_MAGIC) {
|
if (extra_info && extra_info->magic == VPU_EXTRA_INFO_MAGIC) {
|
||||||
reg_size = nregs - VPU_EXTRA_INFO_SIZE;
|
reg_size = nregs - VPU_EXTRA_INFO_SIZE;
|
||||||
reqs[2].cmd = MPP_DEV_CMD_SET_REG_ADDR_OFFSET;
|
reqs[2].cmd = MPP_CMD_SET_REG_ADDR_OFFSET;
|
||||||
reqs[2].flag = 0;
|
reqs[2].flag = 0;
|
||||||
reqs[2].offset = 0;
|
reqs[2].offset = 0;
|
||||||
reqs[2].size = extra_info->count * sizeof(extra_info->patchs[0]);
|
reqs[2].size = extra_info->count * sizeof(extra_info->patchs[0]);
|
||||||
@@ -286,7 +286,7 @@ RK_S32 VPUClientWaitResult(int socket, RK_U32 *regs, RK_U32 nregs, VPU_CMD_TYPE
|
|||||||
reg_size -= VPU_EXTRA_INFO_SIZE;
|
reg_size -= VPU_EXTRA_INFO_SIZE;
|
||||||
}
|
}
|
||||||
|
|
||||||
mpp_req.cmd = MPP_DEV_CMD_POLL_HW_FINISH;
|
mpp_req.cmd = MPP_CMD_POLL_HW_FINISH;
|
||||||
mpp_req.flag = 0;
|
mpp_req.flag = 0;
|
||||||
mpp_req.offset = 0;
|
mpp_req.offset = 0;
|
||||||
mpp_req.size = reg_size * sizeof(RK_U32);
|
mpp_req.size = reg_size * sizeof(RK_U32);
|
||||||
|
Reference in New Issue
Block a user