Lines Matching refs:lli_pool
397 struct d40_lli_pool lli_pool; member
672 base = d40d->lli_pool.pre_alloc_lli; in d40_pool_lli_alloc()
673 d40d->lli_pool.size = sizeof(d40d->lli_pool.pre_alloc_lli); in d40_pool_lli_alloc()
674 d40d->lli_pool.base = NULL; in d40_pool_lli_alloc()
676 d40d->lli_pool.size = lli_len * 2 * align; in d40_pool_lli_alloc()
678 base = kmalloc(d40d->lli_pool.size + align, GFP_NOWAIT); in d40_pool_lli_alloc()
679 d40d->lli_pool.base = base; in d40_pool_lli_alloc()
681 if (d40d->lli_pool.base == NULL) in d40_pool_lli_alloc()
689 d40d->lli_pool.dma_addr = 0; in d40_pool_lli_alloc()
694 d40d->lli_pool.dma_addr = dma_map_single(d40c->base->dev, in d40_pool_lli_alloc()
696 d40d->lli_pool.size, in d40_pool_lli_alloc()
700 d40d->lli_pool.dma_addr)) { in d40_pool_lli_alloc()
701 kfree(d40d->lli_pool.base); in d40_pool_lli_alloc()
702 d40d->lli_pool.base = NULL; in d40_pool_lli_alloc()
703 d40d->lli_pool.dma_addr = 0; in d40_pool_lli_alloc()
713 if (d40d->lli_pool.dma_addr) in d40_pool_lli_free()
714 dma_unmap_single(d40c->base->dev, d40d->lli_pool.dma_addr, in d40_pool_lli_free()
715 d40d->lli_pool.size, DMA_TO_DEVICE); in d40_pool_lli_free()
717 kfree(d40d->lli_pool.base); in d40_pool_lli_free()
718 d40d->lli_pool.base = NULL; in d40_pool_lli_free()
719 d40d->lli_pool.size = 0; in d40_pool_lli_free()
2188 dma_sync_single_for_device(chan->base->dev, desc->lli_pool.dma_addr, in d40_prep_sg_phy()
2189 desc->lli_pool.size, DMA_TO_DEVICE); in d40_prep_sg_phy()