Skip to content

Commit

Permalink
drm/exynos: init kms poll at the end of initialization
Browse files Browse the repository at this point in the history
HPD events can be generated by components even if drm_dev is not fully
initialized, to skip such events kms poll initialization should
be performed at the end of load callback followed directly by forced
connection detection.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
  • Loading branch information
Andrzej Hajda authored and Inki Dae committed Nov 2, 2014
1 parent 64f7aed commit 3cb6830
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions drivers/gpu/drm/exynos/exynos_drm_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,6 @@ static int exynos_drm_load(struct drm_device *dev, unsigned long flags)
goto err_mode_config_cleanup;
}

/* init kms poll for handling hpd */
drm_kms_helper_poll_init(dev);

/* setup possible_clones. */
exynos_drm_encoder_setup(dev);

Expand All @@ -116,9 +113,6 @@ static int exynos_drm_load(struct drm_device *dev, unsigned long flags)
if (ret)
goto err_cleanup_vblank;

/* force connectors detection */
drm_helper_hpd_irq_event(dev);

/*
* enable drm irq mode.
* - with irq_enabled = true, we can use the vblank feature.
Expand All @@ -136,6 +130,12 @@ static int exynos_drm_load(struct drm_device *dev, unsigned long flags)
*/
dev->vblank_disable_allowed = true;

/* init kms poll for handling hpd */
drm_kms_helper_poll_init(dev);

/* force connectors detection */
drm_helper_hpd_irq_event(dev);

return 0;

err_cleanup_vblank:
Expand Down

0 comments on commit 3cb6830

Please sign in to comment.