Lines Matching refs:lli_pool
368 struct d40_lli_pool lli_pool; member
647 base = d40d->lli_pool.pre_alloc_lli; in d40_pool_lli_alloc()
648 d40d->lli_pool.size = sizeof(d40d->lli_pool.pre_alloc_lli); in d40_pool_lli_alloc()
649 d40d->lli_pool.base = NULL; in d40_pool_lli_alloc()
651 d40d->lli_pool.size = lli_len * 2 * align; in d40_pool_lli_alloc()
653 base = kmalloc(d40d->lli_pool.size + align, GFP_NOWAIT); in d40_pool_lli_alloc()
654 d40d->lli_pool.base = base; in d40_pool_lli_alloc()
656 if (d40d->lli_pool.base == NULL) in d40_pool_lli_alloc()
664 d40d->lli_pool.dma_addr = 0; in d40_pool_lli_alloc()
669 d40d->lli_pool.dma_addr = dma_map_single(d40c->base->dev, in d40_pool_lli_alloc()
671 d40d->lli_pool.size, in d40_pool_lli_alloc()
675 d40d->lli_pool.dma_addr)) { in d40_pool_lli_alloc()
676 kfree(d40d->lli_pool.base); in d40_pool_lli_alloc()
677 d40d->lli_pool.base = NULL; in d40_pool_lli_alloc()
678 d40d->lli_pool.dma_addr = 0; in d40_pool_lli_alloc()
688 if (d40d->lli_pool.dma_addr) in d40_pool_lli_free()
689 dma_unmap_single(d40c->base->dev, d40d->lli_pool.dma_addr, in d40_pool_lli_free()
690 d40d->lli_pool.size, DMA_TO_DEVICE); in d40_pool_lli_free()
692 kfree(d40d->lli_pool.base); in d40_pool_lli_free()
693 d40d->lli_pool.base = NULL; in d40_pool_lli_free()
694 d40d->lli_pool.size = 0; in d40_pool_lli_free()
2164 dma_sync_single_for_device(chan->base->dev, desc->lli_pool.dma_addr, in d40_prep_sg_phy()
2165 desc->lli_pool.size, DMA_TO_DEVICE); in d40_prep_sg_phy()