浏览代码

disp: msm: dsi: fix cmdline topology selection

Set topology override to cmdline topology before parsing timings so that
correct topology is set in mode.

Change-Id: I7ba371370c71516b436dbe5ec07064f7b54975bb
Signed-off-by: Srihitha Tangudu <[email protected]>
Srihitha Tangudu 1 年之前
父节点
当前提交
3f43908efe
共有 2 个文件被更改,包括 6 次插入6 次删除
  1. 5 5
      msm/dsi/dsi_display.c
  2. 1 1
      msm/dsi/dsi_panel.c

+ 5 - 5
msm/dsi/dsi_display.c

@@ -7144,6 +7144,11 @@ int dsi_display_get_modes_helper(struct dsi_display *display,
 		/* Setup widebus support */
 		display_mode.priv_info->widebus_support = ctrl->ctrl->hw.widebus_support;
 
+		if (display->cmdline_timing == display_mode.mode_idx) {
+			topology_override = display->cmdline_topology;
+			is_preferred = true;
+		}
+
 		rc = dsi_panel_get_mode(display->panel, mode_idx,
 						&display_mode,
 						topology_override);
@@ -7156,11 +7161,6 @@ int dsi_display_get_modes_helper(struct dsi_display *display,
 			return rc;
 		}
 
-		if (display->cmdline_timing == display_mode.mode_idx) {
-			topology_override = display->cmdline_topology;
-			is_preferred = true;
-		}
-
 		support_cmd_mode = display_mode.panel_mode_caps & DSI_OP_CMD_MODE;
 		support_video_mode = display_mode.panel_mode_caps & DSI_OP_VIDEO_MODE;
 

+ 1 - 1
msm/dsi/dsi_panel.c

@@ -3146,6 +3146,7 @@ static int dsi_panel_parse_topology(
 		goto parse_fail;
 	}
 
+parse_done:
 	if (!(priv_info->dsc_enabled || priv_info->vdc_enabled) !=
 			!topology[top_sel].num_enc) {
 		DSI_ERR("topology and compression info mismatch dsc:%d vdc:%d num_enc:%d\n",
@@ -3164,7 +3165,6 @@ static int dsi_panel_parse_topology(
 		topology[top_sel].num_enc,
 		topology[top_sel].num_intf);
 
-parse_done:
 	memcpy(&priv_info->topology, &topology[top_sel],
 		sizeof(struct msm_display_topology));
 parse_fail: