Lines Matching refs:chan
134 return container_of(c, struct bcm2835_chan, vc.chan); in to_bcm2835_dma_chan()
146 dma_free_coherent(desc->vd.tx.chan->device->dev, in bcm2835_dma_desc_free()
232 static int bcm2835_dma_alloc_chan_resources(struct dma_chan *chan) in bcm2835_dma_alloc_chan_resources() argument
234 struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); in bcm2835_dma_alloc_chan_resources()
236 dev_dbg(c->vc.chan.device->dev, in bcm2835_dma_alloc_chan_resources()
243 static void bcm2835_dma_free_chan_resources(struct dma_chan *chan) in bcm2835_dma_free_chan_resources() argument
245 struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); in bcm2835_dma_free_chan_resources()
250 dev_dbg(c->vc.chan.device->dev, "Freeing DMA channel %u\n", c->ch); in bcm2835_dma_free_chan_resources()
283 static enum dma_status bcm2835_dma_tx_status(struct dma_chan *chan, in bcm2835_dma_tx_status() argument
286 struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); in bcm2835_dma_tx_status()
291 ret = dma_cookie_status(chan, cookie, txstate); in bcm2835_dma_tx_status()
321 static void bcm2835_dma_issue_pending(struct dma_chan *chan) in bcm2835_dma_issue_pending() argument
323 struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); in bcm2835_dma_issue_pending()
336 struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, in bcm2835_dma_prep_dma_cyclic() argument
340 struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); in bcm2835_dma_prep_dma_cyclic()
349 dev_err(chan->device->dev, "%s: bad direction?\n", __func__); in bcm2835_dma_prep_dma_cyclic()
382 d->control_block_base = dma_zalloc_coherent(chan->device->dev, in bcm2835_dma_prep_dma_cyclic()
439 static int bcm2835_dma_slave_config(struct dma_chan *chan, in bcm2835_dma_slave_config() argument
442 struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); in bcm2835_dma_slave_config()
457 static int bcm2835_dma_terminate_all(struct dma_chan *chan) in bcm2835_dma_terminate_all() argument
459 struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); in bcm2835_dma_terminate_all()
460 struct bcm2835_dmadev *d = to_bcm2835_dma_dev(c->vc.chan.device); in bcm2835_dma_terminate_all()
526 vc.chan.device_node) { in bcm2835_dma_free()
527 list_del(&c->vc.chan.device_node); in bcm2835_dma_free()
542 struct dma_chan *chan; in bcm2835_dma_xlate() local
544 chan = dma_get_any_slave_channel(&d->ddev); in bcm2835_dma_xlate()
545 if (!chan) in bcm2835_dma_xlate()
549 to_bcm2835_dma_chan(chan)->dreq = spec->args[0]; in bcm2835_dma_xlate()
551 return chan; in bcm2835_dma_xlate()