diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0150-amdgpu-dce11-Remove-division-from-dce_v11_0_vblank_w.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0150-amdgpu-dce11-Remove-division-from-dce_v11_0_vblank_w.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0150-amdgpu-dce11-Remove-division-from-dce_v11_0_vblank_w.patch b/common/recipes-kernel/linux/files/0150-amdgpu-dce11-Remove-division-from-dce_v11_0_vblank_w.patch new file mode 100644 index 00000000..22e759f0 --- /dev/null +++ b/common/recipes-kernel/linux/files/0150-amdgpu-dce11-Remove-division-from-dce_v11_0_vblank_w.patch @@ -0,0 +1,49 @@ +From f53cc5d2a8d79ee93befd170a94a385ae700d35a Mon Sep 17 00:00:00 2001 +From: Tom St Denis <tom.stdenis@amd.com> +Date: Tue, 15 Dec 2015 13:01:49 -0500 +Subject: [PATCH 0150/1110] amdgpu/dce11: Remove division from + dce_v11_0_vblank_wait() + +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 | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c +index 8701661..80be62a 100644 +--- a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c +@@ -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; + } +-- +2.7.4 + |