Lines Matching defs:chan

315 static inline struct pl08x_dma_chan *to_pl08x_chan(struct dma_chan *chan)
317 return container_of(chan, struct pl08x_dma_chan, vc.chan);
917 list_for_each_entry(p, &pl08x->memcpy.channels, vc.chan.device_node)
925 list_for_each_entry(p, &pl08x->slave.channels, vc.chan.device_node)
1511 struct pl08x_dma_chan *plchan = to_pl08x_chan(vd->tx.chan);
1532 static void pl08x_free_chan_resources(struct dma_chan *chan)
1535 vchan_free_chan_resources(to_virt_chan(chan));
1543 static enum dma_status pl08x_dma_tx_status(struct dma_chan *chan,
1546 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan);
1552 ret = dma_cookie_status(chan, cookie, txstate);
1567 ret = dma_cookie_status(chan, cookie, txstate);
1731 static void pl08x_issue_pending(struct dma_chan *chan)
1733 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan);
1882 struct dma_chan *chan, dma_addr_t dest, dma_addr_t src,
1885 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan);
1929 struct dma_chan *chan,
1933 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan);
2042 struct dma_chan *chan, struct scatterlist *sgl,
2046 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan);
2056 txd = pl08x_init_txd(chan, direction, &slave_addr);
2084 struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len,
2088 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan);
2100 txd = pl08x_init_txd(chan, direction, &slave_addr);
2126 static int pl08x_config(struct dma_chan *chan,
2129 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan);
2152 static int pl08x_terminate_all(struct dma_chan *chan)
2154 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan);
2186 static void pl08x_synchronize(struct dma_chan *chan)
2188 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan);
2193 static int pl08x_pause(struct dma_chan *chan)
2195 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan);
2216 static int pl08x_resume(struct dma_chan *chan)
2218 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan);
2239 bool pl08x_filter_id(struct dma_chan *chan, void *chan_id)
2245 if (chan->device->dev->driver != &pl08x_amba_driver.drv)
2248 plchan = to_pl08x_chan(chan);
2258 static bool pl08x_filter_fn(struct dma_chan *chan, void *chan_id)
2260 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan);
2349 static void pl08x_dma_slave_init(struct pl08x_dma_chan *chan)
2351 chan->slave = true;
2352 chan->name = chan->cd->bus_id;
2353 chan->cfg.src_addr = chan->cd->addr;
2354 chan->cfg.dst_addr = chan->cd->addr;
2364 struct pl08x_dma_chan *chan;
2375 chan = kzalloc(sizeof(*chan), GFP_KERNEL);
2376 if (!chan)
2379 chan->host = pl08x;
2380 chan->state = PL08X_CHAN_IDLE;
2381 chan->signal = -1;
2384 chan->cd = &pl08x->pd->slave_channels[i];
2390 chan->signal = i;
2391 pl08x_dma_slave_init(chan);
2393 chan->cd = kzalloc(sizeof(*chan->cd), GFP_KERNEL);
2394 if (!chan->cd) {
2395 kfree(chan);
2398 chan->cd->bus_id = "memcpy";
2399 chan->cd->periph_buses = pl08x->pd->mem_buses;
2400 chan->name = kasprintf(GFP_KERNEL, "memcpy%d", i);
2401 if (!chan->name) {
2402 kfree(chan->cd);
2403 kfree(chan);
2409 chan->name);
2411 chan->vc.desc_free = pl08x_desc_free;
2412 vchan_init(&chan->vc, dmadev);
2421 struct pl08x_dma_chan *chan = NULL;
2424 list_for_each_entry_safe(chan,
2425 next, &dmadev->channels, vc.chan.device_node) {
2426 list_del(&chan->vc.chan.device_node);
2427 kfree(chan);
2452 struct pl08x_dma_chan *chan;
2479 list_for_each_entry(chan, &pl08x->memcpy.channels, vc.chan.device_node) {
2480 seq_printf(s, "%s\t\t%s\n", chan->name,
2481 pl08x_state_str(chan->state));
2488 list_for_each_entry(chan, &pl08x->slave.channels,
2489 vc.chan.device_node) {
2490 seq_printf(s, "%s\t\t%s\n", chan->name,
2491 pl08x_state_str(chan->state));
2517 struct pl08x_dma_chan *chan;
2523 list_for_each_entry(chan, &pl08x->slave.channels, vc.chan.device_node) {
2524 if (chan->signal == id)
2525 return &chan->vc.chan;