aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/platform
diff options
context:
space:
mode:
authorShyam Sundar S K <Shyam-sundar.S-k@amd.com>2021-07-16 21:08:02 +0530
committerHans de Goede <hdegoede@redhat.com>2021-07-17 12:16:34 +0200
commit7f5231b114da76bfd5d0fc685d5cf408d1bbfca7 (patch)
tree50ade171670e60a9d4431dc28b173b0a59df483a /drivers/platform
parentplatform/x86: amd-pmc: Fix missing unlock on error in amd_pmc_send_cmd() (diff)
downloadlinux-dev-7f5231b114da76bfd5d0fc685d5cf408d1bbfca7.tar.xz
linux-dev-7f5231b114da76bfd5d0fc685d5cf408d1bbfca7.zip
platform/x86: amd-pmc: Fix undefined reference to __udivdi3
It was reported that on i386 config ------ on i386: ld: drivers/platform/x86/amd-pmc.o: in function `s0ix_stats_show': amd-pmc.c:(.text+0x100): undefined reference to `__udivdi3' ------- The reason for this is that 64-bit integer division is not supported on 32-bit architecture. Use do_div macro to fix this. Fixes: b9a4fa6978be ("platform/x86: amd-pmc: Add support for logging s0ix counters") Reported-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com> Reviewed-by: Randy Dunlap <rdunlap@infradead.org> # and build-tested Link: https://lore.kernel.org/r/20210716153802.2929670-1-Shyam-sundar.S-k@amd.com Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Diffstat (limited to 'drivers/platform')
-rw-r--r--drivers/platform/x86/amd-pmc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/platform/x86/amd-pmc.c b/drivers/platform/x86/amd-pmc.c
index 663a4ca0580d..3481479a2942 100644
--- a/drivers/platform/x86/amd-pmc.c
+++ b/drivers/platform/x86/amd-pmc.c
@@ -189,7 +189,8 @@ static int s0ix_stats_show(struct seq_file *s, void *unused)
exit_time = exit_time << 32 | ioread32(dev->fch_virt_addr + FCH_S0I3_EXIT_TIME_L_OFFSET);
/* It's in 48MHz. We need to convert it */
- residency = (exit_time - entry_time) / 48;
+ residency = exit_time - entry_time;
+ do_div(residency, 48);
seq_puts(s, "=== S0ix statistics ===\n");
seq_printf(s, "S0ix Entry Time: %lld\n", entry_time);