Home | History | Annotate | Download | only in parser
      1 #include "fw_pvt.h"
      2 #include "viddec_fw_parser_ipclib_config.h"
      3 #include "viddec_fw_debug.h"
      4 
      5 extern uint32_t timer;
      6 
      7 void enable_intr(void)
      8 {
      9     TRAPS_ENABLE;
     10     TRAPS_INT_ENABLE;
     11     //reg_write(INT_REG, 0);
     12 }
     13 
     14 /*------------------------------------------------------------------------------
     15  * Function:  mfd_trap_handler
     16  * This is the FW's ISR, Currently we don't support any INT as we are running parsers only on GV which
     17  * are pure SW modules.
     18  *------------------------------------------------------------------------------
     19  */
     20 void mfd_trap_handler()
     21 {
     22     uint32_t reg=0, temp=0;
     23     temp = reg_read(INT_STATUS);
     24     //DEBUG_WRITE(0xff, temp, timer, 0, 0, 0);
     25     if(temp & INT_WDOG_ENABLE)
     26     {
     27         timer++;
     28         set_wdog(VIDDEC_WATCHDOG_COUNTER_MAX);
     29         reg = reg_read(INT_STATUS);
     30     }
     31     if(temp & 0x4)
     32     {
     33 
     34         temp = temp & (~0x4);
     35         reg_write(INT_REG, temp);
     36         //val = reg_read(DMA_CONTROL_STATUS);
     37         //val |=DMA_CTRL_STATUS_DONE;
     38         //reg_write(DMA_CONTROL_STATUS, val);
     39         //reg = reg_read(INT_STATUS);
     40     }
     41     if(temp & 0x2)
     42     {
     43 
     44         temp = temp & (~0x2);
     45         reg_write(INT_REG, temp);
     46     }
     47 
     48     if(temp & 0x1)
     49     {
     50         temp = temp & (~0x1);
     51         reg_write(INT_REG, temp);
     52     }
     53     //DEBUG_WRITE(0xff, timer, temp, reg, 0, val);
     54     __asm__("nop");
     55 
     56 }
     57