diff options
Diffstat (limited to 'drivers/gpu')
| -rw-r--r-- | drivers/gpu/drm/omapdrm/omap_connector.c | 29 | ||||
| -rw-r--r-- | drivers/gpu/drm/omapdrm/omap_connector.h | 5 | ||||
| -rw-r--r-- | drivers/gpu/drm/omapdrm/omap_drv.c | 27 |
3 files changed, 31 insertions, 30 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 | ||
| 328 | static 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 */ |
| 329 | struct drm_connector *omap_connector_init(struct drm_device *dev, | 351 | struct 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 | /* |
diff --git a/drivers/gpu/drm/omapdrm/omap_connector.h b/drivers/gpu/drm/omapdrm/omap_connector.h index 42ff0a106179..854099801649 100644 --- a/drivers/gpu/drm/omapdrm/omap_connector.h +++ b/drivers/gpu/drm/omapdrm/omap_connector.h | |||
| @@ -28,8 +28,9 @@ struct drm_encoder; | |||
| 28 | struct omap_dss_device; | 28 | struct omap_dss_device; |
| 29 | 29 | ||
| 30 | struct drm_connector *omap_connector_init(struct drm_device *dev, | 30 | struct drm_connector *omap_connector_init(struct drm_device *dev, |
| 31 | int connector_type, struct omap_dss_device *output, | 31 | struct omap_dss_device *output, |
| 32 | struct omap_dss_device *display, struct drm_encoder *encoder); | 32 | struct omap_dss_device *display, |
| 33 | struct drm_encoder *encoder); | ||
| 33 | struct drm_encoder *omap_connector_attached_encoder( | 34 | struct drm_encoder *omap_connector_attached_encoder( |
| 34 | struct drm_connector *connector); | 35 | struct drm_connector *connector); |
| 35 | bool omap_connector_get_hdmi_mode(struct drm_connector *connector); | 36 | bool omap_connector_get_hdmi_mode(struct drm_connector *connector); |
diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c index 03771f818eaa..5f98506ac2c5 100644 --- a/drivers/gpu/drm/omapdrm/omap_drv.c +++ b/drivers/gpu/drm/omapdrm/omap_drv.c | |||
| @@ -129,28 +129,6 @@ static const struct drm_mode_config_funcs omap_mode_config_funcs = { | |||
| 129 | .atomic_commit = drm_atomic_helper_commit, | 129 | .atomic_commit = drm_atomic_helper_commit, |
| 130 | }; | 130 | }; |
| 131 | 131 | ||
| 132 | static int get_connector_type(struct omap_dss_device *display) | ||
| 133 | { | ||
| 134 | switch (display->type) { | ||
| 135 | case OMAP_DISPLAY_TYPE_HDMI: | ||
| 136 | return DRM_MODE_CONNECTOR_HDMIA; | ||
| 137 | case OMAP_DISPLAY_TYPE_DVI: | ||
| 138 | return DRM_MODE_CONNECTOR_DVID; | ||
| 139 | case OMAP_DISPLAY_TYPE_DSI: | ||
| 140 | return DRM_MODE_CONNECTOR_DSI; | ||
| 141 | case OMAP_DISPLAY_TYPE_DPI: | ||
| 142 | case OMAP_DISPLAY_TYPE_DBI: | ||
| 143 | return DRM_MODE_CONNECTOR_DPI; | ||
| 144 | case OMAP_DISPLAY_TYPE_VENC: | ||
| 145 | /* TODO: This could also be composite */ | ||
| 146 | return DRM_MODE_CONNECTOR_SVIDEO; | ||
| 147 | case OMAP_DISPLAY_TYPE_SDI: | ||
| 148 | return DRM_MODE_CONNECTOR_LVDS; | ||
| 149 | default: | ||
| 150 | return DRM_MODE_CONNECTOR_Unknown; | ||
| 151 | } | ||
| 152 | } | ||
| 153 | |||
| 154 | static void omap_disconnect_pipelines(struct drm_device *ddev) | 132 | static void omap_disconnect_pipelines(struct drm_device *ddev) |
| 155 | { | 133 | { |
| 156 | struct omap_drm_private *priv = ddev->dev_private; | 134 | struct omap_drm_private *priv = ddev->dev_private; |
| @@ -322,9 +300,8 @@ static int omap_modeset_init(struct drm_device *dev) | |||
| 322 | if (!encoder) | 300 | if (!encoder) |
| 323 | return -ENOMEM; | 301 | return -ENOMEM; |
| 324 | 302 | ||
| 325 | connector = omap_connector_init(dev, | 303 | connector = omap_connector_init(dev, pipe->output, display, |
| 326 | get_connector_type(display), pipe->output, | 304 | encoder); |
| 327 | display, encoder); | ||
| 328 | if (!connector) | 305 | if (!connector) |
| 329 | return -ENOMEM; | 306 | return -ENOMEM; |
| 330 | 307 | ||
