summaryrefslogtreecommitdiffstats
path: root/drivers/video/tegra/dc/dsi.c
diff options
context:
space:
mode:
authorAnimesh Kishore <ankishore@nvidia.com>2013-12-27 06:38:25 -0500
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:08:02 -0400
commitbc62b9992ddfb833fef39d85531c9e49dc914bfc (patch)
treef2fae95d3a88e603ca66d8712eac64cb24f255c1 /drivers/video/tegra/dc/dsi.c
parent88e519a684a47fee5b01ebf666a8598baa85d8ee (diff)
video: tegra: dc: Enable TE when user seeks vsync
TE is vsync for one-shot. Enable it when userspace is waiting on vsync. Bug 1422639 Change-Id: Icc2bff2a906a3e79cce1e033b85263a579dd1889 Signed-off-by: Animesh Kishore <ankishore@nvidia.com> Reviewed-on: http://git-master/r/350146 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
Diffstat (limited to 'drivers/video/tegra/dc/dsi.c')
-rw-r--r--drivers/video/tegra/dc/dsi.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/video/tegra/dc/dsi.c b/drivers/video/tegra/dc/dsi.c
index 041c2e357..f965fe54d 100644
--- a/drivers/video/tegra/dc/dsi.c
+++ b/drivers/video/tegra/dc/dsi.c
@@ -3092,6 +3092,7 @@ static int tegra_dsi_send_panel_cmd(struct tegra_dc *dc,
3092 struct tegra_dsi_cmd *cmd, 3092 struct tegra_dsi_cmd *cmd,
3093 u32 n_cmd) 3093 u32 n_cmd)
3094{ 3094{
3095#define DEFAULT_DELAY_MS 1
3095 u32 i; 3096 u32 i;
3096 int err; 3097 int err;
3097 u8 delay_ms; 3098 u8 delay_ms;
@@ -3118,8 +3119,7 @@ static int tegra_dsi_send_panel_cmd(struct tegra_dc *dc,
3118 tegra_dsi_start_host_cmd_v_blank_video(dsi, cur_cmd); 3119 tegra_dsi_start_host_cmd_v_blank_video(dsi, cur_cmd);
3119 tegra_dsi_end_host_cmd_v_blank_video(dc, dsi); 3120 tegra_dsi_end_host_cmd_v_blank_video(dc, dsi);
3120 } else { 3121 } else {
3121 /* default delay 1ms after command */ 3122 delay_ms = DEFAULT_DELAY_MS;
3122 delay_ms = 1;
3123 if ((i + 1 < n_cmd) && 3123 if ((i + 1 < n_cmd) &&
3124 (cmd[i + 1].cmd_type == TEGRA_DSI_DELAY_MS)) { 3124 (cmd[i + 1].cmd_type == TEGRA_DSI_DELAY_MS)) {
3125 delay_ms = cmd[i + 1].sp_len_dly.delay_ms; 3125 delay_ms = cmd[i + 1].sp_len_dly.delay_ms;
@@ -3132,6 +3132,7 @@ static int tegra_dsi_send_panel_cmd(struct tegra_dc *dc,
3132 } 3132 }
3133 } 3133 }
3134 return err; 3134 return err;
3135#undef DEFAULT_DELAY_MS
3135} 3136}
3136 3137
3137static u8 tegra_dsi_ecc(u32 header) 3138static u8 tegra_dsi_ecc(u32 header)
@@ -4376,11 +4377,13 @@ static int tegra_dsi_te_on_off(struct tegra_dc_dsi_data *dsi, bool flag)
4376 struct tegra_dsi_cmd te_enable[] = { 4377 struct tegra_dsi_cmd te_enable[] = {
4377 DSI_CMD_SHORT(DSI_DCS_WRITE_0_PARAM, 4378 DSI_CMD_SHORT(DSI_DCS_WRITE_0_PARAM,
4378 DSI_DCS_SET_TEARING_EFFECT_ON, 0x0), 4379 DSI_DCS_SET_TEARING_EFFECT_ON, 0x0),
4380 DSI_DLY_MS(0),
4379 }; 4381 };
4380 4382
4381 struct tegra_dsi_cmd te_disable[] = { 4383 struct tegra_dsi_cmd te_disable[] = {
4382 DSI_CMD_SHORT(DSI_DCS_WRITE_0_PARAM, 4384 DSI_CMD_SHORT(DSI_DCS_WRITE_0_PARAM,
4383 DSI_DCS_SET_TEARING_EFFECT_OFF, 0x0), 4385 DSI_DCS_SET_TEARING_EFFECT_OFF, 0x0),
4386 DSI_DLY_MS(0),
4384 }; 4387 };
4385 4388
4386 if (flag) 4389 if (flag)