Lines Matching +full:pre +full:- +full:filled

1 // SPDX-License-Identifier: GPL-2.0+
2 /* Copyright (C) 2017-2018 Broadcom */
26 /* Note: All PTEs for the 1MB superpage must be filled with the
43 dev_err(v3d->drm.dev, "TLB clear wait idle pre-wait failed\n"); in v3d_mmu_flush_all()
55 dev_err(v3d->drm.dev, "TLB clear wait idle failed\n"); in v3d_mmu_flush_all()
62 dev_err(v3d->drm.dev, "MMUC flush wait idle failed\n"); in v3d_mmu_flush_all()
69 V3D_WRITE(V3D_MMU_PT_PA_BASE, v3d->pt_paddr >> V3D_MMU_PAGE_SHIFT); in v3d_mmu_set_page_table()
80 (v3d->mmu_scratch_paddr >> V3D_MMU_PAGE_SHIFT) | in v3d_mmu_set_page_table()
89 struct drm_gem_shmem_object *shmem_obj = &bo->base; in v3d_mmu_insert_ptes()
90 struct v3d_dev *v3d = to_v3d_dev(shmem_obj->base.dev); in v3d_mmu_insert_ptes()
91 u32 page = bo->node.start; in v3d_mmu_insert_ptes()
95 for_each_sgtable_dma_page(shmem_obj->sgt, &dma_iter, 0) { in v3d_mmu_insert_ptes()
104 v3d->pt[page++] = pte + i; in v3d_mmu_insert_ptes()
107 WARN_ON_ONCE(page - bo->node.start != in v3d_mmu_insert_ptes()
108 shmem_obj->base.size >> V3D_MMU_PAGE_SHIFT); in v3d_mmu_insert_ptes()
111 dev_err(v3d->drm.dev, "MMU flush timeout\n"); in v3d_mmu_insert_ptes()
116 struct v3d_dev *v3d = to_v3d_dev(bo->base.base.dev); in v3d_mmu_remove_ptes()
117 u32 npages = bo->base.base.size >> V3D_MMU_PAGE_SHIFT; in v3d_mmu_remove_ptes()
120 for (page = bo->node.start; page < bo->node.start + npages; page++) in v3d_mmu_remove_ptes()
121 v3d->pt[page] = 0; in v3d_mmu_remove_ptes()
124 dev_err(v3d->drm.dev, "MMU flush timeout\n"); in v3d_mmu_remove_ptes()