Lines Matching refs:ds
243 struct k3_dma_desc_sw *ds = in k3_dma_start_txd() local
249 list_del(&ds->vd.node); in k3_dma_start_txd()
250 c->phy->ds_run = ds; in k3_dma_start_txd()
253 k3_dma_set_desc(c->phy, &ds->desc_hw[0]); in k3_dma_start_txd()
359 struct k3_dma_desc_sw *ds = p->ds_run; in k3_dma_tx_status() local
364 index = (clli - ds->desc_hw_lli) / sizeof(struct k3_desc_hw); in k3_dma_tx_status()
365 for (; index < ds->desc_num; index++) { in k3_dma_tx_status()
366 bytes += ds->desc_hw[index].count; in k3_dma_tx_status()
368 if (!ds->desc_hw[index].lli) in k3_dma_tx_status()
402 static void k3_dma_fill_desc(struct k3_dma_desc_sw *ds, dma_addr_t dst, in k3_dma_fill_desc() argument
405 if ((num + 1) < ds->desc_num) in k3_dma_fill_desc()
406 ds->desc_hw[num].lli = ds->desc_hw_lli + (num + 1) * in k3_dma_fill_desc()
408 ds->desc_hw[num].lli |= CX_LLI_CHAIN_EN; in k3_dma_fill_desc()
409 ds->desc_hw[num].count = len; in k3_dma_fill_desc()
410 ds->desc_hw[num].saddr = src; in k3_dma_fill_desc()
411 ds->desc_hw[num].daddr = dst; in k3_dma_fill_desc()
412 ds->desc_hw[num].config = ccfg; in k3_dma_fill_desc()
420 struct k3_dma_desc_sw *ds; in k3_dma_prep_memcpy() local
428 ds = kzalloc(sizeof(*ds) + num * sizeof(ds->desc_hw[0]), GFP_ATOMIC); in k3_dma_prep_memcpy()
429 if (!ds) { in k3_dma_prep_memcpy()
433 ds->desc_hw_lli = __virt_to_phys((unsigned long)&ds->desc_hw[0]); in k3_dma_prep_memcpy()
434 ds->size = len; in k3_dma_prep_memcpy()
435 ds->desc_num = num; in k3_dma_prep_memcpy()
447 k3_dma_fill_desc(ds, dst, src, copy, num++, c->ccfg); in k3_dma_prep_memcpy()
460 ds->desc_hw[num-1].lli = 0; /* end of link */ in k3_dma_prep_memcpy()
461 return vchan_tx_prep(&c->vc, &ds->vd, flags); in k3_dma_prep_memcpy()
469 struct k3_dma_desc_sw *ds; in k3_dma_prep_slave_sg() local
484 ds = kzalloc(sizeof(*ds) + num * sizeof(ds->desc_hw[0]), GFP_ATOMIC); in k3_dma_prep_slave_sg()
485 if (!ds) { in k3_dma_prep_slave_sg()
489 ds->desc_hw_lli = __virt_to_phys((unsigned long)&ds->desc_hw[0]); in k3_dma_prep_slave_sg()
490 ds->desc_num = num; in k3_dma_prep_slave_sg()
509 k3_dma_fill_desc(ds, dst, src, len, num++, c->ccfg); in k3_dma_prep_slave_sg()
516 ds->desc_hw[num-1].lli = 0; /* end of link */ in k3_dma_prep_slave_sg()
517 ds->size = total; in k3_dma_prep_slave_sg()
518 return vchan_tx_prep(&c->vc, &ds->vd, flags); in k3_dma_prep_slave_sg()
646 struct k3_dma_desc_sw *ds = in k3_dma_free_desc() local
649 kfree(ds); in k3_dma_free_desc()