Lines Matching defs:lcla_pool
551 * @lcla_pool: lcla pool settings and data.
590 struct d40_lcla_pool lcla_pool;
708 spin_lock_irqsave(&d40c->base->lcla_pool.lock, flags);
717 if (!d40c->base->lcla_pool.alloc_map[idx]) {
718 d40c->base->lcla_pool.alloc_map[idx] = d40d;
725 spin_unlock_irqrestore(&d40c->base->lcla_pool.lock, flags);
740 spin_lock_irqsave(&d40c->base->lcla_pool.lock, flags);
745 if (d40c->base->lcla_pool.alloc_map[idx] == d40d) {
746 d40c->base->lcla_pool.alloc_map[idx] = NULL;
755 spin_unlock_irqrestore(&d40c->base->lcla_pool.lock, flags);
830 struct d40_lcla_pool *pool = &chan->base->lcla_pool;
3270 base->lcla_pool.alloc_map = kcalloc(num_phy_chans
3272 sizeof(*base->lcla_pool.alloc_map),
3274 if (!base->lcla_pool.alloc_map)
3294 kfree(base->lcla_pool.alloc_map);
3374 struct d40_lcla_pool *pool = &base->lcla_pool;
3391 base->lcla_pool.pages = SZ_1K * base->num_phy_chans / PAGE_SIZE;
3395 base->lcla_pool.pages);
3399 base->lcla_pool.pages);
3403 free_pages(page_list[j], base->lcla_pool.pages);
3413 free_pages(page_list[j], base->lcla_pool.pages);
3416 base->lcla_pool.base = (void *)page_list[i];
3424 __func__, base->lcla_pool.pages);
3425 base->lcla_pool.base_unaligned = kmalloc(SZ_1K *
3429 if (!base->lcla_pool.base_unaligned) {
3434 base->lcla_pool.base = PTR_ALIGN(base->lcla_pool.base_unaligned,
3447 writel(virt_to_phys(base->lcla_pool.base),
3581 base->lcla_pool.base = ioremap(res->start,
3583 if (!base->lcla_pool.base) {
3598 spin_lock_init(&base->lcla_pool.lock);
3667 if (base->lcla_pool.base && base->plat_data->use_esram_lcla) {
3668 iounmap(base->lcla_pool.base);
3669 base->lcla_pool.base = NULL;
3672 if (base->lcla_pool.dma_addr)
3673 dma_unmap_single(base->dev, base->lcla_pool.dma_addr,
3677 if (!base->lcla_pool.base_unaligned && base->lcla_pool.base)
3678 free_pages((unsigned long)base->lcla_pool.base,
3679 base->lcla_pool.pages);
3681 kfree(base->lcla_pool.base_unaligned);
3703 kfree(base->lcla_pool.alloc_map);