Lines Matching refs:dma_desc

239 	struct tegra_dma_desc *dma_desc;
473 struct tegra_dma_desc *dma_desc = tdc->dma_desc;
478 dma_desc->sg_idx++;
481 if (dma_desc->sg_idx == dma_desc->sg_count)
482 dma_desc->sg_idx = 0;
493 ch_regs = &dma_desc->sg_req[dma_desc->sg_idx].ch_regs;
507 struct tegra_dma_desc *dma_desc = tdc->dma_desc;
511 if (!dma_desc) {
516 dma_desc = vd_to_tegra_dma_desc(vdesc);
518 dma_desc->tdc = tdc;
519 tdc->dma_desc = dma_desc;
524 ch_regs = &dma_desc->sg_req[dma_desc->sg_idx].ch_regs;
543 vchan_cookie_complete(&tdc->dma_desc->vd);
546 tdc->dma_desc = NULL;
593 struct tegra_dma_desc *dma_desc = tdc->dma_desc;
613 if (!dma_desc)
616 sg_req = dma_desc->sg_req;
617 dma_desc->bytes_xfer += sg_req[dma_desc->sg_idx].len;
619 if (dma_desc->cyclic) {
620 vchan_cyclic_callback(&dma_desc->vd);
623 dma_desc->sg_idx++;
624 if (dma_desc->sg_idx == dma_desc->sg_count)
640 if (tdc->dma_desc)
654 if (tdc->dma_desc && tdc->dma_desc->cyclic)
707 if (tdc->dma_desc) {
714 vchan_terminate_vdesc(&tdc->dma_desc->vd);
716 tdc->dma_desc = NULL;
730 struct tegra_dma_desc *dma_desc = tdc->dma_desc;
731 struct tegra_dma_sg_req *sg_req = dma_desc->sg_req;
746 bytes_xfer = dma_desc->bytes_xfer +
747 sg_req[dma_desc->sg_idx].len - (wcount * 4);
749 if (dma_desc->bytes_req == bytes_xfer)
752 residual = dma_desc->bytes_req - (bytes_xfer % dma_desc->bytes_req);
762 struct tegra_dma_desc *dma_desc;
775 dma_desc = vd_to_tegra_dma_desc(vd);
776 residual = dma_desc->bytes_req;
778 } else if (tdc->dma_desc && tdc->dma_desc->vd.tx.cookie == cookie) {
865 struct tegra_dma_desc *dma_desc;
901 dma_desc = kzalloc(struct_size(dma_desc, sg_req, 1), GFP_NOWAIT);
902 if (!dma_desc)
905 dma_desc->bytes_req = len;
906 dma_desc->sg_count = 1;
907 sg_req = dma_desc->sg_req;
921 dma_desc->cyclic = false;
922 return vchan_tx_prep(&tdc->vc, &dma_desc->vd, flags);
931 struct tegra_dma_desc *dma_desc;
970 dma_desc = kzalloc(struct_size(dma_desc, sg_req, 1), GFP_NOWAIT);
971 if (!dma_desc)
974 dma_desc->bytes_req = len;
975 dma_desc->sg_count = 1;
976 sg_req = dma_desc->sg_req;
991 dma_desc->cyclic = false;
992 return vchan_tx_prep(&tdc->vc, &dma_desc->vd, flags);
1005 struct tegra_dma_desc *dma_desc;
1063 dma_desc = kzalloc(struct_size(dma_desc, sg_req, sg_len), GFP_NOWAIT);
1064 if (!dma_desc)
1067 dma_desc->sg_count = sg_len;
1068 sg_req = dma_desc->sg_req;
1081 kfree(dma_desc);
1086 dma_desc->bytes_req += len;
1111 dma_desc->cyclic = false;
1112 return vchan_tx_prep(&tdc->vc, &dma_desc->vd, flags);
1124 struct tegra_dma_desc *dma_desc;
1198 dma_desc = kzalloc(struct_size(dma_desc, sg_req, period_count),
1200 if (!dma_desc)
1203 dma_desc->bytes_req = buf_len;
1204 dma_desc->sg_count = period_count;
1205 sg_req = dma_desc->sg_req;
1234 dma_desc->cyclic = true;
1236 return vchan_tx_prep(&tdc->vc, &dma_desc->vd, flags);
1496 if (tdc->dma_desc) {