Message ID | 1402511228-18945-9-git-send-email-ajaykumar.rs@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
ping. On Wed, Jun 11, 2014 at 11:57 PM, Ajay Kumar <ajaykumar.rs@samsung.com> wrote: > exynos_dp supports a simple bridge chain with ptn3460 bridge > and an LVDS panel attached to it. > This patch creates the bridge chain with ptn3460 as the head > of the list and panel_binder being the tail. > > Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> > --- > drivers/gpu/drm/exynos/exynos_dp_core.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c b/drivers/gpu/drm/exynos/exynos_dp_core.c > index d8546ea..69535f7 100644 > --- a/drivers/gpu/drm/exynos/exynos_dp_core.c > +++ b/drivers/gpu/drm/exynos/exynos_dp_core.c > @@ -30,6 +30,7 @@ > #include <drm/drm_crtc_helper.h> > #include <drm/drm_panel.h> > #include <drm/bridge/ptn3460.h> > +#include <drm/bridge/panel_binder.h> > > #include "exynos_drm_drv.h" > #include "exynos_dp_core.h" > @@ -992,7 +993,7 @@ static int exynos_drm_attach_lcd_bridge(struct exynos_dp_device *dp, > struct drm_encoder *encoder) > { > struct bridge_init bridge; > - struct drm_bridge *bridge_chain = NULL; > + struct drm_bridge *bridge_chain = NULL, *next = NULL; > bool connector_created = false; > > if (find_bridge("nxp,ptn3460", &bridge)) { > @@ -1000,6 +1001,15 @@ static int exynos_drm_attach_lcd_bridge(struct exynos_dp_device *dp, > bridge.node); > } > > + if (bridge_chain && dp->edp_panel) { > + next = panel_binder_init(dp->drm_dev, encoder, bridge.client, > + bridge.node, dp->edp_panel, DRM_MODE_CONNECTOR_LVDS, > + DRM_CONNECTOR_POLL_HPD); > + if (next) > + connector_created = true; > + drm_bridge_add_to_chain(bridge_chain, next); > + } > + > return connector_created; > } > > -- > 1.7.9.5 >
diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c b/drivers/gpu/drm/exynos/exynos_dp_core.c index d8546ea..69535f7 100644 --- a/drivers/gpu/drm/exynos/exynos_dp_core.c +++ b/drivers/gpu/drm/exynos/exynos_dp_core.c @@ -30,6 +30,7 @@ #include <drm/drm_crtc_helper.h> #include <drm/drm_panel.h> #include <drm/bridge/ptn3460.h> +#include <drm/bridge/panel_binder.h> #include "exynos_drm_drv.h" #include "exynos_dp_core.h" @@ -992,7 +993,7 @@ static int exynos_drm_attach_lcd_bridge(struct exynos_dp_device *dp, struct drm_encoder *encoder) { struct bridge_init bridge; - struct drm_bridge *bridge_chain = NULL; + struct drm_bridge *bridge_chain = NULL, *next = NULL; bool connector_created = false; if (find_bridge("nxp,ptn3460", &bridge)) { @@ -1000,6 +1001,15 @@ static int exynos_drm_attach_lcd_bridge(struct exynos_dp_device *dp, bridge.node); } + if (bridge_chain && dp->edp_panel) { + next = panel_binder_init(dp->drm_dev, encoder, bridge.client, + bridge.node, dp->edp_panel, DRM_MODE_CONNECTOR_LVDS, + DRM_CONNECTOR_POLL_HPD); + if (next) + connector_created = true; + drm_bridge_add_to_chain(bridge_chain, next); + } + return connector_created; }
exynos_dp supports a simple bridge chain with ptn3460 bridge and an LVDS panel attached to it. This patch creates the bridge chain with ptn3460 as the head of the list and panel_binder being the tail. Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> --- drivers/gpu/drm/exynos/exynos_dp_core.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-)