Lines Matching refs:pool

229 	struct iommu_pool *pool;  in iommu_range_alloc()  local
252 pool = &(tbl->large_pool); in iommu_range_alloc()
254 pool = &(tbl->pools[pool_nr]); in iommu_range_alloc()
256 spin_lock_irqsave(&(pool->lock), flags); in iommu_range_alloc()
260 (*handle >= pool->start) && (*handle < pool->end)) in iommu_range_alloc()
263 start = pool->hint; in iommu_range_alloc()
265 limit = pool->end; in iommu_range_alloc()
272 start = pool->start; in iommu_range_alloc()
281 spin_unlock(&(pool->lock)); in iommu_range_alloc()
282 pool = &(tbl->pools[0]); in iommu_range_alloc()
283 spin_lock(&(pool->lock)); in iommu_range_alloc()
284 start = pool->start; in iommu_range_alloc()
296 pool->hint = pool->start; in iommu_range_alloc()
302 spin_unlock(&(pool->lock)); in iommu_range_alloc()
304 pool = &tbl->pools[pool_nr]; in iommu_range_alloc()
305 spin_lock(&(pool->lock)); in iommu_range_alloc()
306 pool->hint = pool->start; in iommu_range_alloc()
312 spin_unlock(&pool->lock); in iommu_range_alloc()
313 pool = &tbl->large_pool; in iommu_range_alloc()
314 spin_lock(&pool->lock); in iommu_range_alloc()
315 pool->hint = pool->start; in iommu_range_alloc()
321 spin_unlock_irqrestore(&(pool->lock), flags); in iommu_range_alloc()
331 pool->hint = end; in iommu_range_alloc()
334 pool->hint = (end + tbl->it_blocksize - 1) & in iommu_range_alloc()
342 spin_unlock_irqrestore(&(pool->lock), flags); in iommu_range_alloc()
442 struct iommu_pool *pool; in __iommu_free() local
447 pool = get_pool(tbl, free_entry); in __iommu_free()
454 spin_lock_irqsave(&(pool->lock), flags); in __iommu_free()
456 spin_unlock_irqrestore(&(pool->lock), flags); in __iommu_free()