]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
dmaengine: loongson2-apb: Change GENMASK to GENMASK_ULL
authorBinbin Zhou <zhoubinbin@loongson.cn>
Mon, 28 Oct 2024 09:34:13 +0000 (17:34 +0800)
committerVinod Koul <vkoul@kernel.org>
Mon, 2 Dec 2024 17:18:57 +0000 (22:48 +0530)
Fix the following smatch static checker warning:

drivers/dma/loongson2-apb-dma.c:189 ls2x_dma_write_cmd()
warn: was expecting a 64 bit value instead of '~(((0)) + (((~((0))) - (((1)) << (0)) + 1) & (~((0)) >> ((8 * 4) - 1 - (4)))))'

The GENMASK macro used "unsigned long", which caused build issues when
using a 32-bit toolchain because it would try to access bits > 31. This
patch switches GENMASK to GENMASK_ULL, which uses "unsigned long long".

Fixes: 71e7d3cb6e55 ("dmaengine: ls2x-apb: New driver for the Loongson LS2X APB DMA controller")
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/all/87cdc025-7246-4548-85ca-3d36fdc2be2d@stanley.mountain/
Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn>
Link: https://lore.kernel.org/r/20241028093413.1145820-1-zhoubinbin@loongson.cn
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/loongson2-apb-dma.c

index 367ed34ce4da5bbaa4d60b10ff2dac7494de9177..c528f02b9f8489e52c1a863e0654e584ae436512 100644 (file)
@@ -31,7 +31,7 @@
 #define LDMA_ASK_VALID         BIT(2)
 #define LDMA_START             BIT(3) /* DMA start operation */
 #define LDMA_STOP              BIT(4) /* DMA stop operation */
-#define LDMA_CONFIG_MASK       GENMASK(4, 0) /* DMA controller config bits mask */
+#define LDMA_CONFIG_MASK       GENMASK_ULL(4, 0) /* DMA controller config bits mask */
 
 /* Bitfields in ndesc_addr field of HW descriptor */
 #define LDMA_DESC_EN           BIT(0) /*1: The next descriptor is valid */