Lines Matching refs:rfbdev
134 static int radeonfb_create_pinned_object(struct radeon_fbdev *rfbdev, in radeonfb_create_pinned_object() argument
138 struct radeon_device *rdev = rfbdev->rdev; in radeonfb_create_pinned_object()
222 struct radeon_fbdev *rfbdev = in radeonfb_create() local
224 struct radeon_device *rdev = rfbdev->rdev; in radeonfb_create()
244 ret = radeonfb_create_pinned_object(rfbdev, &mode_cmd, &gobj); in radeonfb_create()
259 info->par = rfbdev; in radeonfb_create()
261 ret = radeon_framebuffer_init(rdev->ddev, &rfbdev->rfb, &mode_cmd, gobj); in radeonfb_create()
267 fb = &rfbdev->rfb.base; in radeonfb_create()
270 rfbdev->helper.fb = fb; in radeonfb_create()
271 rfbdev->helper.fbdev = info; in radeonfb_create()
288 drm_fb_helper_fill_var(info, &rfbdev->helper, sizes->fb_width, sizes->fb_height); in radeonfb_create()
336 if (rdev->mode_info.rfbdev) in radeon_fb_output_poll_changed()
337 drm_fb_helper_hotplug_event(&rdev->mode_info.rfbdev->helper); in radeon_fb_output_poll_changed()
340 static int radeon_fbdev_destroy(struct drm_device *dev, struct radeon_fbdev *rfbdev) in radeon_fbdev_destroy() argument
343 struct radeon_framebuffer *rfb = &rfbdev->rfb; in radeon_fbdev_destroy()
345 if (rfbdev->helper.fbdev) { in radeon_fbdev_destroy()
346 info = rfbdev->helper.fbdev; in radeon_fbdev_destroy()
358 drm_fb_helper_fini(&rfbdev->helper); in radeon_fbdev_destroy()
373 struct radeon_fbdev *rfbdev; in radeon_fbdev_init() local
385 rfbdev = kzalloc(sizeof(struct radeon_fbdev), GFP_KERNEL); in radeon_fbdev_init()
386 if (!rfbdev) in radeon_fbdev_init()
389 rfbdev->rdev = rdev; in radeon_fbdev_init()
390 rdev->mode_info.rfbdev = rfbdev; in radeon_fbdev_init()
392 drm_fb_helper_prepare(rdev->ddev, &rfbdev->helper, in radeon_fbdev_init()
395 ret = drm_fb_helper_init(rdev->ddev, &rfbdev->helper, in radeon_fbdev_init()
401 ret = drm_fb_helper_single_add_all_connectors(&rfbdev->helper); in radeon_fbdev_init()
408 ret = drm_fb_helper_initial_config(&rfbdev->helper, bpp_sel); in radeon_fbdev_init()
415 drm_fb_helper_fini(&rfbdev->helper); in radeon_fbdev_init()
417 kfree(rfbdev); in radeon_fbdev_init()
423 if (!rdev->mode_info.rfbdev) in radeon_fbdev_fini()
426 radeon_fbdev_destroy(rdev->ddev, rdev->mode_info.rfbdev); in radeon_fbdev_fini()
427 kfree(rdev->mode_info.rfbdev); in radeon_fbdev_fini()
428 rdev->mode_info.rfbdev = NULL; in radeon_fbdev_fini()
433 if (rdev->mode_info.rfbdev) in radeon_fbdev_set_suspend()
434 fb_set_suspend(rdev->mode_info.rfbdev->helper.fbdev, state); in radeon_fbdev_set_suspend()
439 if (!rdev->mode_info.rfbdev) in radeon_fbdev_robj_is_fb()
442 if (robj == gem_to_radeon_bo(rdev->mode_info.rfbdev->rfb.obj)) in radeon_fbdev_robj_is_fb()
449 if (rdev->mode_info.rfbdev) in radeon_fb_add_connector()
450 drm_fb_helper_add_one_connector(&rdev->mode_info.rfbdev->helper, connector); in radeon_fb_add_connector()
455 if (rdev->mode_info.rfbdev) in radeon_fb_remove_connector()
456 drm_fb_helper_remove_one_connector(&rdev->mode_info.rfbdev->helper, connector); in radeon_fb_remove_connector()