drm/bridge: analogix_dp: introduce connector mode_valid callback to plat driver

It's helpful to expand the mode_valid callback to platform driver,
so they could valid the display mode or informations.

Change-Id: Icfd7593bd10c93fc9045acf04a8d0ed6336ffb85
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
This commit is contained in:
Yakir Yang
2016-04-13 12:02:48 +08:00
committed by Huang, Tao
parent 33cab09a90
commit 280a4db610
2 changed files with 19 additions and 0 deletions

View File

@@ -943,6 +943,20 @@ int analogix_dp_get_modes(struct drm_connector *connector)
return num_modes;
}
static enum drm_mode_status
analogix_dp_mode_valid(struct drm_connector *connector,
struct drm_display_mode *mode)
{
struct analogix_dp_device *dp = to_dp(connector);
enum drm_mode_status status = MODE_OK;
if (dp->plat_data->mode_valid)
status = dp->plat_data->mode_valid(dp->plat_data, connector,
mode);
return status;
}
static struct drm_encoder *
analogix_dp_best_encoder(struct drm_connector *connector)
{
@@ -954,6 +968,7 @@ analogix_dp_best_encoder(struct drm_connector *connector)
static const struct drm_connector_helper_funcs analogix_dp_connector_helper_funcs = {
.get_modes = analogix_dp_get_modes,
.best_encoder = analogix_dp_best_encoder,
.mode_valid = analogix_dp_mode_valid,
};
enum drm_connector_status

View File

@@ -29,6 +29,10 @@ struct analogix_dp_plat_data {
int (*attach)(struct analogix_dp_plat_data *, struct drm_bridge *,
struct drm_connector *);
int (*get_modes)(struct analogix_dp_plat_data *);
enum drm_mode_status (*mode_valid)(struct analogix_dp_plat_data *,
struct drm_connector *,
struct drm_display_mode *);
};
int analogix_dp_resume(struct device *dev);