Lines Matching refs:pool
110 struct iommu_pool *pool; in iommu_tbl_range_alloc() local
130 pool = &(iommu->large_pool); in iommu_tbl_range_alloc()
135 pool = &(iommu->pools[pool_nr]); in iommu_tbl_range_alloc()
137 spin_lock_irqsave(&pool->lock, flags); in iommu_tbl_range_alloc()
141 (*handle >= pool->start) && (*handle < pool->end)) in iommu_tbl_range_alloc()
144 start = pool->hint; in iommu_tbl_range_alloc()
146 limit = pool->end; in iommu_tbl_range_alloc()
155 start = pool->start; in iommu_tbl_range_alloc()
164 spin_unlock(&(pool->lock)); in iommu_tbl_range_alloc()
165 pool = &(iommu->pools[0]); in iommu_tbl_range_alloc()
166 spin_lock(&(pool->lock)); in iommu_tbl_range_alloc()
167 start = pool->start; in iommu_tbl_range_alloc()
194 pool->hint = pool->start; in iommu_tbl_range_alloc()
199 spin_unlock(&(pool->lock)); in iommu_tbl_range_alloc()
201 pool = &(iommu->pools[pool_nr]); in iommu_tbl_range_alloc()
202 spin_lock(&(pool->lock)); in iommu_tbl_range_alloc()
203 pool->hint = pool->start; in iommu_tbl_range_alloc()
214 (n < pool->hint || need_flush(iommu))) { in iommu_tbl_range_alloc()
220 pool->hint = end; in iommu_tbl_range_alloc()
226 spin_unlock_irqrestore(&(pool->lock), flags); in iommu_tbl_range_alloc()
258 struct iommu_pool *pool; in iommu_tbl_range_free() local
264 pool = get_pool(iommu, entry); in iommu_tbl_range_free()
266 spin_lock_irqsave(&(pool->lock), flags); in iommu_tbl_range_free()
268 spin_unlock_irqrestore(&(pool->lock), flags); in iommu_tbl_range_free()