Message ID | 1422566320-6126-1-git-send-email-prahal@yahoo.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
+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@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: > -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi, On 01/30/2015 09:24 AM, Joonyoung Shim wrote: > +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. > OK, i also get blank screen from hdmi after enable vidi. >> 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@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; >> + The pipe value for crtc is increased in mixer_initialize so it should be called before exynos_drm_crtc_create because the pipe value is used in exynos_drm_crtc_create. Acked-by: Joonyoung Shim <jy0922.shim@samsung.com> Fimd and VIDI driver also have same issue. I will post the patch to fix this for Fimd and VIDI driver. Thanks. >> 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: >> > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel > -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Alban, 2015-01-29 Alban Browaeys <alban.browaeys@gmail.com>: > 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@yahoo.com> > --- > drivers/gpu/drm/exynos/exynos_mixer.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) Reviewed-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Gustavo -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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 <prahal@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: > -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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:
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@yahoo.com> --- drivers/gpu/drm/exynos/exynos_mixer.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)