Lines Matching defs:cvd

232 			    struct mtk_cqdma_vdesc *cvd)
236 dev_err(cqdma2dev(to_cqdma_dev(cvd->ch)), "cqdma wait transaction timeout\n");
241 dev_err(cqdma2dev(to_cqdma_dev(cvd->ch)), "cqdma warm reset timeout\n");
244 mtk_dma_set(pc, MTK_CQDMA_SRC, cvd->src & MTK_CQDMA_ADDR_LIMIT);
246 mtk_dma_set(pc, MTK_CQDMA_SRC2, cvd->src >> MTK_CQDMA_ADDR2_SHFIT);
252 mtk_dma_set(pc, MTK_CQDMA_DST, cvd->dest & MTK_CQDMA_ADDR_LIMIT);
254 mtk_dma_set(pc, MTK_CQDMA_DST2, cvd->dest >> MTK_CQDMA_ADDR2_SHFIT);
260 mtk_dma_set(pc, MTK_CQDMA_LEN1, cvd->len);
270 struct mtk_cqdma_vdesc *cvd;
281 cvd = to_cqdma_vdesc(vd);
284 list_add_tail(&cvd->node, &pc->queue);
288 mtk_cqdma_start(pc, cvd);
301 struct mtk_cqdma_vdesc *cvd;
303 list_for_each_entry(cvd, &cvc->pc->queue, node)
304 if (cvc == to_cqdma_vchan(cvd->ch))
317 struct mtk_cqdma_vdesc *cvd, *ret = NULL;
320 cvd = list_first_entry_or_null(&pc->queue,
322 if (unlikely(!cvd || !cvd->parent))
325 cvc = to_cqdma_vchan(cvd->ch);
326 ret = cvd;
329 cvd->parent->residue -= cvd->len;
332 list_del(&cvd->node);
337 if (!cvd->parent->residue) {
339 vchan_cookie_complete(&cvd->parent->vd);
351 cvd = list_first_entry_or_null(&pc->queue,
353 if (cvd)
354 mtk_cqdma_start(pc, cvd);
362 struct mtk_cqdma_vdesc *cvd = NULL;
367 cvd = mtk_cqdma_consume_work_queue(pc);
371 if (cvd) {
372 dma_run_dependencies(&cvd->vd.tx);
378 if (cvd->parent != cvd)
379 kfree(cvd);
446 struct mtk_cqdma_vdesc *cvd;
461 cvd = to_cqdma_vdesc(vd);
462 bytes = cvd->residue;
491 struct mtk_cqdma_vdesc **cvd;
507 cvd = kcalloc(nr_vd, sizeof(*cvd), GFP_NOWAIT);
508 if (!cvd)
512 cvd[i] = kzalloc(sizeof(*cvd[i]), GFP_NOWAIT);
513 if (!cvd[i]) {
515 kfree(cvd[i - 1]);
520 cvd[i]->ch = c;
524 cvd[i]->len = tlen;
525 cvd[i]->src = src;
526 cvd[i]->dest = dest;
529 tx = vchan_tx_prep(to_virt_chan(c), &cvd[i]->vd, flags);
533 cvd[0]->residue = len;
536 cvd[i]->residue = tlen;
539 cvd[i]->parent = cvd[0];
548 return &cvd[0]->vd.tx;