aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/exynos/exynos_drm_drv.c
diff options
context:
space:
mode:
authorAndrzej Hajda <a.hajda@samsung.com>2014-03-17 11:27:17 +0100
committerInki Dae <daeinki@gmail.com>2014-03-24 00:36:39 +0900
commit25928a395e89423c2d8f8a8620dc213702a05105 (patch)
tree8a42e817b9d8c32500700ca9e5e44cc43762424f /drivers/gpu/drm/exynos/exynos_drm_drv.c
parentdrm/exynos: fix unnecessary resource cleanup (diff)
downloadlinux-dev-25928a395e89423c2d8f8a8620dc213702a05105.tar.xz
linux-dev-25928a395e89423c2d8f8a8620dc213702a05105.zip
drm/exynos: delay fbdev initialization until an output is connected
In case fbdev is initialized before any output is connected, fb resolution defaults to 1024x768. After that any output with bigger resolution is ignored and fbdev is not displayed. The patch postpones fbdev initialization to avoid such situation. Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_drm_drv.c')
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_drv.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
index 2389a3281230..cc238dc794aa 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
@@ -109,24 +109,15 @@ static int exynos_drm_load(struct drm_device *dev, unsigned long flags)
/* setup possible_clones. */
exynos_drm_encoder_setup(dev);
- /*
- * create and configure fb helper and also exynos specific
- * fbdev object.
- */
- ret = exynos_drm_fbdev_init(dev);
- if (ret) {
- DRM_ERROR("failed to initialize drm fbdev\n");
- goto err_drm_device;
- }
-
drm_vblank_offdelay = VBLANK_OFF_DELAY;
platform_set_drvdata(dev->platformdev, dev);
+ /* force connectors detection */
+ drm_helper_hpd_irq_event(dev);
+
return 0;
-err_drm_device:
- exynos_drm_device_unregister(dev);
err_vblank:
drm_vblank_cleanup(dev);
err_display_cleanup:
@@ -574,6 +565,7 @@ out_hdmi:
platform_driver_unregister(&fimd_driver);
out_fimd:
#endif
+
#ifdef CONFIG_DRM_EXYNOS_DP
platform_driver_unregister(&dp_driver);
out_dp: