Lines Matching refs:lli_pool
368 struct d40_lli_pool lli_pool; member
641 base = d40d->lli_pool.pre_alloc_lli; in d40_pool_lli_alloc()
642 d40d->lli_pool.size = sizeof(d40d->lli_pool.pre_alloc_lli); in d40_pool_lli_alloc()
643 d40d->lli_pool.base = NULL; in d40_pool_lli_alloc()
645 d40d->lli_pool.size = lli_len * 2 * align; in d40_pool_lli_alloc()
647 base = kmalloc(d40d->lli_pool.size + align, GFP_NOWAIT); in d40_pool_lli_alloc()
648 d40d->lli_pool.base = base; in d40_pool_lli_alloc()
650 if (d40d->lli_pool.base == NULL) in d40_pool_lli_alloc()
658 d40d->lli_pool.dma_addr = 0; in d40_pool_lli_alloc()
663 d40d->lli_pool.dma_addr = dma_map_single(d40c->base->dev, in d40_pool_lli_alloc()
665 d40d->lli_pool.size, in d40_pool_lli_alloc()
669 d40d->lli_pool.dma_addr)) { in d40_pool_lli_alloc()
670 kfree(d40d->lli_pool.base); in d40_pool_lli_alloc()
671 d40d->lli_pool.base = NULL; in d40_pool_lli_alloc()
672 d40d->lli_pool.dma_addr = 0; in d40_pool_lli_alloc()
682 if (d40d->lli_pool.dma_addr) in d40_pool_lli_free()
683 dma_unmap_single(d40c->base->dev, d40d->lli_pool.dma_addr, in d40_pool_lli_free()
684 d40d->lli_pool.size, DMA_TO_DEVICE); in d40_pool_lli_free()
686 kfree(d40d->lli_pool.base); in d40_pool_lli_free()
687 d40d->lli_pool.base = NULL; in d40_pool_lli_free()
688 d40d->lli_pool.size = 0; in d40_pool_lli_free()
2158 dma_sync_single_for_device(chan->base->dev, desc->lli_pool.dma_addr, in d40_prep_sg_phy()
2159 desc->lli_pool.size, DMA_TO_DEVICE); in d40_prep_sg_phy()