Home
last modified time | relevance | path

Searched refs:iopte (Results 1 - 14 of 14) sorted by relevance

/kernel/linux/linux-5.10/arch/sparc/mm/
H A Diommu.c48 static unsigned int ioperm_noc; /* Consistent mapping iopte flags */
157 static void iommu_flush_iotlb(iopte_t *iopte, unsigned int niopte) in iommu_flush_iotlb() argument
162 start = (unsigned long)iopte; in iommu_flush_iotlb()
192 iopte_t *iopte, *iopte0; in __sbus_iommu_map_page() local
220 iopte = iopte0; in __sbus_iommu_map_page()
222 iopte_val(*iopte) = MKIOPTE(pfn, IOPERM); in __sbus_iommu_map_page()
225 iopte++; in __sbus_iommu_map_page()
317 iopte_t *iopte = iommu->page_table; in sbus_iommu_alloc() local
344 iopte += ioptex; in sbus_iommu_alloc()
345 first = iopte; in sbus_iommu_alloc()
398 iopte_t *iopte = iommu->page_table; sbus_iommu_free() local
[all...]
H A Dio-unit.c100 iopte_t iopte; in iounit_get_area() local
126 panic("iounit_get_area: Couldn't find free iopte slots for (%08lx,%d)\n", vaddr, size); in iounit_get_area()
134 iopte = MKIOPTE(__pa(vaddr & PAGE_MASK)); in iounit_get_area()
136 for (k = 0; k < npages; k++, iopte = __iopte(iopte_val(iopte) + 0x100), scan++) { in iounit_get_area()
138 sbus_writel(iopte_val(iopte), &iounit->page_table[scan]); in iounit_get_area()
221 iopte_t __iomem *iopte; in iounit_alloc() local
253 iopte = iounit->page_table + i; in iounit_alloc()
254 sbus_writel(iopte_val(MKIOPTE(__pa(page))), iopte); in iounit_alloc()
/kernel/linux/linux-6.6/arch/sparc/mm/
H A Diommu.c49 static unsigned int ioperm_noc; /* Consistent mapping iopte flags */
158 static void iommu_flush_iotlb(iopte_t *iopte, unsigned int niopte) in iommu_flush_iotlb() argument
163 start = (unsigned long)iopte; in iommu_flush_iotlb()
193 iopte_t *iopte, *iopte0; in __sbus_iommu_map_page() local
221 iopte = iopte0; in __sbus_iommu_map_page()
223 iopte_val(*iopte) = MKIOPTE(pfn, IOPERM); in __sbus_iommu_map_page()
226 iopte++; in __sbus_iommu_map_page()
318 iopte_t *iopte = iommu->page_table; in sbus_iommu_alloc() local
345 iopte += ioptex; in sbus_iommu_alloc()
346 first = iopte; in sbus_iommu_alloc()
399 iopte_t *iopte = iommu->page_table; sbus_iommu_free() local
[all...]
H A Dio-unit.c101 iopte_t iopte; in iounit_get_area() local
127 panic("iounit_get_area: Couldn't find free iopte slots for (%08lx,%d)\n", vaddr, size); in iounit_get_area()
135 iopte = MKIOPTE(__pa(vaddr & PAGE_MASK)); in iounit_get_area()
137 for (k = 0; k < npages; k++, iopte = __iopte(iopte_val(iopte) + 0x100), scan++) { in iounit_get_area()
139 sbus_writel(iopte_val(iopte), &iounit->page_table[scan]); in iounit_get_area()
222 iopte_t __iomem *iopte; in iounit_alloc() local
254 iopte = iounit->page_table + i; in iounit_alloc()
255 sbus_writel(iopte_val(MKIOPTE(__pa(page))), iopte); in iounit_alloc()
/kernel/linux/linux-5.10/drivers/iommu/
H A Domap-iommu.c469 static void iopte_free(struct omap_iommu *obj, u32 *iopte, bool dma_valid) in iopte_free() argument
473 /* Note: freed iopte's must be clean ready for re-use */ in iopte_free()
474 if (iopte) { in iopte_free()
476 pt_dma = virt_to_phys(iopte); in iopte_free()
481 kmem_cache_free(iopte_cachep, iopte); in iopte_free()
488 u32 *iopte; in iopte_alloc() local
499 iopte = kmem_cache_zalloc(iopte_cachep, GFP_KERNEL); in iopte_alloc()
503 if (!iopte) in iopte_alloc()
506 *pt_dma = dma_map_single(obj->dev, iopte, IOPTE_TABLE_SIZE, in iopte_alloc()
510 iopte_free(obj, iopte, fals in iopte_alloc()
583 u32 *iopte = iopte_alloc(obj, iopgd, &pt_dma, da); iopte_alloc_page() local
602 u32 *iopte = iopte_alloc(obj, iopgd, &pt_dma, da); iopte_alloc_large() local
688 u32 *iopgd, *iopte = NULL; iopgtable_lookup_entry() local
715 u32 *iopte = iopte_offset(iopgd, da); iopgtable_clear_entry_core() local
808 u32 *iopgd, *iopte; iommu_fault_handler() local
[all...]
H A Domap-iommu-debug.c184 u32 *iopgd, *iopte; in dump_ioptable() local
200 iopte = iopte_offset(iopgd, 0); in dump_ioptable()
201 for (j = 0; j < PTRS_PER_IOPTE; j++, iopte++) { in dump_ioptable()
202 if (!*iopte) in dump_ioptable()
206 seq_printf(s, "2: 0x%08x 0x%08x\n", da, *iopte); in dump_ioptable()
/kernel/linux/linux-6.6/drivers/iommu/
H A Domap-iommu.c468 static void iopte_free(struct omap_iommu *obj, u32 *iopte, bool dma_valid) in iopte_free() argument
472 /* Note: freed iopte's must be clean ready for re-use */ in iopte_free()
473 if (iopte) { in iopte_free()
475 pt_dma = virt_to_phys(iopte); in iopte_free()
480 kmem_cache_free(iopte_cachep, iopte); in iopte_free()
487 u32 *iopte; in iopte_alloc() local
498 iopte = kmem_cache_zalloc(iopte_cachep, GFP_KERNEL); in iopte_alloc()
502 if (!iopte) in iopte_alloc()
505 *pt_dma = dma_map_single(obj->dev, iopte, IOPTE_TABLE_SIZE, in iopte_alloc()
509 iopte_free(obj, iopte, fals in iopte_alloc()
582 u32 *iopte = iopte_alloc(obj, iopgd, &pt_dma, da); iopte_alloc_page() local
601 u32 *iopte = iopte_alloc(obj, iopgd, &pt_dma, da); iopte_alloc_large() local
687 u32 *iopgd, *iopte = NULL; iopgtable_lookup_entry() local
714 u32 *iopte = iopte_offset(iopgd, da); iopgtable_clear_entry_core() local
807 u32 *iopgd, *iopte; iommu_fault_handler() local
[all...]
H A Domap-iommu-debug.c184 u32 *iopgd, *iopte; in dump_ioptable() local
200 iopte = iopte_offset(iopgd, 0); in dump_ioptable()
201 for (j = 0; j < PTRS_PER_IOPTE; j++, iopte++) { in dump_ioptable()
202 if (!*iopte) in dump_ioptable()
206 seq_printf(s, "2: 0x%08x 0x%08x\n", da, *iopte); in dump_ioptable()
/kernel/linux/linux-5.10/arch/sparc/kernel/
H A Diommu.c80 #define IOPTE_IS_DUMMY(iommu, iopte) \
81 ((iopte_val(*iopte) & IOPTE_PAGE) == (iommu)->dummy_page_pa)
83 static inline void iopte_make_dummy(struct iommu *iommu, iopte_t *iopte) in iopte_make_dummy() argument
85 unsigned long val = iopte_val(*iopte); in iopte_make_dummy()
90 iopte_val(*iopte) = val; in iopte_make_dummy()
205 iopte_t *iopte; in dma_4u_alloc_coherent() local
223 iopte = alloc_npages(dev, iommu, size >> IO_PAGE_SHIFT); in dma_4u_alloc_coherent()
225 if (unlikely(iopte == NULL)) { in dma_4u_alloc_coherent()
231 ((iopte - iommu->page_table) << IO_PAGE_SHIFT)); in dma_4u_alloc_coherent()
236 iopte_val(*iopte) in dma_4u_alloc_coherent()
683 iopte_t *iopte; dma_4u_sync_single_for_cpu() local
719 iopte_t *iopte; dma_4u_sync_sg_for_cpu() local
[all...]
/kernel/linux/linux-6.6/arch/sparc/kernel/
H A Diommu.c80 #define IOPTE_IS_DUMMY(iommu, iopte) \
81 ((iopte_val(*iopte) & IOPTE_PAGE) == (iommu)->dummy_page_pa)
83 static inline void iopte_make_dummy(struct iommu *iommu, iopte_t *iopte) in iopte_make_dummy() argument
85 unsigned long val = iopte_val(*iopte); in iopte_make_dummy()
90 iopte_val(*iopte) = val; in iopte_make_dummy()
205 iopte_t *iopte; in dma_4u_alloc_coherent() local
223 iopte = alloc_npages(dev, iommu, size >> IO_PAGE_SHIFT); in dma_4u_alloc_coherent()
225 if (unlikely(iopte == NULL)) { in dma_4u_alloc_coherent()
231 ((iopte - iommu->page_table) << IO_PAGE_SHIFT)); in dma_4u_alloc_coherent()
236 iopte_val(*iopte) in dma_4u_alloc_coherent()
681 iopte_t *iopte; dma_4u_sync_single_for_cpu() local
717 iopte_t *iopte; dma_4u_sync_sg_for_cpu() local
[all...]
/kernel/linux/linux-5.10/arch/sparc/include/asm/
H A Dpage_64.h70 typedef struct { unsigned long iopte; } iopte_t; member
77 #define iopte_val(x) ((x).iopte)
H A Dpage_32.h56 typedef struct { unsigned long iopte; } iopte_t; member
64 #define iopte_val(x) ((x).iopte)
/kernel/linux/linux-6.6/arch/sparc/include/asm/
H A Dpage_64.h70 typedef struct { unsigned long iopte; } iopte_t; member
77 #define iopte_val(x) ((x).iopte)
H A Dpage_32.h56 typedef struct { unsigned long iopte; } iopte_t; member
64 #define iopte_val(x) ((x).iopte)

Completed in 11 milliseconds