static void vcd_clnt_cb_in_invalid( struct vcd_clnt_ctxt *cctxt, u32 event, u32 status, void *payload, size_t sz, u32 *ddl_handle, void *const client_data ) { struct vcd_dev_ctxt *dev_ctxt = cctxt->dev_ctxt; VCD_MSG_LOW("vcd_clnt_cb_in_invalid:"); if (cctxt->ddl_handle != ddl_handle) { VCD_MSG_ERROR("ddl_handle mismatch"); return; } switch (event) { case VCD_EVT_RESP_STOP: { vcd_handle_stop_done_in_invalid(cctxt, (struct vcd_transc *)client_data, status); break; } case VCD_EVT_RESP_INPUT_DONE: case VCD_EVT_RESP_OUTPUT_DONE: case VCD_EVT_RESP_OUTPUT_REQ: case VCD_EVT_RESP_TRANSACTION_PENDING: { break; } case VCD_EVT_IND_HWERRFATAL: { if (status == VCD_ERR_HW_FATAL) vcd_handle_stop_done_in_invalid(cctxt, (struct vcd_transc *)client_data, status); break; } default: { VCD_MSG_ERROR("Unexpected callback event=%d status=%d" "from DDL", event, status); dev_ctxt->command_continue = false; break; } } }
static void vcd_clnt_cb_in_invalid( struct vcd_clnt_ctxt_type_t *p_cctxt, u32 event, u32 status, void *p_payload, u32 size, u32 *ddl_handle, void *const p_client_data ) { struct vcd_dev_ctxt_type *p_dev_ctxt = p_cctxt->p_dev_ctxt; VCD_MSG_LOW("vcd_clnt_cb_in_invalid:"); if (p_cctxt->ddl_handle != ddl_handle) { VCD_MSG_ERROR("ddl_handle mismatch"); return; } switch (event) { case VCD_EVT_RESP_STOP: { vcd_handle_stop_done_in_invalid(p_cctxt, status); break; } case VCD_EVT_RESP_INPUT_DONE: case VCD_EVT_RESP_OUTPUT_DONE: case VCD_EVT_RESP_OUTPUT_REQ: case VCD_EVT_RESP_TRANSACTION_PENDING: { break; } case VCD_EVT_IND_HWERRFATAL: { if (status == VCD_ERR_HW_FATAL) vcd_handle_stop_done_in_invalid(p_cctxt, status); break; } default: { VCD_MSG_ERROR("Unexpected callback event=%d status=%d" "from DDL", event, status); p_dev_ctxt->b_continue = FALSE; break; } } }
static void vcd_clnt_cb_in_invalid( struct vcd_clnt_ctxt *cctxt, u32 event, u32 status, void *payload, size_t sz, u32 *ddl_handle, void *const client_data ) { struct vcd_dev_ctxt *dev_ctxt = cctxt->dev_ctxt; VCD_MSG_LOW("vcd_clnt_cb_in_invalid:"); if (cctxt->ddl_handle != ddl_handle) { VCD_MSG_ERROR("ddl_handle mismatch"); return; } switch (event) { case VCD_EVT_RESP_STOP: { vcd_handle_stop_done_in_invalid(cctxt, (struct vcd_transc *)client_data, status); break; } case VCD_EVT_RESP_INPUT_DONE: case VCD_EVT_RESP_OUTPUT_REQ: { if (cctxt->status.frame_submitted) cctxt->status.frame_submitted--; if (payload && ((struct ddl_frame_data_tag *) payload)->frm_trans_end) vcd_mark_frame_channel(cctxt->dev_ctxt); break; } case VCD_EVT_RESP_OUTPUT_DONE: { if (payload && ((struct ddl_frame_data_tag *) payload)->frm_trans_end) vcd_mark_frame_channel(cctxt->dev_ctxt); break; } case VCD_EVT_RESP_TRANSACTION_PENDING: { if (cctxt->status.frame_submitted) cctxt->status.frame_submitted--; vcd_mark_frame_channel(cctxt->dev_ctxt); break; } case VCD_EVT_IND_HWERRFATAL: { if (status == VCD_ERR_HW_FATAL) vcd_handle_stop_done_in_invalid(cctxt, (struct vcd_transc *)client_data, status); break; } case VCD_EVT_RESP_EOS_DONE: { vcd_mark_frame_channel(cctxt->dev_ctxt); break; } case VCD_EVT_IND_OUTPUT_RECONFIG: { if (cctxt->status.frame_submitted > 0) cctxt->status.frame_submitted--; else cctxt->status.frame_delayed--; vcd_mark_frame_channel(cctxt->dev_ctxt); break; } default: { VCD_MSG_ERROR("Unexpected callback event=%d status=%d" "from DDL", event, status); dev_ctxt->command_continue = false; break; } } }