diff options
Diffstat (limited to 'src/drivers/infiniband/mlx_bitops.h')
-rw-r--r-- | src/drivers/infiniband/mlx_bitops.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/drivers/infiniband/mlx_bitops.h b/src/drivers/infiniband/mlx_bitops.h index ca9635924..71a9bf1ec 100644 --- a/src/drivers/infiniband/mlx_bitops.h +++ b/src/drivers/infiniband/mlx_bitops.h @@ -106,6 +106,10 @@ typedef unsigned char pseudo_bit_t; ( MLX_ASSEMBLE_1 ( _structure_st, _index, _field, _value ) | \ MLX_ASSEMBLE_5 ( _structure_st, _index, __VA_ARGS__ ) ) +#define MLX_ASSEMBLE_7( _structure_st, _index, _field, _value, ... ) \ + ( MLX_ASSEMBLE_1 ( _structure_st, _index, _field, _value ) | \ + MLX_ASSEMBLE_6 ( _structure_st, _index, __VA_ARGS__ ) ) + /* * Build native-endian (positive) dword bitmasks from named fields * @@ -135,6 +139,10 @@ typedef unsigned char pseudo_bit_t; ( MLX_MASK_1 ( _structure_st, _index, _field ) | \ MLX_MASK_5 ( _structure_st, _index, __VA_ARGS__ ) ) +#define MLX_MASK_7( _structure_st, _index, _field, ... ) \ + ( MLX_MASK_1 ( _structure_st, _index, _field ) | \ + MLX_MASK_6 ( _structure_st, _index, __VA_ARGS__ ) ) + /* * Populate big-endian dwords from named fields and values * @@ -171,6 +179,10 @@ typedef unsigned char pseudo_bit_t; MLX_FILL ( _ptr, _index, MLX_ASSEMBLE_6 ( MLX_PSEUDO_STRUCT ( _ptr ),\ _index, __VA_ARGS__ ) ) +#define MLX_FILL_7( _ptr, _index, ... ) \ + MLX_FILL ( _ptr, _index, MLX_ASSEMBLE_7 ( MLX_PSEUDO_STRUCT ( _ptr ),\ + _index, __VA_ARGS__ ) ) + /* * Modify big-endian dword using named field and value * |