Lines Matching refs:chan
83 struct dma_chan chan; member
106 static struct device *chan2dev(struct dma_chan *chan) in chan2dev() argument
108 return &chan->dev->device; in chan2dev()
110 static struct device *chan2dmadev(struct dma_chan *chan) in chan2dmadev() argument
112 return chan2dev(chan)->parent->parent; in chan2dmadev()
117 int id = td_chan->chan.chan_id; in tdchantotd()
125 int id = td_chan->chan.chan_id; in __td_enable_chan_irq()
132 dev_dbg(chan2dev(&td_chan->chan), "Enabling irq: %d, IER: 0x%x\n", id, in __td_enable_chan_irq()
140 int id = td_chan->chan.chan_id; in __td_dma_done_ack()
146 dev_dbg(chan2dev(&td_chan->chan), "Checking irq: %d, td: %p\n", id, td); in __td_dma_done_ack()
161 dev_err(chan2dev(&td_chan->chan), "Too big sg element\n"); in td_fill_desc()
167 dev_err(chan2dev(&td_chan->chan), "Incorrect length: %d\n", in td_fill_desc()
172 dev_dbg(chan2dev(&td_chan->chan), "desc: %p, addr: 0x%llx\n", in td_fill_desc()
195 dev_err(chan2dev(&td_chan->chan), in __td_start_dma()
203 dev_dbg(chan2dev(&td_chan->chan), in __td_start_dma()
205 td_chan, td_chan->chan.chan_id, td_chan->membase); in __td_start_dma()
246 dev_dbg(chan2dev(&td_chan->chan), "descriptor %u complete\n", in __td_finish()
302 dev_dbg(chan2dev(&td_chan->chan), "%s: started %u\n", in __td_start_next()
313 struct timb_dma_chan *td_chan = container_of(txd->chan, in td_tx_submit()
314 struct timb_dma_chan, chan); in td_tx_submit()
321 dev_dbg(chan2dev(txd->chan), "%s: started %u\n", __func__, in td_tx_submit()
326 dev_dbg(chan2dev(txd->chan), "tx_submit: queued %u\n", in td_tx_submit()
339 struct dma_chan *chan = &td_chan->chan; in td_alloc_init_desc() local
345 dev_err(chan2dev(chan), "Failed to alloc descriptor\n"); in td_alloc_init_desc()
353 dev_err(chan2dev(chan), "Failed to alloc descriptor\n"); in td_alloc_init_desc()
357 dma_async_tx_descriptor_init(&td_desc->txd, chan); in td_alloc_init_desc()
361 td_desc->txd.phys = dma_map_single(chan2dmadev(chan), in td_alloc_init_desc()
364 err = dma_mapping_error(chan2dmadev(chan), td_desc->txd.phys); in td_alloc_init_desc()
366 dev_err(chan2dev(chan), "DMA mapping error: %d\n", err); in td_alloc_init_desc()
381 dev_dbg(chan2dev(td_desc->txd.chan), "Freeing desc: %p\n", td_desc); in td_free_desc()
382 dma_unmap_single(chan2dmadev(td_desc->txd.chan), td_desc->txd.phys, in td_free_desc()
392 dev_dbg(chan2dev(&td_chan->chan), "Putting desc: %p\n", td_desc); in td_desc_put()
412 dev_dbg(chan2dev(&td_chan->chan), "desc %p not ACKed\n", in td_desc_get()
420 static int td_alloc_chan_resources(struct dma_chan *chan) in td_alloc_chan_resources() argument
423 container_of(chan, struct timb_dma_chan, chan); in td_alloc_chan_resources()
426 dev_dbg(chan2dev(chan), "%s: entry\n", __func__); in td_alloc_chan_resources()
435 dev_err(chan2dev(chan), in td_alloc_chan_resources()
445 dma_cookie_init(chan); in td_alloc_chan_resources()
451 static void td_free_chan_resources(struct dma_chan *chan) in td_free_chan_resources() argument
454 container_of(chan, struct timb_dma_chan, chan); in td_free_chan_resources()
458 dev_dbg(chan2dev(chan), "%s: Entry\n", __func__); in td_free_chan_resources()
469 dev_dbg(chan2dev(chan), "%s: Freeing desc: %p\n", __func__, in td_free_chan_resources()
475 static enum dma_status td_tx_status(struct dma_chan *chan, dma_cookie_t cookie, in td_tx_status() argument
480 dev_dbg(chan2dev(chan), "%s: Entry\n", __func__); in td_tx_status()
482 ret = dma_cookie_status(chan, cookie, txstate); in td_tx_status()
484 dev_dbg(chan2dev(chan), "%s: exit, ret: %d\n", __func__, ret); in td_tx_status()
489 static void td_issue_pending(struct dma_chan *chan) in td_issue_pending() argument
492 container_of(chan, struct timb_dma_chan, chan); in td_issue_pending()
494 dev_dbg(chan2dev(chan), "%s: Entry\n", __func__); in td_issue_pending()
508 static struct dma_async_tx_descriptor *td_prep_slave_sg(struct dma_chan *chan, in td_prep_slave_sg() argument
514 container_of(chan, struct timb_dma_chan, chan); in td_prep_slave_sg()
521 dev_err(chan2dev(chan), "%s: No SG list\n", __func__); in td_prep_slave_sg()
527 dev_err(chan2dev(chan), in td_prep_slave_sg()
534 dev_err(chan2dev(chan), "Not enough descriptors available\n"); in td_prep_slave_sg()
543 dev_err(chan2dev(chan), "No descriptor space\n"); in td_prep_slave_sg()
550 dev_err(chan2dev(chan), "Failed to update desc: %d\n", in td_prep_slave_sg()
558 dma_sync_single_for_device(chan2dmadev(chan), td_desc->txd.phys, in td_prep_slave_sg()
564 static int td_terminate_all(struct dma_chan *chan) in td_terminate_all() argument
567 container_of(chan, struct timb_dma_chan, chan); in td_terminate_all()
570 dev_dbg(chan2dev(chan), "%s: Entry\n", __func__); in td_terminate_all()
714 td_chan->chan.device = &td->dma; in td_probe()
715 dma_cookie_init(&td_chan->chan); in td_probe()
734 list_add_tail(&td_chan->chan.device_node, &td->dma.channels); in td_probe()