vpu_instance
struct vpu_instance *inst = priv;
struct vpu_instance *inst = wave5_to_vpu_inst(fh);
struct vpu_instance *inst = file_to_vpu_inst(file);
struct vpu_instance *inst = vb2_get_drv_priv(q);
int wave5_kfifo_alloc(struct vpu_instance *inst)
void wave5_cleanup_instance(struct vpu_instance *inst, struct file *filp)
int (*close_func)(struct vpu_instance *inst, u32 *fail_res),
struct vpu_instance *inst = file_to_vpu_inst(filp);
void wave5_cleanup_instance(struct vpu_instance *inst, struct file *filp);
int (*close_func)(struct vpu_instance *inst, u32 *fail_res),
int wave5_kfifo_alloc(struct vpu_instance *inst);
int wave5_vpu_dec_get_result(struct vpu_instance *inst, struct dec_output_info *result)
int wave5_vpu_dec_finish_seq(struct vpu_instance *inst, u32 *fail_res)
int wave5_vpu_dec_set_bitstream_flag(struct vpu_instance *inst, bool eos)
int wave5_dec_clr_disp_flag(struct vpu_instance *inst, unsigned int index)
int wave5_dec_set_disp_flag(struct vpu_instance *inst, unsigned int index)
int wave5_vpu_clear_interrupt(struct vpu_instance *inst, u32 flags)
dma_addr_t wave5_dec_get_rd_ptr(struct vpu_instance *inst)
int wave5_dec_set_rd_ptr(struct vpu_instance *inst, dma_addr_t addr)
int wave5_vpu_build_up_enc_param(struct device *dev, struct vpu_instance *inst,
int wave5_vpu_enc_init_seq(struct vpu_instance *inst)
int wave5_vpu_enc_get_seq_info(struct vpu_instance *inst, struct enc_initial_info *info)
int wave5_vpu_enc_register_framebuffer(struct device *dev, struct vpu_instance *inst,
static u32 wave5_vpu_enc_validate_sec_axi(struct vpu_instance *inst)
int wave5_vpu_encode(struct vpu_instance *inst, struct enc_param *option, u32 *fail_res)
static void wave5_bit_issue_command(struct vpu_device *vpu_dev, struct vpu_instance *inst, u32 cmd)
int wave5_vpu_enc_get_result(struct vpu_instance *inst, struct enc_output_info *result)
int wave5_vpu_enc_finish_seq(struct vpu_instance *inst, u32 *fail_res)
static bool wave5_vpu_enc_check_common_param_valid(struct vpu_instance *inst,
int wave5_vpu_enc_check_open_param(struct vpu_instance *inst, struct enc_open_param *open_param)
static int send_firmware_command(struct vpu_instance *inst, u32 cmd, bool check_success,
static int wave5_send_query(struct vpu_device *vpu_dev, struct vpu_instance *inst,
int wave5_vpu_build_up_dec_param(struct vpu_instance *inst,
int wave5_vpu_hw_flush_instance(struct vpu_instance *inst)
int wave5_vpu_dec_init_seq(struct vpu_instance *inst)
static void wave5_get_dec_seq_result(struct vpu_instance *inst, struct dec_initial_info *info)
int wave5_vpu_dec_get_seq_info(struct vpu_instance *inst, struct dec_initial_info *info)
int wave5_vpu_dec_register_framebuffer(struct vpu_instance *inst, struct frame_buffer *fb_arr,
static u32 wave5_vpu_dec_validate_sec_axi(struct vpu_instance *inst)
int wave5_vpu_decode(struct vpu_instance *inst, u32 *fail_res)
static int switch_state(struct vpu_instance *inst, enum vpu_instance_state state)
static int write_to_ringbuffer(struct vpu_instance *inst, void *buffer, size_t buffer_size,
static struct vpu_src_buffer *inst_src_buf_remove(struct vpu_instance *inst)
static int fill_ringbuffer(struct vpu_instance *inst)
struct vpu_instance *inst = vb2_get_drv_priv(vb->vb2_queue);
struct vpu_instance *inst = vb2_get_drv_priv(vb->vb2_queue);
struct vpu_instance *inst = vb2_get_drv_priv(vb->vb2_queue);
static int wave5_vpu_dec_allocate_ring_buffer(struct vpu_instance *inst)
struct vpu_instance *inst = vb2_get_drv_priv(q);
static int set_instance_state(struct vpu_instance *inst, enum vpu_instance_state state)
struct vpu_instance *inst = vb2_get_drv_priv(q);
struct vpu_instance *inst = vb2_get_drv_priv(q);
static int wave5_vpu_dec_set_eos_on_firmware(struct vpu_instance *inst)
struct vpu_instance *inst = vb2_get_drv_priv(q);
static int initialize_sequence(struct vpu_instance *inst)
static bool wave5_is_draining_or_eos(struct vpu_instance *inst)
struct vpu_instance *inst = priv;
struct vpu_instance *inst = priv;
struct vpu_instance *inst = priv;
static void wave5_handle_src_buffer(struct vpu_instance *inst, dma_addr_t rd_ptr)
struct vpu_instance *inst = NULL;
static int start_decode(struct vpu_instance *inst, u32 *fail_res)
static void flag_last_buffer_done(struct vpu_instance *inst)
static void send_eos_event(struct vpu_instance *inst)
static int handle_dynamic_resolution_change(struct vpu_instance *inst)
static void wave5_vpu_dec_finish_decode(struct vpu_instance *inst)
struct vpu_instance *inst = file_to_vpu_inst(file);
struct vpu_instance *inst = file_to_vpu_inst(file);
struct vpu_instance *inst = file_to_vpu_inst(file);
struct vpu_instance *inst = file_to_vpu_inst(file);
struct vpu_instance *inst = file_to_vpu_inst(file);
struct vpu_instance *inst = file_to_vpu_inst(file);
struct vpu_instance *inst = file_to_vpu_inst(file);
struct vpu_instance *inst = file_to_vpu_inst(file);
static int wave5_vpu_dec_stop(struct vpu_instance *inst)
static int wave5_vpu_dec_start(struct vpu_instance *inst)
struct vpu_instance *inst = file_to_vpu_inst(file);
struct vpu_instance *inst = vb2_get_drv_priv(q);
static int wave5_prepare_fb(struct vpu_instance *inst)
struct vpu_instance *inst = vb2_get_drv_priv(q);
struct vpu_instance *inst = vb2_get_drv_priv(vb->vb2_queue);
struct vpu_instance *inst)
static int initialize_sequence(struct vpu_instance *inst)
static int start_encode(struct vpu_instance *inst, u32 *fail_res)
static int prepare_fb(struct vpu_instance *inst)
struct vpu_instance *inst = vb2_get_drv_priv(q);
static void streamoff_output(struct vpu_instance *inst, struct vb2_queue *q)
static void streamoff_capture(struct vpu_instance *inst, struct vb2_queue *q)
struct vpu_instance *inst = vb2_get_drv_priv(q);
struct vpu_instance *inst = priv;
struct vpu_instance *inst = priv;
struct vpu_instance *inst = NULL;
static void wave5_vpu_enc_finish_encode(struct vpu_instance *inst)
struct vpu_instance *inst = file_to_vpu_inst(file);
struct vpu_instance *inst = file_to_vpu_inst(file);
struct vpu_instance *inst = file_to_vpu_inst(file);
struct vpu_instance *inst = file_to_vpu_inst(file);
struct vpu_instance *inst = file_to_vpu_inst(file);
struct vpu_instance *inst = file_to_vpu_inst(file);
struct vpu_instance *inst = file_to_vpu_inst(file);
struct vpu_instance *inst = file_to_vpu_inst(file);
struct vpu_instance *inst = file_to_vpu_inst(file);
struct vpu_instance *inst = file_to_vpu_inst(file);
struct vpu_instance *inst = file_to_vpu_inst(file);
struct vpu_instance *inst = file_to_vpu_inst(file);
struct vpu_instance *inst = wave5_ctrl_to_vpu_inst(ctrl);
static int switch_state(struct vpu_instance *inst, enum vpu_instance_state state)
struct vpu_instance *inst, *tmp;
struct vpu_instance *inst, *tmp;
int wave5_vpu_wait_interrupt(struct vpu_instance *inst, unsigned int timeout)
struct vpu_instance *inst, *tmp;
static inline struct vpu_instance *wave5_to_vpu_inst(struct v4l2_fh *vfh)
return container_of(vfh, struct vpu_instance, v4l2_fh);
static inline struct vpu_instance *file_to_vpu_inst(struct file *filp)
static inline struct vpu_instance *wave5_ctrl_to_vpu_inst(struct v4l2_ctrl *vctrl)
return container_of(vctrl->handler, struct vpu_instance, v4l2_ctrl_hdl);
int wave5_vpu_wait_interrupt(struct vpu_instance *inst, unsigned int timeout);
static inline bool wave5_vpu_both_queues_are_streaming(struct vpu_instance *inst)
static int wave5_check_dec_open_param(struct vpu_instance *inst, struct dec_open_param *param)
int wave5_vpu_dec_open(struct vpu_instance *inst, struct dec_open_param *open_param)
static int reset_auxiliary_buffers(struct vpu_instance *inst, unsigned int index)
int wave5_vpu_dec_close(struct vpu_instance *inst, u32 *fail_res)
int wave5_vpu_dec_issue_seq_init(struct vpu_instance *inst)
int wave5_vpu_dec_complete_seq_init(struct vpu_instance *inst, struct dec_initial_info *info)
int wave5_vpu_dec_register_frame_buffer_ex(struct vpu_instance *inst, int num_of_decoding_fbs,
int wave5_vpu_dec_get_bitstream_buffer(struct vpu_instance *inst, dma_addr_t *prd_ptr,
int wave5_vpu_dec_update_bitstream_buffer(struct vpu_instance *inst, size_t size)
int wave5_vpu_dec_start_one_frame(struct vpu_instance *inst, u32 *res_fail)
int wave5_vpu_dec_set_rd_ptr(struct vpu_instance *inst, dma_addr_t addr, int update_wr_ptr)
dma_addr_t wave5_vpu_dec_get_rd_ptr(struct vpu_instance *inst)
int wave5_vpu_dec_get_output_info(struct vpu_instance *inst, struct dec_output_info *info)
int wave5_vpu_flush_instance(struct vpu_instance *inst)
int wave5_vpu_dec_clr_disp_flag(struct vpu_instance *inst, int index)
int wave5_vpu_dec_set_disp_flag(struct vpu_instance *inst, int index)
int wave5_vpu_dec_reset_framebuffer(struct vpu_instance *inst, unsigned int index)
int wave5_vpu_dec_give_command(struct vpu_instance *inst, enum codec_command cmd, void *parameter)
int wave5_vpu_enc_open(struct vpu_instance *inst, struct enc_open_param *open_param)
int wave5_vpu_enc_close(struct vpu_instance *inst, u32 *fail_res)
int wave5_vpu_enc_register_frame_buffer(struct vpu_instance *inst, unsigned int num,
static int wave5_check_enc_param(struct vpu_instance *inst, struct enc_param *param)
int wave5_vpu_enc_start_one_frame(struct vpu_instance *inst, struct enc_param *param, u32 *fail_res)
int wave5_vpu_enc_get_output_info(struct vpu_instance *inst, struct enc_output_info *info)
int wave5_vpu_enc_give_command(struct vpu_instance *inst, enum codec_command cmd, void *parameter)
int wave5_vpu_enc_issue_seq_init(struct vpu_instance *inst)
int wave5_vpu_enc_complete_seq_init(struct vpu_instance *inst, struct enc_initial_info *info)
struct vpu_instance;
void (*finish_process)(struct vpu_instance *inst);
int wave5_vpu_flush_instance(struct vpu_instance *inst);
int wave5_vpu_dec_open(struct vpu_instance *inst, struct dec_open_param *open_param);
int wave5_vpu_dec_close(struct vpu_instance *inst, u32 *fail_res);
int wave5_vpu_dec_issue_seq_init(struct vpu_instance *inst);
int wave5_vpu_dec_complete_seq_init(struct vpu_instance *inst, struct dec_initial_info *info);
int wave5_vpu_dec_register_frame_buffer_ex(struct vpu_instance *inst, int num_of_decoding_fbs,
int wave5_vpu_dec_start_one_frame(struct vpu_instance *inst, u32 *res_fail);
int wave5_vpu_dec_get_output_info(struct vpu_instance *inst, struct dec_output_info *info);
int wave5_vpu_dec_set_rd_ptr(struct vpu_instance *inst, dma_addr_t addr, int update_wr_ptr);
dma_addr_t wave5_vpu_dec_get_rd_ptr(struct vpu_instance *inst);
int wave5_vpu_dec_reset_framebuffer(struct vpu_instance *inst, unsigned int index);
int wave5_vpu_dec_give_command(struct vpu_instance *inst, enum codec_command cmd, void *parameter);
int wave5_vpu_dec_get_bitstream_buffer(struct vpu_instance *inst, dma_addr_t *prd_ptr,
int wave5_vpu_dec_update_bitstream_buffer(struct vpu_instance *inst, size_t size);
int wave5_vpu_dec_clr_disp_flag(struct vpu_instance *inst, int index);
int wave5_vpu_dec_set_disp_flag(struct vpu_instance *inst, int index);
int wave5_vpu_enc_open(struct vpu_instance *inst, struct enc_open_param *open_param);
int wave5_vpu_enc_close(struct vpu_instance *inst, u32 *fail_res);
int wave5_vpu_enc_issue_seq_init(struct vpu_instance *inst);
int wave5_vpu_enc_complete_seq_init(struct vpu_instance *inst, struct enc_initial_info *info);
int wave5_vpu_enc_register_frame_buffer(struct vpu_instance *inst, unsigned int num,
int wave5_vpu_enc_start_one_frame(struct vpu_instance *inst, struct enc_param *param,
int wave5_vpu_enc_get_output_info(struct vpu_instance *inst, struct enc_output_info *info);
int wave5_vpu_enc_give_command(struct vpu_instance *inst, enum codec_command cmd, void *parameter);
int wave5_dec_set_rd_ptr(struct vpu_instance *inst, dma_addr_t addr);
int wave5_vpu_build_up_enc_param(struct device *dev, struct vpu_instance *inst,
int wave5_vpu_enc_init_seq(struct vpu_instance *inst);
int wave5_vpu_enc_get_seq_info(struct vpu_instance *inst, struct enc_initial_info *info);
int wave5_vpu_enc_register_framebuffer(struct device *dev, struct vpu_instance *inst,
int wave5_vpu_encode(struct vpu_instance *inst, struct enc_param *option, u32 *fail_res);
int wave5_vpu_enc_get_result(struct vpu_instance *inst, struct enc_output_info *result);
int wave5_vpu_enc_finish_seq(struct vpu_instance *inst, u32 *fail_res);
int wave5_vpu_enc_check_open_param(struct vpu_instance *inst, struct enc_open_param *open_param);
int wave5_vpu_build_up_dec_param(struct vpu_instance *inst, struct dec_open_param *param);
int wave5_vpu_dec_set_bitstream_flag(struct vpu_instance *inst, bool eos);
int wave5_vpu_hw_flush_instance(struct vpu_instance *inst);
int wave5_vpu_dec_register_framebuffer(struct vpu_instance *inst,
int wave5_vpu_dec_init_seq(struct vpu_instance *inst);
int wave5_vpu_dec_get_seq_info(struct vpu_instance *inst, struct dec_initial_info *info);
int wave5_vpu_decode(struct vpu_instance *inst, u32 *fail_res);
int wave5_vpu_dec_get_result(struct vpu_instance *inst, struct dec_output_info *result);
int wave5_vpu_dec_finish_seq(struct vpu_instance *inst, u32 *fail_res);
int wave5_dec_clr_disp_flag(struct vpu_instance *inst, unsigned int index);
int wave5_dec_set_disp_flag(struct vpu_instance *inst, unsigned int index);
int wave5_vpu_clear_interrupt(struct vpu_instance *inst, u32 flags);
dma_addr_t wave5_dec_get_rd_ptr(struct vpu_instance *inst);