static void __ARHandler(u32 irq,void *ctx) { __ARClearInterrupt(); if(__ARDmaCallback) __ARDmaCallback(); }
static void __ARHandler() { #ifdef _AR_DEBUG printf("__ARHandler()\n"); #endif __ARClearInterrupt(); if(__ARDmaCallback) __ARDmaCallback(); }
static void __ARWriteDMA(u32 memaddr,u32 aramaddr,u32 len) { // set main memory address _dspReg[16] = (_dspReg[16]&~0x03ff)|_SHIFTR(memaddr,16,16); _dspReg[17] = (_dspReg[17]&~0xffe0)|_SHIFTR(memaddr, 0,16); // set aram address _dspReg[18] = (_dspReg[18]&~0x03ff)|_SHIFTR(aramaddr,16,16); _dspReg[19] = (_dspReg[19]&~0xffe0)|_SHIFTR(aramaddr, 0,16); // set cntrl bits _dspReg[20] = (_dspReg[20]&~0x8000); _dspReg[20] = (_dspReg[20]&~0x03ff)|_SHIFTR(len,16,16); _dspReg[21] = (_dspReg[21]&~0xffe0)|_SHIFTR(len, 0,16); __ARWaitDma(); __ARClearInterrupt(); }
static void __ARWriteDMA(u32 memaddr,u32 aramaddr,u32 len) { #ifdef _AR_DEBUG printf("__ARWriteDMA(0x%08x,0x%08x,%d)\n",memaddr,aramaddr,len); #endif // set main memory address _dspReg[16] = (_dspReg[16]&~0x03ff)|_SHIFTR(memaddr,16,16); _dspReg[17] = (_dspReg[17]&~0xffe0)|_SHIFTR(memaddr, 0,16); // set aram address _dspReg[18] = (_dspReg[18]&~0x03ff)|_SHIFTR(aramaddr,16,16); _dspReg[19] = (_dspReg[19]&~0xffe0)|_SHIFTR(aramaddr, 0,16); // set cntrl bits _dspReg[20] = (_dspReg[20]&~0x8000); _dspReg[20] = (_dspReg[20]&~0x03ff)|_SHIFTR(len,16,16); _dspReg[21] = (_dspReg[21]&~0xffe0)|_SHIFTR(len, 0,16); __ARWaitDma(); __ARClearInterrupt(); }