Home
last modified time | relevance | path

Searched refs:mmu (Results 1 - 25 of 756) sorted by relevance

12345678910>>...31

/kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/nvif/
H A Dmmu.c22 #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 Dmmu.c22 #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 Dipu3-mmu.c21 #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 Dipu3-mmu.c21 #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 Dbase.c42 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 Dummu.c35 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 Dbase.c42 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 Dummu.c35 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 Dipmmu-vmsa.c74 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 Disp_mmu.c41 #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 Disp_mmu.c41 #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 Dipmmu-vmsa.c72 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 Dpanfrost_mmu.c94 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 Dparavirt.c334 .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 Dparavirt.c233 .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 Disp_mmu.h88 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 Disp_mmu.h88 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 Dpanfrost_mmu.c113 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 Dmsm_mmu.h13 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 Dmsm_iommu.c30 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 Dmsm_mmu.h13 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 Dmsm_gem_vma.c18 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 Dtlb.c16 #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 Dtlb.c58 #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 Divpu_mmu.c279 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...]

Completed in 17 milliseconds

12345678910>>...31