aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/5372-drm-amdgpu-Handle-64-bit-return-from-drm_crtc_vblank.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/5372-drm-amdgpu-Handle-64-bit-return-from-drm_crtc_vblank.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/5372-drm-amdgpu-Handle-64-bit-return-from-drm_crtc_vblank.patch66
1 files changed, 66 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/5372-drm-amdgpu-Handle-64-bit-return-from-drm_crtc_vblank.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/5372-drm-amdgpu-Handle-64-bit-return-from-drm_crtc_vblank.patch
new file mode 100644
index 00000000..77fc1d51
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/5372-drm-amdgpu-Handle-64-bit-return-from-drm_crtc_vblank.patch
@@ -0,0 +1,66 @@
+From ddb3b436f628535ac9e8e0fd0be9e6e62cc94e61 Mon Sep 17 00:00:00 2001
+From: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
+Date: Fri, 2 Feb 2018 21:12:56 -0800
+Subject: [PATCH 5372/5725] drm/amdgpu: Handle 64-bit return from
+ drm_crtc_vblank_count()
+
+570e86963a51 ("drm: Widen vblank count to 64-bits [v3]") changed the
+return type for drm_crtc_vblank_count() to u64. This could cause
+potential problems if the return value is used in arithmetic operations
+with a 32-bit reference HW vblank count. Explicitly typecasting this down
+to u32 either fixes a potential problem or serves to add clarity in case
+the typecasting was implicitly done.
+
+Cc: Keith Packard <keithp@keithp.com>
+Cc: Alex Deucher <alexander.deucher@amd.com>
+Cc: Harry Wentland <harry.wentland@amd.com>
+Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
+Reviewed-by: Keith Packard <keithp@keithp.com>
+Reviewed-by: Harry Wentland <harry.wentland@amd.com>
+Acked-by: Alex Deucher <alexander.deucher@amd.com> for both this patch
+Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
+Link: https://patchwork.freedesktop.org/patch/msgid/20180203051302.9974-4-dhinakaran.pandiyan@intel.com
+Signed-off-by: Raveendra Talabattula <raveendra.talabattula@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 2 +-
+ drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
+index 36e3ddf..e00b594 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
+@@ -214,7 +214,7 @@ int amdgpu_display_crtc_page_flip_target(struct drm_crtc *crtc,
+ amdgpu_bo_unreserve(new_abo);
+
+ work->base = amdgpu_bo_gpu_offset(new_abo);
+- work->target_vblank = target - drm_crtc_vblank_count(crtc) +
++ work->target_vblank = target - (uint32_t)drm_crtc_vblank_count(crtc) +
+ amdgpu_get_vblank_counter_kms(dev, work->crtc_id);
+
+ /* we borrow the event spin lock for protecting flip_wrok */
+diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+index 569a75e..641f715 100644
+--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+@@ -4354,7 +4354,7 @@ static void amdgpu_dm_do_flip(struct drm_crtc *crtc,
+
+
+ /* Prepare wait for target vblank early - before the fence-waits */
+- target_vblank = target - drm_crtc_vblank_count(crtc) +
++ target_vblank = target - (uint32_t)drm_crtc_vblank_count(crtc) +
+ amdgpu_get_vblank_counter_kms(crtc->dev, acrtc->crtc_id);
+
+ /*
+@@ -4597,7 +4597,7 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
+ amdgpu_dm_do_flip(
+ crtc,
+ fb,
+- drm_crtc_vblank_count(crtc) + *wait_for_vblank,
++ (uint32_t)drm_crtc_vblank_count(crtc) + *wait_for_vblank,
+ dm_state->context);
+ }
+
+--
+2.7.4
+