static void hfi_process_event_notify( msm_vidc_callback callback, u32 device_id, struct hfi_msg_event_notify_packet *pkt) { dprintk(VIDC_DBG, "RECVD:EVENT_NOTIFY"); if (!callback || !pkt || pkt->size < sizeof(struct hfi_msg_event_notify_packet)) { dprintk(VIDC_ERR, "Invalid Params"); return; } switch (pkt->event_id) { case HFI_EVENT_SYS_ERROR: dprintk(VIDC_ERR, "HFI_EVENT_SYS_ERROR: %d, 0x%x\n", pkt->event_data1, pkt->event_data2); hfi_process_sys_error(callback, device_id); break; case HFI_EVENT_SESSION_ERROR: dprintk(VIDC_ERR, "HFI_EVENT_SESSION_ERROR"); hfi_process_session_error(callback, device_id, pkt); break; case HFI_EVENT_SESSION_SEQUENCE_CHANGED: dprintk(VIDC_INFO, "HFI_EVENT_SESSION_SEQUENCE_CHANGED"); hfi_process_sess_evt_seq_changed(callback, device_id, pkt); break; case HFI_EVENT_SESSION_PROPERTY_CHANGED: dprintk(VIDC_INFO, "HFI_EVENT_SESSION_PROPERTY_CHANGED"); break; default: dprintk(VIDC_WARN, "hal_process_event_notify:unkown_event_id"); break; } }
static void hfi_process_event_notify(msm_vidc_callback callback, u32 device_id, struct hal_session *session, struct hfi_msg_event_notify_packet *pkt) { dprintk(VIDC_DBG, "Received: EVENT_NOTIFY\n"); if (!callback || !pkt || pkt->size < sizeof(struct hfi_msg_event_notify_packet)) { dprintk(VIDC_ERR, "Invalid Params\n"); return; } switch (pkt->event_id) { case HFI_EVENT_SYS_ERROR: dprintk(VIDC_ERR, "HFI_EVENT_SYS_ERROR: %d, 0x%x\n", pkt->event_data1, pkt->event_data2); hfi_process_sys_error(callback, device_id); break; case HFI_EVENT_SESSION_PROPERTY_CHANGED: dprintk(VIDC_INFO, "HFI_EVENT_SESSION_PROPERTY_CHANGED[%p]\n", session); break; } if (!session) { dprintk(VIDC_ERR, "%s Got invalid session id\n", __func__); return; } switch (pkt->event_id) { case HFI_EVENT_SESSION_ERROR: dprintk(VIDC_INFO, "HFI_EVENT_SESSION_ERROR[%p]\n", session); hfi_process_session_error(callback, device_id, session, pkt); break; case HFI_EVENT_SESSION_SEQUENCE_CHANGED: dprintk(VIDC_INFO, "HFI_EVENT_SESSION_SEQUENCE_CHANGED[%p]\n", session); hfi_process_sess_evt_seq_changed(callback, device_id, session, pkt); break; case HFI_EVENT_RELEASE_BUFFER_REFERENCE: dprintk(VIDC_INFO, "HFI_EVENT_RELEASE_BUFFER_REFERENCE[%p]\n", session); hfi_process_evt_release_buffer_ref(callback, device_id, session, pkt); break; default: dprintk(VIDC_WARN, "hal_process_event_notify: unknown_event_id[%p]\n", session); break; } }
static void hfi_process_event_notify( msm_vidc_callback callback, u32 device_id, struct hfi_msg_event_notify_packet *pkt, struct list_head *sessions, struct mutex *session_lock) { struct hal_session *sess = NULL; dprintk(VIDC_DBG, "RECVD:EVENT_NOTIFY"); if (!callback || !pkt || pkt->size < sizeof(struct hfi_msg_event_notify_packet)) { dprintk(VIDC_ERR, "Invalid Params"); return; } sess = (struct hal_session *)pkt->session_id; switch (pkt->event_id) { case HFI_EVENT_SYS_ERROR: dprintk(VIDC_ERR, "HFI_EVENT_SYS_ERROR: %d, 0x%x\n", pkt->event_data1, pkt->event_data2); hfi_process_sys_error(callback, device_id); break; case HFI_EVENT_SESSION_ERROR: dprintk(VIDC_INFO, "HFI_EVENT_SESSION_ERROR[%u]\n", pkt->session_id); if (!validate_session_pkt(sessions, sess, session_lock)) hfi_process_session_error(callback, device_id, pkt); break; case HFI_EVENT_SESSION_SEQUENCE_CHANGED: dprintk(VIDC_INFO, "HFI_EVENT_SESSION_SEQUENCE_CHANGED[%u]\n", pkt->session_id); if (!validate_session_pkt(sessions, sess, session_lock)) hfi_process_sess_evt_seq_changed(callback, device_id, pkt); break; case HFI_EVENT_SESSION_PROPERTY_CHANGED: dprintk(VIDC_INFO, "HFI_EVENT_SESSION_PROPERTY_CHANGED[%u]\n", pkt->session_id); break; case HFI_EVENT_RELEASE_BUFFER_REFERENCE: dprintk(VIDC_INFO, "HFI_EVENT_RELEASE_BUFFER_REFERENCE[%u]\n", pkt->session_id); if (!validate_session_pkt(sessions, sess, session_lock)) hfi_process_evt_release_buffer_ref(callback, device_id, pkt); break; default: dprintk(VIDC_WARN, "hal_process_event_notify: unknown_event_id[%u]\n", pkt->session_id); break; } }