Lines Matching refs:dma_ch
26 struct dma_channel dma_ch[MAX_DMA_CHANNELS];
27 EXPORT_SYMBOL(dma_ch);
36 atomic_set(&dma_ch[i].chan_status, 0);
37 dma_ch[i].regs = dma_io_base_addr[i];
59 seq_printf(m, "%2d: %s\n", i, dma_ch[i].device_id);
105 if (atomic_cmpxchg(&dma_ch[channel].chan_status, 0, 1)) {
113 per_map = dma_ch[channel].regs->peripheral_map & 0xFFF;
115 dma_ch[channel].regs->peripheral_map = per_map |
118 dma_ch[channel].regs->peripheral_map = per_map |
123 dma_ch[channel].device_id = device_id;
124 dma_ch[channel].irq = 0;
141 !atomic_read(&dma_ch[channel].chan_status));
144 ret = request_irq(irq, callback, 0, dma_ch[channel].device_id, data);
148 dma_ch[channel].irq = irq;
149 dma_ch[channel].data = data;
163 dma_ch[channel].regs->cfg |= RESTART;
165 dma_ch[channel].regs->cfg &= ~RESTART;
172 !atomic_read(&dma_ch[channel].chan_status));
178 if (dma_ch[channel].irq)
179 free_irq(dma_ch[channel].irq, dma_ch[channel].data);
182 atomic_set(&dma_ch[channel].chan_status, 0);
197 if (dma_ch[i].regs->cfg & DMAEN) {
203 dma_ch[i].saved_peripheral_map = dma_ch[i].regs->peripheral_map;
214 dma_ch[i].regs->cfg = 0;
217 dma_ch[i].regs->peripheral_map = dma_ch[i].saved_peripheral_map;