amdgpu/dce11: Remove division from dce_v11_0_vblank_wait()
authorTom St Denis <tom.stdenis@amd.com>
Tue, 15 Dec 2015 18:01:49 +0000 (13:01 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 4 Jan 2016 22:21:03 +0000 (17:21 -0500)
Mimics odd behaviour where (i++ % 100 == 0) is true in the first iteration of each loop...

Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/dce_v11_0.c

index 8701661..80be62a 100644 (file)
@@ -211,7 +211,7 @@ static bool dce_v11_0_is_counter_moving(struct amdgpu_device *adev, int crtc)
  */
 static void dce_v11_0_vblank_wait(struct amdgpu_device *adev, int crtc)
 {
-       unsigned i = 0;
+       unsigned i = 100;
 
        if (crtc >= adev->mode_info.num_crtc)
                return;
@@ -223,14 +223,16 @@ static void dce_v11_0_vblank_wait(struct amdgpu_device *adev, int crtc)
         * wait for another frame.
         */
        while (dce_v11_0_is_in_vblank(adev, crtc)) {
-               if (i++ % 100 == 0) {
+               if (i++ == 100) {
+                       i = 0;
                        if (!dce_v11_0_is_counter_moving(adev, crtc))
                                break;
                }
        }
 
        while (!dce_v11_0_is_in_vblank(adev, crtc)) {
-               if (i++ % 100 == 0) {
+               if (i++ == 100) {
+                       i = 0;
                        if (!dce_v11_0_is_counter_moving(adev, crtc))
                                break;
                }