Lines Matching refs:lli_pool
347 * points into the lli_pool, to base if lli_len > 1 or to pre_alloc_lli if
350 * @lli_pool: The pool with two entries pre-allocated.
368 struct d40_lli_pool lli_pool;
647 base = d40d->lli_pool.pre_alloc_lli;
648 d40d->lli_pool.size = sizeof(d40d->lli_pool.pre_alloc_lli);
649 d40d->lli_pool.base = NULL;
651 d40d->lli_pool.size = lli_len * 2 * align;
653 base = kmalloc(d40d->lli_pool.size + align, GFP_NOWAIT);
654 d40d->lli_pool.base = base;
656 if (d40d->lli_pool.base == NULL)
664 d40d->lli_pool.dma_addr = 0;
669 d40d->lli_pool.dma_addr = dma_map_single(d40c->base->dev,
671 d40d->lli_pool.size,
675 d40d->lli_pool.dma_addr)) {
676 kfree(d40d->lli_pool.base);
677 d40d->lli_pool.base = NULL;
678 d40d->lli_pool.dma_addr = 0;
688 if (d40d->lli_pool.dma_addr)
689 dma_unmap_single(d40c->base->dev, d40d->lli_pool.dma_addr,
690 d40d->lli_pool.size, DMA_TO_DEVICE);
692 kfree(d40d->lli_pool.base);
693 d40d->lli_pool.base = NULL;
694 d40d->lli_pool.size = 0;
2164 dma_sync_single_for_device(chan->base->dev, desc->lli_pool.dma_addr,
2165 desc->lli_pool.size, DMA_TO_DEVICE);