static void dsp_mmu_irq_work(struct work_struct *work) { struct omap_mmu *mmu = container_of(work, struct omap_mmu, irq_work); if (dsp_cfgstat_get_stat() == CFGSTAT_READY) { dsp_err_set(ERRCODE_MMU, mmu->fault_address); return; } omap_mmu_itack(mmu); pr_info("Resetting DSP...\n"); dsp_cpustat_request(CPUSTAT_RESET); omap_mmu_enable(mmu, 0); }
/* * functions called from mailbox interrupt routine */ static void mbox_err_wdt(u16 data) { dsp_err_set(DSP_ERR_WDT, (unsigned long)data); }
void dsp_err_notify(void) { /* new error code should be assigned */ dsp_err_set(DSP_ERR_WDT, 0); }