Lines Matching defs:async_desc

654 	struct bam_async_desc *async_desc;
671 async_desc = kzalloc(struct_size(async_desc, desc, num_alloc),
674 if (!async_desc)
678 async_desc->flags |= DESC_FLAG_NWD;
681 async_desc->flags |= DESC_FLAG_EOT;
683 async_desc->num_desc = num_alloc;
684 async_desc->curr_desc = async_desc->desc;
685 async_desc->dir = direction;
688 desc = async_desc->desc;
709 async_desc->length += le16_to_cpu(desc->size);
714 return vchan_tx_prep(&bchan->vc, &async_desc->vd, flags);
728 struct bam_async_desc *async_desc, *tmp;
748 async_desc = list_first_entry(&bchan->desc_list,
750 bam_chan_init_hw(bchan, async_desc->dir);
753 list_for_each_entry_safe(async_desc, tmp,
755 list_add(&async_desc->vd.node, &bchan->vc.desc_issued);
756 list_del(&async_desc->desc_node);
830 struct bam_async_desc *async_desc, *tmp;
861 list_for_each_entry_safe(async_desc, tmp,
864 if (avail < async_desc->xfer_len)
868 bchan->head += async_desc->xfer_len;
871 async_desc->num_desc -= async_desc->xfer_len;
872 async_desc->curr_desc += async_desc->xfer_len;
873 avail -= async_desc->xfer_len;
880 if (!async_desc->num_desc) {
881 vchan_cookie_complete(&async_desc->vd);
883 list_add(&async_desc->vd.node,
886 list_del(&async_desc->desc_node);
948 struct bam_async_desc *async_desc;
967 list_for_each_entry(async_desc, &bchan->desc_list, desc_node) {
968 if (async_desc->vd.tx.cookie != cookie)
971 for (i = 0; i < async_desc->num_desc; i++)
973 async_desc->curr_desc[i].size);
1019 struct bam_async_desc *async_desc = NULL;
1039 async_desc = container_of(vd, struct bam_async_desc, vd);
1043 bam_chan_init_hw(bchan, async_desc->dir);
1047 bam_apply_new_config(bchan, async_desc->dir);
1049 desc = async_desc->curr_desc;
1053 if (async_desc->num_desc > avail)
1054 async_desc->xfer_len = avail;
1056 async_desc->xfer_len = async_desc->num_desc;
1059 if (async_desc->num_desc == async_desc->xfer_len)
1060 desc[async_desc->xfer_len - 1].flags |=
1061 cpu_to_le16(async_desc->flags);
1065 dmaengine_desc_get_callback(&async_desc->vd.tx, &cb);
1075 if (((avail <= async_desc->xfer_len) || !vd ||
1077 !(async_desc->flags & DESC_FLAG_EOT))
1078 desc[async_desc->xfer_len - 1].flags |=
1081 if (bchan->tail + async_desc->xfer_len > MAX_DESCRIPTORS) {
1087 (async_desc->xfer_len - partial) *
1091 async_desc->xfer_len *
1095 bchan->tail += async_desc->xfer_len;
1097 list_add_tail(&async_desc->desc_node, &bchan->desc_list);
1161 struct bam_async_desc *async_desc = container_of(vd,
1164 kfree(async_desc);