Lines Matching refs:drm
100 static struct drm_framebuffer *tegra_fb_alloc(struct drm_device *drm, in tegra_fb_alloc() argument
113 drm_helper_mode_fill_fb_struct(drm, fb, mode_cmd); in tegra_fb_alloc()
118 err = drm_framebuffer_init(drm, fb, &tegra_fb_funcs); in tegra_fb_alloc()
120 dev_err(drm->dev, "failed to initialize framebuffer: %d\n", in tegra_fb_alloc()
129 struct drm_framebuffer *tegra_fb_create(struct drm_device *drm, in tegra_fb_create() argument
133 const struct drm_format_info *info = drm_get_format_info(drm, cmd); in tegra_fb_create()
164 fb = tegra_fb_alloc(drm, cmd, planes, i); in tegra_fb_create()
209 struct drm_device *drm = helper->dev; in tegra_fbdev_probe() local
231 bo = tegra_bo_create(drm, size, 0); in tegra_fbdev_probe()
237 dev_err(drm->dev, "failed to allocate framebuffer info\n"); in tegra_fbdev_probe()
242 fbdev->fb = tegra_fb_alloc(drm, &cmd, &bo, 1); in tegra_fbdev_probe()
245 dev_err(drm->dev, "failed to allocate DRM framebuffer: %d\n", in tegra_fbdev_probe()
266 dev_err(drm->dev, "failed to vmap() framebuffer\n"); in tegra_fbdev_probe()
272 drm->mode_config.fb_base = (resource_size_t)bo->paddr; in tegra_fbdev_probe()
289 static struct tegra_fbdev *tegra_fbdev_create(struct drm_device *drm) in tegra_fbdev_create() argument
295 dev_err(drm->dev, "failed to allocate DRM fbdev\n"); in tegra_fbdev_create()
299 drm_fb_helper_prepare(drm, &fbdev->base, &tegra_fb_helper_funcs); in tegra_fbdev_create()
314 struct drm_device *drm = fbdev->base.dev; in tegra_fbdev_init() local
317 err = drm_fb_helper_init(drm, &fbdev->base, max_connectors); in tegra_fbdev_init()
319 dev_err(drm->dev, "failed to initialize DRM FB helper: %d\n", in tegra_fbdev_init()
326 dev_err(drm->dev, "failed to add connectors: %d\n", err); in tegra_fbdev_init()
332 dev_err(drm->dev, "failed to set initial configuration: %d\n", in tegra_fbdev_init()
365 int tegra_drm_fb_prepare(struct drm_device *drm) in tegra_drm_fb_prepare() argument
368 struct tegra_drm *tegra = drm->dev_private; in tegra_drm_fb_prepare()
370 tegra->fbdev = tegra_fbdev_create(drm); in tegra_drm_fb_prepare()
378 void tegra_drm_fb_free(struct drm_device *drm) in tegra_drm_fb_free() argument
381 struct tegra_drm *tegra = drm->dev_private; in tegra_drm_fb_free()
387 int tegra_drm_fb_init(struct drm_device *drm) in tegra_drm_fb_init() argument
390 struct tegra_drm *tegra = drm->dev_private; in tegra_drm_fb_init()
393 err = tegra_fbdev_init(tegra->fbdev, 32, drm->mode_config.num_crtc, in tegra_drm_fb_init()
394 drm->mode_config.num_connector); in tegra_drm_fb_init()
402 void tegra_drm_fb_exit(struct drm_device *drm) in tegra_drm_fb_exit() argument
405 struct tegra_drm *tegra = drm->dev_private; in tegra_drm_fb_exit()