sched: update subport rate dynamically
[dpdk.git] / drivers / net / ena / base / ena_plat_dpdk.h
index 70261bd..ae4fd8f 100644 (file)
@@ -56,8 +56,9 @@ typedef uint64_t dma_addr_t;
 
 #define ENA_ABORT() abort()
 
-#define ENA_MSLEEP(x) rte_delay_ms(x)
-#define ENA_UDELAY(x) rte_delay_us(x)
+#define ENA_MSLEEP(x) rte_delay_us_sleep(x * 1000)
+#define ENA_USLEEP(x) rte_delay_us_sleep(x)
+#define ENA_UDELAY(x) rte_delay_us_block(x)
 
 #define ENA_TOUCH(x) ((void)(x))
 #define memcpy_toio memcpy
@@ -86,12 +87,14 @@ extern int ena_logtype_com;
 #define ENA_ASSERT(cond, format, arg...) do {} while (0)
 #endif
 
-#define ENA_MAX32(x, y) RTE_MAX((x), (y))
-#define ENA_MAX16(x, y) RTE_MAX((x), (y))
-#define ENA_MAX8(x, y) RTE_MAX((x), (y))
-#define ENA_MIN32(x, y) RTE_MIN((x), (y))
-#define ENA_MIN16(x, y) RTE_MIN((x), (y))
-#define ENA_MIN8(x, y) RTE_MIN((x), (y))
+#define ENA_MAX_T(type, x, y) RTE_MAX((type)(x), (type)(y))
+#define ENA_MAX32(x, y) ENA_MAX_T(uint32_t, (x), (y))
+#define ENA_MAX16(x, y) ENA_MAX_T(uint16_t, (x), (y))
+#define ENA_MAX8(x, y) ENA_MAX_T(uint8_t, (x), (y))
+#define ENA_MIN_T(type, x, y) RTE_MIN((type)(x), (type)(y))
+#define ENA_MIN32(x, y) ENA_MIN_T(uint32_t, (x), (y))
+#define ENA_MIN16(x, y) ENA_MIN_T(uint16_t, (x), (y))
+#define ENA_MIN8(x, y) ENA_MIN_T(uint8_t, (x), (y))
 
 #define BITS_PER_LONG_LONG (__SIZEOF_LONG_LONG__ * 8)
 #define U64_C(x) x ## ULL
@@ -184,15 +187,18 @@ extern rte_atomic32_t ena_alloc_cnt;
 
 #define ENA_MEM_ALLOC_COHERENT(dmadev, size, virt, phys, handle)       \
        do {                                                            \
-               const struct rte_memzone *mz;                           \
-               char z_name[RTE_MEMZONE_NAMESIZE];                      \
+               const struct rte_memzone *mz = NULL;                    \
                ENA_TOUCH(dmadev); ENA_TOUCH(handle);                   \
-               snprintf(z_name, sizeof(z_name),                        \
+               if (size > 0) {                                         \
+                       char z_name[RTE_MEMZONE_NAMESIZE];              \
+                       snprintf(z_name, sizeof(z_name),                \
                         "ena_alloc_%d",                                \
                         rte_atomic32_add_return(&ena_alloc_cnt, 1));   \
-               mz = rte_memzone_reserve(z_name, size, SOCKET_ID_ANY,   \
-                               RTE_MEMZONE_IOVA_CONTIG);               \
-               handle = mz;                                            \
+                       mz = rte_memzone_reserve(z_name, size,          \
+                                       SOCKET_ID_ANY,                  \
+                                       RTE_MEMZONE_IOVA_CONTIG);       \
+                       handle = mz;                                    \
+               }                                                       \
                if (mz == NULL) {                                       \
                        virt = NULL;                                    \
                        phys = 0;                                       \
@@ -210,15 +216,17 @@ extern rte_atomic32_t ena_alloc_cnt;
 #define ENA_MEM_ALLOC_COHERENT_NODE(                                   \
        dmadev, size, virt, phys, mem_handle, node, dev_node)           \
        do {                                                            \
-               const struct rte_memzone *mz;                           \
-               char z_name[RTE_MEMZONE_NAMESIZE];                      \
+               const struct rte_memzone *mz = NULL;                    \
                ENA_TOUCH(dmadev); ENA_TOUCH(dev_node);                 \
-               snprintf(z_name, sizeof(z_name),                        \
+               if (size > 0) {                                         \
+                       char z_name[RTE_MEMZONE_NAMESIZE];              \
+                       snprintf(z_name, sizeof(z_name),                \
                         "ena_alloc_%d",                                \
-                        rte_atomic32_add_return(&ena_alloc_cnt, 1));   \
-               mz = rte_memzone_reserve(z_name, size, node,            \
+                        rte_atomic32_add_return(&ena_alloc_cnt, 1));   \
+                       mz = rte_memzone_reserve(z_name, size, node,    \
                                RTE_MEMZONE_IOVA_CONTIG);               \
-               mem_handle = mz;                                        \
+                       mem_handle = mz;                                \
+               }                                                       \
                if (mz == NULL) {                                       \
                        virt = NULL;                                    \
                        phys = 0;                                       \
@@ -296,6 +304,15 @@ extern rte_atomic32_t ena_alloc_cnt;
 
 #define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
 
-#include "ena_includes.h"
+#define ENA_FFS(x) ffs(x)
 
+void ena_rss_key_fill(void *key, size_t size);
+
+#define ENA_RSS_FILL_KEY(key, size) ena_rss_key_fill(key, size)
+
+#define ENA_INTR_INITIAL_TX_INTERVAL_USECS_PLAT 0
+
+#define ENA_PRIu64 PRIu64
+
+#include "ena_includes.h"
 #endif /* DPDK_ENA_COM_ENA_PLAT_DPDK_H_ */