Lines Matching refs:desc

57 	struct sf_pdma_desc *desc;
59 desc = kzalloc(sizeof(*desc), GFP_NOWAIT);
60 if (!desc)
63 desc->chan = chan;
65 return desc;
68 static void sf_pdma_fill_desc(struct sf_pdma_desc *desc,
71 desc->xfer_type = desc->chan->pdma->transfer_type;
72 desc->xfer_size = size;
73 desc->dst_addr = dst;
74 desc->src_addr = src;
89 struct sf_pdma_desc *desc;
98 desc = sf_pdma_alloc_desc(chan);
99 if (!desc)
102 desc->dirn = DMA_MEM_TO_MEM;
103 desc->async_tx = vchan_tx_prep(&chan->vchan, &desc->vdesc, flags);
106 sf_pdma_fill_desc(desc, dest, src, len);
109 return desc->async_tx;
148 kfree(chan->desc);
149 chan->desc = NULL;
163 struct sf_pdma_desc *desc;
185 desc = to_sf_pdma_desc(vd);
186 residue = desc->xfer_size;
218 kfree(chan->desc);
219 chan->desc = NULL;
256 struct sf_pdma_desc *desc = chan->desc;
259 if (!desc) {
260 dev_err(chan->pdma->dma_dev.dev, "NULL desc.\n");
264 writel(desc->xfer_type, regs->xfer_type);
265 writeq(desc->xfer_size, regs->xfer_size);
266 writeq(desc->dst_addr, regs->dst_addr);
267 writeq(desc->src_addr, regs->src_addr);
269 chan->desc = desc;
281 if (!chan->desc && vchan_issue_pending(&chan->vchan)) {
282 /* vchan_issue_pending has made a check that desc in not NULL */
283 chan->desc = sf_pdma_get_first_pending_desc(chan);
292 struct sf_pdma_desc *desc;
294 desc = to_sf_pdma_desc(vdesc);
295 kfree(desc);
312 list_del(&chan->desc->vdesc.node);
313 vchan_cookie_complete(&chan->desc->vdesc);
315 chan->desc = sf_pdma_get_first_pending_desc(chan);
316 if (chan->desc)
325 struct sf_pdma_desc *desc = chan->desc;
332 dmaengine_desc_get_callback_invoke(desc->async_tx, NULL);
358 struct sf_pdma_desc *desc = chan->desc;
360 desc->src_addr += desc->xfer_size - residue;
361 desc->dst_addr += desc->xfer_size - residue;
362 desc->xfer_size = residue;