Lines Matching refs:fb_helper
19 struct drm_fb_helper *fb_helper = info->par; in drm_fbdev_dma_fb_open() local
22 if (user && !try_module_get(fb_helper->dev->driver->fops->owner)) in drm_fbdev_dma_fb_open()
30 struct drm_fb_helper *fb_helper = info->par; in drm_fbdev_dma_fb_release() local
33 module_put(fb_helper->dev->driver->fops->owner); in drm_fbdev_dma_fb_release()
40 struct drm_fb_helper *fb_helper = info->par; in drm_fbdev_dma_fb_mmap() local
42 return drm_gem_prime_mmap(fb_helper->buffer->gem, vma); in drm_fbdev_dma_fb_mmap()
47 struct drm_fb_helper *fb_helper = info->par; in drm_fbdev_dma_fb_destroy() local
49 if (!fb_helper->dev) in drm_fbdev_dma_fb_destroy()
54 drm_fb_helper_fini(fb_helper); in drm_fbdev_dma_fb_destroy()
56 drm_client_buffer_vunmap(fb_helper->buffer); in drm_fbdev_dma_fb_destroy()
57 drm_client_framebuffer_delete(fb_helper->buffer); in drm_fbdev_dma_fb_destroy()
58 drm_client_release(&fb_helper->client); in drm_fbdev_dma_fb_destroy()
59 drm_fb_helper_unprepare(fb_helper); in drm_fbdev_dma_fb_destroy()
60 kfree(fb_helper); in drm_fbdev_dma_fb_destroy()
80 struct drm_fb_helper *fb_helper = info->par; in drm_fbdev_dma_shadowed_fb_destroy() local
83 if (!fb_helper->dev) in drm_fbdev_dma_shadowed_fb_destroy()
88 drm_fb_helper_fini(fb_helper); in drm_fbdev_dma_shadowed_fb_destroy()
91 drm_client_buffer_vunmap(fb_helper->buffer); in drm_fbdev_dma_shadowed_fb_destroy()
92 drm_client_framebuffer_delete(fb_helper->buffer); in drm_fbdev_dma_shadowed_fb_destroy()
93 drm_client_release(&fb_helper->client); in drm_fbdev_dma_shadowed_fb_destroy()
94 drm_fb_helper_unprepare(fb_helper); in drm_fbdev_dma_shadowed_fb_destroy()
95 kfree(fb_helper); in drm_fbdev_dma_shadowed_fb_destroy()
111 static void drm_fbdev_dma_damage_blit_real(struct drm_fb_helper *fb_helper, in drm_fbdev_dma_damage_blit_real() argument
115 struct drm_framebuffer *fb = fb_helper->fb; in drm_fbdev_dma_damage_blit_real()
140 src = fb_helper->info->screen_buffer + offset; in drm_fbdev_dma_damage_blit_real()
150 static int drm_fbdev_dma_damage_blit(struct drm_fb_helper *fb_helper, in drm_fbdev_dma_damage_blit() argument
153 struct drm_client_buffer *buffer = fb_helper->buffer; in drm_fbdev_dma_damage_blit()
161 mutex_lock(&fb_helper->lock); in drm_fbdev_dma_damage_blit()
164 drm_fbdev_dma_damage_blit_real(fb_helper, clip, &dst); in drm_fbdev_dma_damage_blit()
166 mutex_unlock(&fb_helper->lock); in drm_fbdev_dma_damage_blit()
201 static int drm_fbdev_dma_driver_fbdev_probe_tail(struct drm_fb_helper *fb_helper, in drm_fbdev_dma_driver_fbdev_probe_tail() argument
204 struct drm_device *dev = fb_helper->dev; in drm_fbdev_dma_driver_fbdev_probe_tail()
205 struct drm_client_buffer *buffer = fb_helper->buffer; in drm_fbdev_dma_driver_fbdev_probe_tail()
207 struct drm_framebuffer *fb = fb_helper->fb; in drm_fbdev_dma_driver_fbdev_probe_tail()
208 struct fb_info *info = fb_helper->info; in drm_fbdev_dma_driver_fbdev_probe_tail()
228 static int drm_fbdev_dma_driver_fbdev_probe_tail_shadowed(struct drm_fb_helper *fb_helper, in drm_fbdev_dma_driver_fbdev_probe_tail_shadowed() argument
231 struct drm_client_buffer *buffer = fb_helper->buffer; in drm_fbdev_dma_driver_fbdev_probe_tail_shadowed()
232 struct fb_info *info = fb_helper->info; in drm_fbdev_dma_driver_fbdev_probe_tail_shadowed()
254 fb_helper->fbdefio.delay = HZ / 20; in drm_fbdev_dma_driver_fbdev_probe_tail_shadowed()
255 fb_helper->fbdefio.deferred_io = drm_fb_helper_deferred_io; in drm_fbdev_dma_driver_fbdev_probe_tail_shadowed()
257 info->fbdefio = &fb_helper->fbdefio; in drm_fbdev_dma_driver_fbdev_probe_tail_shadowed()
269 int drm_fbdev_dma_driver_fbdev_probe(struct drm_fb_helper *fb_helper, in drm_fbdev_dma_driver_fbdev_probe() argument
272 struct drm_client_dev *client = &fb_helper->client; in drm_fbdev_dma_driver_fbdev_probe()
273 struct drm_device *dev = fb_helper->dev; in drm_fbdev_dma_driver_fbdev_probe()
302 fb_helper->funcs = &drm_fbdev_dma_helper_funcs; in drm_fbdev_dma_driver_fbdev_probe()
303 fb_helper->buffer = buffer; in drm_fbdev_dma_driver_fbdev_probe()
304 fb_helper->fb = fb; in drm_fbdev_dma_driver_fbdev_probe()
306 info = drm_fb_helper_alloc_info(fb_helper); in drm_fbdev_dma_driver_fbdev_probe()
312 drm_fb_helper_fill_info(info, fb_helper, sizes); in drm_fbdev_dma_driver_fbdev_probe()
315 ret = drm_fbdev_dma_driver_fbdev_probe_tail_shadowed(fb_helper, sizes); in drm_fbdev_dma_driver_fbdev_probe()
317 ret = drm_fbdev_dma_driver_fbdev_probe_tail(fb_helper, sizes); in drm_fbdev_dma_driver_fbdev_probe()
324 drm_fb_helper_release_info(fb_helper); in drm_fbdev_dma_driver_fbdev_probe()
326 fb_helper->fb = NULL; in drm_fbdev_dma_driver_fbdev_probe()
327 fb_helper->buffer = NULL; in drm_fbdev_dma_driver_fbdev_probe()