Lines Matching refs:ds

242 		struct k3_dma_desc_sw *ds =  in k3_dma_start_txd()  local
248 list_del(&ds->vd.node); in k3_dma_start_txd()
249 c->phy->ds_run = ds; in k3_dma_start_txd()
252 k3_dma_set_desc(c->phy, &ds->desc_hw[0]); in k3_dma_start_txd()
358 struct k3_dma_desc_sw *ds = p->ds_run; in k3_dma_tx_status() local
363 index = (clli - ds->desc_hw_lli) / sizeof(struct k3_desc_hw); in k3_dma_tx_status()
364 for (; index < ds->desc_num; index++) { in k3_dma_tx_status()
365 bytes += ds->desc_hw[index].count; in k3_dma_tx_status()
367 if (!ds->desc_hw[index].lli) in k3_dma_tx_status()
401 static void k3_dma_fill_desc(struct k3_dma_desc_sw *ds, dma_addr_t dst, in k3_dma_fill_desc() argument
404 if ((num + 1) < ds->desc_num) in k3_dma_fill_desc()
405 ds->desc_hw[num].lli = ds->desc_hw_lli + (num + 1) * in k3_dma_fill_desc()
407 ds->desc_hw[num].lli |= CX_LLI_CHAIN_EN; in k3_dma_fill_desc()
408 ds->desc_hw[num].count = len; in k3_dma_fill_desc()
409 ds->desc_hw[num].saddr = src; in k3_dma_fill_desc()
410 ds->desc_hw[num].daddr = dst; in k3_dma_fill_desc()
411 ds->desc_hw[num].config = ccfg; in k3_dma_fill_desc()
419 struct k3_dma_desc_sw *ds; in k3_dma_prep_memcpy() local
427 ds = kzalloc(sizeof(*ds) + num * sizeof(ds->desc_hw[0]), GFP_ATOMIC); in k3_dma_prep_memcpy()
428 if (!ds) { in k3_dma_prep_memcpy()
432 ds->desc_hw_lli = __virt_to_phys((unsigned long)&ds->desc_hw[0]); in k3_dma_prep_memcpy()
433 ds->size = len; in k3_dma_prep_memcpy()
434 ds->desc_num = num; in k3_dma_prep_memcpy()
446 k3_dma_fill_desc(ds, dst, src, copy, num++, c->ccfg); in k3_dma_prep_memcpy()
459 ds->desc_hw[num-1].lli = 0; /* end of link */ in k3_dma_prep_memcpy()
460 return vchan_tx_prep(&c->vc, &ds->vd, flags); in k3_dma_prep_memcpy()
468 struct k3_dma_desc_sw *ds; in k3_dma_prep_slave_sg() local
483 ds = kzalloc(sizeof(*ds) + num * sizeof(ds->desc_hw[0]), GFP_ATOMIC); in k3_dma_prep_slave_sg()
484 if (!ds) { in k3_dma_prep_slave_sg()
488 ds->desc_hw_lli = __virt_to_phys((unsigned long)&ds->desc_hw[0]); in k3_dma_prep_slave_sg()
489 ds->desc_num = num; in k3_dma_prep_slave_sg()
508 k3_dma_fill_desc(ds, dst, src, len, num++, c->ccfg); in k3_dma_prep_slave_sg()
515 ds->desc_hw[num-1].lli = 0; /* end of link */ in k3_dma_prep_slave_sg()
516 ds->size = total; in k3_dma_prep_slave_sg()
517 return vchan_tx_prep(&c->vc, &ds->vd, flags); in k3_dma_prep_slave_sg()
645 struct k3_dma_desc_sw *ds = in k3_dma_free_desc() local
648 kfree(ds); in k3_dma_free_desc()