Commit 9377c517 authored by William Katsak's avatar William Katsak Committed by Paul Mundt

udlfb: Correct sub-optimal resolution selection.

The situation in which the problem occurred was with a Plugable UGA-2K-A
connected to a Samsung EX2220X display. The driver indicates that
1920x1080 is a valid mode (the first mode available, in fact), but
proceeds to set the framebuffer size to 1600x1200.

The patch corrects what seems to be a logic error, regarding unsetting
the FB_MISC_1ST_DETAIL flag, if the first (top/best) mode is invalid.
The existing code unset the flag if ANY mode was invalid.
Signed-off-by: default avatarWilliam Katsak <william.katsak@alcatel-lucent.com>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 2bceec57
...@@ -1233,8 +1233,12 @@ static int dlfb_setup_modes(struct dlfb_data *dev, ...@@ -1233,8 +1233,12 @@ static int dlfb_setup_modes(struct dlfb_data *dev,
if (dlfb_is_valid_mode(&info->monspecs.modedb[i], info)) if (dlfb_is_valid_mode(&info->monspecs.modedb[i], info))
fb_add_videomode(&info->monspecs.modedb[i], fb_add_videomode(&info->monspecs.modedb[i],
&info->modelist); &info->modelist);
else /* if we've removed top/best mode */ else {
info->monspecs.misc &= ~FB_MISC_1ST_DETAIL; if (i == 0)
/* if we've removed top/best mode */
info->monspecs.misc
&= ~FB_MISC_1ST_DETAIL;
}
} }
default_vmode = fb_find_best_display(&info->monspecs, default_vmode = fb_find_best_display(&info->monspecs,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment