Lines Matching refs:fb_helper

20 	struct drm_fb_helper *fb_helper = info->par;  in drm_fbdev_shmem_fb_open()  local
23 if (user && !try_module_get(fb_helper->dev->driver->fops->owner)) in drm_fbdev_shmem_fb_open()
31 struct drm_fb_helper *fb_helper = info->par; in drm_fbdev_shmem_fb_release() local
34 module_put(fb_helper->dev->driver->fops->owner); in drm_fbdev_shmem_fb_release()
45 struct drm_fb_helper *fb_helper = info->par; in drm_fbdev_shmem_fb_mmap() local
46 struct drm_framebuffer *fb = fb_helper->fb; in drm_fbdev_shmem_fb_mmap()
58 struct drm_fb_helper *fb_helper = info->par; in drm_fbdev_shmem_fb_destroy() local
60 if (!fb_helper->dev) in drm_fbdev_shmem_fb_destroy()
64 drm_fb_helper_fini(fb_helper); in drm_fbdev_shmem_fb_destroy()
66 drm_client_buffer_vunmap(fb_helper->buffer); in drm_fbdev_shmem_fb_destroy()
67 drm_client_framebuffer_delete(fb_helper->buffer); in drm_fbdev_shmem_fb_destroy()
68 drm_client_release(&fb_helper->client); in drm_fbdev_shmem_fb_destroy()
69 drm_fb_helper_unprepare(fb_helper); in drm_fbdev_shmem_fb_destroy()
70 kfree(fb_helper); in drm_fbdev_shmem_fb_destroy()
86 struct drm_fb_helper *fb_helper = info->par; in drm_fbdev_shmem_get_page() local
87 struct drm_framebuffer *fb = fb_helper->fb; in drm_fbdev_shmem_get_page()
108 static int drm_fbdev_shmem_helper_fb_probe(struct drm_fb_helper *fb_helper, in drm_fbdev_shmem_helper_fb_probe() argument
111 struct drm_client_dev *client = &fb_helper->client; in drm_fbdev_shmem_helper_fb_probe()
112 struct drm_device *dev = fb_helper->dev; in drm_fbdev_shmem_helper_fb_probe()
142 fb_helper->buffer = buffer; in drm_fbdev_shmem_helper_fb_probe()
143 fb_helper->fb = fb; in drm_fbdev_shmem_helper_fb_probe()
145 info = drm_fb_helper_alloc_info(fb_helper); in drm_fbdev_shmem_helper_fb_probe()
151 drm_fb_helper_fill_info(info, fb_helper, sizes); in drm_fbdev_shmem_helper_fb_probe()
164 fb_helper->fbdefio.delay = HZ / 20; in drm_fbdev_shmem_helper_fb_probe()
165 fb_helper->fbdefio.get_page = drm_fbdev_shmem_get_page; in drm_fbdev_shmem_helper_fb_probe()
166 fb_helper->fbdefio.deferred_io = drm_fb_helper_deferred_io; in drm_fbdev_shmem_helper_fb_probe()
168 info->fbdefio = &fb_helper->fbdefio; in drm_fbdev_shmem_helper_fb_probe()
176 drm_fb_helper_release_info(fb_helper); in drm_fbdev_shmem_helper_fb_probe()
178 fb_helper->fb = NULL; in drm_fbdev_shmem_helper_fb_probe()
179 fb_helper->buffer = NULL; in drm_fbdev_shmem_helper_fb_probe()
216 struct drm_fb_helper *fb_helper = drm_fb_helper_from_client(client); in drm_fbdev_shmem_client_unregister() local
218 if (fb_helper->info) { in drm_fbdev_shmem_client_unregister()
219 drm_fb_helper_unregister_info(fb_helper); in drm_fbdev_shmem_client_unregister()
221 drm_client_release(&fb_helper->client); in drm_fbdev_shmem_client_unregister()
222 drm_fb_helper_unprepare(fb_helper); in drm_fbdev_shmem_client_unregister()
223 kfree(fb_helper); in drm_fbdev_shmem_client_unregister()
236 struct drm_fb_helper *fb_helper = drm_fb_helper_from_client(client); in drm_fbdev_shmem_client_hotplug() local
240 if (dev->fb_helper) in drm_fbdev_shmem_client_hotplug()
241 return drm_fb_helper_hotplug_event(dev->fb_helper); in drm_fbdev_shmem_client_hotplug()
243 ret = drm_fb_helper_init(dev, fb_helper); in drm_fbdev_shmem_client_hotplug()
250 ret = drm_fb_helper_initial_config(fb_helper); in drm_fbdev_shmem_client_hotplug()
257 drm_fb_helper_fini(fb_helper); in drm_fbdev_shmem_client_hotplug()
292 struct drm_fb_helper *fb_helper; in drm_fbdev_shmem_setup() local
296 drm_WARN(dev, dev->fb_helper, "fb_helper is already set!\n"); in drm_fbdev_shmem_setup()
298 fb_helper = kzalloc(sizeof(*fb_helper), GFP_KERNEL); in drm_fbdev_shmem_setup()
299 if (!fb_helper) in drm_fbdev_shmem_setup()
301 drm_fb_helper_prepare(dev, fb_helper, preferred_bpp, &drm_fbdev_shmem_helper_funcs); in drm_fbdev_shmem_setup()
303 ret = drm_client_init(dev, &fb_helper->client, "fbdev", &drm_fbdev_shmem_client_funcs); in drm_fbdev_shmem_setup()
309 drm_client_register(&fb_helper->client); in drm_fbdev_shmem_setup()
314 drm_fb_helper_unprepare(fb_helper); in drm_fbdev_shmem_setup()
315 kfree(fb_helper); in drm_fbdev_shmem_setup()