/kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/nvif/ |
H A D | mmu.c | 22 #include <nvif/mmu.h> 28 nvif_mmu_dtor(struct nvif_mmu *mmu) in nvif_mmu_dtor() argument 30 if (!nvif_object_constructed(&mmu->object)) in nvif_mmu_dtor() 33 kfree(mmu->kind); in nvif_mmu_dtor() 34 kfree(mmu->type); in nvif_mmu_dtor() 35 kfree(mmu->heap); in nvif_mmu_dtor() 36 nvif_object_dtor(&mmu->object); in nvif_mmu_dtor() 41 struct nvif_mmu *mmu) in nvif_mmu_ctor() 53 mmu->heap = NULL; in nvif_mmu_ctor() 54 mmu in nvif_mmu_ctor() 40 nvif_mmu_ctor(struct nvif_object *parent, const char *name, s32 oclass, struct nvif_mmu *mmu) nvif_mmu_ctor() argument [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvif/ |
H A D | mmu.c | 22 #include <nvif/mmu.h> 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() 50 mmu->heap = NULL; in nvif_mmu_ctor() 51 mmu->type = NULL; in nvif_mmu_ctor() 52 mmu in nvif_mmu_ctor() 37 nvif_mmu_ctor(struct nvif_object *parent, const char *name, s32 oclass, struct nvif_mmu *mmu) nvif_mmu_ctor() argument [all...] |
/kernel/linux/linux-5.10/drivers/staging/media/ipu3/ |
H A D | ipu3-mmu.c | 21 #include "ipu3-mmu.h" 73 * @mmu: MMU to perform the invalidate operation on 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() 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() 95 * @mmu 101 imgu_mmu_set_halt(struct imgu_mmu *mmu, bool halt) imgu_mmu_set_halt() argument 168 imgu_mmu_get_l2pt(struct imgu_mmu *mmu, u32 l1pt_idx) imgu_mmu_get_l2pt() argument 210 __imgu_mmu_map(struct imgu_mmu *mmu, unsigned long iova, phys_addr_t paddr) __imgu_mmu_map() argument 254 struct imgu_mmu *mmu = to_imgu_mmu(info); imgu_mmu_map() local 302 struct imgu_mmu *mmu = to_imgu_mmu(info); imgu_mmu_map_sg() local 338 __imgu_mmu_unmap(struct imgu_mmu *mmu, unsigned long iova, size_t size) __imgu_mmu_unmap() argument 382 struct imgu_mmu *mmu = to_imgu_mmu(info); imgu_mmu_unmap() local 429 struct imgu_mmu *mmu; imgu_mmu_init() local 505 struct imgu_mmu *mmu = to_imgu_mmu(info); imgu_mmu_exit() local 520 struct imgu_mmu *mmu = to_imgu_mmu(info); imgu_mmu_suspend() local 527 struct imgu_mmu *mmu = to_imgu_mmu(info); imgu_mmu_resume() local [all...] |
/kernel/linux/linux-6.6/drivers/staging/media/ipu3/ |
H A D | ipu3-mmu.c | 21 #include "ipu3-mmu.h" 73 * @mmu: MMU to perform the invalidate operation on 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() 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() 95 * @mmu 101 imgu_mmu_set_halt(struct imgu_mmu *mmu, bool halt) imgu_mmu_set_halt() argument 168 imgu_mmu_get_l2pt(struct imgu_mmu *mmu, u32 l1pt_idx) imgu_mmu_get_l2pt() argument 210 __imgu_mmu_map(struct imgu_mmu *mmu, unsigned long iova, phys_addr_t paddr) __imgu_mmu_map() argument 254 struct imgu_mmu *mmu = to_imgu_mmu(info); imgu_mmu_map() local 302 struct imgu_mmu *mmu = to_imgu_mmu(info); imgu_mmu_map_sg() local 338 __imgu_mmu_unmap(struct imgu_mmu *mmu, unsigned long iova, size_t size) __imgu_mmu_unmap() argument 382 struct imgu_mmu *mmu = to_imgu_mmu(info); imgu_mmu_unmap() local 429 struct imgu_mmu *mmu; imgu_mmu_init() local 505 struct imgu_mmu *mmu = to_imgu_mmu(info); imgu_mmu_exit() local 520 struct imgu_mmu *mmu = to_imgu_mmu(info); imgu_mmu_suspend() local 527 struct imgu_mmu *mmu = to_imgu_mmu(info); imgu_mmu_resume() local [all...] |
/kernel/linux/linux-6.6/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 in nvkm_mmu_ptc_find() 141 nvkm_mmu_ptc_put(struct nvkm_mmu *mmu, bool force, struct nvkm_mmu_pt **ppt) nvkm_mmu_ptc_put() argument 167 nvkm_mmu_ptc_get(struct nvkm_mmu *mmu, u32 size, u32 align, bool zero) nvkm_mmu_ptc_get() argument 220 nvkm_mmu_ptc_dump(struct nvkm_mmu *mmu) nvkm_mmu_ptc_dump() argument 234 nvkm_mmu_ptc_fini(struct nvkm_mmu *mmu) nvkm_mmu_ptc_fini() argument 246 nvkm_mmu_ptc_init(struct nvkm_mmu *mmu) nvkm_mmu_ptc_init() argument 255 nvkm_mmu_type(struct nvkm_mmu *mmu, int heap, u8 type) nvkm_mmu_type() argument 265 nvkm_mmu_heap(struct nvkm_mmu *mmu, u8 type, u64 size) nvkm_mmu_heap() argument 278 nvkm_mmu_host(struct nvkm_mmu *mmu) nvkm_mmu_host() argument 315 nvkm_mmu_vram(struct nvkm_mmu *mmu) nvkm_mmu_vram() argument 370 struct nvkm_mmu *mmu = nvkm_mmu(subdev); nvkm_mmu_oneinit() local 391 struct nvkm_mmu *mmu = nvkm_mmu(subdev); nvkm_mmu_init() local 400 struct nvkm_mmu *mmu = nvkm_mmu(subdev); nvkm_mmu_dtor() local 417 nvkm_mmu_ctor(const struct nvkm_mmu_func *func, struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_mmu *mmu) nvkm_mmu_ctor() argument [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) { 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 in nvkm_ummu_heap() 79 struct nvkm_mmu *mmu = ummu->mmu; nvkm_ummu_type() local 108 struct nvkm_mmu *mmu = ummu->mmu; nvkm_ummu_kind() local 159 struct nvkm_mmu *mmu = device->mmu; nvkm_ummu_new() local [all...] |
/kernel/linux/linux-5.10/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 in nvkm_mmu_ptc_find() 141 nvkm_mmu_ptc_put(struct nvkm_mmu *mmu, bool force, struct nvkm_mmu_pt **ppt) nvkm_mmu_ptc_put() argument 167 nvkm_mmu_ptc_get(struct nvkm_mmu *mmu, u32 size, u32 align, bool zero) nvkm_mmu_ptc_get() argument 220 nvkm_mmu_ptc_dump(struct nvkm_mmu *mmu) nvkm_mmu_ptc_dump() argument 234 nvkm_mmu_ptc_fini(struct nvkm_mmu *mmu) nvkm_mmu_ptc_fini() argument 246 nvkm_mmu_ptc_init(struct nvkm_mmu *mmu) nvkm_mmu_ptc_init() argument 255 nvkm_mmu_type(struct nvkm_mmu *mmu, int heap, u8 type) nvkm_mmu_type() argument 265 nvkm_mmu_heap(struct nvkm_mmu *mmu, u8 type, u64 size) nvkm_mmu_heap() argument 278 nvkm_mmu_host(struct nvkm_mmu *mmu) nvkm_mmu_host() argument 315 nvkm_mmu_vram(struct nvkm_mmu *mmu) nvkm_mmu_vram() argument 370 struct nvkm_mmu *mmu = nvkm_mmu(subdev); nvkm_mmu_oneinit() local 391 struct nvkm_mmu *mmu = nvkm_mmu(subdev); nvkm_mmu_init() local 400 struct nvkm_mmu *mmu = nvkm_mmu(subdev); nvkm_mmu_dtor() local 416 nvkm_mmu_ctor(const struct nvkm_mmu_func *func, struct nvkm_device *device, int index, struct nvkm_mmu *mmu) nvkm_mmu_ctor() argument [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 in nvkm_ummu_heap() 79 struct nvkm_mmu *mmu = ummu->mmu; nvkm_ummu_type() local 108 struct nvkm_mmu *mmu = ummu->mmu; nvkm_ummu_kind() local 159 struct nvkm_mmu *mmu = device->mmu; nvkm_ummu_new() local [all...] |
/kernel/linux/linux-5.10/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, unsigne argument 191 ipmmu_ctx_reg(struct ipmmu_vmsa_device *mmu, unsigned int context_id, unsigned int reg) ipmmu_ctx_reg() argument 198 ipmmu_ctx_read(struct ipmmu_vmsa_device *mmu, unsigned int context_id, unsigned int reg) ipmmu_ctx_read() argument 204 ipmmu_ctx_write(struct ipmmu_vmsa_device *mmu, unsigned int context_id, unsigned int reg, u32 data) ipmmu_ctx_write() argument 231 ipmmu_utlb_reg(struct ipmmu_vmsa_device *mmu, unsigned int reg) ipmmu_utlb_reg() argument 236 ipmmu_imuasid_write(struct ipmmu_vmsa_device *mmu, unsigned int utlb, u32 data) ipmmu_imuasid_write() argument 242 ipmmu_imuctr_write(struct ipmmu_vmsa_device *mmu, unsigned int utlb, u32 data) ipmmu_imuctr_write() argument 285 struct ipmmu_vmsa_device *mmu = domain->mmu; ipmmu_utlb_enable() local 306 struct ipmmu_vmsa_device *mmu = domain->mmu; ipmmu_utlb_disable() local 335 ipmmu_domain_allocate_context(struct ipmmu_vmsa_device *mmu, struct ipmmu_vmsa_domain *domain) ipmmu_domain_allocate_context() argument 355 ipmmu_domain_free_context(struct ipmmu_vmsa_device *mmu, unsigned int context_id) ipmmu_domain_free_context() argument 494 struct ipmmu_vmsa_device *mmu = domain->mmu; ipmmu_domain_irq() local 543 struct ipmmu_vmsa_device *mmu = dev; ipmmu_irq() local 621 struct ipmmu_vmsa_device *mmu = to_ipmmu(dev); ipmmu_attach_device() local 810 struct ipmmu_vmsa_device *mmu = to_ipmmu(dev); ipmmu_init_arm_mapping() local 854 struct ipmmu_vmsa_device *mmu = to_ipmmu(dev); ipmmu_probe_device() local 883 struct ipmmu_vmsa_device *mmu = to_ipmmu(dev); ipmmu_find_group() local 919 ipmmu_device_reset(struct ipmmu_vmsa_device *mmu) ipmmu_device_reset() argument 1000 struct ipmmu_vmsa_device *mmu; ipmmu_probe() local 1118 struct ipmmu_vmsa_device *mmu = platform_get_drvdata(pdev); ipmmu_remove() local 1133 struct ipmmu_vmsa_device *mmu = dev_get_drvdata(dev); ipmmu_resume_noirq() local [all...] |
/kernel/linux/linux-5.10/drivers/staging/media/atomisp/pci/mmu/ |
H A D | isp_mmu.c | 41 #include "mmu/isp_mmu.h" 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 125 free_page_table(struct isp_mmu *mmu, phys_addr_t page) free_page_table() argument 142 mmu_remap_error(struct isp_mmu *mmu, phys_addr_t l1_pt, unsigned int l1_idx, phys_addr_t l2_pt, unsigned int l2_idx, unsigned int isp_virt, phys_addr_t old_phys, phys_addr_t new_phys) mmu_remap_error() argument 161 mmu_unmap_l2_pte_error(struct isp_mmu *mmu, phys_addr_t l1_pt, unsigned int l1_idx, phys_addr_t l2_pt, unsigned int l2_idx, unsigned int isp_virt, unsigned int pte) mmu_unmap_l2_pte_error() argument 177 mmu_unmap_l1_pte_error(struct isp_mmu *mmu, phys_addr_t l1_pt, unsigned int l1_idx, unsigned int isp_virt, unsigned int pte) mmu_unmap_l1_pte_error() argument 189 mmu_unmap_l1_pt_error(struct isp_mmu *mmu, unsigned int pte) mmu_unmap_l1_pt_error() argument 199 mmu_l2_map(struct isp_mmu *mmu, phys_addr_t l1_pt, unsigned int l1_idx, phys_addr_t l2_pt, unsigned int start, unsigned int end, phys_addr_t phys) mmu_l2_map() argument 244 mmu_l1_map(struct isp_mmu *mmu, phys_addr_t l1_pt, unsigned int start, unsigned int end, phys_addr_t phys) mmu_l1_map() argument 317 mmu_map(struct isp_mmu *mmu, unsigned int isp_virt, phys_addr_t phys, unsigned int pgnr) mmu_map() argument 363 mmu_l2_unmap(struct isp_mmu *mmu, phys_addr_t l1_pt, unsigned int l1_idx, phys_addr_t l2_pt, unsigned int start, unsigned int end) mmu_l2_unmap() argument 401 mmu_l1_unmap(struct isp_mmu *mmu, phys_addr_t l1_pt, unsigned int start, unsigned int end) mmu_l1_unmap() argument 448 mmu_unmap(struct isp_mmu *mmu, unsigned int isp_virt, unsigned int pgnr) mmu_unmap() argument 474 free_mmu_map(struct isp_mmu *mmu, unsigned int start_isp_virt, unsigned int end_isp_virt) free_mmu_map() argument 486 isp_mmu_map(struct isp_mmu *mmu, unsigned int isp_virt, phys_addr_t phys, unsigned int pgnr) isp_mmu_map() argument 492 isp_mmu_unmap(struct isp_mmu *mmu, unsigned int isp_virt, unsigned int pgnr) isp_mmu_unmap() argument 498 isp_mmu_flush_tlb_range_default(struct isp_mmu *mmu, unsigned int start, unsigned int size) isp_mmu_flush_tlb_range_default() argument 506 isp_mmu_init(struct isp_mmu *mmu, struct isp_mmu_client *driver) isp_mmu_init() argument 539 isp_mmu_exit(struct isp_mmu *mmu) isp_mmu_exit() argument [all...] |
/kernel/linux/linux-6.6/drivers/staging/media/atomisp/pci/mmu/ |
H A D | isp_mmu.c | 41 #include "mmu/isp_mmu.h" 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 125 free_page_table(struct isp_mmu *mmu, phys_addr_t page) free_page_table() argument 142 mmu_remap_error(struct isp_mmu *mmu, phys_addr_t l1_pt, unsigned int l1_idx, phys_addr_t l2_pt, unsigned int l2_idx, unsigned int isp_virt, phys_addr_t old_phys, phys_addr_t new_phys) mmu_remap_error() argument 161 mmu_unmap_l2_pte_error(struct isp_mmu *mmu, phys_addr_t l1_pt, unsigned int l1_idx, phys_addr_t l2_pt, unsigned int l2_idx, unsigned int isp_virt, unsigned int pte) mmu_unmap_l2_pte_error() argument 177 mmu_unmap_l1_pte_error(struct isp_mmu *mmu, phys_addr_t l1_pt, unsigned int l1_idx, unsigned int isp_virt, unsigned int pte) mmu_unmap_l1_pte_error() argument 189 mmu_unmap_l1_pt_error(struct isp_mmu *mmu, unsigned int pte) mmu_unmap_l1_pt_error() argument 199 mmu_l2_map(struct isp_mmu *mmu, phys_addr_t l1_pt, unsigned int l1_idx, phys_addr_t l2_pt, unsigned int start, unsigned int end, phys_addr_t phys) mmu_l2_map() argument 244 mmu_l1_map(struct isp_mmu *mmu, phys_addr_t l1_pt, unsigned int start, unsigned int end, phys_addr_t phys) mmu_l1_map() argument 317 mmu_map(struct isp_mmu *mmu, unsigned int isp_virt, phys_addr_t phys, unsigned int pgnr) mmu_map() argument 363 mmu_l2_unmap(struct isp_mmu *mmu, phys_addr_t l1_pt, unsigned int l1_idx, phys_addr_t l2_pt, unsigned int start, unsigned int end) mmu_l2_unmap() argument 401 mmu_l1_unmap(struct isp_mmu *mmu, phys_addr_t l1_pt, unsigned int start, unsigned int end) mmu_l1_unmap() argument 448 mmu_unmap(struct isp_mmu *mmu, unsigned int isp_virt, unsigned int pgnr) mmu_unmap() argument 474 free_mmu_map(struct isp_mmu *mmu, unsigned int start_isp_virt, unsigned int end_isp_virt) free_mmu_map() argument 486 isp_mmu_map(struct isp_mmu *mmu, unsigned int isp_virt, phys_addr_t phys, unsigned int pgnr) isp_mmu_map() argument 492 isp_mmu_unmap(struct isp_mmu *mmu, unsigned int isp_virt, unsigned int pgnr) isp_mmu_unmap() argument 498 isp_mmu_flush_tlb_range_default(struct isp_mmu *mmu, unsigned int start, unsigned int size) isp_mmu_flush_tlb_range_default() argument 506 isp_mmu_init(struct isp_mmu *mmu, struct isp_mmu_client *driver) isp_mmu_init() argument 539 isp_mmu_exit(struct isp_mmu *mmu) isp_mmu_exit() argument [all...] |
/kernel/linux/linux-6.6/drivers/iommu/ |
H A D | ipmmu-vmsa.c | 72 struct ipmmu_vmsa_device *mmu; member 150 static bool ipmmu_is_root(struct ipmmu_vmsa_device *mmu) in ipmmu_is_root() argument 152 return mmu->root == mmu; in ipmmu_is_root() 157 struct ipmmu_vmsa_device *mmu = dev_get_drvdata(dev); in __ipmmu_check_device() local 160 if (ipmmu_is_root(mmu)) in __ipmmu_check_device() 161 *rootp = mmu; in __ipmmu_check_device() 178 static u32 ipmmu_read(struct ipmmu_vmsa_device *mmu, unsigned int offset) in ipmmu_read() argument 180 return ioread32(mmu->base + offset); in ipmmu_read() 183 static void ipmmu_write(struct ipmmu_vmsa_device *mmu, unsigne argument 189 ipmmu_ctx_reg(struct ipmmu_vmsa_device *mmu, unsigned int context_id, unsigned int reg) ipmmu_ctx_reg() argument 200 ipmmu_ctx_read(struct ipmmu_vmsa_device *mmu, unsigned int context_id, unsigned int reg) ipmmu_ctx_read() argument 206 ipmmu_ctx_write(struct ipmmu_vmsa_device *mmu, unsigned int context_id, unsigned int reg, u32 data) ipmmu_ctx_write() argument 233 ipmmu_utlb_reg(struct ipmmu_vmsa_device *mmu, unsigned int reg) ipmmu_utlb_reg() argument 238 ipmmu_imuasid_write(struct ipmmu_vmsa_device *mmu, unsigned int utlb, u32 data) ipmmu_imuasid_write() argument 244 ipmmu_imuctr_write(struct ipmmu_vmsa_device *mmu, unsigned int utlb, u32 data) ipmmu_imuctr_write() argument 283 struct ipmmu_vmsa_device *mmu = domain->mmu; ipmmu_utlb_enable() local 320 ipmmu_domain_allocate_context(struct ipmmu_vmsa_device *mmu, struct ipmmu_vmsa_domain *domain) ipmmu_domain_allocate_context() argument 340 ipmmu_domain_free_context(struct ipmmu_vmsa_device *mmu, unsigned int context_id) ipmmu_domain_free_context() argument 479 struct ipmmu_vmsa_device *mmu = domain->mmu; ipmmu_domain_irq() local 528 struct ipmmu_vmsa_device *mmu = dev; ipmmu_irq() local 587 struct ipmmu_vmsa_device *mmu = to_ipmmu(dev); ipmmu_attach_device() local 754 struct ipmmu_vmsa_device *mmu = to_ipmmu(dev); ipmmu_init_arm_mapping() local 798 struct ipmmu_vmsa_device *mmu = to_ipmmu(dev); ipmmu_probe_device() local 823 struct ipmmu_vmsa_device *mmu = to_ipmmu(dev); ipmmu_release_device() local 838 struct ipmmu_vmsa_device *mmu = to_ipmmu(dev); ipmmu_find_group() local 875 ipmmu_device_reset(struct ipmmu_vmsa_device *mmu) ipmmu_device_reset() argument 979 struct ipmmu_vmsa_device *mmu; ipmmu_probe() local 1088 struct ipmmu_vmsa_device *mmu = platform_get_drvdata(pdev); ipmmu_remove() local 1101 struct ipmmu_vmsa_device *mmu = dev_get_drvdata(dev); ipmmu_resume_noirq() local [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/panfrost/ |
H A D | panfrost_mmu.c | 94 struct panfrost_mmu *mmu, in mmu_hw_do_operation() 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 in panfrost_mmu_as_get() 93 mmu_hw_do_operation(struct panfrost_device *pfdev, struct panfrost_mmu *mmu, u64 iova, u64 size, u32 op) mmu_hw_do_operation() argument 192 panfrost_mmu_as_put(struct panfrost_device *pfdev, struct panfrost_mmu *mmu) panfrost_mmu_as_put() argument 200 struct panfrost_mmu *mmu, *mmu_tmp; panfrost_mmu_reset() local 226 panfrost_mmu_flush_range(struct panfrost_device *pfdev, struct panfrost_mmu *mmu, u64 iova, u64 size) panfrost_mmu_flush_range() argument 242 mmu_map_sg(struct panfrost_device *pfdev, struct panfrost_mmu *mmu, u64 iova, int prot, struct sg_table *sgt) mmu_map_sg() argument 362 struct panfrost_mmu *mmu; addr_to_mapping() local 501 struct panfrost_mmu *mmu = container_of(kref, struct panfrost_mmu, panfrost_mmu_release_ctx() local 523 panfrost_mmu_ctx_put(struct panfrost_mmu *mmu) panfrost_mmu_ctx_put() argument 528 panfrost_mmu_ctx_get(struct panfrost_mmu *mmu) panfrost_mmu_ctx_get() argument 563 struct panfrost_mmu *mmu; panfrost_mmu_ctx_create() local [all...] |
/kernel/linux/linux-5.10/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 [all...] |
/kernel/linux/linux-6.6/arch/x86/kernel/ |
H A D | paravirt.c | 233 .mmu.flush_tlb_user = native_flush_tlb_local, 234 .mmu.flush_tlb_kernel = native_flush_tlb_global, 235 .mmu.flush_tlb_one_user = native_flush_tlb_one_user, 236 .mmu.flush_tlb_multi = native_flush_tlb_multi, 237 .mmu.tlb_remove_table = native_tlb_remove_table, 239 .mmu.exit_mmap = paravirt_nop, 240 .mmu.notify_page_enc_status_changed = paravirt_nop, 243 .mmu.read_cr2 = __PV_IS_CALLEE_SAVE(pv_native_read_cr2), 244 .mmu.write_cr2 = pv_native_write_cr2, 245 .mmu [all...] |
/kernel/linux/linux-5.10/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) \ 121 ((mmu)->driver->pte_valid_mask) 123 #define ISP_PTE_VALID(mmu, pte) \ 124 ((pte) & ISP_PTE_VALID_MASK(mmu)) 130 * init mmu wit 154 isp_mmu_flush_tlb_all(struct isp_mmu *mmu) isp_mmu_flush_tlb_all() argument 162 isp_mmu_flush_tlb_range(struct isp_mmu *mmu, unsigned int start, unsigned int size) isp_mmu_flush_tlb_range() argument [all...] |
/kernel/linux/linux-6.6/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) \ 121 ((mmu)->driver->pte_valid_mask) 123 #define ISP_PTE_VALID(mmu, pte) \ 124 ((pte) & ISP_PTE_VALID_MASK(mmu)) 130 * init mmu wit 154 isp_mmu_flush_tlb_all(struct isp_mmu *mmu) isp_mmu_flush_tlb_all() argument 162 isp_mmu_flush_tlb_range(struct isp_mmu *mmu, unsigned int start, unsigned int size) isp_mmu_flush_tlb_range() argument [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/panfrost/ |
H A D | panfrost_mmu.c | 113 struct panfrost_mmu *mmu, in mmu_hw_do_operation() 119 ret = mmu_hw_do_operation_locked(pfdev, mmu->as, iova, size, op); in mmu_hw_do_operation() 124 static void panfrost_mmu_enable(struct panfrost_device *pfdev, struct panfrost_mmu *mmu) in panfrost_mmu_enable() argument 126 int as_nr = mmu->as; in panfrost_mmu_enable() 127 struct io_pgtable_cfg *cfg = &mmu->pgtbl_cfg; in panfrost_mmu_enable() 158 u32 panfrost_mmu_as_get(struct panfrost_device *pfdev, struct panfrost_mmu *mmu) in panfrost_mmu_as_get() argument 164 as = mmu->as; in panfrost_mmu_as_get() 166 int en = atomic_inc_return(&mmu->as_count); in panfrost_mmu_as_get() 175 list_move(&mmu->list, &pfdev->as_lru_list); in panfrost_mmu_as_get() 185 panfrost_mmu_enable(pfdev, mmu); in panfrost_mmu_as_get() 112 mmu_hw_do_operation(struct panfrost_device *pfdev, struct panfrost_mmu *mmu, u64 iova, u64 size, u32 op) mmu_hw_do_operation() argument 224 panfrost_mmu_as_put(struct panfrost_device *pfdev, struct panfrost_mmu *mmu) panfrost_mmu_as_put() argument 232 struct panfrost_mmu *mmu, *mmu_tmp; panfrost_mmu_reset() local 272 panfrost_mmu_flush_range(struct panfrost_device *pfdev, struct panfrost_mmu *mmu, u64 iova, u64 size) panfrost_mmu_flush_range() argument 288 mmu_map_sg(struct panfrost_device *pfdev, struct panfrost_mmu *mmu, u64 iova, int prot, struct sg_table *sgt) mmu_map_sg() argument 408 struct panfrost_mmu *mmu; addr_to_mapping() local 548 struct panfrost_mmu *mmu = container_of(kref, struct panfrost_mmu, panfrost_mmu_release_ctx() local 570 panfrost_mmu_ctx_put(struct panfrost_mmu *mmu) panfrost_mmu_ctx_put() argument 575 panfrost_mmu_ctx_get(struct panfrost_mmu *mmu) panfrost_mmu_ctx_get() argument 610 struct panfrost_mmu *mmu; panfrost_mmu_ctx_create() local [all...] |
/kernel/linux/linux-6.6/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); 18 void (*resume_translation)(struct msm_mmu *mmu); 35 static inline void msm_mmu_init(struct msm_mmu *mmu, struct device *dev, in msm_mmu_init() argument 38 mmu->dev = dev; in msm_mmu_init() 39 mmu->funcs = funcs; in msm_mmu_init() 40 mmu->type = type; in msm_mmu_init() 47 static inline void msm_mmu_set_fault_handler(struct msm_mmu *mmu, voi argument [all...] |
H A D | msm_iommu.c | 30 static struct msm_iommu_pagetable *to_pagetable(struct msm_mmu *mmu) in to_pagetable() argument 32 return container_of(mmu, struct msm_iommu_pagetable, base); in to_pagetable() 91 static int msm_iommu_pagetable_unmap(struct msm_mmu *mmu, u64 iova, in msm_iommu_pagetable_unmap() argument 94 struct msm_iommu_pagetable *pagetable = to_pagetable(mmu); in msm_iommu_pagetable_unmap() 115 static int msm_iommu_pagetable_map(struct msm_mmu *mmu, u64 iova, in msm_iommu_pagetable_map() argument 118 struct msm_iommu_pagetable *pagetable = to_pagetable(mmu); in msm_iommu_pagetable_map() 145 msm_iommu_pagetable_unmap(mmu, iova, addr - iova); in msm_iommu_pagetable_map() 154 static void msm_iommu_pagetable_destroy(struct msm_mmu *mmu) in msm_iommu_pagetable_destroy() argument 156 struct msm_iommu_pagetable *pagetable = to_pagetable(mmu); in msm_iommu_pagetable_destroy() 172 int msm_iommu_pagetable_params(struct msm_mmu *mmu, in msm_iommu_pagetable_params() argument 191 msm_iommu_get_geometry(struct msm_mmu *mmu) msm_iommu_get_geometry() argument 326 struct msm_mmu *mmu = &iommu->base; msm_fault_handler() local 346 msm_iommu_resume_translation(struct msm_mmu *mmu) msm_iommu_resume_translation() argument 354 msm_iommu_detach(struct msm_mmu *mmu) msm_iommu_detach() argument 361 msm_iommu_map(struct msm_mmu *mmu, uint64_t iova, struct sg_table *sgt, size_t len, int prot) msm_iommu_map() argument 377 msm_iommu_unmap(struct msm_mmu *mmu, uint64_t iova, size_t len) msm_iommu_unmap() argument 389 msm_iommu_destroy(struct msm_mmu *mmu) msm_iommu_destroy() argument 441 struct msm_mmu *mmu; msm_iommu_gpu_new() local [all...] |
/kernel/linux/linux-5.10/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 in msm_mmu_set_fault_handler() [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, cons argument [all...] |
/kernel/linux/linux-6.6/arch/arc/mm/ |
H A D | tlb.c | 16 #include <asm/mmu.h> 136 struct cpuinfo_arc_mmu *mmu = &mmuinfo; in local_flush_tlb_all() local 139 int num_tlb = mmu->sets * mmu->ways; in local_flush_tlb_all() 571 struct cpuinfo_arc_mmu *mmu = &mmuinfo; in arc_mmu_mumbojumbo() local 579 mmu->ver = (bcr >> 24); in arc_mmu_mumbojumbo() 581 if (is_isa_arcompact() && mmu->ver == 3) { in arc_mmu_mumbojumbo() 583 mmu->pg_sz_k = 1 << (mmu3->pg_sz - 1); in arc_mmu_mumbojumbo() 584 mmu->sets = 1 << mmu3->sets; in arc_mmu_mumbojumbo() 585 mmu in arc_mmu_mumbojumbo() 624 struct cpuinfo_arc_mmu *mmu = &mmuinfo; arc_mmu_init() local 703 struct cpuinfo_arc_mmu *mmu = &mmuinfo; do_tlb_overlap_fault() local [all...] |
/kernel/linux/linux-5.10/arch/arc/mm/ |
H A D | tlb.c | 58 #include <asm/mmu.h> 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 in read_decode_mmu_bcr() 799 struct cpuinfo_arc_mmu *mmu = &cpuinfo_arc700[smp_processor_id()].mmu; arc_mmu_init() local 889 struct cpuinfo_arc_mmu *mmu = &cpuinfo_arc700[smp_processor_id()].mmu; do_tlb_overlap_fault() local [all...] |
/kernel/linux/linux-6.6/drivers/accel/ivpu/ |
H A D | ivpu_mmu.c | 279 struct ivpu_mmu_info *mmu = vdev->mmu; in ivpu_mmu_cdtab_alloc() local 280 struct ivpu_mmu_cdtab *cdtab = &mmu->cdtab; in ivpu_mmu_cdtab_alloc() 294 struct ivpu_mmu_info *mmu = vdev->mmu; in ivpu_mmu_strtab_alloc() local 295 struct ivpu_mmu_strtab *strtab = &mmu->strtab; in ivpu_mmu_strtab_alloc() 314 struct ivpu_mmu_info *mmu = vdev->mmu; in ivpu_mmu_cmdq_alloc() local 315 struct ivpu_mmu_queue *q = &mmu->cmdq; in ivpu_mmu_cmdq_alloc() 333 struct ivpu_mmu_info *mmu in ivpu_mmu_evtq_alloc() local 484 struct ivpu_mmu_info *mmu = vdev->mmu; ivpu_mmu_reset() local 557 struct ivpu_mmu_info *mmu = vdev->mmu; ivpu_mmu_strtab_link_cd() local 598 struct ivpu_mmu_info *mmu = vdev->mmu; ivpu_mmu_invalidate_tlb() local 617 struct ivpu_mmu_info *mmu = vdev->mmu; ivpu_mmu_cd_add() local 705 struct ivpu_mmu_info *mmu = vdev->mmu; ivpu_mmu_init() local 742 struct ivpu_mmu_info *mmu = vdev->mmu; ivpu_mmu_enable() local 778 struct ivpu_mmu_info *mmu = vdev->mmu; ivpu_mmu_disable() local [all...] |