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
Attachment:
pgp_9Xyo5hn1P.pgp
Description: PGP signature