dmacHw_HANDLE_t dmacHw_getInterruptSource(void) { uint32_t i; for (i = 0; i < dmaChannelCount_0 + dmaChannelCount_1; i++) { if ((dmacHw_REG_INT_STAT_TRAN(dmacHw_gCblk[i].module) & ((0x00000001 << dmacHw_gCblk[i].channel))) || (dmacHw_REG_INT_STAT_BLOCK(dmacHw_gCblk[i].module) & ((0x00000001 << dmacHw_gCblk[i].channel))) || (dmacHw_REG_INT_STAT_ERROR(dmacHw_gCblk[i].module) & ((0x00000001 << dmacHw_gCblk[i].channel))) ) { return dmacHw_CBLK_TO_HANDLE(&dmacHw_gCblk[i]); } } return dmacHw_CBLK_TO_HANDLE(NULL); }
dmacHw_HANDLE_t dmacHw_getChannelHandle(dmacHw_ID_t channelId ) { int idx; switch ((channelId >> 8)) { case 0: dmacHw_ASSERT((channelId & 0xff) < dmaChannelCount_0); idx = (channelId & 0xff); break; case 1: dmacHw_ASSERT((channelId & 0xff) < dmaChannelCount_1); idx = dmaChannelCount_0 + (channelId & 0xff); break; default: dmacHw_ASSERT(0); return (dmacHw_HANDLE_t) -1; } return dmacHw_CBLK_TO_HANDLE(&dmacHw_gCblk[idx]); }