[PATCH] exynos/drm: fix no hdmi output

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

Fixes: 93bca243ec96 ("drm/exynos: remove struct exynos_drm_manager")
Signed-off-by: Alban Browaeys <prahal@xxxxxxxxx>
---
 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:
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-next" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux