Merge "disp: msm: sde: add support for qsync min fps list"

This commit is contained in:
qctecmdr
2020-10-19 16:18:30 -07:00
committad av Gerrit - the friendly Code Review server
förälder 7d1acf4361 e5ff0b8f30
incheckning 68f4129cc6
12 ändrade filer med 166 tillägg och 17 borttagningar

Visa fil

@@ -6472,7 +6472,10 @@ int dsi_display_get_info(struct drm_connector *connector,
info->max_width = 1920;
info->max_height = 1080;
info->qsync_min_fps =
display->panel->qsync_min_fps;
display->panel->qsync_caps.qsync_min_fps;
info->has_qsync_min_fps_list =
(display->panel->qsync_caps.qsync_min_fps_list_len > 0) ?
true : false;
info->poms_align_vsync = display->panel->poms_align_vsync;
switch (display->panel->panel_mode) {
@@ -6934,6 +6937,25 @@ int dsi_display_get_default_lms(void *dsi_display, u32 *num_lm)
return rc;
}
int dsi_display_get_qsync_min_fps(void *display_dsi, u32 mode_fps)
{
struct dsi_display *display = (struct dsi_display *)display_dsi;
struct dsi_panel *panel;
u32 i;
if (display == NULL || display->panel == NULL)
return -EINVAL;
panel = display->panel;
for (i = 0; i < panel->dfps_caps.dfps_list_len; i++) {
if (panel->dfps_caps.dfps_list[i] == mode_fps)
return panel->qsync_caps.qsync_min_fps_list[i];
}
SDE_EVT32(mode_fps);
DSI_DEBUG("Invalid mode_fps %d\n", mode_fps);
return -EINVAL;
}
int dsi_display_find_mode(struct dsi_display *display,
const struct dsi_display_mode *cmp,
struct dsi_display_mode **out_mode)
@@ -7781,7 +7803,7 @@ static int dsi_display_qsync(struct dsi_display *display, bool enable)
int i;
int rc = 0;
if (!display->panel->qsync_min_fps) {
if (!display->panel->qsync_caps.qsync_min_fps) {
DSI_ERR("%s:ERROR: qsync set, but no fps\n", __func__);
return 0;
}
@@ -7809,7 +7831,7 @@ static int dsi_display_qsync(struct dsi_display *display, bool enable)
}
exit:
SDE_EVT32(enable, display->panel->qsync_min_fps, rc);
SDE_EVT32(enable, display->panel->qsync_caps.qsync_min_fps, rc);
mutex_unlock(&display->display_lock);
return rc;
}