• Home
  • Raw
  • Download

Lines Matching refs:ds

281 		struct k3_dma_desc_sw *ds =  in k3_dma_start_txd()  local
287 list_del(&ds->vd.node); in k3_dma_start_txd()
289 c->phy->ds_run = ds; in k3_dma_start_txd()
292 k3_dma_set_desc(c->phy, &ds->desc_hw[0]); in k3_dma_start_txd()
404 struct k3_dma_desc_sw *ds = p->ds_run; in k3_dma_tx_status() local
409 index = ((clli - ds->desc_hw_lli) / in k3_dma_tx_status()
411 for (; index < ds->desc_num; index++) { in k3_dma_tx_status()
412 bytes += ds->desc_hw[index].count; in k3_dma_tx_status()
414 if (!ds->desc_hw[index].lli) in k3_dma_tx_status()
448 static void k3_dma_fill_desc(struct k3_dma_desc_sw *ds, dma_addr_t dst, in k3_dma_fill_desc() argument
451 if (num != ds->desc_num - 1) in k3_dma_fill_desc()
452 ds->desc_hw[num].lli = ds->desc_hw_lli + (num + 1) * in k3_dma_fill_desc()
455 ds->desc_hw[num].lli |= CX_LLI_CHAIN_EN; in k3_dma_fill_desc()
456 ds->desc_hw[num].count = len; in k3_dma_fill_desc()
457 ds->desc_hw[num].saddr = src; in k3_dma_fill_desc()
458 ds->desc_hw[num].daddr = dst; in k3_dma_fill_desc()
459 ds->desc_hw[num].config = ccfg; in k3_dma_fill_desc()
466 struct k3_dma_desc_sw *ds; in k3_dma_alloc_desc_resource() local
476 ds = kzalloc(sizeof(*ds), GFP_NOWAIT); in k3_dma_alloc_desc_resource()
477 if (!ds) in k3_dma_alloc_desc_resource()
480 ds->desc_hw = dma_pool_zalloc(d->pool, GFP_NOWAIT, &ds->desc_hw_lli); in k3_dma_alloc_desc_resource()
481 if (!ds->desc_hw) { in k3_dma_alloc_desc_resource()
483 kfree(ds); in k3_dma_alloc_desc_resource()
486 ds->desc_num = num; in k3_dma_alloc_desc_resource()
487 return ds; in k3_dma_alloc_desc_resource()
495 struct k3_dma_desc_sw *ds; in k3_dma_prep_memcpy() local
504 ds = k3_dma_alloc_desc_resource(num, chan); in k3_dma_prep_memcpy()
505 if (!ds) in k3_dma_prep_memcpy()
509 ds->size = len; in k3_dma_prep_memcpy()
521 k3_dma_fill_desc(ds, dst, src, copy, num++, c->ccfg); in k3_dma_prep_memcpy()
528 ds->desc_hw[num-1].lli = 0; /* end of link */ in k3_dma_prep_memcpy()
529 return vchan_tx_prep(&c->vc, &ds->vd, flags); in k3_dma_prep_memcpy()
537 struct k3_dma_desc_sw *ds; in k3_dma_prep_slave_sg() local
554 ds = k3_dma_alloc_desc_resource(num, chan); in k3_dma_prep_slave_sg()
555 if (!ds) in k3_dma_prep_slave_sg()
576 k3_dma_fill_desc(ds, dst, src, len, num++, c->ccfg); in k3_dma_prep_slave_sg()
583 ds->desc_hw[num-1].lli = 0; /* end of link */ in k3_dma_prep_slave_sg()
584 ds->size = total; in k3_dma_prep_slave_sg()
585 return vchan_tx_prep(&c->vc, &ds->vd, flags); in k3_dma_prep_slave_sg()
595 struct k3_dma_desc_sw *ds; in k3_dma_prep_dma_cyclic() local
610 ds = k3_dma_alloc_desc_resource(num, chan); in k3_dma_prep_dma_cyclic()
611 if (!ds) in k3_dma_prep_dma_cyclic()
642 k3_dma_fill_desc(ds, dst, src, len, num++, c->ccfg | en_tc2); in k3_dma_prep_dma_cyclic()
649 ds->desc_hw[num - 1].lli |= ds->desc_hw_lli; in k3_dma_prep_dma_cyclic()
651 ds->size = total; in k3_dma_prep_dma_cyclic()
653 return vchan_tx_prep(&c->vc, &ds->vd, flags); in k3_dma_prep_dma_cyclic()
713 struct k3_dma_desc_sw *ds = in k3_dma_free_desc() local
717 dma_pool_free(d->pool, ds->desc_hw, ds->desc_hw_lli); in k3_dma_free_desc()
718 kfree(ds); in k3_dma_free_desc()