Lines Matching refs:gfbdev
164 struct cirrus_fbdev *gfbdev = in cirrusfb_create() local
166 struct cirrus_device *cdev = gfbdev->helper.dev->dev_private; in cirrusfb_create()
182 ret = cirrusfb_create_object(gfbdev, &mode_cmd, &gobj); in cirrusfb_create()
198 info->par = gfbdev; in cirrusfb_create()
200 ret = cirrus_framebuffer_init(cdev->dev, &gfbdev->gfb, &mode_cmd, gobj); in cirrusfb_create()
204 gfbdev->sysram = sysram; in cirrusfb_create()
205 gfbdev->size = size; in cirrusfb_create()
207 fb = &gfbdev->gfb; in cirrusfb_create()
214 gfbdev->helper.fb = fb; in cirrusfb_create()
221 drm_fb_helper_fill_var(info, &gfbdev->helper, sizes->fb_width, in cirrusfb_create()
247 struct cirrus_fbdev *gfbdev) in cirrus_fbdev_destroy() argument
249 struct drm_framebuffer *gfb = &gfbdev->gfb; in cirrus_fbdev_destroy()
251 drm_fb_helper_unregister_fbi(&gfbdev->helper); in cirrus_fbdev_destroy()
258 vfree(gfbdev->sysram); in cirrus_fbdev_destroy()
259 drm_fb_helper_fini(&gfbdev->helper); in cirrus_fbdev_destroy()
272 struct cirrus_fbdev *gfbdev; in cirrus_fbdev_init() local
277 gfbdev = kzalloc(sizeof(struct cirrus_fbdev), GFP_KERNEL); in cirrus_fbdev_init()
278 if (!gfbdev) in cirrus_fbdev_init()
281 cdev->mode_info.gfbdev = gfbdev; in cirrus_fbdev_init()
282 spin_lock_init(&gfbdev->dirty_lock); in cirrus_fbdev_init()
284 drm_fb_helper_prepare(cdev->dev, &gfbdev->helper, in cirrus_fbdev_init()
287 ret = drm_fb_helper_init(cdev->dev, &gfbdev->helper, in cirrus_fbdev_init()
292 ret = drm_fb_helper_single_add_all_connectors(&gfbdev->helper); in cirrus_fbdev_init()
299 return drm_fb_helper_initial_config(&gfbdev->helper, bpp_sel); in cirrus_fbdev_init()
304 if (!cdev->mode_info.gfbdev) in cirrus_fbdev_fini()
307 cirrus_fbdev_destroy(cdev->dev, cdev->mode_info.gfbdev); in cirrus_fbdev_fini()
308 kfree(cdev->mode_info.gfbdev); in cirrus_fbdev_fini()
309 cdev->mode_info.gfbdev = NULL; in cirrus_fbdev_fini()