From b0df721f2d325c36b0f56c9c5e3a88302493b308 Mon Sep 17 00:00:00 2001 From: Ravikanth Tuniki Date: Thu, 31 Oct 2019 15:37:48 +0530 Subject: [PATCH] disp: msm: sde: Use platform independent API for 64-bit div 64-bit division( operator "/") on 32-bit platforms is not supported. Using platform independent API's here. Change-Id: I1ec71ac120bb29b7f0bceed581b979606f81e2a5 Signed-off-by: Ravikanth Tuniki --- msm/sde/sde_encoder.c | 5 +++-- msm/sde/sde_encoder_phys_cmd.c | 7 +++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/msm/sde/sde_encoder.c b/msm/sde/sde_encoder.c index a1c9182ff8..dad979f09b 100644 --- a/msm/sde/sde_encoder.c +++ b/msm/sde/sde_encoder.c @@ -5716,8 +5716,9 @@ void sde_encoder_helper_get_jitter_bounds_ns(struct drm_encoder *drm_enc, info = &sde_enc->mode_info; frametime_ns = (1 * 1000000000) / info->frame_rate; - jitter_ns = (info->jitter_numer * frametime_ns) / - (info->jitter_denom * 100); + jitter_ns = info->jitter_numer * frametime_ns; + do_div(jitter_ns, info->jitter_denom * 100); + *l_bound = frametime_ns - jitter_ns; *u_bound = frametime_ns + jitter_ns; } diff --git a/msm/sde/sde_encoder_phys_cmd.c b/msm/sde/sde_encoder_phys_cmd.c index ba1c6ac844..23232b0383 100644 --- a/msm/sde/sde_encoder_phys_cmd.c +++ b/msm/sde/sde_encoder_phys_cmd.c @@ -1398,9 +1398,12 @@ static bool _sde_encoder_phys_cmd_needs_vsync_change( "time_diff:%llu, prev:%llu, cur:%llu, jitter:%llu/%llu\n", time_diff, prev->timestamp, cur->timestamp, l_bound, u_bound); + time_diff = div_s64(time_diff, 1000); + SDE_EVT32(DRMID(phys_enc->parent), - (u32) (l_bound / 1000), (u32) (u_bound / 1000), - (u32) (time_diff / 1000), SDE_EVTLOG_ERROR); + (u32) (do_div(l_bound, 1000)), + (u32) (do_div(u_bound, 1000)), + (u32) (time_diff), SDE_EVTLOG_ERROR); } return ret;