Lines Matching defs:sparse

40 nvkm_vmm_pt_new(const struct nvkm_vmm_desc *desc, bool sparse,
59 pgt->sparse = sparse;
158 if (pgt->sparse) {
159 func->sparse(vmm, pgd->pt[0], pdei, 1);
244 pair->func->sparse(vmm, pgt->pt[0], pteb, ptes);
344 /* The entire LPTE is marked as sparse, we need
348 desc->func->sparse(vmm, pgt->pt[1], spti, sptc);
418 const bool zero = !pgt->sparse && !desc->func->invalid;
444 * or sparse, which would prevent the MMU from looking at
456 if (pgt->sparse)
457 desc->func->sparse(vmm, pt, pteb, ptes);
468 if (pgt->sparse) {
470 desc->func->sparse(vmm, pt, 0, pten);
605 nvkm_vmm_iter(vmm, page, addr, size, "sparse unref", false, false,
616 u64 fail = nvkm_vmm_iter(vmm, page, addr, size, "sparse ref",
618 NULL, NULL, page->desc->func->sparse);
681 u64 addr, u64 size, bool sparse, bool pfn)
688 sparse ? func->sparse : func->invalid ? func->invalid :
742 u64 addr, u64 size, bool sparse, bool pfn)
748 sparse ? func->sparse : func->invalid ? func->invalid :
754 u64 addr, u64 size, bool sparse, bool pfn)
757 nvkm_vmm_ptes_unmap(vmm, page, addr, size, sparse, pfn);
760 __nvkm_vmm_ptes_unmap_put(vmm, page, addr, size, sparse, pfn);
824 new->sparse = vma->sparse;
1009 vma->sparse ? 'S' : '-',
1082 vma->sparse = false;
1419 nvkm_vmm_ptes_unmap_put(vmm, page, vma->addr, vma->size, vma->sparse, pfn);
1422 nvkm_vmm_ptes_unmap(vmm, page, vma->addr, vma->size, vma->sparse, pfn);
1618 if (vma->mapref || !vma->sparse) {
1639 size, vma->sparse,
1659 if (vma->sparse && !vma->mapref) {
1670 if (vma->sparse) {
1673 * the GPU see the region as sparse), and when mapping memory
1705 nvkm_vmm_get_locked(struct nvkm_vmm *vmm, bool getref, bool mapref, bool sparse,
1714 VMM_TRACE(vmm, "getref %d mapref %d sparse %d "
1716 getref, mapref, sparse, shift, align, size);
1718 /* Zero-sized, or lazily-allocated sparse VMAs, make no sense. */
1719 if (unlikely(!size || (!getref && !mapref && sparse))) {
1721 size, getref, mapref, sparse);
1818 /* Pre-allocate page tables and/or setup sparse mappings. */
1819 if (sparse && getref)
1821 else if (sparse)
1833 vma->sparse = sparse;
1854 bool sparse, u8 refd)
1858 nvkm_vmm_ptes_unmap(vmm, page, addr, size, sparse, false);