Lines Matching refs:npages
59 size_t npages, pg_index; in px_fdvma_load() local
63 npages = MMU_BTOPR(len + offset); in px_fdvma_load()
64 if (!npages) in px_fdvma_load()
69 if (index + npages > mp->dmai_ndvmapages) { in px_fdvma_load()
73 index, npages); in px_fdvma_load()
76 fdvma_p->pagecnt[index] = npages; in px_fdvma_load()
89 if (px_lib_iommu_map(dip, PCI_TSBID(0, pg_index), npages, in px_fdvma_load()
105 size_t npages = fdvma_p->pagecnt[index]; in px_fdvma_unload() local
110 mp->dmai_mapping, MMU_PTOB(index), MMU_PTOB(npages)); in px_fdvma_unload()
112 px_mmu_unmap_pages(px_p->px_mmu_p, mp, dvma_pg, npages); in px_fdvma_unload()
137 size_t npages; in px_fdvma_reserve() local
159 npages = dmareq->dmar_object.dmao_size; in px_fdvma_reserve()
160 if ((long)atomic_add_long_nv(&mmu_p->mmu_dvma_reserve, -npages) < 0) { in px_fdvma_reserve()
161 atomic_add_long(&mmu_p->mmu_dvma_reserve, npages); in px_fdvma_reserve()
177 MMU_PTOB(npages), MMU_PAGE_SIZE, 0, in px_fdvma_reserve()
181 atomic_add_long(&mmu_p->mmu_dvma_reserve, npages); in px_fdvma_reserve()
190 fdvma_p->pagecnt = kmem_alloc(npages * sizeof (uint_t), KM_SLEEP); in px_fdvma_reserve()
202 mp->dmai_ndvmapages = npages; in px_fdvma_reserve()
203 mp->dmai_size = npages * MMU_PAGE_SIZE; in px_fdvma_reserve()
220 mp, mp->dmai_mapping, npages, fdvma_p); in px_fdvma_reserve()
229 size_t npages; in px_fdvma_release() local
244 npages = mp->dmai_ndvmapages; in px_fdvma_release()
246 MMU_PTOB(npages)); in px_fdvma_release()
248 atomic_add_long(&mmu_p->mmu_dvma_reserve, npages); in px_fdvma_release()
258 kmem_free(fdvma_p->pagecnt, npages * sizeof (uint_t)); in px_fdvma_release()