Lines Matching defs:async_desc

612 	struct bam_async_desc *async_desc;
629 async_desc = kzalloc(struct_size(async_desc, desc, num_alloc),
632 if (!async_desc)
636 async_desc->flags |= DESC_FLAG_NWD;
639 async_desc->flags |= DESC_FLAG_EOT;
641 async_desc->num_desc = num_alloc;
642 async_desc->curr_desc = async_desc->desc;
643 async_desc->dir = direction;
646 desc = async_desc->desc;
667 async_desc->length += le16_to_cpu(desc->size);
672 return vchan_tx_prep(&bchan->vc, &async_desc->vd, flags);
675 kfree(async_desc);
690 struct bam_async_desc *async_desc, *tmp;
710 async_desc = list_first_entry(&bchan->desc_list,
712 bam_chan_init_hw(bchan, async_desc->dir);
715 list_for_each_entry_safe(async_desc, tmp,
717 list_add(&async_desc->vd.node, &bchan->vc.desc_issued);
718 list_del(&async_desc->desc_node);
792 struct bam_async_desc *async_desc, *tmp;
823 list_for_each_entry_safe(async_desc, tmp,
826 if (avail < async_desc->xfer_len)
830 bchan->head += async_desc->xfer_len;
833 async_desc->num_desc -= async_desc->xfer_len;
834 async_desc->curr_desc += async_desc->xfer_len;
835 avail -= async_desc->xfer_len;
842 if (!async_desc->num_desc) {
843 vchan_cookie_complete(&async_desc->vd);
845 list_add(&async_desc->vd.node,
848 list_del(&async_desc->desc_node);
910 struct bam_async_desc *async_desc;
929 list_for_each_entry(async_desc, &bchan->desc_list, desc_node) {
930 if (async_desc->vd.tx.cookie != cookie)
933 for (i = 0; i < async_desc->num_desc; i++)
935 async_desc->curr_desc[i].size);
981 struct bam_async_desc *async_desc = NULL;
1001 async_desc = container_of(vd, struct bam_async_desc, vd);
1005 bam_chan_init_hw(bchan, async_desc->dir);
1009 bam_apply_new_config(bchan, async_desc->dir);
1011 desc = async_desc->curr_desc;
1015 if (async_desc->num_desc > avail)
1016 async_desc->xfer_len = avail;
1018 async_desc->xfer_len = async_desc->num_desc;
1021 if (async_desc->num_desc == async_desc->xfer_len)
1022 desc[async_desc->xfer_len - 1].flags |=
1023 cpu_to_le16(async_desc->flags);
1027 dmaengine_desc_get_callback(&async_desc->vd.tx, &cb);
1037 if (((avail <= async_desc->xfer_len) || !vd ||
1039 !(async_desc->flags & DESC_FLAG_EOT))
1040 desc[async_desc->xfer_len - 1].flags |=
1043 if (bchan->tail + async_desc->xfer_len > MAX_DESCRIPTORS) {
1049 (async_desc->xfer_len - partial) *
1053 async_desc->xfer_len *
1057 bchan->tail += async_desc->xfer_len;
1059 list_add_tail(&async_desc->desc_node, &bchan->desc_list);
1123 struct bam_async_desc *async_desc = container_of(vd,
1126 kfree(async_desc);