Lines Matching refs:fb_helper
19 struct drm_fb_helper *fb_helper = info->par; in drm_fbdev_ttm_fb_open() local
22 if (user && !try_module_get(fb_helper->dev->driver->fops->owner)) in drm_fbdev_ttm_fb_open()
30 struct drm_fb_helper *fb_helper = info->par; in drm_fbdev_ttm_fb_release() local
33 module_put(fb_helper->dev->driver->fops->owner); in drm_fbdev_ttm_fb_release()
44 struct drm_fb_helper *fb_helper = info->par; in drm_fbdev_ttm_fb_destroy() local
47 if (!fb_helper->dev) in drm_fbdev_ttm_fb_destroy()
51 drm_fb_helper_fini(fb_helper); in drm_fbdev_ttm_fb_destroy()
53 drm_client_framebuffer_delete(fb_helper->buffer); in drm_fbdev_ttm_fb_destroy()
55 drm_client_release(&fb_helper->client); in drm_fbdev_ttm_fb_destroy()
56 drm_fb_helper_unprepare(fb_helper); in drm_fbdev_ttm_fb_destroy()
57 kfree(fb_helper); in drm_fbdev_ttm_fb_destroy()
69 static void drm_fbdev_ttm_damage_blit_real(struct drm_fb_helper *fb_helper, in drm_fbdev_ttm_damage_blit_real() argument
73 struct drm_framebuffer *fb = fb_helper->fb; in drm_fbdev_ttm_damage_blit_real()
98 src = fb_helper->info->screen_buffer + offset; in drm_fbdev_ttm_damage_blit_real()
108 static int drm_fbdev_ttm_damage_blit(struct drm_fb_helper *fb_helper, in drm_fbdev_ttm_damage_blit() argument
111 struct drm_client_buffer *buffer = fb_helper->buffer; in drm_fbdev_ttm_damage_blit()
126 mutex_lock(&fb_helper->lock); in drm_fbdev_ttm_damage_blit()
133 drm_fbdev_ttm_damage_blit_real(fb_helper, clip, &dst); in drm_fbdev_ttm_damage_blit()
138 mutex_unlock(&fb_helper->lock); in drm_fbdev_ttm_damage_blit()
174 int drm_fbdev_ttm_driver_fbdev_probe(struct drm_fb_helper *fb_helper, in drm_fbdev_ttm_driver_fbdev_probe() argument
177 struct drm_client_dev *client = &fb_helper->client; in drm_fbdev_ttm_driver_fbdev_probe()
178 struct drm_device *dev = fb_helper->dev; in drm_fbdev_ttm_driver_fbdev_probe()
197 fb_helper->funcs = &drm_fbdev_ttm_helper_funcs; in drm_fbdev_ttm_driver_fbdev_probe()
198 fb_helper->buffer = buffer; in drm_fbdev_ttm_driver_fbdev_probe()
199 fb_helper->fb = buffer->fb; in drm_fbdev_ttm_driver_fbdev_probe()
208 info = drm_fb_helper_alloc_info(fb_helper); in drm_fbdev_ttm_driver_fbdev_probe()
214 drm_fb_helper_fill_info(info, fb_helper, sizes); in drm_fbdev_ttm_driver_fbdev_probe()
224 fb_helper->fbdefio.delay = HZ / 20; in drm_fbdev_ttm_driver_fbdev_probe()
225 fb_helper->fbdefio.deferred_io = drm_fb_helper_deferred_io; in drm_fbdev_ttm_driver_fbdev_probe()
227 info->fbdefio = &fb_helper->fbdefio; in drm_fbdev_ttm_driver_fbdev_probe()
235 drm_fb_helper_release_info(fb_helper); in drm_fbdev_ttm_driver_fbdev_probe()
239 fb_helper->fb = NULL; in drm_fbdev_ttm_driver_fbdev_probe()
240 fb_helper->buffer = NULL; in drm_fbdev_ttm_driver_fbdev_probe()