Lines Matching refs:nslots
174 static unsigned int limit_nareas(unsigned int nareas, unsigned long nslots) in limit_nareas() argument
176 if (nslots < nareas * IO_TLB_SEGSIZE) in limit_nareas()
177 return nslots / IO_TLB_SEGSIZE; in limit_nareas()
924 static void inc_used_and_hiwater(struct io_tlb_mem *mem, unsigned int nslots) in inc_used_and_hiwater() argument
928 new_used = atomic_long_add_return(nslots, &mem->total_used); in inc_used_and_hiwater()
937 static void dec_used(struct io_tlb_mem *mem, unsigned int nslots) in dec_used() argument
939 atomic_long_sub(nslots, &mem->total_used); in dec_used()
943 static void inc_used_and_hiwater(struct io_tlb_mem *mem, unsigned int nslots) in inc_used_and_hiwater() argument
946 static void dec_used(struct io_tlb_mem *mem, unsigned int nslots) in dec_used() argument
978 unsigned int nslots = nr_slots(alloc_size), stride; in swiotlb_area_find_slots() local
985 BUG_ON(!nslots); in swiotlb_area_find_slots()
1003 if (unlikely(nslots > pool->area_nslabs - area->used)) in swiotlb_area_find_slots()
1020 if (!iommu_is_span_boundary(slot_index, nslots, in swiotlb_area_find_slots()
1023 if (pool->slots[slot_index].list >= nslots) in swiotlb_area_find_slots()
1040 for (i = slot_index; i < slot_index + nslots; i++) { in swiotlb_area_find_slots()
1053 area->index = wrap_area_index(pool, index + nslots); in swiotlb_area_find_slots()
1054 area->used += nslots; in swiotlb_area_find_slots()
1057 inc_used_and_hiwater(dev->dma_io_tlb_mem, nslots); in swiotlb_area_find_slots()
1320 int nslots = nr_slots(mem->slots[index].alloc_size + offset); in swiotlb_release_slots() local
1334 if (index + nslots < ALIGN(index + 1, IO_TLB_SEGSIZE)) in swiotlb_release_slots()
1335 count = mem->slots[index + nslots].list; in swiotlb_release_slots()
1343 for (i = index + nslots - 1; i >= index; i--) { in swiotlb_release_slots()
1357 area->used -= nslots; in swiotlb_release_slots()
1360 dec_used(dev->dma_io_tlb_mem, nslots); in swiotlb_release_slots()