Lines Matching refs:addr
53 static int ioremap_pte_range(pmd_t *pmd, unsigned long addr, in ioremap_pte_range() argument
60 pte = pte_alloc_kernel(pmd, addr); in ioremap_pte_range()
65 set_pte_at(&init_mm, addr, pte, pfn_pte(pfn, prot)); in ioremap_pte_range()
67 } while (pte++, addr += PAGE_SIZE, addr != end); in ioremap_pte_range()
71 static inline int ioremap_pmd_range(pud_t *pud, unsigned long addr, in ioremap_pmd_range() argument
77 phys_addr -= addr; in ioremap_pmd_range()
78 pmd = pmd_alloc(&init_mm, pud, addr); in ioremap_pmd_range()
82 next = pmd_addr_end(addr, end); in ioremap_pmd_range()
85 ((next - addr) == PMD_SIZE) && in ioremap_pmd_range()
86 IS_ALIGNED(phys_addr + addr, PMD_SIZE)) { in ioremap_pmd_range()
87 if (pmd_set_huge(pmd, phys_addr + addr, prot)) in ioremap_pmd_range()
91 if (ioremap_pte_range(pmd, addr, next, phys_addr + addr, prot)) in ioremap_pmd_range()
93 } while (pmd++, addr = next, addr != end); in ioremap_pmd_range()
97 static inline int ioremap_pud_range(pgd_t *pgd, unsigned long addr, in ioremap_pud_range() argument
103 phys_addr -= addr; in ioremap_pud_range()
104 pud = pud_alloc(&init_mm, pgd, addr); in ioremap_pud_range()
108 next = pud_addr_end(addr, end); in ioremap_pud_range()
111 ((next - addr) == PUD_SIZE) && in ioremap_pud_range()
112 IS_ALIGNED(phys_addr + addr, PUD_SIZE)) { in ioremap_pud_range()
113 if (pud_set_huge(pud, phys_addr + addr, prot)) in ioremap_pud_range()
117 if (ioremap_pmd_range(pud, addr, next, phys_addr + addr, prot)) in ioremap_pud_range()
119 } while (pud++, addr = next, addr != end); in ioremap_pud_range()
123 int ioremap_page_range(unsigned long addr, in ioremap_page_range() argument
131 BUG_ON(addr >= end); in ioremap_page_range()
133 start = addr; in ioremap_page_range()
134 phys_addr -= addr; in ioremap_page_range()
135 pgd = pgd_offset_k(addr); in ioremap_page_range()
137 next = pgd_addr_end(addr, end); in ioremap_page_range()
138 err = ioremap_pud_range(pgd, addr, next, phys_addr+addr, prot); in ioremap_page_range()
141 } while (pgd++, addr = next, addr != end); in ioremap_page_range()