mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-07 01:52:46 +08:00
[osal]: Add multi register offset config function
Add new multi config mode function. Change-Id: I37c9c319e93e96fbd3d2bb5d598aef8d1b8fe2c8 Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
This commit is contained in:
@@ -32,6 +32,7 @@ typedef enum MppDevIoctlCmd_e {
|
||||
MPP_DEV_REG_WR,
|
||||
MPP_DEV_REG_RD,
|
||||
MPP_DEV_REG_OFFSET,
|
||||
MPP_DEV_REG_OFFS,
|
||||
MPP_DEV_RCB_INFO,
|
||||
MPP_DEV_SET_INFO,
|
||||
|
||||
@@ -61,6 +62,13 @@ typedef struct MppDevRegOffsetCfg_t {
|
||||
RK_U32 offset;
|
||||
} MppDevRegOffsetCfg;
|
||||
|
||||
/* for multi MPP_DEV_REG_OFFSET */
|
||||
typedef struct MppDevRegOffsCfg_t {
|
||||
RK_S32 size;
|
||||
RK_S32 count;
|
||||
MppDevRegOffsetCfg cfgs[];
|
||||
} MppDevRegOffCfgs;
|
||||
|
||||
/* for MPP_DEV_RCB_INFO */
|
||||
typedef struct MppDevRcbInfoCfg_t {
|
||||
RK_U32 reg_idx;
|
||||
@@ -90,6 +98,7 @@ typedef struct MppDevApi_t {
|
||||
MPP_RET (*reg_wr)(void *ctx, MppDevRegWrCfg *cfg);
|
||||
MPP_RET (*reg_rd)(void *ctx, MppDevRegRdCfg *cfg);
|
||||
MPP_RET (*reg_offset)(void *ctx, MppDevRegOffsetCfg *cfg);
|
||||
MPP_RET (*reg_offs)(void *ctx, MppDevRegOffCfgs *cfg);
|
||||
MPP_RET (*rcb_info)(void *ctx, MppDevRcbInfoCfg *cfg);
|
||||
MPP_RET (*set_info)(void *ctx, MppDevInfoCfg *cfg);
|
||||
|
||||
@@ -114,6 +123,13 @@ MPP_RET mpp_dev_ioctl(MppDev ctx, RK_S32 cmd, void *param);
|
||||
/* special helper function for large address offset config */
|
||||
MPP_RET mpp_dev_set_reg_offset(MppDev dev, RK_S32 index, RK_U32 offset);
|
||||
|
||||
/* register offset multi config */
|
||||
MPP_RET mpp_dev_multi_offset_init(MppDevRegOffCfgs **cfgs, RK_S32 size);
|
||||
MPP_RET mpp_dev_multi_offset_deinit(MppDevRegOffCfgs *cfgs);
|
||||
|
||||
MPP_RET mpp_dev_multi_offset_reset(MppDevRegOffCfgs *cfgs);
|
||||
MPP_RET mpp_dev_multi_offset_update(MppDevRegOffCfgs *cfgs, RK_S32 index, RK_U32 offset);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user