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()
162 static inline struct page *kmap_to_page(void *addr) in kmap_to_page()
167 static inline void *kmap(struct page *page) in kmap() argument
170 return page_address(page); in kmap()
173 static inline void kunmap_high(struct page *page) { } in kunmap_high() argument
176 static inline void kunmap(struct page *page) in kunmap() argument
179 kunmap_flush_on_unmap(page_address(page)); in kunmap()
183 static inline void *kmap_local_page(struct page *page) in kmap_local_page() argument
185 return page_address(page); in kmap_local_page()
190 return page_address(&folio->page) + offset; in kmap_local_folio()
193 static inline void *kmap_local_page_prot(struct page *page, pgprot_t prot) in kmap_local_page_prot() argument
195 return kmap_local_page(page); in kmap_local_page_prot()
210 static inline void *kmap_atomic(struct page *page) in kmap_atomic() argument
217 return page_address(page); in kmap_atomic()
220 static inline void *kmap_atomic_prot(struct page *page, pgprot_t prot) in kmap_atomic_prot() argument
222 return kmap_atomic(page); in kmap_atomic_prot()
263 * @__addr can be any address within the mapped page, so there is no need
266 * page passed to it. The compiler will warn you if you pass the page.
270 BUILD_BUG_ON(__same_type((__addr), struct page *)); \
275 * kunmap_local - Unmap a page mapped via kmap_local_page().
276 * @__addr: An address within the page mapped
278 * @__addr can be any address within the mapped page. Commonly it is the
286 BUILD_BUG_ON(__same_type((__addr), struct page *)); \