Lines Matching refs:pageref
52 struct fb_deferred_io_pageref *pageref; in fb_deferred_io_pageref_lookup() local
58 pageref = &info->pagerefs[pgoff]; in fb_deferred_io_pageref_lookup()
60 if (pageref->page) in fb_deferred_io_pageref_lookup()
63 pageref->page = page; in fb_deferred_io_pageref_lookup()
64 pageref->offset = pgoff << PAGE_SHIFT; in fb_deferred_io_pageref_lookup()
65 INIT_LIST_HEAD(&pageref->list); in fb_deferred_io_pageref_lookup()
68 if (fb_WARN_ON_ONCE(info, pageref->page != page)) in fb_deferred_io_pageref_lookup()
70 return pageref; in fb_deferred_io_pageref_lookup()
79 struct fb_deferred_io_pageref *pageref, *cur; in fb_deferred_io_pageref_get() local
81 pageref = fb_deferred_io_pageref_lookup(info, offset, page); in fb_deferred_io_pageref_get()
82 if (!pageref) in fb_deferred_io_pageref_get()
91 if (!list_empty(&pageref->list)) in fb_deferred_io_pageref_get()
103 if (cur->offset > pageref->offset) in fb_deferred_io_pageref_get()
109 list_add_tail(&pageref->list, pos); in fb_deferred_io_pageref_get()
112 return pageref; in fb_deferred_io_pageref_get()
115 static void fb_deferred_io_pageref_put(struct fb_deferred_io_pageref *pageref, in fb_deferred_io_pageref_put() argument
118 list_del_init(&pageref->list); in fb_deferred_io_pageref_put()
173 struct fb_deferred_io_pageref *pageref; in fb_deferred_io_track_page() local
179 pageref = fb_deferred_io_pageref_get(info, offset, page); in fb_deferred_io_track_page()
180 if (WARN_ON_ONCE(!pageref)) { in fb_deferred_io_track_page()
193 lock_page(pageref->page); in fb_deferred_io_track_page()
264 struct fb_deferred_io_pageref *pageref, *next; in fb_deferred_io_work() local
270 list_for_each_entry(pageref, &fbdefio->pagereflist, list) { in fb_deferred_io_work()
271 struct page *page = pageref->page; in fb_deferred_io_work()
272 pgoff_t pgoff = pageref->offset >> PAGE_SHIFT; in fb_deferred_io_work()
283 list_for_each_entry_safe(pageref, next, &fbdefio->pagereflist, list) in fb_deferred_io_work()
284 fb_deferred_io_pageref_put(pageref, info); in fb_deferred_io_work()