Lines Matching refs:pool
191 struct iommu_pool *pool; in iommu_range_alloc() local
214 pool = &(tbl->large_pool); in iommu_range_alloc()
216 pool = &(tbl->pools[pool_nr]); in iommu_range_alloc()
218 spin_lock_irqsave(&(pool->lock), flags); in iommu_range_alloc()
222 (*handle >= pool->start) && (*handle < pool->end)) in iommu_range_alloc()
225 start = pool->hint; in iommu_range_alloc()
227 limit = pool->end; in iommu_range_alloc()
234 start = pool->start; in iommu_range_alloc()
243 spin_unlock(&(pool->lock)); in iommu_range_alloc()
244 pool = &(tbl->pools[0]); in iommu_range_alloc()
245 spin_lock(&(pool->lock)); in iommu_range_alloc()
246 start = pool->start; in iommu_range_alloc()
264 pool->hint = pool->start; in iommu_range_alloc()
270 spin_unlock(&(pool->lock)); in iommu_range_alloc()
272 pool = &tbl->pools[pool_nr]; in iommu_range_alloc()
273 spin_lock(&(pool->lock)); in iommu_range_alloc()
274 pool->hint = pool->start; in iommu_range_alloc()
280 spin_unlock_irqrestore(&(pool->lock), flags); in iommu_range_alloc()
290 pool->hint = end; in iommu_range_alloc()
293 pool->hint = (end + tbl->it_blocksize - 1) & in iommu_range_alloc()
301 spin_unlock_irqrestore(&(pool->lock), flags); in iommu_range_alloc()
401 struct iommu_pool *pool; in __iommu_free() local
406 pool = get_pool(tbl, free_entry); in __iommu_free()
413 spin_lock_irqsave(&(pool->lock), flags); in __iommu_free()
415 spin_unlock_irqrestore(&(pool->lock), flags); in __iommu_free()
978 struct iommu_pool *pool = get_pool(tbl, entry); in iommu_clear_tce() local
980 spin_lock(&(pool->lock)); in iommu_clear_tce()
988 spin_unlock(&(pool->lock)); in iommu_clear_tce()
1027 struct iommu_pool *pool = get_pool(tbl, entry); in iommu_tce_build() local
1029 spin_lock(&(pool->lock)); in iommu_tce_build()
1036 spin_unlock(&(pool->lock)); in iommu_tce_build()