Lines Matching defs:chan
18 return container_of(dma_chan, struct pt_dma_chan, vc.chan);
28 struct pt_dma_chan *chan = to_pt_chan(dma_chan);
30 vchan_free_chan_resources(&chan->vc);
35 struct pt_dma_chan *chan = to_pt_chan(dma_chan);
37 vchan_synchronize(&chan->vc);
70 static struct pt_dma_desc *pt_next_dma_desc(struct pt_dma_chan *chan)
73 struct virt_dma_desc *vd = vchan_next_desc(&chan->vc);
78 static struct pt_dma_desc *pt_handle_active_desc(struct pt_dma_chan *chan,
100 spin_lock_irqsave(&chan->vc.lock, flags);
116 desc = pt_next_dma_desc(chan);
118 spin_unlock_irqrestore(&chan->vc.lock, flags);
134 struct pt_dma_chan *chan;
140 dma_chan = desc->vd.tx.chan;
141 chan = to_pt_chan(dma_chan);
148 desc = pt_handle_active_desc(chan, desc);
162 static struct pt_dma_desc *pt_alloc_dma_desc(struct pt_dma_chan *chan,
167 desc = kmem_cache_zalloc(chan->pt->dma_desc_cache, GFP_NOWAIT);
171 vchan_tx_prep(&chan->vc, &desc->vd, flags);
173 desc->pt = chan->pt;
187 struct pt_dma_chan *chan = to_pt_chan(dma_chan);
192 desc = pt_alloc_dma_desc(chan, flags);
197 pt_cmd->pt = chan->pt;
227 struct pt_dma_chan *chan = to_pt_chan(dma_chan);
230 desc = pt_alloc_dma_desc(chan, flags);
239 struct pt_dma_chan *chan = to_pt_chan(dma_chan);
244 spin_lock_irqsave(&chan->vc.lock, flags);
246 desc = pt_next_dma_desc(chan);
250 vchan_issue_pending(&chan->vc);
252 desc = pt_next_dma_desc(chan);
254 spin_unlock_irqrestore(&chan->vc.lock, flags);
274 struct pt_dma_chan *chan = to_pt_chan(dma_chan);
277 spin_lock_irqsave(&chan->vc.lock, flags);
278 pt_stop_queue(&chan->pt->cmd_q);
279 spin_unlock_irqrestore(&chan->vc.lock, flags);
286 struct pt_dma_chan *chan = to_pt_chan(dma_chan);
290 spin_lock_irqsave(&chan->vc.lock, flags);
291 pt_start_queue(&chan->pt->cmd_q);
292 desc = pt_next_dma_desc(chan);
293 spin_unlock_irqrestore(&chan->vc.lock, flags);
304 struct pt_dma_chan *chan = to_pt_chan(dma_chan);
306 struct pt_cmd_queue *cmd_q = &chan->pt->cmd_q;
310 spin_lock_irqsave(&chan->vc.lock, flags);
311 vchan_get_all_descriptors(&chan->vc, &head);
312 spin_unlock_irqrestore(&chan->vc.lock, flags);
314 vchan_dma_desc_free_list(&chan->vc, &head);
315 vchan_free_chan_resources(&chan->vc);
322 struct pt_dma_chan *chan;
371 chan = pt->pt_dma_chan;
372 chan->pt = pt;
385 chan->vc.desc_free = pt_do_cleanup;
386 vchan_init(&chan->vc, dma_dev);