Lines Matching refs:gfbdev
166 struct cirrus_fbdev *gfbdev = in cirrusfb_create() local
168 struct drm_device *dev = gfbdev->helper.dev; in cirrusfb_create()
169 struct cirrus_device *cdev = gfbdev->helper.dev->dev_private; in cirrusfb_create()
186 ret = cirrusfb_create_object(gfbdev, &mode_cmd, &gobj); in cirrusfb_create()
202 info->par = gfbdev; in cirrusfb_create()
204 ret = cirrus_framebuffer_init(cdev->dev, &gfbdev->gfb, &mode_cmd, gobj); in cirrusfb_create()
208 gfbdev->sysram = sysram; in cirrusfb_create()
209 gfbdev->size = size; in cirrusfb_create()
211 fb = &gfbdev->gfb.base; in cirrusfb_create()
218 gfbdev->helper.fb = fb; in cirrusfb_create()
219 gfbdev->helper.fbdev = info; in cirrusfb_create()
228 drm_fb_helper_fill_var(info, &gfbdev->helper, sizes->fb_width, in cirrusfb_create()
268 struct cirrus_fbdev *gfbdev) in cirrus_fbdev_destroy() argument
271 struct cirrus_framebuffer *gfb = &gfbdev->gfb; in cirrus_fbdev_destroy()
273 if (gfbdev->helper.fbdev) { in cirrus_fbdev_destroy()
274 info = gfbdev->helper.fbdev; in cirrus_fbdev_destroy()
287 vfree(gfbdev->sysram); in cirrus_fbdev_destroy()
288 drm_fb_helper_fini(&gfbdev->helper); in cirrus_fbdev_destroy()
303 struct cirrus_fbdev *gfbdev; in cirrus_fbdev_init() local
308 gfbdev = kzalloc(sizeof(struct cirrus_fbdev), GFP_KERNEL); in cirrus_fbdev_init()
309 if (!gfbdev) in cirrus_fbdev_init()
312 cdev->mode_info.gfbdev = gfbdev; in cirrus_fbdev_init()
313 spin_lock_init(&gfbdev->dirty_lock); in cirrus_fbdev_init()
315 drm_fb_helper_prepare(cdev->dev, &gfbdev->helper, in cirrus_fbdev_init()
318 ret = drm_fb_helper_init(cdev->dev, &gfbdev->helper, in cirrus_fbdev_init()
323 ret = drm_fb_helper_single_add_all_connectors(&gfbdev->helper); in cirrus_fbdev_init()
330 return drm_fb_helper_initial_config(&gfbdev->helper, bpp_sel); in cirrus_fbdev_init()
335 if (!cdev->mode_info.gfbdev) in cirrus_fbdev_fini()
338 cirrus_fbdev_destroy(cdev->dev, cdev->mode_info.gfbdev); in cirrus_fbdev_fini()
339 kfree(cdev->mode_info.gfbdev); in cirrus_fbdev_fini()
340 cdev->mode_info.gfbdev = NULL; in cirrus_fbdev_fini()