From b3bf147bd6117f2cc493c6371c6f0be659b0dd96 Mon Sep 17 00:00:00 2001 From: Oded Gabbay Date: Fri, 1 Mar 2019 14:21:11 +0200 Subject: [PATCH] habanalabs: use do_div for 64-bit divisions This patch fix compilation error in 32-bit ARM architecture regarding division of 2 64-bit variables. Use the kernel do_div() macro, which is implemented per architecture, for doing these divisions instead of using the / operator. Reported-by: kbuild test robot Signed-off-by: Oded Gabbay Signed-off-by: Greg Kroah-Hartman --- drivers/misc/habanalabs/mmu.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/misc/habanalabs/mmu.c b/drivers/misc/habanalabs/mmu.c index ce404e6cc9a9..2f2e99cb2743 100644 --- a/drivers/misc/habanalabs/mmu.c +++ b/drivers/misc/habanalabs/mmu.c @@ -261,9 +261,9 @@ int hl_mmu_ctx_init(struct hl_ctx *ctx) !hdev->dram_default_page_mapping) return 0; - num_of_hop3 = (prop->dram_size_for_default_page_mapping / - prop->dram_page_size) / - PTE_ENTRIES_IN_HOP; + num_of_hop3 = prop->dram_size_for_default_page_mapping; + do_div(num_of_hop3, prop->dram_page_size); + do_div(num_of_hop3, PTE_ENTRIES_IN_HOP); /* add hop1 and hop2 */ total_hops = num_of_hop3 + 2; @@ -378,9 +378,9 @@ void hl_mmu_ctx_fini(struct hl_ctx *ctx) if (hdev->dram_supports_virtual_memory && hdev->dram_default_page_mapping) { - num_of_hop3 = (prop->dram_size_for_default_page_mapping / - prop->dram_page_size) / - PTE_ENTRIES_IN_HOP; + num_of_hop3 = prop->dram_size_for_default_page_mapping; + do_div(num_of_hop3, prop->dram_page_size); + do_div(num_of_hop3, PTE_ENTRIES_IN_HOP); /* add hop1 and hop2 */ total_hops = num_of_hop3 + 2;