Lines Matching refs:gfbdev
166 struct cirrus_fbdev *gfbdev = in cirrusfb_create() local
168 struct cirrus_device *cdev = gfbdev->helper.dev->dev_private; in cirrusfb_create()
184 ret = cirrusfb_create_object(gfbdev, &mode_cmd, &gobj); in cirrusfb_create()
200 info->par = gfbdev; in cirrusfb_create()
202 ret = cirrus_framebuffer_init(cdev->dev, &gfbdev->gfb, &mode_cmd, gobj); in cirrusfb_create()
206 gfbdev->sysram = sysram; in cirrusfb_create()
207 gfbdev->size = size; in cirrusfb_create()
209 fb = &gfbdev->gfb.base; in cirrusfb_create()
216 gfbdev->helper.fb = fb; in cirrusfb_create()
224 drm_fb_helper_fill_var(info, &gfbdev->helper, sizes->fb_width, in cirrusfb_create()
250 struct cirrus_fbdev *gfbdev) in cirrus_fbdev_destroy() argument
252 struct cirrus_framebuffer *gfb = &gfbdev->gfb; in cirrus_fbdev_destroy()
254 drm_fb_helper_unregister_fbi(&gfbdev->helper); in cirrus_fbdev_destroy()
255 drm_fb_helper_release_fbi(&gfbdev->helper); in cirrus_fbdev_destroy()
262 vfree(gfbdev->sysram); in cirrus_fbdev_destroy()
263 drm_fb_helper_fini(&gfbdev->helper); in cirrus_fbdev_destroy()
278 struct cirrus_fbdev *gfbdev; in cirrus_fbdev_init() local
283 gfbdev = kzalloc(sizeof(struct cirrus_fbdev), GFP_KERNEL); in cirrus_fbdev_init()
284 if (!gfbdev) in cirrus_fbdev_init()
287 cdev->mode_info.gfbdev = gfbdev; in cirrus_fbdev_init()
288 spin_lock_init(&gfbdev->dirty_lock); in cirrus_fbdev_init()
290 drm_fb_helper_prepare(cdev->dev, &gfbdev->helper, in cirrus_fbdev_init()
293 ret = drm_fb_helper_init(cdev->dev, &gfbdev->helper, in cirrus_fbdev_init()
298 ret = drm_fb_helper_single_add_all_connectors(&gfbdev->helper); in cirrus_fbdev_init()
305 return drm_fb_helper_initial_config(&gfbdev->helper, bpp_sel); in cirrus_fbdev_init()
310 if (!cdev->mode_info.gfbdev) in cirrus_fbdev_fini()
313 cirrus_fbdev_destroy(cdev->dev, cdev->mode_info.gfbdev); in cirrus_fbdev_fini()
314 kfree(cdev->mode_info.gfbdev); in cirrus_fbdev_fini()
315 cdev->mode_info.gfbdev = NULL; in cirrus_fbdev_fini()