Lines Matching refs:lcla_pool

590 	struct d40_lcla_pool		  lcla_pool;  member
708 spin_lock_irqsave(&d40c->base->lcla_pool.lock, flags); in d40_lcla_alloc_one()
717 if (!d40c->base->lcla_pool.alloc_map[idx]) { in d40_lcla_alloc_one()
718 d40c->base->lcla_pool.alloc_map[idx] = d40d; in d40_lcla_alloc_one()
725 spin_unlock_irqrestore(&d40c->base->lcla_pool.lock, flags); in d40_lcla_alloc_one()
740 spin_lock_irqsave(&d40c->base->lcla_pool.lock, flags); in d40_lcla_free_all()
745 if (d40c->base->lcla_pool.alloc_map[idx] == d40d) { in d40_lcla_free_all()
746 d40c->base->lcla_pool.alloc_map[idx] = NULL; in d40_lcla_free_all()
755 spin_unlock_irqrestore(&d40c->base->lcla_pool.lock, flags); in d40_lcla_free_all()
830 struct d40_lcla_pool *pool = &chan->base->lcla_pool; in d40_log_lli_to_lcxa()
3269 base->lcla_pool.alloc_map = kcalloc(num_phy_chans in d40_hw_detect_init()
3271 sizeof(*base->lcla_pool.alloc_map), in d40_hw_detect_init()
3273 if (!base->lcla_pool.alloc_map) in d40_hw_detect_init()
3293 kfree(base->lcla_pool.alloc_map); in d40_hw_detect_init()
3373 struct d40_lcla_pool *pool = &base->lcla_pool; in d40_lcla_allocate()
3390 base->lcla_pool.pages = SZ_1K * base->num_phy_chans / PAGE_SIZE; in d40_lcla_allocate()
3394 base->lcla_pool.pages); in d40_lcla_allocate()
3398 base->lcla_pool.pages); in d40_lcla_allocate()
3402 free_pages(page_list[j], base->lcla_pool.pages); in d40_lcla_allocate()
3412 free_pages(page_list[j], base->lcla_pool.pages); in d40_lcla_allocate()
3415 base->lcla_pool.base = (void *)page_list[i]; in d40_lcla_allocate()
3423 __func__, base->lcla_pool.pages); in d40_lcla_allocate()
3424 base->lcla_pool.base_unaligned = kmalloc(SZ_1K * in d40_lcla_allocate()
3428 if (!base->lcla_pool.base_unaligned) { in d40_lcla_allocate()
3433 base->lcla_pool.base = PTR_ALIGN(base->lcla_pool.base_unaligned, in d40_lcla_allocate()
3446 writel(virt_to_phys(base->lcla_pool.base), in d40_lcla_allocate()
3580 base->lcla_pool.base = ioremap(res->start, in d40_probe()
3582 if (!base->lcla_pool.base) { in d40_probe()
3597 spin_lock_init(&base->lcla_pool.lock); in d40_probe()
3662 if (base->lcla_pool.base && base->plat_data->use_esram_lcla) { in d40_probe()
3663 iounmap(base->lcla_pool.base); in d40_probe()
3664 base->lcla_pool.base = NULL; in d40_probe()
3667 if (base->lcla_pool.dma_addr) in d40_probe()
3668 dma_unmap_single(base->dev, base->lcla_pool.dma_addr, in d40_probe()
3672 if (!base->lcla_pool.base_unaligned && base->lcla_pool.base) in d40_probe()
3673 free_pages((unsigned long)base->lcla_pool.base, in d40_probe()
3674 base->lcla_pool.pages); in d40_probe()
3676 kfree(base->lcla_pool.base_unaligned); in d40_probe()
3697 kfree(base->lcla_pool.alloc_map); in d40_probe()