Lines Matching refs:channel

79 	struct dma_channel *channel;  in get_dma_channel()  local
86 channel = &info->channels[i]; in get_dma_channel()
87 if (channel->vchan == chan) in get_dma_channel()
88 return channel; in get_dma_channel()
98 struct dma_channel *channel = get_dma_channel(chan); in get_dma_residue() local
101 return info->ops->get_residue(channel); in get_dma_residue()
150 struct dma_channel *channel = &info->channels[i]; in request_dma_bycap() local
152 if (unlikely(!channel->caps)) in request_dma_bycap()
156 if (!search_cap(channel->caps, *p)) in request_dma_bycap()
158 if (request_dma(channel->chan, dev_id) == 0) in request_dma_bycap()
159 return channel->chan; in request_dma_bycap()
169 struct dma_channel *channel = { 0 }; in dmac_search_free_channel() local
174 channel = &info->channels[i]; in dmac_search_free_channel()
175 if (unlikely(!channel)) in dmac_search_free_channel()
178 if (atomic_read(&channel->busy) == 0) in dmac_search_free_channel()
183 int result = info->ops->request(channel); in dmac_search_free_channel()
187 atomic_set(&channel->busy, 1); in dmac_search_free_channel()
188 return channel->chan; in dmac_search_free_channel()
196 struct dma_channel *channel = { 0 }; in request_dma() local
200 channel = get_dma_channel(chan); in request_dma()
201 if (atomic_xchg(&channel->busy, 1)) in request_dma()
204 strlcpy(channel->dev_id, dev_id, sizeof(channel->dev_id)); in request_dma()
207 result = info->ops->request(channel); in request_dma()
209 atomic_set(&channel->busy, 0); in request_dma()
221 struct dma_channel *channel = get_dma_channel(chan); in free_dma() local
224 info->ops->free(channel); in free_dma()
226 atomic_set(&channel->busy, 0); in free_dma()
233 struct dma_channel *channel = get_dma_channel(chan); in dma_wait_for_completion() local
235 if (channel->flags & DMA_TEI_CAPABLE) { in dma_wait_for_completion()
236 wait_event(channel->wait_queue, in dma_wait_for_completion()
237 (info->ops->get_residue(channel) == 0)); in dma_wait_for_completion()
241 while (info->ops->get_residue(channel)) in dma_wait_for_completion()
262 struct dma_channel *channel; in register_chan_caps() local
267 channel = &info->channels[i]; in register_chan_caps()
268 channel->caps = caps->caplist; in register_chan_caps()
278 struct dma_channel *channel = get_dma_channel(chan); in dma_configure_channel() local
281 info->ops->configure(channel, flags); in dma_configure_channel()
289 struct dma_channel *channel = get_dma_channel(chan); in dma_xfer() local
291 channel->sar = from; in dma_xfer()
292 channel->dar = to; in dma_xfer()
293 channel->count = size; in dma_xfer()
294 channel->mode = mode; in dma_xfer()
296 return info->ops->xfer(channel); in dma_xfer()
303 struct dma_channel *channel = get_dma_channel(chan); in dma_extend() local
306 return info->ops->extend(channel, op, param); in dma_extend()
329 struct dma_channel *channel = info->channels + i; in dma_proc_show() local
331 if (!(channel->flags & DMA_CONFIGURED)) in dma_proc_show()
335 info->name, channel->dev_id); in dma_proc_show()