video: driver: Add support for Synx V2 fences
Add Synx V2 fences support to improve latency in video decode usecases. Change-Id: If21f8b65895364a804f8e03580b09c44b377c199 Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
这个提交包含在:
@@ -9,18 +9,26 @@
|
||||
#include "msm_vidc_inst.h"
|
||||
#include "msm_vidc_buffer.h"
|
||||
|
||||
struct msm_vidc_fence *msm_vidc_fence_create(
|
||||
struct msm_vidc_inst *inst);
|
||||
int msm_vidc_create_fence_fd(struct msm_vidc_inst *inst,
|
||||
struct msm_vidc_fence *fence);
|
||||
struct msm_vidc_fence *msm_vidc_get_fence_from_id(
|
||||
struct msm_vidc_inst *inst, u32 fence_id);
|
||||
int msm_vidc_fence_signal(struct msm_vidc_inst *inst,
|
||||
u32 fence_id);
|
||||
void msm_vidc_fence_destroy(struct msm_vidc_inst *inst,
|
||||
u32 fence_id);
|
||||
int msm_vidc_fence_init(struct msm_vidc_inst *inst);
|
||||
void msm_vidc_fence_deinit(struct msm_vidc_inst *inst);
|
||||
|
||||
#define call_fence_op(c, op, ...) \
|
||||
(((c) && (c)->fence_ops && (c)->fence_ops->op) ? \
|
||||
((c)->fence_ops->op(__VA_ARGS__)) : 0)
|
||||
|
||||
struct msm_vidc_fence_ops {
|
||||
int (*fence_register)(struct msm_vidc_core *core);
|
||||
int (*fence_deregister)(struct msm_vidc_core *core);
|
||||
struct msm_vidc_fence *(*fence_create)(struct msm_vidc_inst *inst);
|
||||
int (*fence_create_fd)(struct msm_vidc_inst *inst,
|
||||
struct msm_vidc_fence *fence);
|
||||
void (*fence_destroy)(struct msm_vidc_inst *inst,
|
||||
u64 fence_id);
|
||||
int (*fence_signal)(struct msm_vidc_inst *inst,
|
||||
u64 fence_id);
|
||||
void (*fence_recover)(struct msm_vidc_core *core);
|
||||
};
|
||||
|
||||
const struct msm_vidc_fence_ops *get_dma_fence_ops(void);
|
||||
|
||||
#endif // __H_MSM_VIDC_FENCE_H__
|
||||
|
在新工单中引用
屏蔽一个用户