Lines Matching refs:fb_helper
20 struct drm_fb_helper *fb_helper = info->par; in drm_fbdev_dma_fb_open() local
23 if (user && !try_module_get(fb_helper->dev->driver->fops->owner)) in drm_fbdev_dma_fb_open()
31 struct drm_fb_helper *fb_helper = info->par; in drm_fbdev_dma_fb_release() local
34 module_put(fb_helper->dev->driver->fops->owner); in drm_fbdev_dma_fb_release()
41 struct drm_fb_helper *fb_helper = info->par; in drm_fbdev_dma_fb_mmap() local
43 return drm_gem_prime_mmap(fb_helper->buffer->gem, vma); in drm_fbdev_dma_fb_mmap()
48 struct drm_fb_helper *fb_helper = info->par; in drm_fbdev_dma_fb_destroy() local
50 if (!fb_helper->dev) in drm_fbdev_dma_fb_destroy()
55 drm_fb_helper_fini(fb_helper); in drm_fbdev_dma_fb_destroy()
57 drm_client_buffer_vunmap(fb_helper->buffer); in drm_fbdev_dma_fb_destroy()
58 drm_client_framebuffer_delete(fb_helper->buffer); in drm_fbdev_dma_fb_destroy()
59 drm_client_release(&fb_helper->client); in drm_fbdev_dma_fb_destroy()
60 drm_fb_helper_unprepare(fb_helper); in drm_fbdev_dma_fb_destroy()
61 kfree(fb_helper); in drm_fbdev_dma_fb_destroy()
81 struct drm_fb_helper *fb_helper = info->par; in drm_fbdev_dma_shadowed_fb_destroy() local
84 if (!fb_helper->dev) in drm_fbdev_dma_shadowed_fb_destroy()
89 drm_fb_helper_fini(fb_helper); in drm_fbdev_dma_shadowed_fb_destroy()
92 drm_client_buffer_vunmap(fb_helper->buffer); in drm_fbdev_dma_shadowed_fb_destroy()
93 drm_client_framebuffer_delete(fb_helper->buffer); in drm_fbdev_dma_shadowed_fb_destroy()
94 drm_client_release(&fb_helper->client); in drm_fbdev_dma_shadowed_fb_destroy()
95 drm_fb_helper_unprepare(fb_helper); in drm_fbdev_dma_shadowed_fb_destroy()
96 kfree(fb_helper); in drm_fbdev_dma_shadowed_fb_destroy()
112 static void drm_fbdev_dma_damage_blit_real(struct drm_fb_helper *fb_helper, in drm_fbdev_dma_damage_blit_real() argument
116 struct drm_framebuffer *fb = fb_helper->fb; in drm_fbdev_dma_damage_blit_real()
141 src = fb_helper->info->screen_buffer + offset; in drm_fbdev_dma_damage_blit_real()
151 static int drm_fbdev_dma_damage_blit(struct drm_fb_helper *fb_helper, in drm_fbdev_dma_damage_blit() argument
154 struct drm_client_buffer *buffer = fb_helper->buffer; in drm_fbdev_dma_damage_blit()
162 mutex_lock(&fb_helper->lock); in drm_fbdev_dma_damage_blit()
165 drm_fbdev_dma_damage_blit_real(fb_helper, clip, &dst); in drm_fbdev_dma_damage_blit()
167 mutex_unlock(&fb_helper->lock); in drm_fbdev_dma_damage_blit()
202 static int drm_fbdev_dma_driver_fbdev_probe_tail(struct drm_fb_helper *fb_helper, in drm_fbdev_dma_driver_fbdev_probe_tail() argument
205 struct drm_device *dev = fb_helper->dev; in drm_fbdev_dma_driver_fbdev_probe_tail()
206 struct drm_client_buffer *buffer = fb_helper->buffer; in drm_fbdev_dma_driver_fbdev_probe_tail()
208 struct drm_framebuffer *fb = fb_helper->fb; in drm_fbdev_dma_driver_fbdev_probe_tail()
209 struct fb_info *info = fb_helper->info; in drm_fbdev_dma_driver_fbdev_probe_tail()
229 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
232 struct drm_client_buffer *buffer = fb_helper->buffer; in drm_fbdev_dma_driver_fbdev_probe_tail_shadowed()
233 struct fb_info *info = fb_helper->info; in drm_fbdev_dma_driver_fbdev_probe_tail_shadowed()
255 fb_helper->fbdefio.delay = HZ / 20; in drm_fbdev_dma_driver_fbdev_probe_tail_shadowed()
256 fb_helper->fbdefio.deferred_io = drm_fb_helper_deferred_io; in drm_fbdev_dma_driver_fbdev_probe_tail_shadowed()
258 info->fbdefio = &fb_helper->fbdefio; in drm_fbdev_dma_driver_fbdev_probe_tail_shadowed()
270 int drm_fbdev_dma_driver_fbdev_probe(struct drm_fb_helper *fb_helper, in drm_fbdev_dma_driver_fbdev_probe() argument
273 struct drm_client_dev *client = &fb_helper->client; in drm_fbdev_dma_driver_fbdev_probe()
274 struct drm_device *dev = fb_helper->dev; in drm_fbdev_dma_driver_fbdev_probe()
303 fb_helper->funcs = &drm_fbdev_dma_helper_funcs; in drm_fbdev_dma_driver_fbdev_probe()
304 fb_helper->buffer = buffer; in drm_fbdev_dma_driver_fbdev_probe()
305 fb_helper->fb = fb; in drm_fbdev_dma_driver_fbdev_probe()
307 info = drm_fb_helper_alloc_info(fb_helper); in drm_fbdev_dma_driver_fbdev_probe()
313 drm_fb_helper_fill_info(info, fb_helper, sizes); in drm_fbdev_dma_driver_fbdev_probe()
316 ret = drm_fbdev_dma_driver_fbdev_probe_tail_shadowed(fb_helper, sizes); in drm_fbdev_dma_driver_fbdev_probe()
318 ret = drm_fbdev_dma_driver_fbdev_probe_tail(fb_helper, sizes); in drm_fbdev_dma_driver_fbdev_probe()
325 drm_fb_helper_release_info(fb_helper); in drm_fbdev_dma_driver_fbdev_probe()
327 fb_helper->fb = NULL; in drm_fbdev_dma_driver_fbdev_probe()
328 fb_helper->buffer = NULL; in drm_fbdev_dma_driver_fbdev_probe()