aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/bridge
diff options
context:
space:
mode:
authorAndy Yan <andy.yan@rock-chips.com>2014-12-05 01:30:21 -0500
committerPhilipp Zabel <p.zabel@pengutronix.de>2015-01-07 12:31:58 -0500
commit632d035bace26f57cd22cfc5e2a384989f8a9f50 (patch)
tree85230b1514e10e79efa462a90f292e64ff6f55e4 /drivers/gpu/drm/bridge
parent0cd9d1428322ecf379d7c2e457fbb35105f1e4a2 (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.c15
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
1408static enum drm_mode_status
1409dw_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
1408static struct drm_encoder *dw_hdmi_connector_best_encoder(struct drm_connector 1422static 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
1430static struct drm_connector_helper_funcs dw_hdmi_connector_helper_funcs = { 1444static 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