Lines Matching refs:dma_ch
30 struct dma_channel dma_ch[MAX_DMA_CHANNELS]; variable
31 EXPORT_SYMBOL(dma_ch);
45 atomic_set(&dma_ch[i].chan_status, 0); in blackfin_dma_init()
46 dma_ch[i].regs = dma_io_base_addr[i]; in blackfin_dma_init()
74 seq_printf(m, "%2d: %s\n", i, dma_ch[i].device_id); in proc_dma_show()
113 dma_ch[channel].regs->peripheral_map = per_map; in set_dma_peripheral_map()
139 if (atomic_cmpxchg(&dma_ch[channel].chan_status, 0, 1)) { in request_dma()
145 dma_ch[channel].device_id = device_id; in request_dma()
146 dma_ch[channel].irq = 0; in request_dma()
163 !atomic_read(&dma_ch[channel].chan_status)); in set_dma_callback()
166 ret = request_irq(irq, callback, 0, dma_ch[channel].device_id, data); in set_dma_callback()
170 dma_ch[channel].irq = irq; in set_dma_callback()
171 dma_ch[channel].data = data; in set_dma_callback()
185 dma_ch[channel].regs->cfg |= RESTART; in clear_dma_buffer()
187 dma_ch[channel].regs->cfg &= ~RESTART; in clear_dma_buffer()
194 !atomic_read(&dma_ch[channel].chan_status)); in free_dma()
200 if (dma_ch[channel].irq) in free_dma()
201 free_irq(dma_ch[channel].irq, dma_ch[channel].data); in free_dma()
204 atomic_set(&dma_ch[channel].chan_status, 0); in free_dma()
220 if (dma_ch[i].regs->cfg & DMAEN) { in blackfin_dma_suspend()
225 dma_ch[i].saved_peripheral_map = dma_ch[i].regs->peripheral_map; in blackfin_dma_suspend()
239 dma_ch[i].regs->cfg = 0; in blackfin_dma_resume()
241 dma_ch[i].regs->peripheral_map = dma_ch[i].saved_peripheral_map; in blackfin_dma_resume()