Lines Matching refs:channel
114 #define frv_clear_dma_inprogress(channel) \ argument
115 (void)__atomic32_fetch_and(~(1 << (channel)), &frv_dma_inprogress);
117 #define frv_set_dma_inprogress(channel) \ argument
118 (void)__atomic32_fetch_or(1 << (channel), &frv_dma_inprogress);
126 struct frv_dma_channel *channel = _channel; in dma_irq_handler() local
128 frv_clear_dma_inprogress(channel - frv_dma_channels); in dma_irq_handler()
129 return channel->handler(channel - frv_dma_channels, in dma_irq_handler()
130 __get_DMAC(channel->ioaddr, CSTR), in dma_irq_handler()
131 channel->data); in dma_irq_handler()
176 struct frv_dma_channel *channel; in frv_dma_open() local
185 channel = &frv_dma_channels[dma]; in frv_dma_open()
190 if ((channel->cap & dmacap) != dmacap) in frv_dma_open()
200 ret = request_irq(channel->irq, dma_irq_handler, irq_flags, devname, channel); in frv_dma_open()
205 channel = &frv_dma_channels[dma]; in frv_dma_open()
207 channel->flags |= FRV_DMA_FLAGS_INUSE; in frv_dma_open()
208 channel->devname = devname; in frv_dma_open()
209 channel->handler = handler; in frv_dma_open()
210 channel->data = data; in frv_dma_open()
214 __set_SIR(channel->dreqbit | __get_SIR()); in frv_dma_open()
218 val |= channel->dackbit; in frv_dma_open()
220 val &= ~channel->dackbit; in frv_dma_open()
222 val |= channel->donebit; in frv_dma_open()
224 val &= ~channel->donebit; in frv_dma_open()
241 struct frv_dma_channel *channel = &frv_dma_channels[dma]; in frv_dma_close() local
246 free_irq(channel->irq, channel); in frv_dma_close()
249 channel->flags &= ~FRV_DMA_FLAGS_INUSE; in frv_dma_close()
379 struct frv_dma_channel *channel; in frv_dma_pause_all() local
387 channel = &frv_dma_channels[dma]; in frv_dma_pause_all()
389 if (!(channel->flags & FRV_DMA_FLAGS_INUSE)) in frv_dma_pause_all()
392 ioaddr = channel->ioaddr; in frv_dma_pause_all()
403 channel->flags |= FRV_DMA_FLAGS_PAUSED; in frv_dma_pause_all()
420 struct frv_dma_channel *channel; in frv_dma_resume_all() local
426 channel = &frv_dma_channels[dma]; in frv_dma_resume_all()
428 if (!(channel->flags & FRV_DMA_FLAGS_PAUSED)) in frv_dma_resume_all()
431 ioaddr = channel->ioaddr; in frv_dma_resume_all()
440 channel->flags &= ~FRV_DMA_FLAGS_PAUSED; in frv_dma_resume_all()