mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
0cd9d14283
commit
632d035bac
|
@ -1405,6 +1405,20 @@ static int dw_hdmi_connector_get_modes(struct drm_connector *connector)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static enum drm_mode_status
|
||||||
|
dw_hdmi_connector_mode_valid(struct drm_connector *connector,
|
||||||
|
struct drm_display_mode *mode)
|
||||||
|
{
|
||||||
|
struct dw_hdmi *hdmi = container_of(connector,
|
||||||
|
struct dw_hdmi, connector);
|
||||||
|
enum drm_mode_status mode_status = MODE_OK;
|
||||||
|
|
||||||
|
if (hdmi->plat_data->mode_valid)
|
||||||
|
mode_status = hdmi->plat_data->mode_valid(connector, mode);
|
||||||
|
|
||||||
|
return mode_status;
|
||||||
|
}
|
||||||
|
|
||||||
static struct drm_encoder *dw_hdmi_connector_best_encoder(struct drm_connector
|
static struct drm_encoder *dw_hdmi_connector_best_encoder(struct drm_connector
|
||||||
*connector)
|
*connector)
|
||||||
{
|
{
|
||||||
|
@ -1429,6 +1443,7 @@ static struct drm_connector_funcs dw_hdmi_connector_funcs = {
|
||||||
|
|
||||||
static struct drm_connector_helper_funcs dw_hdmi_connector_helper_funcs = {
|
static struct drm_connector_helper_funcs dw_hdmi_connector_helper_funcs = {
|
||||||
.get_modes = dw_hdmi_connector_get_modes,
|
.get_modes = dw_hdmi_connector_get_modes,
|
||||||
|
.mode_valid = dw_hdmi_connector_mode_valid,
|
||||||
.best_encoder = dw_hdmi_connector_best_encoder,
|
.best_encoder = dw_hdmi_connector_best_encoder,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue