Lines Matching refs:fbdefio
28 struct fb_deferred_io *fbdefio = info->fbdefio; in fb_deferred_io_get_page() local
32 if (fbdefio->get_page) in fb_deferred_io_get_page()
33 return fbdefio->get_page(info, offs); in fb_deferred_io_get_page()
76 struct fb_deferred_io *fbdefio = info->fbdefio; in fb_deferred_io_pageref_get() local
77 struct list_head *pos = &fbdefio->pagereflist; in fb_deferred_io_pageref_get()
93 if (unlikely(fbdefio->sort_pagereflist)) { in fb_deferred_io_pageref_get()
101 list_for_each_entry(cur, &fbdefio->pagereflist, list) { in fb_deferred_io_pageref_get()
138 BUG_ON(!info->fbdefio->mapping); in fb_deferred_io_fault()
153 if (!info->fbdefio) in fb_deferred_io_fsync()
171 struct fb_deferred_io *fbdefio = info->fbdefio; in fb_deferred_io_track_page() local
176 mutex_lock(&fbdefio->lock); in fb_deferred_io_track_page()
194 mutex_unlock(&fbdefio->lock); in fb_deferred_io_track_page()
197 schedule_delayed_work(&info->deferred_work, fbdefio->delay); in fb_deferred_io_track_page()
201 mutex_unlock(&fbdefio->lock); in fb_deferred_io_track_page()
264 struct fb_deferred_io *fbdefio = info->fbdefio; in fb_deferred_io_work() local
267 mutex_lock(&fbdefio->lock); in fb_deferred_io_work()
269 list_for_each_entry(pageref, &fbdefio->pagereflist, list) { in fb_deferred_io_work()
273 mapping_wrprotect_range(fbdefio->mapping, pgoff, in fb_deferred_io_work()
279 fbdefio->deferred_io(info, &fbdefio->pagereflist); in fb_deferred_io_work()
282 list_for_each_entry_safe(pageref, next, &fbdefio->pagereflist, list) in fb_deferred_io_work()
285 mutex_unlock(&fbdefio->lock); in fb_deferred_io_work()
290 struct fb_deferred_io *fbdefio = info->fbdefio; in fb_deferred_io_init() local
295 BUG_ON(!fbdefio); in fb_deferred_io_init()
300 mutex_init(&fbdefio->lock); in fb_deferred_io_init()
302 INIT_LIST_HEAD(&fbdefio->pagereflist); in fb_deferred_io_init()
303 if (fbdefio->delay == 0) /* set a default of 1 s */ in fb_deferred_io_init()
304 fbdefio->delay = HZ; in fb_deferred_io_init()
320 mutex_destroy(&fbdefio->lock); in fb_deferred_io_init()
329 struct fb_deferred_io *fbdefio = info->fbdefio; in fb_deferred_io_open() local
331 fbdefio->mapping = file->f_mapping; in fb_deferred_io_open()
333 fbdefio->open_count++; in fb_deferred_io_open()
344 struct fb_deferred_io *fbdefio = info->fbdefio; in fb_deferred_io_release() local
346 if (!--fbdefio->open_count) in fb_deferred_io_release()
353 struct fb_deferred_io *fbdefio = info->fbdefio; in fb_deferred_io_cleanup() local
358 mutex_destroy(&fbdefio->lock); in fb_deferred_io_cleanup()
359 fbdefio->mapping = NULL; in fb_deferred_io_cleanup()