remove extra parentheses in return statement
[dpdk.git] / drivers / net / mlx5 / mlx5_utils.h
index e48e6b6..a824787 100644 (file)
@@ -149,12 +149,36 @@ pmd_drv_log_basename(const char *s)
 #define NB_SEGS(m) ((m)->nb_segs)
 #define PORT(m) ((m)->port)
 
+/* Transpose flags. Useful to convert IBV to DPDK flags. */
+#define TRANSPOSE(val, from, to) \
+       (((from) >= (to)) ? \
+        (((val) & (from)) / ((from) / (to))) : \
+        (((val) & (from)) * ((to) / (from))))
+
 /* Allocate a buffer on the stack and fill it with a printf format string. */
 #define MKSTR(name, ...) \
        char name[snprintf(NULL, 0, __VA_ARGS__) + 1]; \
        \
        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_ */