Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c5e0507e authored by Animesh Kishore's avatar Animesh Kishore Committed by Gerrit - the friendly Code Review server
Browse files

msm: mdss: Fix height for tear check block



The current calculation of sync_cfg_height for tear check block
follows old approach whereas the other tear check parameters are
configured in accordance with free running mode approach. This can
cause double read pointer issues with certain configurations.
Update the calculation of sync_cfg_height to follow the free
running mode approach for MDP3 based targets.

Change-Id: I9922e2b81a6b7241f1808e772b39cd6de5abd27e
Signed-off-by: default avatarPadmanabhan Komanduru <pkomandu@codeaurora.org>
Signed-off-by: default avatarAnimesh Kishore <animeshk@codeaurora.org>
parent 47ddacb6
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -865,6 +865,14 @@ static int mdp3_ctrl_dma_init(struct msm_fb_data_type *mfd,
	te.hw_vsync_mode = panel_info->mipi.hw_vsync_mode;
	te.tear_check_en = panel_info->te.tear_check_en;
	te.sync_cfg_height = panel_info->te.sync_cfg_height;

	/*
	 * for MDP3, max value of CFG_HEIGHT is 0x7ff
	 * for MDP5, max value of CFG_HEIGHT is 0xffff
	 */
	if (te.sync_cfg_height > 0x7ff)
		te.sync_cfg_height = 0x7ff;

	te.vsync_init_val = panel_info->te.vsync_init_val;
	te.sync_threshold_start = panel_info->te.sync_threshold_start;
	te.sync_threshold_continue = panel_info->te.sync_threshold_continue;
+1 −1
Original line number Diff line number Diff line
@@ -278,7 +278,7 @@ int mdp3_dma_sync_config(struct mdp3_dma *dma,

	vsync_clk_speed_hz = MDP_VSYNC_CLK_RATE;

	cfg = total_lines << VSYNC_TOTAL_LINES_SHIFT;
	cfg = te->sync_cfg_height << VSYNC_TOTAL_LINES_SHIFT;
	total_lines *= te->frame_rate;

	vclks_line = (total_lines) ? vsync_clk_speed_hz / total_lines : 0;