Lines Matching refs:rfbdev
104 static int amdgpufb_create_pinned_object(struct amdgpu_fbdev *rfbdev, in amdgpufb_create_pinned_object() argument
108 struct amdgpu_device *adev = rfbdev->adev; in amdgpufb_create_pinned_object()
175 struct amdgpu_fbdev *rfbdev = (struct amdgpu_fbdev *)helper; in amdgpufb_create() local
176 struct amdgpu_device *adev = rfbdev->adev; in amdgpufb_create()
194 ret = amdgpufb_create_pinned_object(rfbdev, &mode_cmd, &gobj); in amdgpufb_create()
209 info->par = rfbdev; in amdgpufb_create()
212 ret = amdgpu_framebuffer_init(adev->ddev, &rfbdev->rfb, &mode_cmd, gobj); in amdgpufb_create()
218 fb = &rfbdev->rfb.base; in amdgpufb_create()
221 rfbdev->helper.fb = fb; in amdgpufb_create()
238 drm_fb_helper_fill_var(info, &rfbdev->helper, sizes->fb_width, sizes->fb_height); in amdgpufb_create()
277 if (adev->mode_info.rfbdev) in amdgpu_fb_output_poll_changed()
278 drm_fb_helper_hotplug_event(&adev->mode_info.rfbdev->helper); in amdgpu_fb_output_poll_changed()
281 static int amdgpu_fbdev_destroy(struct drm_device *dev, struct amdgpu_fbdev *rfbdev) in amdgpu_fbdev_destroy() argument
283 struct amdgpu_framebuffer *rfb = &rfbdev->rfb; in amdgpu_fbdev_destroy()
285 drm_fb_helper_unregister_fbi(&rfbdev->helper); in amdgpu_fbdev_destroy()
286 drm_fb_helper_release_fbi(&rfbdev->helper); in amdgpu_fbdev_destroy()
292 drm_fb_helper_fini(&rfbdev->helper); in amdgpu_fbdev_destroy()
329 struct amdgpu_fbdev *rfbdev; in amdgpu_fbdev_init() local
341 rfbdev = kzalloc(sizeof(struct amdgpu_fbdev), GFP_KERNEL); in amdgpu_fbdev_init()
342 if (!rfbdev) in amdgpu_fbdev_init()
345 rfbdev->adev = adev; in amdgpu_fbdev_init()
346 adev->mode_info.rfbdev = rfbdev; in amdgpu_fbdev_init()
348 drm_fb_helper_prepare(adev->ddev, &rfbdev->helper, in amdgpu_fbdev_init()
351 ret = drm_fb_helper_init(adev->ddev, &rfbdev->helper, in amdgpu_fbdev_init()
355 kfree(rfbdev); in amdgpu_fbdev_init()
359 drm_fb_helper_single_add_all_connectors(&rfbdev->helper); in amdgpu_fbdev_init()
364 drm_fb_helper_initial_config(&rfbdev->helper, bpp_sel); in amdgpu_fbdev_init()
370 if (!adev->mode_info.rfbdev) in amdgpu_fbdev_fini()
373 amdgpu_fbdev_destroy(adev->ddev, adev->mode_info.rfbdev); in amdgpu_fbdev_fini()
374 kfree(adev->mode_info.rfbdev); in amdgpu_fbdev_fini()
375 adev->mode_info.rfbdev = NULL; in amdgpu_fbdev_fini()
380 if (adev->mode_info.rfbdev) in amdgpu_fbdev_set_suspend()
381 drm_fb_helper_set_suspend(&adev->mode_info.rfbdev->helper, in amdgpu_fbdev_set_suspend()
390 if (!adev->mode_info.rfbdev) in amdgpu_fbdev_total_size()
393 robj = gem_to_amdgpu_bo(adev->mode_info.rfbdev->rfb.obj); in amdgpu_fbdev_total_size()
400 if (!adev->mode_info.rfbdev) in amdgpu_fbdev_robj_is_fb()
402 if (robj == gem_to_amdgpu_bo(adev->mode_info.rfbdev->rfb.obj)) in amdgpu_fbdev_robj_is_fb()
409 struct amdgpu_fbdev *afbdev = adev->mode_info.rfbdev; in amdgpu_fbdev_restore_mode()