net/i40e: fix string overflow issue
[dpdk.git] / drivers / net / mlx5 / mlx5_utils.h
index 8ff075b..218ae83 100644 (file)
@@ -128,11 +128,13 @@ pmd_drv_log_basename(const char *s)
 
 #define DEBUG(...) PMD_DRV_LOG(DEBUG, __VA_ARGS__)
 #define claim_zero(...) assert((__VA_ARGS__) == 0)
+#define claim_nonzero(...) assert((__VA_ARGS__) != 0)
 
 #else /* NDEBUG */
 
 #define DEBUG(...) (void)0
 #define claim_zero(...) (__VA_ARGS__)
+#define claim_nonzero(...) (__VA_ARGS__)
 
 #endif /* NDEBUG */
 
@@ -161,6 +163,24 @@ pmd_drv_log_basename(const char *s)
        \
        snprintf(name, sizeof(name), __VA_ARGS__)
 
-#define WR_ID(o) (((wr_id_t *)&(o))->data)
+/**
+ * Return nearest power of two above input value.
+ *
+ * @param v
+ *   Input value.
+ *
+ * @return
+ *   Nearest power of two above input value.
+ */
+static inline unsigned int
+log2above(unsigned int v)
+{
+       unsigned int l;
+       unsigned int r;
+
+       for (l = 0, r = 0; (v >> 1); ++l, v >>= 1)
+               r |= (v & 1);
+       return l + r;
+}
 
 #endif /* RTE_PMD_MLX5_UTILS_H_ */