From: Oded Gabbay Date: Fri, 1 Mar 2019 12:21:11 +0000 (+0200) Subject: habanalabs: use do_div for 64-bit divisions X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=b3bf147bd6117f2cc493c6371c6f0be659b0dd96;p=linux.git 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 --- diff --git a/drivers/misc/habanalabs/mmu.c b/drivers/misc/habanalabs/mmu.c index ce404e6cc9a9b..2f2e99cb27439 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;