Lines Matching refs:lcla_pool
576 * @lcla_pool: lcla pool settings and data.
613 struct d40_lcla_pool lcla_pool;
731 spin_lock_irqsave(&d40c->base->lcla_pool.lock, flags);
740 if (!d40c->base->lcla_pool.alloc_map[idx]) {
741 d40c->base->lcla_pool.alloc_map[idx] = d40d;
748 spin_unlock_irqrestore(&d40c->base->lcla_pool.lock, flags);
763 spin_lock_irqsave(&d40c->base->lcla_pool.lock, flags);
768 if (d40c->base->lcla_pool.alloc_map[idx] == d40d) {
769 d40c->base->lcla_pool.alloc_map[idx] = NULL;
778 spin_unlock_irqrestore(&d40c->base->lcla_pool.lock, flags);
853 struct d40_lcla_pool *pool = &chan->base->lcla_pool;
3283 base->lcla_pool.alloc_map = devm_kcalloc(dev, num_phy_chans
3285 sizeof(*base->lcla_pool.alloc_map),
3287 if (!base->lcla_pool.alloc_map)
3368 struct d40_lcla_pool *pool = &base->lcla_pool;
3385 base->lcla_pool.pages = SZ_1K * base->num_phy_chans / PAGE_SIZE;
3389 base->lcla_pool.pages);
3393 base->lcla_pool.pages);
3397 free_pages(page_list[j], base->lcla_pool.pages);
3407 free_pages(page_list[j], base->lcla_pool.pages);
3410 base->lcla_pool.base = (void *)page_list[i];
3418 __func__, base->lcla_pool.pages);
3419 base->lcla_pool.base_unaligned = kmalloc(SZ_1K *
3423 if (!base->lcla_pool.base_unaligned) {
3428 base->lcla_pool.base = PTR_ALIGN(base->lcla_pool.base_unaligned,
3441 writel(virt_to_phys(base->lcla_pool.base),
3571 base->lcla_pool.base = devm_ioremap(dev, res->start,
3573 if (!base->lcla_pool.base) {
3588 spin_lock_init(&base->lcla_pool.lock);
3650 if (base->lcla_pool.dma_addr)
3651 dma_unmap_single(base->dev, base->lcla_pool.dma_addr,
3655 if (!base->lcla_pool.base_unaligned && base->lcla_pool.base)
3656 free_pages((unsigned long)base->lcla_pool.base,
3657 base->lcla_pool.pages);
3659 kfree(base->lcla_pool.base_unaligned);