diff options
| author | Andy Yan <andy.yan@rock-chips.com> | 2014-12-05 01:30:21 -0500 |
|---|---|---|
| committer | Philipp Zabel <p.zabel@pengutronix.de> | 2015-01-07 12:31:58 -0500 |
| commit | 632d035bace26f57cd22cfc5e2a384989f8a9f50 (patch) | |
| tree | 85230b1514e10e79efa462a90f292e64ff6f55e4 /drivers/gpu/drm/bridge | |
| parent | 0cd9d1428322ecf379d7c2e457fbb35105f1e4a2 (diff) | |
drm: bridge/dw_hdmi: add mode_valid support
some platform may not support all the display mode,
add mode_valid interface check it
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Tested-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Diffstat (limited to 'drivers/gpu/drm/bridge')
| -rw-r--r-- | drivers/gpu/drm/bridge/dw_hdmi.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gpu/drm/bridge/dw_hdmi.c b/drivers/gpu/drm/bridge/dw_hdmi.c index 61f8c1f1cd18..8ef21dad3639 100644 --- a/drivers/gpu/drm/bridge/dw_hdmi.c +++ b/drivers/gpu/drm/bridge/dw_hdmi.c | |||
| @@ -1405,6 +1405,20 @@ static int dw_hdmi_connector_get_modes(struct drm_connector *connector) | |||
| 1405 | return 0; | 1405 | return 0; |
| 1406 | } | 1406 | } |
| 1407 | 1407 | ||
| 1408 | static enum drm_mode_status | ||
| 1409 | dw_hdmi_connector_mode_valid(struct drm_connector *connector, | ||
| 1410 | struct drm_display_mode *mode) | ||
| 1411 | { | ||
| 1412 | struct dw_hdmi *hdmi = container_of(connector, | ||
| 1413 | struct dw_hdmi, connector); | ||
| 1414 | enum drm_mode_status mode_status = MODE_OK; | ||
| 1415 | |||
| 1416 | if (hdmi->plat_data->mode_valid) | ||
| 1417 | mode_status = hdmi->plat_data->mode_valid(connector, mode); | ||
| 1418 | |||
| 1419 | return mode_status; | ||
| 1420 | } | ||
| 1421 | |||
| 1408 | static struct drm_encoder *dw_hdmi_connector_best_encoder(struct drm_connector | 1422 | static struct drm_encoder *dw_hdmi_connector_best_encoder(struct drm_connector |
| 1409 | *connector) | 1423 | *connector) |
| 1410 | { | 1424 | { |
| @@ -1429,6 +1443,7 @@ static struct drm_connector_funcs dw_hdmi_connector_funcs = { | |||
| 1429 | 1443 | ||
| 1430 | static struct drm_connector_helper_funcs dw_hdmi_connector_helper_funcs = { | 1444 | static struct drm_connector_helper_funcs dw_hdmi_connector_helper_funcs = { |
| 1431 | .get_modes = dw_hdmi_connector_get_modes, | 1445 | .get_modes = dw_hdmi_connector_get_modes, |
| 1446 | .mode_valid = dw_hdmi_connector_mode_valid, | ||
| 1432 | .best_encoder = dw_hdmi_connector_best_encoder, | 1447 | .best_encoder = dw_hdmi_connector_best_encoder, |
| 1433 | }; | 1448 | }; |
| 1434 | 1449 | ||
