From 14cf2edac71a57a277dc671d02c9a237026aa482 Mon Sep 17 00:00:00 2001 From: Alex Waterman Date: Fri, 10 Aug 2018 16:12:35 -0700 Subject: gpu: nvgpu: Add BIT32() and BIT64() macros Provide both a BIT32() and BIT64() macro so that bit fields can be sized appropriately. The existing BIT() macro is now deprecated and should not be used. Instead use the explicitly sized macros. JIRA NVGPU-781 Change-Id: I9309bd0cda8f811934b7388990e12d0e02436eb0 Signed-off-by: Alex Waterman Reviewed-on: https://git-master.nvidia.com/r/1797197 Reviewed-by: Scott Long Reviewed-by: Terje Bergstrom Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/include/nvgpu/bitops.h | 8 ++++++++ drivers/gpu/nvgpu/include/nvgpu/posix/bitops.h | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'drivers') diff --git a/drivers/gpu/nvgpu/include/nvgpu/bitops.h b/drivers/gpu/nvgpu/include/nvgpu/bitops.h index 26b6e19d..8760708e 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/bitops.h +++ b/drivers/gpu/nvgpu/include/nvgpu/bitops.h @@ -22,6 +22,14 @@ #ifndef __NVGPU_BITOPS_H__ #define __NVGPU_BITOPS_H__ +#include + +/* + * Explicit sizes for bit definitions. Please use these instead of BIT(). + */ +#define BIT32(i) (U32(1) << (i)) +#define BIT64(i) (U64(1) << (i)) + #ifdef __KERNEL__ #include #include diff --git a/drivers/gpu/nvgpu/include/nvgpu/posix/bitops.h b/drivers/gpu/nvgpu/include/nvgpu/posix/bitops.h index 94618d14..e8c663b0 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/posix/bitops.h +++ b/drivers/gpu/nvgpu/include/nvgpu/posix/bitops.h @@ -33,7 +33,10 @@ #define BITS_TO_LONGS(bits) \ (bits + (BITS_PER_LONG - 1) / BITS_PER_LONG) -#define BIT(i) (1ULL << (i)) +/* + * Deprecated; use the explicit BITxx() macros instead. + */ +#define BIT(i) BIT64(i) #define GENMASK(h, l) \ (((~0UL) - (1UL << (l)) + 1) & (~0UL >> (BITS_PER_LONG - 1 - (h)))) -- cgit v1.2.2