Lines Matching refs:ch

89         dma_resource[i].regs = (mxc_dma_ch_regs_t *)&MXC_DMA->ch[i];  in DMA_Init()
180 int DMA_ReleaseChannel(int ch) in DMA_ReleaseChannel() argument
182 if (CHECK_HANDLE(ch)) { in DMA_ReleaseChannel()
186 dma_resource[ch].valid = 0; in DMA_ReleaseChannel()
187 dma_resource[ch].regs->cfg = 0; in DMA_ReleaseChannel()
188 dma_resource[ch].regs->st = dma_resource[ch].regs->st; in DMA_ReleaseChannel()
198 int DMA_ConfigChannel(int ch, in DMA_ConfigChannel() argument
207 if (CHECK_HANDLE(ch) && (burst_size > 0)) { in DMA_ConfigChannel()
209 dma_resource[ch].regs->cfg = in DMA_ConfigChannel()
230 int DMA_SetSrcDstCnt(int ch, in DMA_SetSrcDstCnt() argument
235 if (CHECK_HANDLE(ch)) { in DMA_SetSrcDstCnt()
236 dma_resource[ch].regs->src = (unsigned int)src_addr; in DMA_SetSrcDstCnt()
237 dma_resource[ch].regs->dst = (unsigned int)dst_addr; in DMA_SetSrcDstCnt()
238 dma_resource[ch].regs->cnt = count; in DMA_SetSrcDstCnt()
247 int DMA_SetReload(int ch, in DMA_SetReload() argument
252 if (CHECK_HANDLE(ch)) { in DMA_SetReload()
253 dma_resource[ch].regs->src_rld = (unsigned int)src_addr_reload; in DMA_SetReload()
254 dma_resource[ch].regs->dst_rld = (unsigned int)dst_addr_reload; in DMA_SetReload()
255 if (dma_resource[ch].regs->cfg & MXC_F_DMA_CFG_CHEN) { in DMA_SetReload()
257 dma_resource[ch].regs->cnt_rld = MXC_F_DMA_CNT_RLD_RLDEN | count_reload; in DMA_SetReload()
260 dma_resource[ch].regs->cnt_rld = count_reload; in DMA_SetReload()
269 int DMA_SetCallback(int ch, void (*callback)(int, int)) in DMA_SetCallback() argument
271 if (CHECK_HANDLE(ch)) { in DMA_SetCallback()
273 dma_resource[ch].cb = callback; in DMA_SetCallback()
282 int DMA_EnableInterrupt(int ch) in DMA_EnableInterrupt() argument
284 if (CHECK_HANDLE(ch)) { in DMA_EnableInterrupt()
285 MXC_DMA->cn |= (1 << ch); in DMA_EnableInterrupt()
293 int DMA_DisableInterrupt(int ch) in DMA_DisableInterrupt() argument
295 if (CHECK_HANDLE(ch)) { in DMA_DisableInterrupt()
296 MXC_DMA->cn &= ~(1 << ch); in DMA_DisableInterrupt()
305 int DMA_GetFlags(int ch, unsigned int *fl) in DMA_GetFlags() argument
307 if (CHECK_HANDLE(ch) && fl) { in DMA_GetFlags()
308 *fl = dma_resource[ch].regs->st; in DMA_GetFlags()
316 int DMA_ClearFlags(int ch) in DMA_ClearFlags() argument
318 if (CHECK_HANDLE(ch)) { in DMA_ClearFlags()
319 dma_resource[ch].regs->st = dma_resource[ch].regs->st; in DMA_ClearFlags()
328 int DMA_Start(int ch) in DMA_Start() argument
330 if (CHECK_HANDLE(ch)) { in DMA_Start()
331 DMA_ClearFlags(ch); in DMA_Start()
332 if (dma_resource[ch].regs->cnt_rld) { in DMA_Start()
333 dma_resource[ch].regs->cfg |= (MXC_F_DMA_CFG_CHEN | MXC_F_DMA_CFG_RLDEN); in DMA_Start()
335 dma_resource[ch].regs->cfg |= MXC_F_DMA_CFG_CHEN; in DMA_Start()
345 int DMA_Stop(int ch) in DMA_Stop() argument
347 if (CHECK_HANDLE(ch)) { in DMA_Stop()
348 dma_resource[ch].regs->cfg &= ~MXC_F_DMA_CFG_CHEN; in DMA_Stop()
357 mxc_dma_ch_regs_t *DMA_GetCHRegs(int ch) in DMA_GetCHRegs() argument
359 if (CHECK_HANDLE(ch)) { in DMA_GetCHRegs()
360 return dma_resource[ch].regs; in DMA_GetCHRegs()
367 void DMA_Handler(int ch) in DMA_Handler() argument
370 if (dma_resource[ch].cb != NULL) { in DMA_Handler()
371 dma_resource[ch].cb(ch, E_NO_ERROR); in DMA_Handler()
373 DMA_ClearFlags(ch); in DMA_Handler()