Lines Matching refs:npages
43 unsigned long npages; /* Number of pages in list. */ member
57 p->npages = 0; in iommu_batch_start()
68 unsigned long npages = p->npages; in iommu_batch_flush() local
70 while (npages != 0) { in iommu_batch_flush()
74 npages, prot, __pa(pglist)); in iommu_batch_flush()
81 npages, prot, __pa(pglist), num); in iommu_batch_flush()
86 npages -= num; in iommu_batch_flush()
91 p->npages = 0; in iommu_batch_flush()
100 if (p->entry + p->npages == entry) in iommu_batch_new_entry()
112 BUG_ON(p->npages >= PGLIST_NENTS); in iommu_batch_add()
114 p->pglist[p->npages++] = phys_page; in iommu_batch_add()
115 if (p->npages == PGLIST_NENTS) in iommu_batch_add()
126 BUG_ON(p->npages >= PGLIST_NENTS); in iommu_batch_end()
135 unsigned long flags, order, first_page, npages, n; in dma_4v_alloc_coherent() local
147 npages = size >> IO_PAGE_SHIFT; in dma_4v_alloc_coherent()
159 entry = iommu_tbl_range_alloc(dev, &iommu->tbl, npages, NULL, in dma_4v_alloc_coherent()
176 for (n = 0; n < npages; n++) { in dma_4v_alloc_coherent()
190 iommu_tbl_range_free(&iommu->tbl, *dma_addrp, npages, DMA_ERROR_CODE); in dma_4v_alloc_coherent()
198 unsigned long npages) in dma_4v_iommu_demap() argument
207 npages); in dma_4v_iommu_demap()
210 npages -= num; in dma_4v_iommu_demap()
211 } while (npages != 0); in dma_4v_iommu_demap()
220 unsigned long order, npages, entry; in dma_4v_free_coherent() local
223 npages = IO_PAGE_ALIGN(size) >> IO_PAGE_SHIFT; in dma_4v_free_coherent()
228 dma_4v_iommu_demap(&devhandle, entry, npages); in dma_4v_free_coherent()
229 iommu_tbl_range_free(&iommu->tbl, dvma, npages, DMA_ERROR_CODE); in dma_4v_free_coherent()
241 unsigned long flags, npages, oaddr; in dma_4v_map_page() local
253 npages = IO_PAGE_ALIGN(oaddr + sz) - (oaddr & IO_PAGE_MASK); in dma_4v_map_page()
254 npages >>= IO_PAGE_SHIFT; in dma_4v_map_page()
256 entry = iommu_tbl_range_alloc(dev, &iommu->tbl, npages, NULL, in dma_4v_map_page()
273 for (i = 0; i < npages; i++, base_paddr += IO_PAGE_SIZE) { in dma_4v_map_page()
291 iommu_tbl_range_free(&iommu->tbl, bus_addr, npages, DMA_ERROR_CODE); in dma_4v_map_page()
301 unsigned long npages; in dma_4v_unmap_page() local
315 npages = IO_PAGE_ALIGN(bus_addr + sz) - (bus_addr & IO_PAGE_MASK); in dma_4v_unmap_page()
316 npages >>= IO_PAGE_SHIFT; in dma_4v_unmap_page()
319 dma_4v_iommu_demap(&devhandle, entry, npages); in dma_4v_unmap_page()
320 iommu_tbl_range_free(&iommu->tbl, bus_addr, npages, DMA_ERROR_CODE); in dma_4v_unmap_page()
364 unsigned long paddr, npages, entry, out_entry = 0, slen; in dma_4v_map_sg() local
374 npages = iommu_num_pages(paddr, slen, IO_PAGE_SIZE); in dma_4v_map_sg()
375 entry = iommu_tbl_range_alloc(dev, &iommu->tbl, npages, in dma_4v_map_sg()
382 " npages %lx\n", iommu, paddr, npages); in dma_4v_map_sg()
394 while (npages--) { in dma_4v_map_sg()
448 unsigned long vaddr, npages; in dma_4v_map_sg() local
451 npages = iommu_num_pages(s->dma_address, s->dma_length, in dma_4v_map_sg()
453 iommu_tbl_range_free(&iommu->tbl, vaddr, npages, in dma_4v_map_sg()
489 unsigned long npages; in dma_4v_unmap_sg() local
495 npages = iommu_num_pages(dma_handle, len, IO_PAGE_SIZE); in dma_4v_unmap_sg()
497 dma_4v_iommu_demap(&devhandle, entry, npages); in dma_4v_unmap_sg()
498 iommu_tbl_range_free(&iommu->tbl, dma_handle, npages, in dma_4v_unmap_sg()