Lines Matching full:v3d
5 * DOC: Broadcom V3D MMU
7 * The V3D 3.x hardware (compared to VC4) now includes an MMU. It has
8 * a single level of page tables for the V3D's 4GB address space to
38 int v3d_mmu_flush_all(struct v3d_dev *v3d) in v3d_mmu_flush_all() argument
48 dev_err(v3d->drm.dev, "MMUC flush wait idle failed\n"); in v3d_mmu_flush_all()
58 dev_err(v3d->drm.dev, "MMU TLB clear wait idle failed\n"); in v3d_mmu_flush_all()
63 int v3d_mmu_set_page_table(struct v3d_dev *v3d) in v3d_mmu_set_page_table() argument
65 V3D_WRITE(V3D_MMU_PT_PA_BASE, v3d->pt_paddr >> V3D_MMU_PAGE_SHIFT); in v3d_mmu_set_page_table()
76 (v3d->mmu_scratch_paddr >> V3D_MMU_PAGE_SHIFT) | in v3d_mmu_set_page_table()
80 return v3d_mmu_flush_all(v3d); in v3d_mmu_set_page_table()
86 struct v3d_dev *v3d = to_v3d_dev(shmem_obj->base.dev); in v3d_mmu_insert_ptes() local
116 v3d->pt[page++] = page_address + i; in v3d_mmu_insert_ptes()
127 if (v3d_mmu_flush_all(v3d)) in v3d_mmu_insert_ptes()
128 dev_err(v3d->drm.dev, "MMU flush timeout\n"); in v3d_mmu_insert_ptes()
133 struct v3d_dev *v3d = to_v3d_dev(bo->base.base.dev); in v3d_mmu_remove_ptes() local
138 v3d->pt[page] = 0; in v3d_mmu_remove_ptes()
140 if (v3d_mmu_flush_all(v3d)) in v3d_mmu_remove_ptes()
141 dev_err(v3d->drm.dev, "MMU flush timeout\n"); in v3d_mmu_remove_ptes()