Lines Matching full:page
10 void *__kmap_local_page_prot(struct page *page, pgprot_t prot);
35 void *kmap_high(struct page *page);
36 void kunmap_high(struct page *page);
38 struct page *__kmap_to_page(void *addr);
40 static inline void *kmap(struct page *page) in kmap() argument
45 if (!PageHighMem(page)) in kmap()
46 addr = page_address(page); in kmap()
48 addr = kmap_high(page); in kmap()
53 static inline void kunmap(struct page *page) in kunmap() argument
56 if (!PageHighMem(page)) in kunmap()
58 kunmap_high(page); in kunmap()
61 static inline struct page *kmap_to_page(void *addr) in kmap_to_page()
71 static inline void *kmap_local_page(struct page *page) in kmap_local_page() argument
73 return __kmap_local_page_prot(page, kmap_prot); in kmap_local_page()
78 struct page *page = folio_page(folio, offset / PAGE_SIZE); in kmap_local_folio() local
79 return __kmap_local_page_prot(page, kmap_prot) + offset % PAGE_SIZE; in kmap_local_folio()
82 static inline void *kmap_local_page_prot(struct page *page, pgprot_t prot) in kmap_local_page_prot() argument
84 return __kmap_local_page_prot(page, prot); in kmap_local_page_prot()
97 static inline void *kmap_atomic_prot(struct page *page, pgprot_t prot) in kmap_atomic_prot() argument
105 return __kmap_local_page_prot(page, prot); in kmap_atomic_prot()
108 static inline void *kmap_atomic(struct page *page) in kmap_atomic() argument
110 return kmap_atomic_prot(page, kmap_prot); in kmap_atomic()
157 static inline struct page *kmap_to_page(void *addr) in kmap_to_page()
162 static inline void *kmap(struct page *page) in kmap() argument
165 return page_address(page); in kmap()
168 static inline void kunmap_high(struct page *page) { } in kunmap_high() argument
171 static inline void kunmap(struct page *page) in kunmap() argument
174 kunmap_flush_on_unmap(page_address(page)); in kunmap()
178 static inline void *kmap_local_page(struct page *page) in kmap_local_page() argument
180 return page_address(page); in kmap_local_page()
185 return page_address(&folio->page) + offset; in kmap_local_folio()
188 static inline void *kmap_local_page_prot(struct page *page, pgprot_t prot) in kmap_local_page_prot() argument
190 return kmap_local_page(page); in kmap_local_page_prot()
205 static inline void *kmap_atomic(struct page *page) in kmap_atomic() argument
212 return page_address(page); in kmap_atomic()
215 static inline void *kmap_atomic_prot(struct page *page, pgprot_t prot) in kmap_atomic_prot() argument
217 return kmap_atomic(page); in kmap_atomic_prot()
258 * @__addr can be any address within the mapped page, so there is no need
261 * page passed to it. The compiler will warn you if you pass the page.
265 BUILD_BUG_ON(__same_type((__addr), struct page *)); \
270 * kunmap_local - Unmap a page mapped via kmap_local_page().
271 * @__addr: An address within the page mapped
273 * @__addr can be any address within the mapped page. Commonly it is the
281 BUILD_BUG_ON(__same_type((__addr), struct page *)); \