|
@@ -92,12 +92,21 @@ __mlx5_mask(typ, fld))
|
|
|
___t; \
|
|
|
})
|
|
|
|
|
|
-#define MLX5_SET64(typ, p, fld, v) do { \
|
|
|
+#define __MLX5_SET64(typ, p, fld, v) do { \
|
|
|
BUILD_BUG_ON(__mlx5_bit_sz(typ, fld) != 64); \
|
|
|
- BUILD_BUG_ON(__mlx5_bit_off(typ, fld) % 64); \
|
|
|
*((__be64 *)(p) + __mlx5_64_off(typ, fld)) = cpu_to_be64(v); \
|
|
|
} while (0)
|
|
|
|
|
|
+#define MLX5_SET64(typ, p, fld, v) do { \
|
|
|
+ BUILD_BUG_ON(__mlx5_bit_off(typ, fld) % 64); \
|
|
|
+ __MLX5_SET64(typ, p, fld, v); \
|
|
|
+} while (0)
|
|
|
+
|
|
|
+#define MLX5_ARRAY_SET64(typ, p, fld, idx, v) do { \
|
|
|
+ BUILD_BUG_ON(__mlx5_bit_off(typ, fld) % 64); \
|
|
|
+ __MLX5_SET64(typ, p, fld[idx], v); \
|
|
|
+} while (0)
|
|
|
+
|
|
|
#define MLX5_GET64(typ, p, fld) be64_to_cpu(*((__be64 *)(p) + __mlx5_64_off(typ, fld)))
|
|
|
|
|
|
#define MLX5_GET64_PR(typ, p, fld) ({ \
|