Lines Matching refs:lcla_pool

588 	struct d40_lcla_pool		  lcla_pool;  member
702 spin_lock_irqsave(&d40c->base->lcla_pool.lock, flags); in d40_lcla_alloc_one()
711 if (!d40c->base->lcla_pool.alloc_map[idx]) { in d40_lcla_alloc_one()
712 d40c->base->lcla_pool.alloc_map[idx] = d40d; in d40_lcla_alloc_one()
719 spin_unlock_irqrestore(&d40c->base->lcla_pool.lock, flags); in d40_lcla_alloc_one()
734 spin_lock_irqsave(&d40c->base->lcla_pool.lock, flags); in d40_lcla_free_all()
739 if (d40c->base->lcla_pool.alloc_map[idx] == d40d) { in d40_lcla_free_all()
740 d40c->base->lcla_pool.alloc_map[idx] = NULL; in d40_lcla_free_all()
749 spin_unlock_irqrestore(&d40c->base->lcla_pool.lock, flags); in d40_lcla_free_all()
824 struct d40_lcla_pool *pool = &chan->base->lcla_pool; in d40_log_lli_to_lcxa()
3256 base->lcla_pool.alloc_map = kcalloc(num_phy_chans in d40_hw_detect_init()
3258 sizeof(*base->lcla_pool.alloc_map), in d40_hw_detect_init()
3260 if (!base->lcla_pool.alloc_map) in d40_hw_detect_init()
3280 kfree(base->lcla_pool.alloc_map); in d40_hw_detect_init()
3360 struct d40_lcla_pool *pool = &base->lcla_pool; in d40_lcla_allocate()
3377 base->lcla_pool.pages = SZ_1K * base->num_phy_chans / PAGE_SIZE; in d40_lcla_allocate()
3381 base->lcla_pool.pages); in d40_lcla_allocate()
3385 base->lcla_pool.pages); in d40_lcla_allocate()
3389 free_pages(page_list[j], base->lcla_pool.pages); in d40_lcla_allocate()
3399 free_pages(page_list[j], base->lcla_pool.pages); in d40_lcla_allocate()
3402 base->lcla_pool.base = (void *)page_list[i]; in d40_lcla_allocate()
3410 __func__, base->lcla_pool.pages); in d40_lcla_allocate()
3411 base->lcla_pool.base_unaligned = kmalloc(SZ_1K * in d40_lcla_allocate()
3415 if (!base->lcla_pool.base_unaligned) { in d40_lcla_allocate()
3420 base->lcla_pool.base = PTR_ALIGN(base->lcla_pool.base_unaligned, in d40_lcla_allocate()
3433 writel(virt_to_phys(base->lcla_pool.base), in d40_lcla_allocate()
3567 base->lcla_pool.base = ioremap(res->start, in d40_probe()
3569 if (!base->lcla_pool.base) { in d40_probe()
3584 spin_lock_init(&base->lcla_pool.lock); in d40_probe()
3650 if (base->lcla_pool.base && base->plat_data->use_esram_lcla) { in d40_probe()
3651 iounmap(base->lcla_pool.base); in d40_probe()
3652 base->lcla_pool.base = NULL; in d40_probe()
3655 if (base->lcla_pool.dma_addr) in d40_probe()
3656 dma_unmap_single(base->dev, base->lcla_pool.dma_addr, in d40_probe()
3660 if (!base->lcla_pool.base_unaligned && base->lcla_pool.base) in d40_probe()
3661 free_pages((unsigned long)base->lcla_pool.base, in d40_probe()
3662 base->lcla_pool.pages); in d40_probe()
3664 kfree(base->lcla_pool.base_unaligned); in d40_probe()
3682 kfree(base->lcla_pool.alloc_map); in d40_probe()