Merge "disp: msm: sde: add support for qsync min fps list"
This commit is contained in:

committad av
Gerrit - the friendly Code Review server

incheckning
68f4129cc6
@@ -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;
|
||||
}
|
||||
|
Referens i nytt ärende
Block a user