aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3488-drm-amd-display-Fix-32-bit-divide-error-in-wait_for_.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3488-drm-amd-display-Fix-32-bit-divide-error-in-wait_for_.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3488-drm-amd-display-Fix-32-bit-divide-error-in-wait_for_.patch52
1 files changed, 52 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3488-drm-amd-display-Fix-32-bit-divide-error-in-wait_for_.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3488-drm-amd-display-Fix-32-bit-divide-error-in-wait_for_.patch
new file mode 100644
index 00000000..277166e7
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3488-drm-amd-display-Fix-32-bit-divide-error-in-wait_for_.patch
@@ -0,0 +1,52 @@
+From 8afef59a7782d448a790d34394d6ee6ba1b86006 Mon Sep 17 00:00:00 2001
+From: Nathan Chancellor <natechancellor@gmail.com>
+Date: Tue, 20 Aug 2019 16:57:13 -0700
+Subject: [PATCH 3488/4256] drm/amd/display: Fix 32-bit divide error in
+ wait_for_alt_mode
+
+When building arm32 allyesconfig:
+
+ld.lld: error: undefined symbol: __aeabi_uldivmod
+>>> referenced by dc_link.c
+>>> gpu/drm/amd/display/dc/core/dc_link.o:(wait_for_alt_mode) in archive drivers/built-in.a
+>>> referenced by dc_link.c
+>>> gpu/drm/amd/display/dc/core/dc_link.o:(wait_for_alt_mode) in archive drivers/built-in.a
+
+time_taken_in_ns is of type unsigned long long so we need to use div_u64
+to avoid this error.
+
+Fixes: b5b1f4554904 ("drm/amd/display: Enable type C hotplug")
+Reported-by: Randy Dunlap <rdunlap@infradead.org>
+Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
+Reviewed-by: Harry Wentland <harry.wentland@amd.com>
+Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/core/dc_link.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link.c b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
+index c953f6d2770a..8ec4fa3ed675 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
+@@ -719,7 +719,7 @@ bool wait_for_alt_mode(struct dc_link *link)
+ time_taken_in_ns = dm_get_elapse_time_in_ns(
+ link->ctx, finish_timestamp, enter_timestamp);
+ DC_LOG_WARNING("Alt mode entered finished after %llu ms\n",
+- time_taken_in_ns / 1000000);
++ div_u64(time_taken_in_ns, 1000000));
+ return true;
+ }
+
+@@ -728,7 +728,7 @@ bool wait_for_alt_mode(struct dc_link *link)
+ time_taken_in_ns = dm_get_elapse_time_in_ns(link->ctx, finish_timestamp,
+ enter_timestamp);
+ DC_LOG_WARNING("Alt mode has timed out after %llu ms\n",
+- time_taken_in_ns / 1000000);
++ div_u64(time_taken_in_ns, 1000000));
+ return false;
+ }
+
+--
+2.17.1
+