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

Commit 43ec4acf authored by Padmanabhan Komanduru's avatar Padmanabhan Komanduru Committed by Gerrit - the friendly Code Review server
Browse files

msm: mdss: program correct value of 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>
parent 8fc5b965
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -908,6 +908,11 @@ 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
@@ -279,7 +279,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;