From: Gustavo Padovan Date: Wed, 5 Aug 2015 23:24:18 +0000 (-0300) Subject: drm/exynos: remove extra call to exynos_dp_commit() X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=07fd6e1f9985399f08af0f7981eaed362512a5af;p=linux-beck.git drm/exynos: remove extra call to exynos_dp_commit() exynos_dp_commit() was getting called twice by exynos encoder core, once inside the .enable() call and another time by .commit() itself. The remove of the second call caused the wake of a bug, the operations orders inside exynos_dp_commit was wrong and we had to move exynos_dp_start_video() to be the last operation in there. Signed-off-by: Gustavo Padovan Signed-off-by: Inki Dae --- diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c b/drivers/gpu/drm/exynos/exynos_dp_core.c index 2118737ab462..6c84bfbcff97 100644 --- a/drivers/gpu/drm/exynos/exynos_dp_core.c +++ b/drivers/gpu/drm/exynos/exynos_dp_core.c @@ -795,9 +795,6 @@ static int exynos_dp_config_video(struct exynos_dp_device *dp) /* Configure video slave mode */ exynos_dp_enable_video_master(dp, 0); - /* Enable video */ - exynos_dp_start_video(dp); - timeout_loop = 0; for (;;) { @@ -938,6 +935,9 @@ static void exynos_dp_commit(struct exynos_drm_encoder *encoder) if (drm_panel_enable(dp->panel)) DRM_ERROR("failed to enable the panel\n"); } + + /* Enable video */ + exynos_dp_start_video(dp); } static enum drm_connector_status exynos_dp_detect( @@ -1114,7 +1114,6 @@ static struct exynos_drm_encoder_ops exynos_dp_encoder_ops = { .create_connector = exynos_dp_create_connector, .enable = exynos_dp_enable, .disable = exynos_dp_disable, - .commit = exynos_dp_commit, }; static struct video_info *exynos_dp_dt_parse_pdata(struct device *dev)