aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/omapdrm/omap_connector.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/omapdrm/omap_connector.c')
-rw-r--r--drivers/gpu/drm/omapdrm/omap_connector.c29
1 files changed, 26 insertions, 3 deletions
diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c
index 92fea0085a9c..06c48a64b745 100644
--- a/drivers/gpu/drm/omapdrm/omap_connector.c
+++ b/drivers/gpu/drm/omapdrm/omap_connector.c
@@ -325,10 +325,33 @@ static const struct drm_connector_helper_funcs omap_connector_helper_funcs = {
325 .mode_valid = omap_connector_mode_valid, 325 .mode_valid = omap_connector_mode_valid,
326}; 326};
327 327
328static int omap_connector_get_type(struct omap_dss_device *display)
329{
330 switch (display->type) {
331 case OMAP_DISPLAY_TYPE_HDMI:
332 return DRM_MODE_CONNECTOR_HDMIA;
333 case OMAP_DISPLAY_TYPE_DVI:
334 return DRM_MODE_CONNECTOR_DVID;
335 case OMAP_DISPLAY_TYPE_DSI:
336 return DRM_MODE_CONNECTOR_DSI;
337 case OMAP_DISPLAY_TYPE_DPI:
338 case OMAP_DISPLAY_TYPE_DBI:
339 return DRM_MODE_CONNECTOR_DPI;
340 case OMAP_DISPLAY_TYPE_VENC:
341 /* TODO: This could also be composite */
342 return DRM_MODE_CONNECTOR_SVIDEO;
343 case OMAP_DISPLAY_TYPE_SDI:
344 return DRM_MODE_CONNECTOR_LVDS;
345 default:
346 return DRM_MODE_CONNECTOR_Unknown;
347 }
348}
349
328/* initialize connector */ 350/* initialize connector */
329struct drm_connector *omap_connector_init(struct drm_device *dev, 351struct drm_connector *omap_connector_init(struct drm_device *dev,
330 int connector_type, struct omap_dss_device *output, 352 struct omap_dss_device *output,
331 struct omap_dss_device *display, struct drm_encoder *encoder) 353 struct omap_dss_device *display,
354 struct drm_encoder *encoder)
332{ 355{
333 struct drm_connector *connector = NULL; 356 struct drm_connector *connector = NULL;
334 struct omap_connector *omap_connector; 357 struct omap_connector *omap_connector;
@@ -348,7 +371,7 @@ struct drm_connector *omap_connector_init(struct drm_device *dev,
348 connector->doublescan_allowed = 0; 371 connector->doublescan_allowed = 0;
349 372
350 drm_connector_init(dev, connector, &omap_connector_funcs, 373 drm_connector_init(dev, connector, &omap_connector_funcs,
351 connector_type); 374 omap_connector_get_type(display));
352 drm_connector_helper_add(connector, &omap_connector_helper_funcs); 375 drm_connector_helper_add(connector, &omap_connector_helper_funcs);
353 376
354 /* 377 /*