[PATCH 19/23] drm/exynos: remove extra call to exynos_dp_commit()

Joonyoung Shim jy0922.shim at samsung.com
Thu Jul 2 05:39:46 PDT 2015


+Cc Hyungwon,

On 06/24/2015 06:35 AM, Gustavo Padovan wrote:
> From: Gustavo Padovan <gustavo.padovan at collabora.co.uk>
> 
> 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.
> 

Hyungwon, can you check this?

> Signed-off-by: Gustavo Padovan <gustavo.padovan at collabora.co.uk>
> ---
>  drivers/gpu/drm/exynos/exynos_dp_core.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c b/drivers/gpu/drm/exynos/exynos_dp_core.c
> index 8614b4f..c853b46 100644
> --- a/drivers/gpu/drm/exynos/exynos_dp_core.c
> +++ b/drivers/gpu/drm/exynos/exynos_dp_core.c
> @@ -796,9 +796,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 (;;) {
> @@ -939,6 +936,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(
> @@ -1108,7 +1108,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)
> 



More information about the dri-devel mailing list