[PATCH V4 08/10] drm/exynos: dp: create bridge chain using ptn3460 and panel_binder
Ajay kumar
ajaynumb at gmail.com
Fri Jun 20 01:09:10 PDT 2014
ping.
On Wed, Jun 11, 2014 at 11:57 PM, Ajay Kumar <ajaykumar.rs at 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 at 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
>
More information about the dri-devel
mailing list