On Mon, 2020-12-14 at 14:31 -0800, Alexander Duyck wrote: > On Mon, Dec 14, 2020 at 1:49 PM Saeed Mahameed <saeed@xxxxxxxxxx> > wrote: > > From: Parav Pandit <parav@xxxxxxxxxx> > > > > MLX5_GENERAL_OBJECT_TYPES types bitfield is 64-bit field. > > > > Defining an enum for such bit fields on 32-bit platform results in > > below > > warning. > > > > ./include/vdso/bits.h:7:26: warning: left shift count >= width of > > type [-Wshift-count-overflow] > > ^ > > ./include/linux/mlx5/mlx5_ifc.h:10716:46: note: in expansion of > > macro ‘BIT’ > > MLX5_HCA_CAP_GENERAL_OBJECT_TYPES_SAMPLER = BIT(0x20), > > ^~~ > > Use 32-bit friendly left shift. > > > > Fixes: 2a2970891647 ("net/mlx5: Add sample offload hardware bits > > and structures") > > Signed-off-by: Parav Pandit <parav@xxxxxxxxxx> > > Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> > > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxx> > > Signed-off-by: Saeed Mahameed <saeed@xxxxxxxxxx> > > --- > > include/linux/mlx5/mlx5_ifc.h | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/include/linux/mlx5/mlx5_ifc.h > > b/include/linux/mlx5/mlx5_ifc.h > > index 0d6e287d614f..b9f15935dfe5 100644 > > --- a/include/linux/mlx5/mlx5_ifc.h > > +++ b/include/linux/mlx5/mlx5_ifc.h > > @@ -10711,9 +10711,9 @@ struct > > mlx5_ifc_affiliated_event_header_bits { > > }; > > > > enum { > > - MLX5_HCA_CAP_GENERAL_OBJECT_TYPES_ENCRYPTION_KEY = > > BIT(0xc), > > - MLX5_HCA_CAP_GENERAL_OBJECT_TYPES_IPSEC = BIT(0x13), > > - MLX5_HCA_CAP_GENERAL_OBJECT_TYPES_SAMPLER = BIT(0x20), > > + MLX5_HCA_CAP_GENERAL_OBJECT_TYPES_ENCRYPTION_KEY = 1ULL << > > 0xc, > > + MLX5_HCA_CAP_GENERAL_OBJECT_TYPES_IPSEC = 1ULL << 0x13, > > + MLX5_HCA_CAP_GENERAL_OBJECT_TYPES_SAMPLER = 1ULL << 0x20, > > }; > > Why not just use BIT_ULL? I was following the file convention where we use 1ULL/1UL in all of the places, I will consider changing the whole file to use BIT macros in another patch.