Lines Matching refs:chan
297 static inline struct pl08x_dma_chan *to_pl08x_chan(struct dma_chan *chan) in to_pl08x_chan() argument
299 return container_of(chan, struct pl08x_dma_chan, vc.chan); in to_pl08x_chan()
694 list_for_each_entry(p, &pl08x->memcpy.channels, vc.chan.device_node) in pl08x_phy_free()
701 list_for_each_entry(p, &pl08x->slave.channels, vc.chan.device_node) in pl08x_phy_free()
1173 struct pl08x_dma_chan *plchan = to_pl08x_chan(vd->tx.chan); in pl08x_desc_free()
1194 static void pl08x_free_chan_resources(struct dma_chan *chan) in pl08x_free_chan_resources() argument
1197 vchan_free_chan_resources(to_virt_chan(chan)); in pl08x_free_chan_resources()
1201 struct dma_chan *chan, unsigned long flags) in pl08x_prep_dma_interrupt() argument
1213 static enum dma_status pl08x_dma_tx_status(struct dma_chan *chan, in pl08x_dma_tx_status() argument
1216 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan); in pl08x_dma_tx_status()
1222 ret = dma_cookie_status(chan, cookie, txstate); in pl08x_dma_tx_status()
1237 ret = dma_cookie_status(chan, cookie, txstate); in pl08x_dma_tx_status()
1390 static void pl08x_issue_pending(struct dma_chan *chan) in pl08x_issue_pending() argument
1392 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan); in pl08x_issue_pending()
1421 struct dma_chan *chan, dma_addr_t dest, dma_addr_t src, in pl08x_prep_dma_memcpy() argument
1424 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan); in pl08x_prep_dma_memcpy()
1472 struct dma_chan *chan, in pl08x_init_txd() argument
1476 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan); in pl08x_init_txd()
1583 struct dma_chan *chan, struct scatterlist *sgl, in pl08x_prep_slave_sg() argument
1587 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan); in pl08x_prep_slave_sg()
1597 txd = pl08x_init_txd(chan, direction, &slave_addr); in pl08x_prep_slave_sg()
1625 struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, in pl08x_prep_dma_cyclic() argument
1629 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan); in pl08x_prep_dma_cyclic()
1641 txd = pl08x_init_txd(chan, direction, &slave_addr); in pl08x_prep_dma_cyclic()
1667 static int pl08x_config(struct dma_chan *chan, in pl08x_config() argument
1670 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan); in pl08x_config()
1693 static int pl08x_terminate_all(struct dma_chan *chan) in pl08x_terminate_all() argument
1695 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan); in pl08x_terminate_all()
1727 static int pl08x_pause(struct dma_chan *chan) in pl08x_pause() argument
1729 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan); in pl08x_pause()
1750 static int pl08x_resume(struct dma_chan *chan) in pl08x_resume() argument
1752 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan); in pl08x_resume()
1773 bool pl08x_filter_id(struct dma_chan *chan, void *chan_id) in pl08x_filter_id() argument
1779 if (chan->device->dev->driver != &pl08x_amba_driver.drv) in pl08x_filter_id()
1782 plchan = to_pl08x_chan(chan); in pl08x_filter_id()
1871 static void pl08x_dma_slave_init(struct pl08x_dma_chan *chan) in pl08x_dma_slave_init() argument
1873 chan->slave = true; in pl08x_dma_slave_init()
1874 chan->name = chan->cd->bus_id; in pl08x_dma_slave_init()
1875 chan->cfg.src_addr = chan->cd->addr; in pl08x_dma_slave_init()
1876 chan->cfg.dst_addr = chan->cd->addr; in pl08x_dma_slave_init()
1886 struct pl08x_dma_chan *chan; in pl08x_dma_init_virtual_channels() local
1897 chan = kzalloc(sizeof(*chan), GFP_KERNEL); in pl08x_dma_init_virtual_channels()
1898 if (!chan) { in pl08x_dma_init_virtual_channels()
1904 chan->host = pl08x; in pl08x_dma_init_virtual_channels()
1905 chan->state = PL08X_CHAN_IDLE; in pl08x_dma_init_virtual_channels()
1906 chan->signal = -1; in pl08x_dma_init_virtual_channels()
1909 chan->cd = &pl08x->pd->slave_channels[i]; in pl08x_dma_init_virtual_channels()
1910 pl08x_dma_slave_init(chan); in pl08x_dma_init_virtual_channels()
1912 chan->cd = &pl08x->pd->memcpy_channel; in pl08x_dma_init_virtual_channels()
1913 chan->name = kasprintf(GFP_KERNEL, "memcpy%d", i); in pl08x_dma_init_virtual_channels()
1914 if (!chan->name) { in pl08x_dma_init_virtual_channels()
1915 kfree(chan); in pl08x_dma_init_virtual_channels()
1921 chan->name); in pl08x_dma_init_virtual_channels()
1923 chan->vc.desc_free = pl08x_desc_free; in pl08x_dma_init_virtual_channels()
1924 vchan_init(&chan->vc, dmadev); in pl08x_dma_init_virtual_channels()
1933 struct pl08x_dma_chan *chan = NULL; in pl08x_free_virtual_channels() local
1936 list_for_each_entry_safe(chan, in pl08x_free_virtual_channels()
1937 next, &dmadev->channels, vc.chan.device_node) { in pl08x_free_virtual_channels()
1938 list_del(&chan->vc.chan.device_node); in pl08x_free_virtual_channels()
1939 kfree(chan); in pl08x_free_virtual_channels()
1964 struct pl08x_dma_chan *chan; in pl08x_debugfs_show() local
1991 list_for_each_entry(chan, &pl08x->memcpy.channels, vc.chan.device_node) { in pl08x_debugfs_show()
1992 seq_printf(s, "%s\t\t%s\n", chan->name, in pl08x_debugfs_show()
1993 pl08x_state_str(chan->state)); in pl08x_debugfs_show()
1999 list_for_each_entry(chan, &pl08x->slave.channels, vc.chan.device_node) { in pl08x_debugfs_show()
2000 seq_printf(s, "%s\t\t%s\n", chan->name, in pl08x_debugfs_show()
2001 pl08x_state_str(chan->state)); in pl08x_debugfs_show()