Lines Matching refs:fbdefio

29 	struct fb_deferred_io *fbdefio = info->fbdefio;  in fb_deferred_io_get_page()  local
33 if (fbdefio->get_page) in fb_deferred_io_get_page()
34 return fbdefio->get_page(info, offs); in fb_deferred_io_get_page()
77 struct fb_deferred_io *fbdefio = info->fbdefio; in fb_deferred_io_pageref_get() local
78 struct list_head *pos = &fbdefio->pagereflist; in fb_deferred_io_pageref_get()
94 if (unlikely(fbdefio->sort_pagereflist)) { in fb_deferred_io_pageref_get()
102 list_for_each_entry(cur, &fbdefio->pagereflist, list) { in fb_deferred_io_pageref_get()
139 BUG_ON(!info->fbdefio->mapping); in fb_deferred_io_fault()
154 if (!info->fbdefio) in fb_deferred_io_fsync()
172 struct fb_deferred_io *fbdefio = info->fbdefio; in fb_deferred_io_track_page() local
177 mutex_lock(&fbdefio->lock); in fb_deferred_io_track_page()
195 mutex_unlock(&fbdefio->lock); in fb_deferred_io_track_page()
198 schedule_delayed_work(&info->deferred_work, fbdefio->delay); in fb_deferred_io_track_page()
202 mutex_unlock(&fbdefio->lock); in fb_deferred_io_track_page()
265 struct fb_deferred_io *fbdefio = info->fbdefio; in fb_deferred_io_work() local
268 mutex_lock(&fbdefio->lock); in fb_deferred_io_work()
270 list_for_each_entry(pageref, &fbdefio->pagereflist, list) { in fb_deferred_io_work()
274 mapping_wrprotect_range(fbdefio->mapping, pgoff, in fb_deferred_io_work()
280 fbdefio->deferred_io(info, &fbdefio->pagereflist); in fb_deferred_io_work()
283 list_for_each_entry_safe(pageref, next, &fbdefio->pagereflist, list) in fb_deferred_io_work()
286 mutex_unlock(&fbdefio->lock); in fb_deferred_io_work()
291 struct fb_deferred_io *fbdefio = info->fbdefio; in fb_deferred_io_init() local
296 BUG_ON(!fbdefio); in fb_deferred_io_init()
301 mutex_init(&fbdefio->lock); in fb_deferred_io_init()
303 INIT_LIST_HEAD(&fbdefio->pagereflist); in fb_deferred_io_init()
304 if (fbdefio->delay == 0) /* set a default of 1 s */ in fb_deferred_io_init()
305 fbdefio->delay = HZ; in fb_deferred_io_init()
321 mutex_destroy(&fbdefio->lock); in fb_deferred_io_init()
330 struct fb_deferred_io *fbdefio = info->fbdefio; in fb_deferred_io_open() local
332 fbdefio->mapping = file->f_mapping; in fb_deferred_io_open()
334 fbdefio->open_count++; in fb_deferred_io_open()
345 struct fb_deferred_io *fbdefio = info->fbdefio; in fb_deferred_io_release() local
347 if (!--fbdefio->open_count) in fb_deferred_io_release()
354 struct fb_deferred_io *fbdefio = info->fbdefio; in fb_deferred_io_cleanup() local
359 mutex_destroy(&fbdefio->lock); in fb_deferred_io_cleanup()
360 fbdefio->mapping = NULL; in fb_deferred_io_cleanup()