[PATCH v2 2/2] drm/fsl-dcu: add support for drm bridge
Meng Yi
meng.yi at nxp.com
Tue Jun 28 09:32:05 UTC 2016
The current output code only supports connection to drm panels.
Add code to support drm bridge, to support connections to
external connectors.
Signed-off-by: Meng Yi <meng.yi at nxp.com>
---
Changes in V2:
-no change
---
drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c
index b23cc58..b1a2490 100644
--- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c
+++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c
@@ -189,6 +189,7 @@ err_cleanup:
static int fsl_dcu_attach_endpoint(struct fsl_dcu_drm_device *fsl_dev,
const struct of_endpoint *ep)
{
+ struct drm_bridge *bridge;
struct device_node *np;
int ret;
@@ -200,8 +201,21 @@ static int fsl_dcu_attach_endpoint(struct fsl_dcu_drm_device *fsl_dev,
ret = fsl_dcu_attach_panel(fsl_dev, fsl_dev->connector.panel);
if (ret)
return ret;
+ return 0;
}
+ bridge = of_drm_find_bridge(np);
+ of_node_put(np);
+ if (!bridge)
+ return -ENODEV;
+
+ fsl_dev->encoder.bridge = bridge;
+ bridge->encoder = &fsl_dev->encoder;
+
+ ret = drm_bridge_attach(fsl_dev->drm, bridge);
+ if (ret)
+ return -EPROBE_DEFER;
+
return 0;
}
--
2.1.0.27.g96db324
More information about the dri-devel
mailing list