disp: msm: dsi: add qsync min fps val in dsi display mode priv info

In the current code for finding the qsync min fps for a
mode, entire mode list is iterated which involves acquiring
dsi display_lock. During conn tx debugfs commands, if
qsync min fps is required, we try to acquire dsi
display_lock twice which results in hang state. This change
adds qsync min fps value in dsi_display_mode_priv_info
struct in order to get the qsync fps from the
msm_display_mode present in connector state instead of
looping through all the modes to find the mode qsync fps.

Change-Id: Ifded40d1f12462bb50fc7bdafb746ae5b8d9512a
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
This commit is contained in:
Yashwanth
2021-09-13 09:42:13 +05:30
والد 0f0c5990ca
کامیت 6619470eb6
6فایلهای تغییر یافته به همراه23 افزوده شده و 25 حذف شده

مشاهده پرونده

@@ -6969,6 +6969,11 @@ int dsi_display_get_modes(struct dsi_display *display,
if (!sub_mode->timing.qsync_min_fps && qsync_caps->qsync_min_fps)
sub_mode->timing.qsync_min_fps = qsync_caps->qsync_min_fps;
/*
* Qsync min fps for the mode will be populated in the timing info
* in dsi_panel_get_mode function.
*/
sub_mode->priv_info->qsync_min_fps = sub_mode->timing.qsync_min_fps;
if (!dfps_caps.dfps_support || !support_video_mode)
continue;
@@ -6977,8 +6982,10 @@ int dsi_display_get_modes(struct dsi_display *display,
sub_mode->timing.refresh_rate = dfps_caps.dfps_list[i];
/* Override with qsync min fps list in dfps usecases */
if (qsync_caps->qsync_min_fps && qsync_caps->qsync_min_fps_list_len)
if (qsync_caps->qsync_min_fps && qsync_caps->qsync_min_fps_list_len) {
sub_mode->timing.qsync_min_fps = qsync_caps->qsync_min_fps_list[i];
sub_mode->priv_info->qsync_min_fps = sub_mode->timing.qsync_min_fps;
}
dsi_display_get_dfps_timing(display, sub_mode,
curr_refresh_rate);