tdm_vblank: Remove while for calculating target of SW 61/320861/1
authorChangyeon Lee <cyeon.lee@samsung.com>
Mon, 25 Nov 2024 05:32:20 +0000 (14:32 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Mon, 25 Nov 2024 05:32:20 +0000 (14:32 +0900)
Change-Id: Ia9112abb7bbdb1f042c070caef883a1cdf20a234

src/tdm_vblank.c

index 8d621d33241e8df823a2b4dc5e203b5cf81da942..d2523f6ddaeda15ede78127f8c69eb20628935e6 100644 (file)
@@ -1490,8 +1490,8 @@ _tdm_vblank_wait_SW(tdm_vblank_wait_info *wait_info)
        curr = tdm_helper_get_time();
        target = prev + private_vblank->vblank_gap * wait_info->interval;
 
-       while (target < curr)
-               target += private_vblank->vblank_gap;
+       if (target < curr)
+               target = target + (ceil((curr - target) / private_vblank->vblank_gap) * private_vblank->vblank_gap);
 
        wait_info->target_seq = private_vblank->last_seq;
        wait_info->target_seq += (unsigned int)((target - last) / private_vblank->vblank_gap + TDM_TIME_MARGIN);