Lines Matching refs:mdesc
259 struct mpc_dma_desc *mdesc;
263 mdesc = list_first_entry(&mchan->queued,
271 if (mdesc->will_access_peripheral) {
273 list_move_tail(&mdesc->node, &mchan->active);
276 list_move_tail(&mdesc->node, &mchan->active);
281 list_for_each_entry(mdesc, &mchan->active, node) {
283 first = mdesc;
286 prev = mdesc;
290 prev->tcd->dlast_sga = mdesc->tcd_paddr;
292 mdesc->tcd->start = 1;
294 prev = mdesc;
321 struct mpc_dma_desc *mdesc;
336 list_for_each_entry(mdesc, &mchan->active, node)
337 mdesc->error = -EIO;
380 struct mpc_dma_desc *mdesc;
399 list_for_each_entry(mdesc, &list, node) {
400 desc = &mdesc->desc;
463 struct mpc_dma_desc *mdesc;
467 mdesc = container_of(txd, struct mpc_dma_desc, desc);
472 list_move_tail(&mdesc->node, &mchan->queued);
490 struct mpc_dma_desc *mdesc;
506 mdesc = kzalloc(sizeof(struct mpc_dma_desc), GFP_KERNEL);
507 if (!mdesc) {
513 dma_async_tx_descriptor_init(&mdesc->desc, chan);
514 mdesc->desc.flags = DMA_CTRL_ACK;
515 mdesc->desc.tx_submit = mpc_dma_tx_submit;
517 mdesc->tcd = &tcd[i];
518 mdesc->tcd_paddr = tcd_paddr + (i * sizeof(struct mpc_dma_tcd));
520 list_add_tail(&mdesc->node, &descs);
548 struct mpc_dma_desc *mdesc, *tmp;
575 list_for_each_entry_safe(mdesc, tmp, &descs, node)
576 kfree(mdesc);
606 struct mpc_dma_desc *mdesc = NULL;
613 mdesc = list_first_entry(&mchan->free, struct mpc_dma_desc,
615 list_del(&mdesc->node);
619 if (!mdesc) {
625 mdesc->error = 0;
626 mdesc->will_access_peripheral = 0;
627 tcd = mdesc->tcd;
668 list_add_tail(&mdesc->node, &mchan->prepared);
671 return &mdesc->desc;
690 struct mpc_dma_desc *mdesc = NULL;
709 mdesc = list_first_entry(&mchan->free,
711 if (!mdesc) {
718 list_del(&mdesc->node);
733 mdesc->error = 0;
734 mdesc->will_access_peripheral = 1;
737 tcd = mdesc->tcd;
795 list_add_tail(&mdesc->node, &mchan->prepared);
799 return &mdesc->desc;
804 list_add_tail(&mdesc->node, &mchan->free);