disp: msm: sde: add one-shot qsync mode support

Add support to enable one-shot mode during qsync
update. This feature ensures the frame drops can be
reduced due to delayed software flush for the
current commit. Also, add changes to disable the qsync
feature post commit.

Change-Id: Icb158853f52284bcf8fa641e5f62200c5460b660
Signed-off-by: Kalyan Thota <kalyant@codeaurora.org>
Signed-off-by: Jayaprakash <jmadiset@codeaurora.org>
这个提交包含在:
Jayaprakash
2019-09-26 11:55:26 +05:30
父节点 ad40a300a1
当前提交 985ffddc71
修改 7 个文件,包含 63 行新增8 行删除

查看文件

@@ -915,7 +915,8 @@ void dsi_conn_enable_event(struct drm_connector *connector,
event_idx, &event_info, enable);
}
int dsi_conn_post_kickoff(struct drm_connector *connector)
int dsi_conn_post_kickoff(struct drm_connector *connector,
struct msm_display_kickoff_params *params)
{
struct drm_encoder *encoder;
struct dsi_bridge *c_bridge;
@@ -923,6 +924,7 @@ int dsi_conn_post_kickoff(struct drm_connector *connector)
struct dsi_display *display;
struct dsi_display_ctrl *m_ctrl, *ctrl;
int i, rc = 0;
bool enable;
if (!connector || !connector->state) {
DSI_ERR("invalid connector or connector state\n");
@@ -968,6 +970,12 @@ int dsi_conn_post_kickoff(struct drm_connector *connector)
/* ensure dynamic clk switch flag is reset */
c_bridge->dsi_mode.dsi_mode_flags &= ~DSI_MODE_FLAG_DYN_CLK;
if (params->qsync_update) {
enable = (params->qsync_mode > 0) ? true : false;
display_for_each_ctrl(i, display)
dsi_ctrl_setup_avr(display->ctrl[i].ctrl, enable);
}
return 0;
}