commit eaf99c749d43 ("drm: Perform cmdline mode parsing during connector initialisation") breaks HDMI output on BeagleBone Black with LG TV (model 19LS4R-ZA) when "video=HDMI-A-1:1280x720@60" is specified on the command line. The reason is newly added mode '"1280x720" 60 74440 1280 1336 1472 1664 720 721 724 746 0x20 0x6' , which is added by function drm_helper_probe_add_cmdline_mode (introduced in above mentioned commit). This mode causes TV to go black and show "No signal" message. When cmdline_mode is set, it is preferred to use matching mode obtained from EDID, than mode calculated by function drm_mode_create_from_cmdline_mode Signed-off-by: Radek Dostal <rd@xxxxxxxxxxxxxxx> --- drivers/gpu/drm/drm_fb_helper.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c index cac4229..72d6ed0 100644 --- a/drivers/gpu/drm/drm_fb_helper.c +++ b/drivers/gpu/drm/drm_fb_helper.c @@ -1284,6 +1284,7 @@ struct drm_display_mode *drm_pick_cmdline_mode(struct drm_fb_helper_connector *f { struct drm_cmdline_mode *cmdline_mode; struct drm_display_mode *mode; + bool prefer_non_userdef; bool prefer_non_interlace; cmdline_mode = &fb_helper_conn->connector->cmdline_mode; @@ -1296,6 +1297,7 @@ struct drm_display_mode *drm_pick_cmdline_mode(struct drm_fb_helper_connector *f if (cmdline_mode->rb || cmdline_mode->margins) goto create_mode; + prefer_non_userdef = true; prefer_non_interlace = !cmdline_mode->interlace; again: list_for_each_entry(mode, &fb_helper_conn->connector->modes, head) { @@ -1312,6 +1314,9 @@ again: if (cmdline_mode->interlace) { if (!(mode->flags & DRM_MODE_FLAG_INTERLACE)) continue; + } else if (prefer_non_userdef) { + if (mode->type & DRM_MODE_TYPE_USERDEF) + continue; } else if (prefer_non_interlace) { if (mode->flags & DRM_MODE_FLAG_INTERLACE) continue; @@ -1319,6 +1324,11 @@ again: return mode; } + if (prefer_non_userdef) { + prefer_non_userdef = true; + goto again; + } + if (prefer_non_interlace) { prefer_non_interlace = false; goto again; -- 1.7.9.5 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel