View | Details | Raw Unified | Return to bug 853350
Collapse All | Expand All

(-)a/drivers/gpu/drm/drm_fb_helper.c (-1 / +11 lines)
Lines 1162-1167 static struct drm_display_mode *drm_pick_cmdline_mode(struct drm_fb_helper_conne Link Here
1162
{
1162
{
1163
	struct drm_cmdline_mode *cmdline_mode;
1163
	struct drm_cmdline_mode *cmdline_mode;
1164
	struct drm_display_mode *mode = NULL;
1164
	struct drm_display_mode *mode = NULL;
1165
	bool prefer_non_interlace;
1165
1166
1166
	cmdline_mode = &fb_helper_conn->cmdline_mode;
1167
	cmdline_mode = &fb_helper_conn->cmdline_mode;
1167
	if (cmdline_mode->specified == false)
1168
	if (cmdline_mode->specified == false)
Lines 1173-1178 static struct drm_display_mode *drm_pick_cmdline_mode(struct drm_fb_helper_conne Link Here
1173
	if (cmdline_mode->rb || cmdline_mode->margins)
1174
	if (cmdline_mode->rb || cmdline_mode->margins)
1174
		goto create_mode;
1175
		goto create_mode;
1175
1176
1177
	prefer_non_interlace = !cmdline_mode->interlace;
1178
 again:
1176
	list_for_each_entry(mode, &fb_helper_conn->connector->modes, head) {
1179
	list_for_each_entry(mode, &fb_helper_conn->connector->modes, head) {
1177
		/* check width/height */
1180
		/* check width/height */
1178
		if (mode->hdisplay != cmdline_mode->xres ||
1181
		if (mode->hdisplay != cmdline_mode->xres ||
Lines 1187-1196 static struct drm_display_mode *drm_pick_cmdline_mode(struct drm_fb_helper_conne Link Here
1187
		if (cmdline_mode->interlace) {
1190
		if (cmdline_mode->interlace) {
1188
			if (!(mode->flags & DRM_MODE_FLAG_INTERLACE))
1191
			if (!(mode->flags & DRM_MODE_FLAG_INTERLACE))
1189
				continue;
1192
				continue;
1193
		} else if (prefer_non_interlace) {
1194
			if (mode->flags & DRM_MODE_FLAG_INTERLACE)
1195
				continue;
1190
		}
1196
		}
1191
		return mode;
1197
		return mode;
1192
	}
1198
	}
1193
1199
1200
	if (prefer_non_interlace) {
1201
		prefer_non_interlace = false;
1202
		goto again;
1203
	}
1204
1194
create_mode:
1205
create_mode:
1195
	mode = drm_mode_create_from_cmdline_mode(fb_helper_conn->connector->dev,
1206
	mode = drm_mode_create_from_cmdline_mode(fb_helper_conn->connector->dev,
1196
						 cmdline_mode);
1207
						 cmdline_mode);
1197
- 

Return to bug 853350