disp: msm: dsi: add indexing for panel timing nodes

The order of the panel timing nodes specified in the device tree is
not guaranteed to be the same while being parsed in the driver. This
results in unintended modes being set as preferred timing mode. The change
introduces cell-index property, so that the timing modes can be
accurately indexed and parsed.

Change-Id: I8ccd4d5a15643bfe72bc8be084f5e91fac26feb4
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
This commit is contained in:
Satya Rama Aditya Pinapala
2021-03-21 20:22:59 -07:00
committed by Gerrit - the friendly Code Review server
vanhempi 19e9831a45
commit 2fec1685d0
4 muutettua tiedostoa jossa 14 lisäystä ja 7 poistoa

Näytä tiedosto

@@ -6778,11 +6778,6 @@ int dsi_display_get_modes(struct dsi_display *display,
bool is_preferred = false;
u32 frame_threshold_us = ctrl->ctrl->frame_threshold_time_us;
if (display->cmdline_timing == mode_idx) {
topology_override = display->cmdline_topology;
is_preferred = true;
}
memset(&display_mode, 0, sizeof(display_mode));
rc = dsi_panel_get_mode(display->panel, mode_idx,
@@ -6794,6 +6789,11 @@ int dsi_display_get_modes(struct dsi_display *display,
goto error;
}
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;
@@ -6851,6 +6851,7 @@ int dsi_display_get_modes(struct dsi_display *display,
}
memcpy(sub_mode, &display_mode, sizeof(display_mode));
sub_mode->mode_idx = array_idx;
array_idx++;
if (!dfps_caps.dfps_support || !support_video_mode)