summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/drm_fb_helper.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/drm_fb_helper.c')
-rw-r--r--drivers/gpu/drm/drm_fb_helper.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index 0c0c39bac23d..767adfcb8a37 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -1262,6 +1262,16 @@ struct drm_display_mode *drm_pick_cmdline_mode(struct drm_fb_helper_connector *f
}
create_mode:
+ /*
+ * Synthetic mode timing is very unlikely to work on HDMI. Instead
+ * if there is a fallback mode, give up on trying to guess the forced
+ * mode timing and just let the forced mode deal with it.
+ */
+ if (fb_helper_conn->connector->funcs->fallback_mode) {
+ pr_err("%s: preferring fallback mode\n", __func__);
+ return NULL;
+ }
+
mode = drm_mode_create_from_cmdline_mode(fb_helper_conn->connector->dev,
cmdline_mode);
list_add(&mode->head, &fb_helper_conn->connector->modes);