Subject: Re: [PATCH] exynos/drm: fix no hdmi output

From: Inki Dae <[email-masked]>
Date: Wed, 04 Feb 2015 17:35:34 +0900

Hi,

On 2015년 01월 30일 06:18, Alban Browaeys wrote:
> The hdmi outputs black screen only even though under the hood Xorg and
> framebuffer console  are fine : devices found and initialized, but
> not a pixel out.
> 
> Commit 93bca243ec96 ("drm/exynos: remove struct exynos_drm_manager")
> changed the call order of mixer_initialize with regards to
>  exynos_drm_crtc_create.
> 
> This changes breaks hdmi out on Odroid U2 (linux-next with added
>  Marek Szyprowski v4 hdmi patchset from linux-samsung-soc ML).
> 
> Restore the previous call ordering get hdmi to ouput proper pixels:
> ie call mixer_initialize first then exynos_drm_crtc_create.

Applied. Please use prefix of subject correctly, drm/exynos because your
patch is filtered in my mail box.

Thanks,
Inki Dae

> 
> Fixes: 93bca243ec96 ("drm/exynos: remove struct exynos_drm_manager")
> Signed-off-by: Alban Browaeys <[email-masked]>
> ---
>  drivers/gpu/drm/exynos/exynos_mixer.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c
> index d8fd8e1..188f90f 100644
> --- a/drivers/gpu/drm/exynos/exynos_mixer.c
> +++ b/drivers/gpu/drm/exynos/exynos_mixer.c
> @@ -1258,18 +1258,19 @@ static int mixer_bind(struct device *dev, struct device *manager, void *data)
>  	struct drm_device *drm_dev = data;
>  	int ret;
>  
> +	ret = mixer_initialize(ctx, drm_dev);
> +	if (ret)
> +		return ret;
> +
>  	ctx->crtc = exynos_drm_crtc_create(drm_dev, ctx->pipe,
>  				     EXYNOS_DISPLAY_TYPE_HDMI,
>  				     &mixer_crtc_ops, ctx);
>  	if (IS_ERR(ctx->crtc)) {
> +		mixer_ctx_remove(ctx);
>  		ret = PTR_ERR(ctx->crtc);
>  		goto free_ctx;
>  	}
>  
> -	ret = mixer_initialize(ctx, drm_dev);
> -	if (ret)
> -		goto free_ctx;
> -
>  	return 0;
>  
>  free_ctx:
>