Re: [PATCH v2] habanalabs: Fix test build failures
From: Oded Gabbay
Date: Mon Apr 04 2022 - 10:44:48 EST
On Mon, Apr 4, 2022 at 4:49 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
>
> allmodconfig builds on 32-bit architectures fail with the following error.
>
> drivers/misc/habanalabs/common/memory.c: In function 'alloc_device_memory':
> drivers/misc/habanalabs/common/memory.c:153:49: error:
> cast from pointer to integer of different size
>
> Fix the typecast. While at it, drop other unnecessary typecasts associated
> with the same commit.
>
> Fixes: e8458e20e0a3c ("habanalabs: make sure device mem alloc is page aligned")
> Cc: Ohad Sharabi <osharabi@xxxxxxxxx>
> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> ---
> v2: Drop unnecessary (u64) typecasts
>
> drivers/misc/habanalabs/common/memory.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/misc/habanalabs/common/memory.c b/drivers/misc/habanalabs/common/memory.c
> index e008d82e4ba3..a13506dd8119 100644
> --- a/drivers/misc/habanalabs/common/memory.c
> +++ b/drivers/misc/habanalabs/common/memory.c
> @@ -111,10 +111,10 @@ static int alloc_device_memory(struct hl_ctx *ctx, struct hl_mem_in *args,
>
> if (contiguous) {
> if (is_power_of_2(page_size))
> - paddr = (u64) (uintptr_t) gen_pool_dma_alloc_align(vm->dram_pg_pool,
> - total_size, NULL, page_size);
> + paddr = (uintptr_t) gen_pool_dma_alloc_align(vm->dram_pg_pool,
> + total_size, NULL, page_size);
> else
> - paddr = (u64) (uintptr_t) gen_pool_alloc(vm->dram_pg_pool, total_size);
> + paddr = gen_pool_alloc(vm->dram_pg_pool, total_size);
> if (!paddr) {
> dev_err(hdev->dev,
> "failed to allocate %llu contiguous pages with total size of %llu\n",
> @@ -150,12 +150,12 @@ static int alloc_device_memory(struct hl_ctx *ctx, struct hl_mem_in *args,
> for (i = 0 ; i < num_pgs ; i++) {
> if (is_power_of_2(page_size))
> phys_pg_pack->pages[i] =
> - (u64) gen_pool_dma_alloc_align(vm->dram_pg_pool,
> - page_size, NULL,
> - page_size);
> + (uintptr_t)gen_pool_dma_alloc_align(vm->dram_pg_pool,
> + page_size, NULL,
> + page_size);
> else
> - phys_pg_pack->pages[i] = (u64) gen_pool_alloc(vm->dram_pg_pool,
> - page_size);
> + phys_pg_pack->pages[i] = gen_pool_alloc(vm->dram_pg_pool,
> + page_size);
> if (!phys_pg_pack->pages[i]) {
> dev_err(hdev->dev,
> "Failed to allocate device memory (out of memory)\n");
> --
> 2.35.1
>
Hi Guenter,
Thanks for the patch, but Greg already merged a patch that was sent to him.
Oded