[PATCH] exynos/drm: fix no hdmi output

Joonyoung Shim jy0922.shim at samsung.com
Thu Jan 29 16:24:17 PST 2015


+Cc dri-devel ML.

Hi Alban,

On 01/30/2015 06:18 AM, 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.
> 

Right, there is no any reason to change order but i don't think it
causes problem because they don't any dependency.

> This changes breaks hdmi out on Odroid U2 (linux-next with added
>  Marek Szyprowski v4 hdmi patchset from linux-samsung-soc ML).
> 

I tested Odroid U3 but hdmi out is working well.

Thanks.

> Restore the previous call ordering get hdmi to ouput proper pixels:
> ie call mixer_initialize first then exynos_drm_crtc_create.
> 
> Fixes: 93bca243ec96 ("drm/exynos: remove struct exynos_drm_manager")
> Signed-off-by: Alban Browaeys <prahal at yahoo.com>
> ---
>  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:
> 



More information about the dri-devel mailing list