Lines Matching refs:first
181 * @first: address of first descriptor of the chain
187 static void atc_desc_chain(struct at_desc **first, struct at_desc **prev,
190 if (!(*first)) {
191 *first = desc;
197 &(*first)->tx_list);
205 * @first: first descriptor in the list we want to begin with
209 static void atc_dostart(struct at_dma_chan *atchan, struct at_desc *first)
235 channel_writel(atchan, DSCR, first->txd.phys);
236 channel_writel(atchan, SPIP, ATC_SPIP_HOLE(first->src_hole) |
237 ATC_SPIP_BOUNDARY(first->boundary));
238 channel_writel(atchan, DPIP, ATC_DPIP_HOLE(first->dst_hole) |
239 ATC_DPIP_BOUNDARY(first->boundary));
337 * atomically. Hence a race condition may occur: the first read
357 * first time, the CTRLA is read in turn, next the DSCR is read
402 /* for the first descriptor we can be more accurate */
560 struct at_desc *first = atc_first_active(atchan);
561 struct dma_async_tx_descriptor *txd = &first->txd;
666 struct data_chunk *first;
678 first = xt->sgl;
695 (dmaengine_get_dst_icg(xt, chunk) != dmaengine_get_dst_icg(xt, first)) ||
696 (dmaengine_get_src_icg(xt, chunk) != dmaengine_get_src_icg(xt, first))) {
738 desc->boundary = first->size >> dwidth;
739 desc->dst_hole = (dmaengine_get_dst_icg(xt, first) >> dwidth) + 1;
740 desc->src_hole = (dmaengine_get_src_icg(xt, first) >> dwidth) + 1;
767 struct at_desc *first = NULL;
814 atc_desc_chain(&first, &prev, desc);
818 first->txd.cookie = -EBUSY;
819 first->total_len = len;
824 first->txd.flags = flags; /* client is in control of this ack */
826 return &first->txd;
829 atc_desc_put(atchan, first);
946 struct at_desc *desc = NULL, *first = NULL, *prev = NULL;
987 atc_desc_chain(&first, &prev, desc);
1000 first->txd.cookie = -EBUSY;
1001 first->total_len = total_len;
1006 first->txd.flags = flags;
1008 return &first->txd;
1011 atc_desc_put(atchan, first);
1032 struct at_desc *first = NULL;
1094 atc_desc_chain(&first, &prev, desc);
1135 atc_desc_chain(&first, &prev, desc);
1147 first->txd.cookie = -EBUSY;
1148 first->total_len = total_len;
1150 /* first link descriptor of list is responsible of flags */
1151 first->txd.flags = flags; /* client is in control of this ack */
1153 return &first->txd;
1158 atc_desc_put(atchan, first);
1252 struct at_desc *first = NULL;
1299 atc_desc_chain(&first, &prev, desc);
1303 prev->lli.dscr = first->txd.phys;
1306 first->txd.cookie = -EBUSY;
1307 first->total_len = buf_len;
1309 return &first->txd;
1313 atc_desc_put(atchan, first);
1467 * atc_issue_pending - takes the first transaction descriptor in the pending