disp: msm: sde: add support for qsync min fps list
In current implementation qsync min fps is single value. It is same for all the list of supported dfps list. Added support for new dt entry dsi-supported-qsync-min-fps-list corresponding to the fps supported in the dfps list dsi-supported-dfps-list. Change-Id: Ifd5309c2f51865a3c0d9fadb65cbcd291b6ef42b Signed-off-by: Raviteja Tamatam <travitej@codeaurora.org>
This commit is contained in:
@@ -3204,10 +3204,12 @@ static void sde_encoder_frame_done_callback(
|
||||
|
||||
static void sde_encoder_get_qsync_fps_callback(
|
||||
struct drm_encoder *drm_enc,
|
||||
u32 *qsync_fps)
|
||||
u32 *qsync_fps, u32 vrr_fps)
|
||||
{
|
||||
struct msm_display_info *disp_info;
|
||||
struct sde_encoder_virt *sde_enc;
|
||||
int rc = 0;
|
||||
struct sde_connector *sde_conn;
|
||||
|
||||
if (!qsync_fps)
|
||||
return;
|
||||
@@ -3221,6 +3223,31 @@ static void sde_encoder_get_qsync_fps_callback(
|
||||
sde_enc = to_sde_encoder_virt(drm_enc);
|
||||
disp_info = &sde_enc->disp_info;
|
||||
*qsync_fps = disp_info->qsync_min_fps;
|
||||
|
||||
/**
|
||||
* If "dsi-supported-qsync-min-fps-list" is defined, get
|
||||
* the qsync min fps corresponding to the fps in dfps list
|
||||
*/
|
||||
if (disp_info->has_qsync_min_fps_list) {
|
||||
|
||||
if (!sde_enc->cur_master ||
|
||||
!(sde_enc->disp_info.capabilities &
|
||||
MSM_DISPLAY_CAP_VID_MODE)) {
|
||||
SDE_ERROR("invalid qsync settings %b\n",
|
||||
!sde_enc->cur_master);
|
||||
return;
|
||||
}
|
||||
sde_conn = to_sde_connector(sde_enc->cur_master->connector);
|
||||
|
||||
if (sde_conn->ops.get_qsync_min_fps)
|
||||
rc = sde_conn->ops.get_qsync_min_fps(sde_conn->display,
|
||||
vrr_fps);
|
||||
if (rc <= 0) {
|
||||
SDE_ERROR("invalid qsync min fps %d\n", rc);
|
||||
return;
|
||||
}
|
||||
*qsync_fps = rc;
|
||||
}
|
||||
}
|
||||
|
||||
int sde_encoder_idle_request(struct drm_encoder *drm_enc)
|
||||
|
مرجع در شماره جدید
Block a user