u32 ddl_process_core_response(void) { struct ddl_context_type *p_ddl_context; u32 b_return_status = TRUE; p_ddl_context = ddl_get_context(); if (!p_ddl_context->p_core_virtual_base_addr) { VIDC_LOGERR_STRING("UNKWN_INTR"); return FALSE; } if (p_ddl_context->intr_status == DDL_INVALID_INTR_STATUS) { VIDC_LOGERR_STRING("INTERRUPT_NOT_READ"); return FALSE; } if (!ddl_handle_core_errors(p_ddl_context)) { b_return_status = ddl_process_intr_status(p_ddl_context, p_ddl_context->intr_status); } if (p_ddl_context->pf_interrupt_clr) (*p_ddl_context->pf_interrupt_clr)(); p_ddl_context->intr_status = DDL_INVALID_INTR_STATUS; return b_return_status; }
u32 ddl_process_core_response(void) { struct ddl_context *ddl_context; struct ddl_hw_interface *ddl_hw_response; u32 status = false; ddl_context = ddl_get_context(); if (!ddl_context->core_virtual_base_addr) { DDL_MSG_LOW("SPURIOUS_INTERRUPT"); return status; } ddl_hw_response = &ddl_context->ddl_hw_response; status = ddl_process_intr_status(ddl_context, ddl_hw_response->cmd); if (ddl_context->interrupt_clr) (*ddl_context->interrupt_clr)(); return status; }
u32 ddl_process_core_response(void) { struct ddl_context *ddl_context; u32 return_status = true; ddl_context = ddl_get_context(); if (!ddl_context->core_virtual_base_addr) { VIDC_LOGERR_STRING("UNKWN_INTR"); return false; } if (!ddl_handle_core_errors(ddl_context)) { return_status = ddl_process_intr_status(ddl_context, ddl_context->intr_status); } if (ddl_context->interrupt_clr) (*ddl_context->interrupt_clr)(); return return_status; }