diff --git a/msm/sde/sde_encoder_phys_vid.c b/msm/sde/sde_encoder_phys_vid.c index 9e1bd1c3c4..2b448f0aa2 100644 --- a/msm/sde/sde_encoder_phys_vid.c +++ b/msm/sde/sde_encoder_phys_vid.c @@ -1252,8 +1252,7 @@ static int sde_encoder_phys_vid_wait_for_active( struct drm_display_mode mode; struct sde_encoder_phys_vid *vid_enc; u32 ln_cnt, min_ln_cnt, active_lns_cnt; - u32 clk_period, time_of_line; - u32 delay, retry = MAX_POLL_CNT; + u32 retry = MAX_POLL_CNT; vid_enc = to_sde_encoder_phys_vid(phys_enc); @@ -1264,32 +1263,9 @@ static int sde_encoder_phys_vid_wait_for_active( mode = phys_enc->cached_mode; - /* - * calculate clk_period as pico second to maintain good - * accuracy with high pclk rate and this number is in 17 bit - * range. - */ - clk_period = DIV_ROUND_UP_ULL(1000000000, mode.clock); - if (!clk_period) { - SDE_ERROR_VIDENC(vid_enc, "Unable to calculate clock period\n"); - return -EINVAL; - } - min_ln_cnt = (mode.vtotal - mode.vsync_start) + (mode.vsync_end - mode.vsync_start); active_lns_cnt = mode.vdisplay; - time_of_line = mode.htotal * clk_period; - - /* delay in micro seconds */ - delay = (time_of_line * (min_ln_cnt + - (mode.vsync_start - mode.vdisplay))) / 1000000; - - /* - * Wait for max delay before - * polling to check active region - */ - if (delay > POLL_TIME_USEC_FOR_LN_CNT) - delay = POLL_TIME_USEC_FOR_LN_CNT; while (retry) { ln_cnt = phys_enc->hw_intf->ops.get_line_count( @@ -1303,10 +1279,8 @@ static int sde_encoder_phys_vid_wait_for_active( return 0; } - SDE_ERROR_VIDENC(vid_enc, "line count is less. line_cnt = %d\n", - ln_cnt); - /* Add delay so that line count is in active region */ - udelay(delay); + SDE_ERROR_VIDENC(vid_enc, "line count is less. line_cnt = %d\n", ln_cnt); + udelay(POLL_TIME_USEC_FOR_LN_CNT); retry--; }