diff options
-rw-r--r-- | drivers/staging/imx-drm/parallel-display.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/staging/imx-drm/parallel-display.c b/drivers/staging/imx-drm/parallel-display.c index a8064fcc03d..2a252020b0a 100644 --- a/drivers/staging/imx-drm/parallel-display.c +++ b/drivers/staging/imx-drm/parallel-display.c @@ -57,6 +57,7 @@ static void imx_pd_connector_destroy(struct drm_connector *connector) static int imx_pd_connector_get_modes(struct drm_connector *connector) { struct imx_parallel_display *imxpd = con_to_imxpd(connector); + struct device_node *np = imxpd->dev->of_node; int num_modes = 0; if (imxpd->edid) { @@ -72,6 +73,15 @@ static int imx_pd_connector_get_modes(struct drm_connector *connector) num_modes++; } + if (np) { + struct drm_display_mode *mode = drm_mode_create(connector->dev); + of_get_drm_display_mode(np, &imxpd->mode, 0); + drm_mode_copy(mode, &imxpd->mode); + mode->type |= DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED, + drm_mode_probed_add(connector, mode); + num_modes++; + } + return num_modes; } |