Searched refs:lcla_pool (Results 1 - 1 of 1) sorted by relevance
/linux-4.1.27/drivers/dma/ |
H A D | ste_dma40.c | 548 * @lcla_pool: lcla pool settings and data. 587 struct d40_lcla_pool lcla_pool; member in struct:d40_base 700 spin_lock_irqsave(&d40c->base->lcla_pool.lock, flags); d40_lcla_alloc_one() 709 if (!d40c->base->lcla_pool.alloc_map[idx]) { d40_lcla_alloc_one() 710 d40c->base->lcla_pool.alloc_map[idx] = d40d; d40_lcla_alloc_one() 717 spin_unlock_irqrestore(&d40c->base->lcla_pool.lock, flags); d40_lcla_alloc_one() 732 spin_lock_irqsave(&d40c->base->lcla_pool.lock, flags); d40_lcla_free_all() 737 if (d40c->base->lcla_pool.alloc_map[idx] == d40d) { d40_lcla_free_all() 738 d40c->base->lcla_pool.alloc_map[idx] = NULL; d40_lcla_free_all() 747 spin_unlock_irqrestore(&d40c->base->lcla_pool.lock, flags); d40_lcla_free_all() 822 struct d40_lcla_pool *pool = &chan->base->lcla_pool; d40_log_lli_to_lcxa() 3311 base->lcla_pool.alloc_map = d40_hw_detect_init() 3314 if (!base->lcla_pool.alloc_map) d40_hw_detect_init() 3339 kfree(base->lcla_pool.alloc_map); d40_hw_detect_init() 3406 struct d40_lcla_pool *pool = &base->lcla_pool; d40_lcla_allocate() 3425 base->lcla_pool.pages = SZ_1K * base->num_phy_chans / PAGE_SIZE; d40_lcla_allocate() 3429 base->lcla_pool.pages); d40_lcla_allocate() 3433 base->lcla_pool.pages); d40_lcla_allocate() 3437 free_pages(page_list[j], base->lcla_pool.pages); d40_lcla_allocate() 3447 free_pages(page_list[j], base->lcla_pool.pages); d40_lcla_allocate() 3450 base->lcla_pool.base = (void *)page_list[i]; d40_lcla_allocate() 3458 __func__, base->lcla_pool.pages); d40_lcla_allocate() 3459 base->lcla_pool.base_unaligned = kmalloc(SZ_1K * d40_lcla_allocate() 3463 if (!base->lcla_pool.base_unaligned) { d40_lcla_allocate() 3468 base->lcla_pool.base = PTR_ALIGN(base->lcla_pool.base_unaligned, d40_lcla_allocate() 3481 writel(virt_to_phys(base->lcla_pool.base), d40_lcla_allocate() 3616 base->lcla_pool.base = ioremap(res->start, d40_probe() 3618 if (!base->lcla_pool.base) { d40_probe() 3633 spin_lock_init(&base->lcla_pool.lock); d40_probe() 3702 if (base->lcla_pool.base && base->plat_data->use_esram_lcla) { d40_probe() 3703 iounmap(base->lcla_pool.base); d40_probe() 3704 base->lcla_pool.base = NULL; d40_probe() 3707 if (base->lcla_pool.dma_addr) d40_probe() 3708 dma_unmap_single(base->dev, base->lcla_pool.dma_addr, d40_probe() 3712 if (!base->lcla_pool.base_unaligned && base->lcla_pool.base) d40_probe() 3713 free_pages((unsigned long)base->lcla_pool.base, d40_probe() 3714 base->lcla_pool.pages); d40_probe() 3716 kfree(base->lcla_pool.base_unaligned); d40_probe() 3734 kfree(base->lcla_pool.alloc_map); d40_probe()
|
Completed in 60 milliseconds