diff options
Diffstat (limited to 'drivers/gpu/drm/omapdrm/omap_connector.c')
-rw-r--r-- | drivers/gpu/drm/omapdrm/omap_connector.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c index b8317b697083..98f5ca29444a 100644 --- a/drivers/gpu/drm/omapdrm/omap_connector.c +++ b/drivers/gpu/drm/omapdrm/omap_connector.c | |||
@@ -268,6 +268,8 @@ static int omap_connector_mode_valid(struct drm_connector *connector, | |||
268 | struct drm_display_mode *mode) | 268 | struct drm_display_mode *mode) |
269 | { | 269 | { |
270 | struct omap_connector *omap_connector = to_omap_connector(connector); | 270 | struct omap_connector *omap_connector = to_omap_connector(connector); |
271 | enum omap_channel channel = omap_connector->output->dispc_channel; | ||
272 | struct omap_drm_private *priv = connector->dev->dev_private; | ||
271 | struct omap_dss_device *dssdev; | 273 | struct omap_dss_device *dssdev; |
272 | struct videomode vm = {0}; | 274 | struct videomode vm = {0}; |
273 | struct drm_device *dev = connector->dev; | 275 | struct drm_device *dev = connector->dev; |
@@ -277,6 +279,10 @@ static int omap_connector_mode_valid(struct drm_connector *connector, | |||
277 | drm_display_mode_to_videomode(mode, &vm); | 279 | drm_display_mode_to_videomode(mode, &vm); |
278 | mode->vrefresh = drm_mode_vrefresh(mode); | 280 | mode->vrefresh = drm_mode_vrefresh(mode); |
279 | 281 | ||
282 | r = priv->dispc_ops->mgr_check_timings(priv->dispc, channel, &vm); | ||
283 | if (r) | ||
284 | goto done; | ||
285 | |||
280 | for (dssdev = omap_connector->output; dssdev; dssdev = dssdev->next) { | 286 | for (dssdev = omap_connector->output; dssdev; dssdev = dssdev->next) { |
281 | if (!dssdev->ops->check_timings) | 287 | if (!dssdev->ops->check_timings) |
282 | continue; | 288 | continue; |