浏览代码

drm/amd/amdgpu: Remove division from vblank_wait

Removes division from vblank_wait for DCE v6, v8,
and v10.  Was already implemented for v11.

Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Tom St Denis 9 年之前
父节点
当前提交
e37e4f057b

+ 5 - 3
drivers/gpu/drm/amd/amdgpu/dce_v10_0.c

@@ -221,7 +221,7 @@ static bool dce_v10_0_is_counter_moving(struct amdgpu_device *adev, int crtc)
  */
  */
 static void dce_v10_0_vblank_wait(struct amdgpu_device *adev, int crtc)
 static void dce_v10_0_vblank_wait(struct amdgpu_device *adev, int crtc)
 {
 {
-	unsigned i = 0;
+	unsigned i = 100;
 
 
 	if (crtc >= adev->mode_info.num_crtc)
 	if (crtc >= adev->mode_info.num_crtc)
 		return;
 		return;
@@ -233,14 +233,16 @@ static void dce_v10_0_vblank_wait(struct amdgpu_device *adev, int crtc)
 	 * wait for another frame.
 	 * wait for another frame.
 	 */
 	 */
 	while (dce_v10_0_is_in_vblank(adev, crtc)) {
 	while (dce_v10_0_is_in_vblank(adev, crtc)) {
-		if (i++ % 100 == 0) {
+		if (i++ == 100) {
+			i = 0;
 			if (!dce_v10_0_is_counter_moving(adev, crtc))
 			if (!dce_v10_0_is_counter_moving(adev, crtc))
 				break;
 				break;
 		}
 		}
 	}
 	}
 
 
 	while (!dce_v10_0_is_in_vblank(adev, crtc)) {
 	while (!dce_v10_0_is_in_vblank(adev, crtc)) {
-		if (i++ % 100 == 0) {
+		if (i++ == 100) {
+			i = 0;
 			if (!dce_v10_0_is_counter_moving(adev, crtc))
 			if (!dce_v10_0_is_counter_moving(adev, crtc))
 				break;
 				break;
 		}
 		}

+ 5 - 3
drivers/gpu/drm/amd/amdgpu/dce_v6_0.c

@@ -146,7 +146,7 @@ static bool dce_v6_0_is_counter_moving(struct amdgpu_device *adev, int crtc)
  */
  */
 static void dce_v6_0_vblank_wait(struct amdgpu_device *adev, int crtc)
 static void dce_v6_0_vblank_wait(struct amdgpu_device *adev, int crtc)
 {
 {
-	unsigned i = 0;
+	unsigned i = 100;
 
 
 	if (crtc >= adev->mode_info.num_crtc)
 	if (crtc >= adev->mode_info.num_crtc)
 		return;
 		return;
@@ -158,14 +158,16 @@ static void dce_v6_0_vblank_wait(struct amdgpu_device *adev, int crtc)
 	 * wait for another frame.
 	 * wait for another frame.
 	 */
 	 */
 	while (dce_v6_0_is_in_vblank(adev, crtc)) {
 	while (dce_v6_0_is_in_vblank(adev, crtc)) {
-		if (i++ % 100 == 0) {
+		if (i++ == 100) {
+			i = 0;
 			if (!dce_v6_0_is_counter_moving(adev, crtc))
 			if (!dce_v6_0_is_counter_moving(adev, crtc))
 				break;
 				break;
 		}
 		}
 	}
 	}
 
 
 	while (!dce_v6_0_is_in_vblank(adev, crtc)) {
 	while (!dce_v6_0_is_in_vblank(adev, crtc)) {
-		if (i++ % 100 == 0) {
+		if (i++ == 100) {
+			i = 0;
 			if (!dce_v6_0_is_counter_moving(adev, crtc))
 			if (!dce_v6_0_is_counter_moving(adev, crtc))
 				break;
 				break;
 		}
 		}

+ 5 - 3
drivers/gpu/drm/amd/amdgpu/dce_v8_0.c

@@ -170,7 +170,7 @@ static bool dce_v8_0_is_counter_moving(struct amdgpu_device *adev, int crtc)
  */
  */
 static void dce_v8_0_vblank_wait(struct amdgpu_device *adev, int crtc)
 static void dce_v8_0_vblank_wait(struct amdgpu_device *adev, int crtc)
 {
 {
-	unsigned i = 0;
+	unsigned i = 100;
 
 
 	if (crtc >= adev->mode_info.num_crtc)
 	if (crtc >= adev->mode_info.num_crtc)
 		return;
 		return;
@@ -182,14 +182,16 @@ static void dce_v8_0_vblank_wait(struct amdgpu_device *adev, int crtc)
 	 * wait for another frame.
 	 * wait for another frame.
 	 */
 	 */
 	while (dce_v8_0_is_in_vblank(adev, crtc)) {
 	while (dce_v8_0_is_in_vblank(adev, crtc)) {
-		if (i++ % 100 == 0) {
+		if (i++ == 100) {
+			i = 0;
 			if (!dce_v8_0_is_counter_moving(adev, crtc))
 			if (!dce_v8_0_is_counter_moving(adev, crtc))
 				break;
 				break;
 		}
 		}
 	}
 	}
 
 
 	while (!dce_v8_0_is_in_vblank(adev, crtc)) {
 	while (!dce_v8_0_is_in_vblank(adev, crtc)) {
-		if (i++ % 100 == 0) {
+		if (i++ == 100) {
+			i = 0;
 			if (!dce_v8_0_is_counter_moving(adev, crtc))
 			if (!dce_v8_0_is_counter_moving(adev, crtc))
 				break;
 				break;
 		}
 		}