Lines Matching refs:vaddr
78 unsigned long vaddr, in map_pte_uncached() argument
82 unsigned long orig_vaddr = vaddr; in map_pte_uncached()
84 vaddr &= ~PMD_MASK; in map_pte_uncached()
85 end = vaddr + size; in map_pte_uncached()
97 vaddr += PAGE_SIZE; in map_pte_uncached()
101 } while (vaddr < end); in map_pte_uncached()
105 static inline int map_pmd_uncached(pmd_t * pmd, unsigned long vaddr, in map_pmd_uncached() argument
109 unsigned long orig_vaddr = vaddr; in map_pmd_uncached()
111 vaddr &= ~PGDIR_MASK; in map_pmd_uncached()
112 end = vaddr + size; in map_pmd_uncached()
116 pte_t * pte = pte_alloc_kernel(pmd, vaddr); in map_pmd_uncached()
119 if (map_pte_uncached(pte, orig_vaddr, end - vaddr, paddr_ptr)) in map_pmd_uncached()
121 vaddr = (vaddr + PMD_SIZE) & PMD_MASK; in map_pmd_uncached()
124 } while (vaddr < end); in map_pmd_uncached()
128 static inline int map_uncached_pages(unsigned long vaddr, unsigned long size, in map_uncached_pages() argument
132 unsigned long end = vaddr + size; in map_uncached_pages()
134 dir = pgd_offset_k(vaddr); in map_uncached_pages()
138 pmd = pmd_alloc(NULL, dir, vaddr); in map_uncached_pages()
141 if (map_pmd_uncached(pmd, vaddr, end - vaddr, &paddr)) in map_uncached_pages()
143 vaddr = vaddr + PGDIR_SIZE; in map_uncached_pages()
145 } while (vaddr && (vaddr < end)); in map_uncached_pages()
149 static inline void unmap_uncached_pte(pmd_t * pmd, unsigned long vaddr, in unmap_uncached_pte() argument
154 unsigned long orig_vaddr = vaddr; in unmap_uncached_pte()
163 pte = pte_offset_map(pmd, vaddr); in unmap_uncached_pte()
164 vaddr &= ~PMD_MASK; in unmap_uncached_pte()
165 end = vaddr + size; in unmap_uncached_pte()
172 pte_clear(&init_mm, vaddr, pte); in unmap_uncached_pte()
176 vaddr += PAGE_SIZE; in unmap_uncached_pte()
182 } while (vaddr < end); in unmap_uncached_pte()
185 static inline void unmap_uncached_pmd(pgd_t * dir, unsigned long vaddr, in unmap_uncached_pmd() argument
190 unsigned long orig_vaddr = vaddr; in unmap_uncached_pmd()
199 pmd = pmd_offset(dir, vaddr); in unmap_uncached_pmd()
200 vaddr &= ~PGDIR_MASK; in unmap_uncached_pmd()
201 end = vaddr + size; in unmap_uncached_pmd()
205 unmap_uncached_pte(pmd, orig_vaddr, end - vaddr); in unmap_uncached_pmd()
206 vaddr = (vaddr + PMD_SIZE) & PMD_MASK; in unmap_uncached_pmd()
209 } while (vaddr < end); in unmap_uncached_pmd()
212 static void unmap_uncached_pages(unsigned long vaddr, unsigned long size) in unmap_uncached_pages() argument
215 unsigned long end = vaddr + size; in unmap_uncached_pages()
217 dir = pgd_offset_k(vaddr); in unmap_uncached_pages()
219 unmap_uncached_pmd(dir, vaddr, end - vaddr); in unmap_uncached_pages()
220 vaddr = vaddr + PGDIR_SIZE; in unmap_uncached_pages()
222 } while (vaddr && (vaddr < end)); in unmap_uncached_pages()
301 pcxl_free_range(unsigned long vaddr, size_t size) in pcxl_free_range() argument
304 unsigned int res_idx = (vaddr - pcxl_dma_start) >> (PAGE_SHIFT + 3); in pcxl_free_range()
400 unsigned long vaddr; in arch_dma_alloc() local
409 vaddr = pcxl_alloc_range(size); in arch_dma_alloc()
413 map_uncached_pages(vaddr, size, paddr); in arch_dma_alloc()
424 return (void *)vaddr; in arch_dma_alloc()
427 void arch_dma_free(struct device *dev, size_t size, void *vaddr, in arch_dma_free() argument
436 unmap_uncached_pages((unsigned long)vaddr, size); in arch_dma_free()
437 pcxl_free_range((unsigned long)vaddr, size); in arch_dma_free()
454 void arch_dma_cache_sync(struct device *dev, void *vaddr, size_t size, in arch_dma_cache_sync() argument
457 flush_kernel_dcache_range((unsigned long)vaddr, size); in arch_dma_cache_sync()