On Tue, Apr 22, 2014 at 04:09:16AM +0530, Ajay Kumar wrote:
[...]
> diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c
> b/drivers/gpu/drm/exynos/exynos_dp_core.c
[...]
> @@ -1012,9 +1013,16 @@ static int exynos_dp_create_connector(struct
> exynos_drm_display *display,
> dp->encoder = encoder;
>
> /* Pre-empt DP connector creation if there's a bridge */
> - ret = exynos_drm_attach_lcd_bridge(dp->drm_dev, encoder);
> - if (ret)
> + ret = exynos_drm_attach_lcd_bridge(dp->drm_dev, encoder, dp->drm_panel);
> + if (ret) {
> + /*
> + * Also set "dp->drm_panel = NULL" so that we don't end up
> + * controlling panel power both in exynos_dp and bridge
> + * DPMS routines.
> + */
> + dp->drm_panel = NULL;
> return 0;
> + }This kind of hack should set off an alarm that you're doing something wrong. I'm not sure integration of bridges and panels has been thought about or discussed a lot, but this doesn't look right to me at all. Thierry
pgp_NQ1cAeJhv.pgp
Description: PGP signature
