Lines Matching refs:fbdev

218 	struct tegra_fbdev *fbdev = to_tegra_fbdev(helper);  in tegra_fbdev_probe()  local
253 fbdev->fb = tegra_fb_alloc(drm, &cmd, &bo, 1); in tegra_fbdev_probe()
254 if (IS_ERR(fbdev->fb)) { in tegra_fbdev_probe()
255 err = PTR_ERR(fbdev->fb); in tegra_fbdev_probe()
259 return PTR_ERR(fbdev->fb); in tegra_fbdev_probe()
262 fb = fbdev->fb; in tegra_fbdev_probe()
264 helper->fbdev = info; in tegra_fbdev_probe()
302 struct tegra_fbdev *fbdev; in tegra_fbdev_create() local
304 fbdev = kzalloc(sizeof(*fbdev), GFP_KERNEL); in tegra_fbdev_create()
305 if (!fbdev) { in tegra_fbdev_create()
310 drm_fb_helper_prepare(drm, &fbdev->base, &tegra_fb_helper_funcs); in tegra_fbdev_create()
312 return fbdev; in tegra_fbdev_create()
315 static void tegra_fbdev_free(struct tegra_fbdev *fbdev) in tegra_fbdev_free() argument
317 kfree(fbdev); in tegra_fbdev_free()
320 static int tegra_fbdev_init(struct tegra_fbdev *fbdev, in tegra_fbdev_init() argument
325 struct drm_device *drm = fbdev->base.dev; in tegra_fbdev_init()
328 err = drm_fb_helper_init(drm, &fbdev->base); in tegra_fbdev_init()
335 err = drm_fb_helper_initial_config(&fbdev->base, preferred_bpp); in tegra_fbdev_init()
345 drm_fb_helper_fini(&fbdev->base); in tegra_fbdev_init()
349 static void tegra_fbdev_exit(struct tegra_fbdev *fbdev) in tegra_fbdev_exit() argument
351 drm_fb_helper_unregister_fbi(&fbdev->base); in tegra_fbdev_exit()
353 if (fbdev->fb) { in tegra_fbdev_exit()
354 struct tegra_bo *bo = tegra_fb_get_plane(fbdev->fb, 0); in tegra_fbdev_exit()
362 drm_framebuffer_remove(fbdev->fb); in tegra_fbdev_exit()
365 drm_fb_helper_fini(&fbdev->base); in tegra_fbdev_exit()
366 tegra_fbdev_free(fbdev); in tegra_fbdev_exit()
375 tegra->fbdev = tegra_fbdev_create(drm); in tegra_drm_fb_prepare()
376 if (IS_ERR(tegra->fbdev)) in tegra_drm_fb_prepare()
377 return PTR_ERR(tegra->fbdev); in tegra_drm_fb_prepare()
388 tegra_fbdev_free(tegra->fbdev); in tegra_drm_fb_free()
398 err = tegra_fbdev_init(tegra->fbdev, 32, drm->mode_config.num_crtc, in tegra_drm_fb_init()
412 tegra_fbdev_exit(tegra->fbdev); in tegra_drm_fb_exit()