aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/0974-drm-amd-display-Use-div_u64-for-flip-timestamp-ns-to.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/0974-drm-amd-display-Use-div_u64-for-flip-timestamp-ns-to.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/0974-drm-amd-display-Use-div_u64-for-flip-timestamp-ns-to.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/0974-drm-amd-display-Use-div_u64-for-flip-timestamp-ns-to.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/0974-drm-amd-display-Use-div_u64-for-flip-timestamp-ns-to.patch
new file mode 100644
index 00000000..2a3acc5f
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/0974-drm-amd-display-Use-div_u64-for-flip-timestamp-ns-to.patch
@@ -0,0 +1,43 @@
+From 705099dc5dfd1e11172217acc87b4f963d9bda16 Mon Sep 17 00:00:00 2001
+From: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
+Date: Wed, 19 Dec 2018 08:35:51 -0500
+Subject: [PATCH 0974/2940] drm/amd/display: Use div_u64 for flip timestamp ns
+ to ms
+
+Resolves __udivdi3 missing errors when building for i386.
+
+Fixes: 6378ef012ddc ("drm/amd/display: Add below the range support for FreeSync")
+
+Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+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 6c93f68f619a..2e0eac108e55 100644
+--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+@@ -4595,6 +4595,7 @@ static void amdgpu_dm_do_flip(struct drm_crtc *crtc,
+ struct dc_state *state)
+ {
+ unsigned long flags;
++ uint64_t timestamp_ns;
+ uint32_t target_vblank;
+ int r, vpos, hpos;
+ struct amdgpu_crtc *acrtc = to_amdgpu_crtc(crtc);
+@@ -4657,7 +4658,9 @@ static void amdgpu_dm_do_flip(struct drm_crtc *crtc,
+ addr.address.grph.addr.low_part = lower_32_bits(afb->address);
+ addr.address.grph.addr.high_part = upper_32_bits(afb->address);
+ addr.flip_immediate = async_flip;
+- addr.flip_timestamp_in_us = ktime_get_ns() / 1000;
++
++ timestamp_ns = ktime_get_ns();
++ addr.flip_timestamp_in_us = div_u64(timestamp_ns, 1000);
+
+
+ if (acrtc->base.state->event)
+--
+2.17.1
+