static u32 ddl_process_intr_status(struct ddl_context *ddl_context, u32 intr_status) { u32 return_status = true; switch (intr_status) { case VIDC_1080P_RISC2HOST_CMD_OPEN_CH_RET: return_status = ddl_channel_set_callback(ddl_context, ddl_context->response_cmd_ch_id); break; case VIDC_1080P_RISC2HOST_CMD_CLOSE_CH_RET: ddl_channel_end_callback(ddl_context); break; case VIDC_1080P_RISC2HOST_CMD_SEQ_DONE_RET: return_status = ddl_sequence_done_callback(ddl_context); break; case VIDC_1080P_RISC2HOST_CMD_FRAME_DONE_RET: return_status = ddl_frame_run_callback(ddl_context); break; case VIDC_1080P_RISC2HOST_CMD_SYS_INIT_RET: ddl_sys_init_done_callback(ddl_context, ddl_context->response_cmd_ch_id); break; case VIDC_1080P_RISC2HOST_CMD_FW_STATUS_RET: ddl_fw_status_done_callback(ddl_context); break; case VIDC_1080P_RISC2HOST_CMD_EDFU_INT_RET: ddl_edfu_callback(ddl_context); break; case VIDC_1080P_RISC2HOST_CMD_ENC_COMPLETE_RET: ddl_encoder_eos_done(ddl_context); break; case VIDC_1080P_RISC2HOST_CMD_ERROR_RET: DDL_MSG_ERROR("CMD_ERROR_INTR"); return_status = ddl_handle_core_errors(ddl_context); break; case VIDC_1080P_RISC2HOST_CMD_INIT_BUFFERS_RET: return_status = ddl_dpb_buffers_set_done_callback(ddl_context); break; default: DDL_MSG_LOW("UNKWN_INTR"); break; } return return_status; }
static u32 ddl_operation_done_callback(struct ddl_context *ddl_context) { u32 return_status = true; switch (ddl_context->cmd_state) { case DDL_CMD_DECODE_FRAME: { return_status = ddl_decoder_frame_run_callback( ddl_context); break; } case DDL_CMD_ENCODE_FRAME: { ddl_encoder_frame_run_callback(ddl_context); break; } case DDL_CMD_CHANNEL_SET: { return_status = ddl_channel_set_callback( ddl_context); break; } case DDL_CMD_INIT_CODEC: { ddl_init_codec_done_callback(ddl_context); break; } case DDL_CMD_HEADER_PARSE: { return_status = ddl_header_done_callback( ddl_context); break; } case DDL_CMD_DECODE_SET_DPB: { return_status = ddl_dpb_buffers_set_done_callback( ddl_context); break; } case DDL_CMD_CHANNEL_END: { ddl_channel_end_callback(ddl_context); break; } case DDL_CMD_EOS: { return_status = ddl_eos_frame_done_callback( ddl_context); break; } case DDL_CMD_CPU_RESET: { ddl_cpu_started_callback(ddl_context); break; } default: { VIDC_LOG_STRING("UNKWN_OPDONE"); return_status = false; break; } } return return_status; }