dmacHw_TRANSFER_STATUS_e dmacHw_transferCompleted(dmacHw_HANDLE_t handle ) { dmacHw_CBLK_t *pCblk = dmacHw_HANDLE_TO_CBLK(handle); if (CHANNEL_BUSY(pCblk->module, pCblk->channel)) { return dmacHw_TRANSFER_STATUS_BUSY; } else if (dmacHw_REG_INT_RAW_ERROR(pCblk->module) & (0x00000001 << pCblk->channel)) { return dmacHw_TRANSFER_STATUS_ERROR; } return dmacHw_TRANSFER_STATUS_DONE; }
static void DisplayRegisterContents(int module, /* [ IN ] DMA Controller unit (0-1) */ int channel, /* [ IN ] DMA Channel (0-7) / -1(all) */ int (*fpPrint) (const char *, ...) /* [ IN ] Callback to the print function */ ) { int chan; (*fpPrint) ("Displaying register content \n\n"); (*fpPrint) ("Module %d: Interrupt raw transfer 0x%X\n", module, (uint32_t) (dmacHw_REG_INT_RAW_TRAN(module))); (*fpPrint) ("Module %d: Interrupt raw block 0x%X\n", module, (uint32_t) (dmacHw_REG_INT_RAW_BLOCK(module))); (*fpPrint) ("Module %d: Interrupt raw src transfer 0x%X\n", module, (uint32_t) (dmacHw_REG_INT_RAW_STRAN(module))); (*fpPrint) ("Module %d: Interrupt raw dst transfer 0x%X\n", module, (uint32_t) (dmacHw_REG_INT_RAW_DTRAN(module))); (*fpPrint) ("Module %d: Interrupt raw error 0x%X\n", module, (uint32_t) (dmacHw_REG_INT_RAW_ERROR(module))); (*fpPrint) ("--------------------------------------------------\n"); (*fpPrint) ("Module %d: Interrupt stat transfer 0x%X\n", module, (uint32_t) (dmacHw_REG_INT_STAT_TRAN(module))); (*fpPrint) ("Module %d: Interrupt stat block 0x%X\n", module, (uint32_t) (dmacHw_REG_INT_STAT_BLOCK(module))); (*fpPrint) ("Module %d: Interrupt stat src transfer 0x%X\n", module, (uint32_t) (dmacHw_REG_INT_STAT_STRAN(module))); (*fpPrint) ("Module %d: Interrupt stat dst transfer 0x%X\n", module, (uint32_t) (dmacHw_REG_INT_STAT_DTRAN(module))); (*fpPrint) ("Module %d: Interrupt stat error 0x%X\n", module, (uint32_t) (dmacHw_REG_INT_STAT_ERROR(module))); (*fpPrint) ("--------------------------------------------------\n"); (*fpPrint) ("Module %d: Interrupt mask transfer 0x%X\n", module, (uint32_t) (dmacHw_REG_INT_MASK_TRAN(module))); (*fpPrint) ("Module %d: Interrupt mask block 0x%X\n", module, (uint32_t) (dmacHw_REG_INT_MASK_BLOCK(module))); (*fpPrint) ("Module %d: Interrupt mask src transfer 0x%X\n", module, (uint32_t) (dmacHw_REG_INT_MASK_STRAN(module))); (*fpPrint) ("Module %d: Interrupt mask dst transfer 0x%X\n", module, (uint32_t) (dmacHw_REG_INT_MASK_DTRAN(module))); (*fpPrint) ("Module %d: Interrupt mask error 0x%X\n", module, (uint32_t) (dmacHw_REG_INT_MASK_ERROR(module))); (*fpPrint) ("--------------------------------------------------\n"); (*fpPrint) ("Module %d: Interrupt clear transfer 0x%X\n", module, (uint32_t) (dmacHw_REG_INT_CLEAR_TRAN(module))); (*fpPrint) ("Module %d: Interrupt clear block 0x%X\n", module, (uint32_t) (dmacHw_REG_INT_CLEAR_BLOCK(module))); (*fpPrint) ("Module %d: Interrupt clear src transfer 0x%X\n", module, (uint32_t) (dmacHw_REG_INT_CLEAR_STRAN(module))); (*fpPrint) ("Module %d: Interrupt clear dst transfer 0x%X\n", module, (uint32_t) (dmacHw_REG_INT_CLEAR_DTRAN(module))); (*fpPrint) ("Module %d: Interrupt clear error 0x%X\n", module, (uint32_t) (dmacHw_REG_INT_CLEAR_ERROR(module))); (*fpPrint) ("--------------------------------------------------\n"); (*fpPrint) ("Module %d: SW source req 0x%X\n", module, (uint32_t) (dmacHw_REG_SW_HS_SRC_REQ(module))); (*fpPrint) ("Module %d: SW dest req 0x%X\n", module, (uint32_t) (dmacHw_REG_SW_HS_DST_REQ(module))); (*fpPrint) ("Module %d: SW source signal 0x%X\n", module, (uint32_t) (dmacHw_REG_SW_HS_SRC_SGL_REQ(module))); (*fpPrint) ("Module %d: SW dest signal 0x%X\n", module, (uint32_t) (dmacHw_REG_SW_HS_DST_SGL_REQ(module))); (*fpPrint) ("Module %d: SW source last 0x%X\n", module, (uint32_t) (dmacHw_REG_SW_HS_SRC_LST_REQ(module))); (*fpPrint) ("Module %d: SW dest last 0x%X\n", module, (uint32_t) (dmacHw_REG_SW_HS_DST_LST_REQ(module))); (*fpPrint) ("--------------------------------------------------\n"); (*fpPrint) ("Module %d: misc config 0x%X\n", module, (uint32_t) (dmacHw_REG_MISC_CFG(module))); (*fpPrint) ("Module %d: misc channel enable 0x%X\n", module, (uint32_t) (dmacHw_REG_MISC_CH_ENABLE(module))); (*fpPrint) ("Module %d: misc ID 0x%X\n", module, (uint32_t) (dmacHw_REG_MISC_ID(module))); (*fpPrint) ("Module %d: misc test 0x%X\n", module, (uint32_t) (dmacHw_REG_MISC_TEST(module))); if (channel == -1) { for (chan = 0; chan < 8; chan++) { (*fpPrint) ("--------------------------------------------------\n"); (*fpPrint) ("Module %d: Channel %d Source 0x%X\n", module, chan, (uint32_t) (dmacHw_REG_SAR(module, chan))); (*fpPrint) ("Module %d: Channel %d Destination 0x%X\n", module, chan, (uint32_t) (dmacHw_REG_DAR(module, chan))); (*fpPrint) ("Module %d: Channel %d LLP 0x%X\n", module, chan, (uint32_t) (dmacHw_REG_LLP(module, chan))); (*fpPrint) ("Module %d: Channel %d Control (LO) 0x%X\n", module, chan, (uint32_t) (dmacHw_REG_CTL_LO(module, chan))); (*fpPrint) ("Module %d: Channel %d Control (HI) 0x%X\n", module, chan, (uint32_t) (dmacHw_REG_CTL_HI(module, chan))); (*fpPrint) ("Module %d: Channel %d Source Stats 0x%X\n", module, chan, (uint32_t) (dmacHw_REG_SSTAT(module, chan))); (*fpPrint) ("Module %d: Channel %d Dest Stats 0x%X\n", module, chan, (uint32_t) (dmacHw_REG_DSTAT(module, chan))); (*fpPrint) ("Module %d: Channel %d Source Stats Addr 0x%X\n", module, chan, (uint32_t) (dmacHw_REG_SSTATAR(module, chan))); (*fpPrint) ("Module %d: Channel %d Dest Stats Addr 0x%X\n", module, chan, (uint32_t) (dmacHw_REG_DSTATAR(module, chan))); (*fpPrint) ("Module %d: Channel %d Config (LO) 0x%X\n", module, chan, (uint32_t) (dmacHw_REG_CFG_LO(module, chan))); (*fpPrint) ("Module %d: Channel %d Config (HI) 0x%X\n", module, chan, (uint32_t) (dmacHw_REG_CFG_HI(module, chan))); } } else { chan = channel; (*fpPrint) ("--------------------------------------------------\n"); (*fpPrint) ("Module %d: Channel %d Source 0x%X\n", module, chan, (uint32_t) (dmacHw_REG_SAR(module, chan))); (*fpPrint) ("Module %d: Channel %d Destination 0x%X\n", module, chan, (uint32_t) (dmacHw_REG_DAR(module, chan))); (*fpPrint) ("Module %d: Channel %d LLP 0x%X\n", module, chan, (uint32_t) (dmacHw_REG_LLP(module, chan))); (*fpPrint) ("Module %d: Channel %d Control (LO) 0x%X\n", module, chan, (uint32_t) (dmacHw_REG_CTL_LO(module, chan))); (*fpPrint) ("Module %d: Channel %d Control (HI) 0x%X\n", module, chan, (uint32_t) (dmacHw_REG_CTL_HI(module, chan))); (*fpPrint) ("Module %d: Channel %d Source Stats 0x%X\n", module, chan, (uint32_t) (dmacHw_REG_SSTAT(module, chan))); (*fpPrint) ("Module %d: Channel %d Dest Stats 0x%X\n", module, chan, (uint32_t) (dmacHw_REG_DSTAT(module, chan))); (*fpPrint) ("Module %d: Channel %d Source Stats Addr 0x%X\n", module, chan, (uint32_t) (dmacHw_REG_SSTATAR(module, chan))); (*fpPrint) ("Module %d: Channel %d Dest Stats Addr 0x%X\n", module, chan, (uint32_t) (dmacHw_REG_DSTATAR(module, chan))); (*fpPrint) ("Module %d: Channel %d Config (LO) 0x%X\n", module, chan, (uint32_t) (dmacHw_REG_CFG_LO(module, chan))); (*fpPrint) ("Module %d: Channel %d Config (HI) 0x%X\n", module, chan, (uint32_t) (dmacHw_REG_CFG_HI(module, chan))); } }