Lines Matching refs:fb_helper
55 static int radeon_fbdev_create_pinned_object(struct drm_fb_helper *fb_helper, in radeon_fbdev_create_pinned_object() argument
60 struct radeon_device *rdev = fb_helper->dev->dev_private; in radeon_fbdev_create_pinned_object()
147 struct drm_fb_helper *fb_helper = info->par; in radeon_fbdev_fb_open() local
148 struct radeon_device *rdev = fb_helper->dev->dev_private; in radeon_fbdev_fb_open()
165 struct drm_fb_helper *fb_helper = info->par; in radeon_fbdev_fb_release() local
166 struct radeon_device *rdev = fb_helper->dev->dev_private; in radeon_fbdev_fb_release()
176 struct drm_fb_helper *fb_helper = info->par; in radeon_fbdev_fb_destroy() local
177 struct drm_framebuffer *fb = fb_helper->fb; in radeon_fbdev_fb_destroy()
180 drm_fb_helper_fini(fb_helper); in radeon_fbdev_fb_destroy()
187 drm_client_release(&fb_helper->client); in radeon_fbdev_fb_destroy()
188 drm_fb_helper_unprepare(fb_helper); in radeon_fbdev_fb_destroy()
189 kfree(fb_helper); in radeon_fbdev_fb_destroy()
205 static int radeon_fbdev_fb_helper_fb_probe(struct drm_fb_helper *fb_helper, in radeon_fbdev_fb_helper_fb_probe() argument
208 struct radeon_device *rdev = fb_helper->dev->dev_private; in radeon_fbdev_fb_helper_fb_probe()
227 ret = radeon_fbdev_create_pinned_object(fb_helper, &mode_cmd, &gobj); in radeon_fbdev_fb_helper_fb_probe()
246 fb_helper->fb = fb; in radeon_fbdev_fb_helper_fb_probe()
249 info = drm_fb_helper_alloc_info(fb_helper); in radeon_fbdev_fb_helper_fb_probe()
260 drm_fb_helper_fill_info(info, fb_helper, sizes); in radeon_fbdev_fb_helper_fb_probe()
281 fb_helper->fb = NULL; in radeon_fbdev_fb_helper_fb_probe()
301 struct drm_fb_helper *fb_helper = drm_fb_helper_from_client(client); in radeon_fbdev_client_unregister() local
302 struct drm_device *dev = fb_helper->dev; in radeon_fbdev_client_unregister()
305 if (fb_helper->info) { in radeon_fbdev_client_unregister()
308 drm_fb_helper_unregister_info(fb_helper); in radeon_fbdev_client_unregister()
310 drm_client_release(&fb_helper->client); in radeon_fbdev_client_unregister()
311 drm_fb_helper_unprepare(fb_helper); in radeon_fbdev_client_unregister()
312 kfree(fb_helper); in radeon_fbdev_client_unregister()
326 struct drm_fb_helper *fb_helper = drm_fb_helper_from_client(client); in radeon_fbdev_client_hotplug() local
331 if (dev->fb_helper) in radeon_fbdev_client_hotplug()
332 return drm_fb_helper_hotplug_event(dev->fb_helper); in radeon_fbdev_client_hotplug()
334 ret = drm_fb_helper_init(dev, fb_helper); in radeon_fbdev_client_hotplug()
341 ret = drm_fb_helper_initial_config(fb_helper); in radeon_fbdev_client_hotplug()
345 vga_switcheroo_client_fb_set(rdev->pdev, fb_helper->info); in radeon_fbdev_client_hotplug()
350 drm_fb_helper_fini(fb_helper); in radeon_fbdev_client_hotplug()
365 struct drm_fb_helper *fb_helper; in radeon_fbdev_setup() local
374 fb_helper = kzalloc(sizeof(*fb_helper), GFP_KERNEL); in radeon_fbdev_setup()
375 if (!fb_helper) in radeon_fbdev_setup()
377 drm_fb_helper_prepare(rdev->ddev, fb_helper, bpp_sel, &radeon_fbdev_fb_helper_funcs); in radeon_fbdev_setup()
379 ret = drm_client_init(rdev->ddev, &fb_helper->client, "radeon-fbdev", in radeon_fbdev_setup()
386 drm_client_register(&fb_helper->client); in radeon_fbdev_setup()
391 drm_fb_helper_unprepare(fb_helper); in radeon_fbdev_setup()
392 kfree(fb_helper); in radeon_fbdev_setup()
397 if (rdev->ddev->fb_helper) in radeon_fbdev_set_suspend()
398 drm_fb_helper_set_suspend(rdev->ddev->fb_helper, state); in radeon_fbdev_set_suspend()
403 struct drm_fb_helper *fb_helper = rdev->ddev->fb_helper; in radeon_fbdev_robj_is_fb() local
406 if (!fb_helper) in radeon_fbdev_robj_is_fb()
409 gobj = drm_gem_fb_get_obj(fb_helper->fb, 0); in radeon_fbdev_robj_is_fb()