| /OK3568_Linux_fs/kernel/drivers/gpu/arm/mali400/mali/common/ |
| H A D | mali_mmu.c | 44 MALI_STATIC_INLINE _mali_osk_errcode_t mali_mmu_raw_reset(struct mali_mmu_core *mmu); 106 struct mali_mmu_core *mmu = NULL; in mali_mmu_create() local 112 mmu = _mali_osk_calloc(1, sizeof(struct mali_mmu_core)); in mali_mmu_create() 113 if (NULL != mmu) { in mali_mmu_create() 114 if (_MALI_OSK_ERR_OK == mali_hw_core_create(&mmu->hw_core, resource, MALI_MMU_REGISTERS_SIZE)) { in mali_mmu_create() 115 if (_MALI_OSK_ERR_OK == mali_group_add_mmu_core(group, mmu)) { in mali_mmu_create() 118 return mmu; in mali_mmu_create() 121 if (_MALI_OSK_ERR_OK == mali_mmu_reset(mmu)) { in mali_mmu_create() 123 mmu->irq = _mali_osk_irq_init(resource->irq, in mali_mmu_create() 128 mmu, in mali_mmu_create() [all …]
|
| H A D | mali_mmu.h | 75 void mali_mmu_delete(struct mali_mmu_core *mmu); 77 _mali_osk_errcode_t mali_mmu_reset(struct mali_mmu_core *mmu); 78 mali_bool mali_mmu_zap_tlb(struct mali_mmu_core *mmu); 79 void mali_mmu_zap_tlb_without_stall(struct mali_mmu_core *mmu); 80 void mali_mmu_invalidate_page(struct mali_mmu_core *mmu, u32 mali_address); 82 void mali_mmu_activate_page_directory(struct mali_mmu_core *mmu, struct mali_page_directory *pagedi… 83 void mali_mmu_activate_empty_page_directory(struct mali_mmu_core *mmu); 84 void mali_mmu_activate_fault_flush_page_directory(struct mali_mmu_core *mmu); 86 void mali_mmu_page_fault_done(struct mali_mmu_core *mmu); 88 …I_STATIC_INLINE enum mali_interrupt_result mali_mmu_get_interrupt_result(struct mali_mmu_core *mmu) in mali_mmu_get_interrupt_result() argument [all …]
|
| /OK3568_Linux_fs/kernel/drivers/staging/media/ipu3/ |
| H A D | ipu3-mmu.c | 78 static void imgu_mmu_tlb_invalidate(struct imgu_mmu *mmu) in imgu_mmu_tlb_invalidate() argument 80 writel(TLB_INVALIDATE, mmu->base + REG_TLB_INVALIDATE); in imgu_mmu_tlb_invalidate() 83 static void call_if_imgu_is_powered(struct imgu_mmu *mmu, in call_if_imgu_is_powered() argument 84 void (*func)(struct imgu_mmu *mmu)) in call_if_imgu_is_powered() argument 86 if (!pm_runtime_get_if_in_use(mmu->dev)) in call_if_imgu_is_powered() 89 func(mmu); in call_if_imgu_is_powered() 90 pm_runtime_put(mmu->dev); in call_if_imgu_is_powered() 101 static void imgu_mmu_set_halt(struct imgu_mmu *mmu, bool halt) in imgu_mmu_set_halt() argument 106 writel(halt, mmu->base + REG_GP_HALT); in imgu_mmu_set_halt() 107 ret = readl_poll_timeout(mmu->base + REG_GP_HALTED, in imgu_mmu_set_halt() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ |
| H A D | base.c | 42 nvkm_mmu_ptp_put(struct nvkm_mmu *mmu, bool force, struct nvkm_mmu_pt *pt) in nvkm_mmu_ptp_put() argument 51 list_add(&ptp->head, &mmu->ptp.list); in nvkm_mmu_ptp_put() 56 nvkm_mmu_ptc_put(mmu, force, &ptp->pt); in nvkm_mmu_ptp_put() 65 nvkm_mmu_ptp_get(struct nvkm_mmu *mmu, u32 size, bool zero) in nvkm_mmu_ptp_get() argument 74 ptp = list_first_entry_or_null(&mmu->ptp.list, typeof(*ptp), head); in nvkm_mmu_ptp_get() 82 ptp->pt = nvkm_mmu_ptc_get(mmu, 0x1000, 0x1000, false); in nvkm_mmu_ptp_get() 93 list_add(&ptp->head, &mmu->ptp.list); in nvkm_mmu_ptp_get() 120 nvkm_mmu_ptc_find(struct nvkm_mmu *mmu, u32 size) in nvkm_mmu_ptc_find() argument 124 list_for_each_entry(ptc, &mmu->ptc.list, head) { in nvkm_mmu_ptc_find() 134 list_add(&ptc->head, &mmu->ptc.list); in nvkm_mmu_ptc_find() [all …]
|
| H A D | Kbuild | 2 nvkm-y += nvkm/subdev/mmu/base.o 3 nvkm-y += nvkm/subdev/mmu/nv04.o 4 nvkm-y += nvkm/subdev/mmu/nv41.o 5 nvkm-y += nvkm/subdev/mmu/nv44.o 6 nvkm-y += nvkm/subdev/mmu/nv50.o 7 nvkm-y += nvkm/subdev/mmu/g84.o 8 nvkm-y += nvkm/subdev/mmu/mcp77.o 9 nvkm-y += nvkm/subdev/mmu/gf100.o 10 nvkm-y += nvkm/subdev/mmu/gk104.o 11 nvkm-y += nvkm/subdev/mmu/gk20a.o [all …]
|
| H A D | ummu.c | 35 struct nvkm_mmu *mmu = nvkm_ummu(object)->mmu; in nvkm_ummu_sclass() local 37 if (mmu->func->mem.user.oclass && oclass->client->super) { in nvkm_ummu_sclass() 39 oclass->base = mmu->func->mem.user; in nvkm_ummu_sclass() 45 if (mmu->func->vmm.user.oclass) { in nvkm_ummu_sclass() 47 oclass->base = mmu->func->vmm.user; in nvkm_ummu_sclass() 59 struct nvkm_mmu *mmu = ummu->mmu; in nvkm_ummu_heap() local 67 if ((index = args->v0.index) >= mmu->heap_nr) in nvkm_ummu_heap() 69 args->v0.size = mmu->heap[index].size; in nvkm_ummu_heap() 79 struct nvkm_mmu *mmu = ummu->mmu; in nvkm_ummu_type() local 87 if ((index = args->v0.index) >= mmu->type_nr) in nvkm_ummu_type() [all …]
|
| H A D | mem.c | 33 struct nvkm_mmu *mmu; member 88 dma_unmap_page(mem->mmu->subdev.device->dev, in nvkm_mem_dtor() 144 nvkm_mem_new_host(struct nvkm_mmu *mmu, int type, u8 page, u64 size, in nvkm_mem_new_host() argument 147 struct device *dev = mmu->subdev.device->dev; in nvkm_mem_new_host() 157 if ( (mmu->type[type].type & NVKM_MEM_COHERENT) && in nvkm_mem_new_host() 158 !(mmu->type[type].type & NVKM_MEM_UNCACHED)) in nvkm_mem_new_host() 169 mem->mmu = mmu; in nvkm_mem_new_host() 199 if (mmu->dma_bits > 32) in nvkm_mem_new_host() 209 mem->dma[mem->pages] = dma_map_page(mmu->subdev.device->dev, in nvkm_mem_new_host() 224 nvkm_mem_new_type(struct nvkm_mmu *mmu, int type, u8 page, u64 size, in nvkm_mem_new_type() argument [all …]
|
| H A D | umem.c | 73 struct nvkm_device *device = umem->mmu->subdev.device; in nvkm_umem_unmap() 91 struct nvkm_mmu *mmu = umem->mmu; in nvkm_umem_map() local 110 int ret = mmu->func->mem.umap(mmu, umem->memory, argv, argc, in nvkm_umem_map() 146 struct nvkm_mmu *mmu = nvkm_ummu(oclass->parent)->mmu; in nvkm_umem_new() local 162 if (type >= mmu->type_nr) in nvkm_umem_new() 168 umem->mmu = mmu; in nvkm_umem_new() 169 umem->type = mmu->type[type].type; in nvkm_umem_new() 174 if (mmu->type[type].type & NVKM_MEM_MAPPABLE) { in nvkm_umem_new() 179 ret = nvkm_mem_new_type(mmu, type, page, size, argv, argc, in nvkm_umem_new()
|
| /OK3568_Linux_fs/kernel/drivers/staging/media/atomisp/pci/mmu/ |
| H A D | isp_mmu.c | 57 static void free_mmu_map(struct isp_mmu *mmu, unsigned int start_isp_virt, 79 static phys_addr_t isp_pte_to_pgaddr(struct isp_mmu *mmu, in isp_pte_to_pgaddr() argument 82 return mmu->driver->pte_to_phys(mmu, pte); in isp_pte_to_pgaddr() 85 static unsigned int isp_pgaddr_to_pte_valid(struct isp_mmu *mmu, in isp_pgaddr_to_pte_valid() argument 88 unsigned int pte = mmu->driver->phys_to_pte(mmu, phys); in isp_pgaddr_to_pte_valid() 90 return (unsigned int)(pte | ISP_PTE_VALID_MASK(mmu)); in isp_pgaddr_to_pte_valid() 97 static phys_addr_t alloc_page_table(struct isp_mmu *mmu) in alloc_page_table() argument 119 atomisp_set_pte(page, i, mmu->driver->null_pte); in alloc_page_table() 125 static void free_page_table(struct isp_mmu *mmu, phys_addr_t page) in free_page_table() argument 142 static void mmu_remap_error(struct isp_mmu *mmu, in mmu_remap_error() argument [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/nouveau/nvif/ |
| H A D | mmu.c | 28 nvif_mmu_dtor(struct nvif_mmu *mmu) in nvif_mmu_dtor() argument 30 kfree(mmu->kind); in nvif_mmu_dtor() 31 kfree(mmu->type); in nvif_mmu_dtor() 32 kfree(mmu->heap); in nvif_mmu_dtor() 33 nvif_object_dtor(&mmu->object); in nvif_mmu_dtor() 38 struct nvif_mmu *mmu) in nvif_mmu_ctor() argument 50 mmu->heap = NULL; in nvif_mmu_ctor() 51 mmu->type = NULL; in nvif_mmu_ctor() 52 mmu->kind = NULL; in nvif_mmu_ctor() 55 &args, sizeof(args), &mmu->object); in nvif_mmu_ctor() [all …]
|
| H A D | mem.c | 28 nvif_mem_ctor_map(struct nvif_mmu *mmu, const char *name, u8 type, u64 size, in nvif_mem_ctor_map() argument 31 int ret = nvif_mem_ctor(mmu, name, mmu->mem, NVIF_MEM_MAPPABLE | type, in nvif_mem_ctor_map() 48 nvif_mem_ctor_type(struct nvif_mmu *mmu, const char *name, s32 oclass, in nvif_mem_ctor_type() argument 72 ret = nvif_object_ctor(&mmu->object, name ? name : "nvifMem", 0, oclass, in nvif_mem_ctor_type() 75 mem->type = mmu->type[type].type; in nvif_mem_ctor_type() 88 nvif_mem_ctor(struct nvif_mmu *mmu, const char *name, s32 oclass, u8 type, in nvif_mem_ctor() argument 95 for (i = 0; ret && i < mmu->type_nr; i++) { in nvif_mem_ctor() 96 if ((mmu->type[i].type & type) == type) { in nvif_mem_ctor() 97 ret = nvif_mem_ctor_type(mmu, name, oclass, i, page, in nvif_mem_ctor()
|
| /OK3568_Linux_fs/kernel/drivers/iommu/ |
| H A D | ipmmu-vmsa.c | 74 struct ipmmu_vmsa_device *mmu; member 152 static bool ipmmu_is_root(struct ipmmu_vmsa_device *mmu) in ipmmu_is_root() argument 154 return mmu->root == mmu; in ipmmu_is_root() 159 struct ipmmu_vmsa_device *mmu = dev_get_drvdata(dev); in __ipmmu_check_device() local 162 if (ipmmu_is_root(mmu)) in __ipmmu_check_device() 163 *rootp = mmu; in __ipmmu_check_device() 180 static u32 ipmmu_read(struct ipmmu_vmsa_device *mmu, unsigned int offset) in ipmmu_read() argument 182 return ioread32(mmu->base + offset); in ipmmu_read() 185 static void ipmmu_write(struct ipmmu_vmsa_device *mmu, unsigned int offset, in ipmmu_write() argument 188 iowrite32(data, mmu->base + offset); in ipmmu_write() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/staging/media/atomisp/include/mmu/ |
| H A D | isp_mmu.h | 88 unsigned int (*get_pd_base)(struct isp_mmu *mmu, phys_addr_t pd_base); 100 void (*tlb_flush_range)(struct isp_mmu *mmu, 102 void (*tlb_flush_all)(struct isp_mmu *mmu); 103 unsigned int (*phys_to_pte)(struct isp_mmu *mmu, 105 phys_addr_t (*pte_to_phys)(struct isp_mmu *mmu, 120 #define ISP_PTE_VALID_MASK(mmu) \ argument 121 ((mmu)->driver->pte_valid_mask) 123 #define ISP_PTE_VALID(mmu, pte) \ argument 124 ((pte) & ISP_PTE_VALID_MASK(mmu)) 132 int isp_mmu_init(struct isp_mmu *mmu, struct isp_mmu_client *driver); [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/panfrost/ |
| H A D | panfrost_mmu.c | 94 struct panfrost_mmu *mmu, in mmu_hw_do_operation() argument 100 ret = mmu_hw_do_operation_locked(pfdev, mmu->as, iova, size, op); in mmu_hw_do_operation() 105 static void panfrost_mmu_enable(struct panfrost_device *pfdev, struct panfrost_mmu *mmu) in panfrost_mmu_enable() argument 107 int as_nr = mmu->as; in panfrost_mmu_enable() 108 struct io_pgtable_cfg *cfg = &mmu->pgtbl_cfg; in panfrost_mmu_enable() 139 u32 panfrost_mmu_as_get(struct panfrost_device *pfdev, struct panfrost_mmu *mmu) in panfrost_mmu_as_get() argument 145 as = mmu->as; in panfrost_mmu_as_get() 147 int en = atomic_inc_return(&mmu->as_count); in panfrost_mmu_as_get() 155 list_move(&mmu->list, &pfdev->as_lru_list); in panfrost_mmu_as_get() 178 mmu->as = as; in panfrost_mmu_as_get() [all …]
|
| /OK3568_Linux_fs/kernel/arch/x86/kernel/ |
| H A D | paravirt.c | 334 .mmu.flush_tlb_user = native_flush_tlb_local, 335 .mmu.flush_tlb_kernel = native_flush_tlb_global, 336 .mmu.flush_tlb_one_user = native_flush_tlb_one_user, 337 .mmu.flush_tlb_others = native_flush_tlb_others, 338 .mmu.tlb_remove_table = 341 .mmu.exit_mmap = paravirt_nop, 344 .mmu.read_cr2 = __PV_IS_CALLEE_SAVE(native_read_cr2), 345 .mmu.write_cr2 = native_write_cr2, 346 .mmu.read_cr3 = __native_read_cr3, 347 .mmu.write_cr3 = native_write_cr3, [all …]
|
| /OK3568_Linux_fs/kernel/arch/arc/mm/ |
| H A D | tlb.c | 236 struct cpuinfo_arc_mmu *mmu = &cpuinfo_arc700[smp_processor_id()].mmu; in local_flush_tlb_all() local 239 int num_tlb = mmu->sets * mmu->ways; in local_flush_tlb_all() 707 struct cpuinfo_arc_mmu *mmu = &cpuinfo_arc700[smp_processor_id()].mmu; in read_decode_mmu_bcr() local 739 mmu->ver = (tmp >> 24); in read_decode_mmu_bcr() 742 if (mmu->ver <= 2) { in read_decode_mmu_bcr() 744 mmu->pg_sz_k = TO_KB(0x2000); in read_decode_mmu_bcr() 745 mmu->sets = 1 << mmu2->sets; in read_decode_mmu_bcr() 746 mmu->ways = 1 << mmu2->ways; in read_decode_mmu_bcr() 747 mmu->u_dtlb = mmu2->u_dtlb; in read_decode_mmu_bcr() 748 mmu->u_itlb = mmu2->u_itlb; in read_decode_mmu_bcr() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/msm/ |
| H A D | msm_mmu.h | 13 void (*detach)(struct msm_mmu *mmu); 14 int (*map)(struct msm_mmu *mmu, uint64_t iova, struct sg_table *sgt, 16 int (*unmap)(struct msm_mmu *mmu, uint64_t iova, size_t len); 17 void (*destroy)(struct msm_mmu *mmu); 34 static inline void msm_mmu_init(struct msm_mmu *mmu, struct device *dev, in msm_mmu_init() argument 37 mmu->dev = dev; in msm_mmu_init() 38 mmu->funcs = funcs; in msm_mmu_init() 39 mmu->type = type; in msm_mmu_init() 45 static inline void msm_mmu_set_fault_handler(struct msm_mmu *mmu, void *arg, in msm_mmu_set_fault_handler() argument 48 mmu->arg = arg; in msm_mmu_set_fault_handler() [all …]
|
| H A D | msm_iommu.c | 27 static struct msm_iommu_pagetable *to_pagetable(struct msm_mmu *mmu) in to_pagetable() argument 29 return container_of(mmu, struct msm_iommu_pagetable, base); in to_pagetable() 32 static int msm_iommu_pagetable_unmap(struct msm_mmu *mmu, u64 iova, in msm_iommu_pagetable_unmap() argument 35 struct msm_iommu_pagetable *pagetable = to_pagetable(mmu); in msm_iommu_pagetable_unmap() 51 static int msm_iommu_pagetable_map(struct msm_mmu *mmu, u64 iova, in msm_iommu_pagetable_map() argument 54 struct msm_iommu_pagetable *pagetable = to_pagetable(mmu); in msm_iommu_pagetable_map() 68 msm_iommu_pagetable_unmap(mmu, iova, mapped); in msm_iommu_pagetable_map() 82 static void msm_iommu_pagetable_destroy(struct msm_mmu *mmu) in msm_iommu_pagetable_destroy() argument 84 struct msm_iommu_pagetable *pagetable = to_pagetable(mmu); in msm_iommu_pagetable_destroy() 100 int msm_iommu_pagetable_params(struct msm_mmu *mmu, in msm_iommu_pagetable_params() argument [all …]
|
| H A D | msm_gem_vma.c | 18 if (aspace->mmu) in msm_gem_address_space_destroy() 19 aspace->mmu->funcs->destroy(aspace->mmu); in msm_gem_address_space_destroy() 54 if (aspace->mmu) in msm_gem_purge_vma() 55 aspace->mmu->funcs->unmap(aspace->mmu, vma->iova, size); in msm_gem_purge_vma() 87 if (aspace && aspace->mmu) in msm_gem_map_vma() 88 ret = aspace->mmu->funcs->map(aspace->mmu, vma->iova, sgt, in msm_gem_map_vma() 143 msm_gem_address_space_create(struct msm_mmu *mmu, const char *name, in msm_gem_address_space_create() argument 148 if (IS_ERR(mmu)) in msm_gem_address_space_create() 149 return ERR_CAST(mmu); in msm_gem_address_space_create() 157 aspace->mmu = mmu; in msm_gem_address_space_create()
|
| H A D | msm_gpummu.c | 24 static void msm_gpummu_detach(struct msm_mmu *mmu) in msm_gpummu_detach() argument 28 static int msm_gpummu_map(struct msm_mmu *mmu, uint64_t iova, in msm_gpummu_map() argument 31 struct msm_gpummu *gpummu = to_msm_gpummu(mmu); in msm_gpummu_map() 56 static int msm_gpummu_unmap(struct msm_mmu *mmu, uint64_t iova, size_t len) in msm_gpummu_unmap() argument 58 struct msm_gpummu *gpummu = to_msm_gpummu(mmu); in msm_gpummu_unmap() 71 static void msm_gpummu_destroy(struct msm_mmu *mmu) in msm_gpummu_destroy() argument 73 struct msm_gpummu *gpummu = to_msm_gpummu(mmu); in msm_gpummu_destroy() 75 dma_free_attrs(mmu->dev, TABLE_SIZE, gpummu->table, gpummu->pt_base, in msm_gpummu_destroy() 109 void msm_gpummu_params(struct msm_mmu *mmu, dma_addr_t *pt_base, in msm_gpummu_params() argument 112 dma_addr_t base = to_msm_gpummu(mmu)->pt_base; in msm_gpummu_params()
|
| /OK3568_Linux_fs/kernel/arch/x86/include/asm/ |
| H A D | paravirt.h | 58 PVOP_VCALL0(mmu.flush_tlb_user); in __flush_tlb_local() 63 PVOP_VCALL0(mmu.flush_tlb_kernel); in __flush_tlb_global() 68 PVOP_VCALL1(mmu.flush_tlb_one_user, addr); in __flush_tlb_one_user() 74 PVOP_VCALL2(mmu.flush_tlb_others, cpumask, info); in __flush_tlb_others() 79 PVOP_VCALL2(mmu.tlb_remove_table, tlb, table); in paravirt_tlb_remove_table() 84 PVOP_VCALL1(mmu.exit_mmap, mm); in paravirt_arch_exit_mmap() 125 return PVOP_CALLEE0(unsigned long, mmu.read_cr2); in read_cr2() 130 PVOP_VCALL1(mmu.write_cr2, x); in write_cr2() 135 return PVOP_CALL0(unsigned long, mmu.read_cr3); in __read_cr3() 140 PVOP_VCALL1(mmu.write_cr3, x); in write_cr3() [all …]
|
| /OK3568_Linux_fs/kernel/arch/arm64/kvm/hyp/nvhe/ |
| H A D | tlb.c | 17 static void __tlb_switch_to_guest(struct kvm_s2_mmu *mmu, in __tlb_switch_to_guest() argument 42 __load_guest_stage2(mmu); in __tlb_switch_to_guest() 58 void __kvm_tlb_flush_vmid_ipa(struct kvm_s2_mmu *mmu, in __kvm_tlb_flush_vmid_ipa() argument 66 __tlb_switch_to_guest(mmu, &cxt); in __kvm_tlb_flush_vmid_ipa() 112 void __kvm_tlb_flush_vmid(struct kvm_s2_mmu *mmu) in __kvm_tlb_flush_vmid() argument 119 __tlb_switch_to_guest(mmu, &cxt); in __kvm_tlb_flush_vmid() 128 void __kvm_flush_cpu_context(struct kvm_s2_mmu *mmu) in __kvm_flush_cpu_context() argument 133 __tlb_switch_to_guest(mmu, &cxt); in __kvm_flush_cpu_context()
|
| /OK3568_Linux_fs/kernel/arch/arm64/include/asm/ |
| H A D | kvm_mmu.h | 160 int kvm_init_stage2_mmu(struct kvm *kvm, struct kvm_s2_mmu *mmu); 161 void kvm_free_stage2_pgd(struct kvm_s2_mmu *mmu); 258 static __always_inline u64 kvm_get_vttbr(struct kvm_s2_mmu *mmu) in kvm_get_vttbr() argument 260 struct kvm_vmid *vmid = &mmu->vmid; in kvm_get_vttbr() 264 baddr = mmu->pgd_phys; in kvm_get_vttbr() 273 static __always_inline void __load_stage2(struct kvm_s2_mmu *mmu, unsigned long vtcr) in __load_stage2() argument 276 write_sysreg(kvm_get_vttbr(mmu), vttbr_el2); in __load_stage2() 286 static __always_inline void __load_guest_stage2(struct kvm_s2_mmu *mmu) in __load_guest_stage2() argument 288 __load_stage2(mmu, kern_hyp_va(mmu->arch)->vtcr); in __load_guest_stage2() 291 static inline struct kvm *kvm_s2_mmu_to_kvm(struct kvm_s2_mmu *mmu) in kvm_s2_mmu_to_kvm() argument [all …]
|
| /OK3568_Linux_fs/kernel/arch/arm64/kvm/ |
| H A D | mmu.c | 51 struct kvm_pgtable *pgt = kvm->arch.mmu.pgt; in stage2_apply_range() 83 kvm_call_hyp(__kvm_tlb_flush_vmid, &kvm->arch.mmu); in kvm_flush_remote_tlbs() 165 static void __unmap_stage2_range(struct kvm_s2_mmu *mmu, phys_addr_t start, u64 size, in __unmap_stage2_range() argument 168 struct kvm *kvm = kvm_s2_mmu_to_kvm(mmu); in __unmap_stage2_range() 177 static void unmap_stage2_range(struct kvm_s2_mmu *mmu, phys_addr_t start, u64 size) in unmap_stage2_range() argument 179 __unmap_stage2_range(mmu, start, size, true); in unmap_stage2_range() 446 int kvm_init_stage2_mmu(struct kvm *kvm, struct kvm_s2_mmu *mmu) in kvm_init_stage2_mmu() argument 451 if (mmu->pgt != NULL) { in kvm_init_stage2_mmu() 464 mmu->last_vcpu_ran = alloc_percpu(typeof(*mmu->last_vcpu_ran)); in kvm_init_stage2_mmu() 465 if (!mmu->last_vcpu_ran) { in kvm_init_stage2_mmu() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/nouveau/include/nvif/ |
| H A D | mmu.h | 39 nvif_mmu_kind_valid(struct nvif_mmu *mmu, u8 kind) in nvif_mmu_kind_valid() argument 42 if (kind >= mmu->kind_nr || mmu->kind[kind] == mmu->kind_inv) in nvif_mmu_kind_valid() 49 nvif_mmu_type(struct nvif_mmu *mmu, u8 mask) in nvif_mmu_type() argument 52 for (i = 0; i < mmu->type_nr; i++) { in nvif_mmu_type() 53 if ((mmu->type[i].type & mask) == mask) in nvif_mmu_type()
|