net/ena/base: add device argument to logging macros
[dpdk.git] / drivers / net / ena / base / ena_plat_dpdk.h
index 48c77f0..df2fdd3 100644 (file)
 #include <rte_spinlock.h>
 
 #include <sys/time.h>
+#include <rte_memcpy.h>
 
 typedef uint64_t u64;
 typedef uint32_t u32;
 typedef uint16_t u16;
 typedef uint8_t u8;
 
+typedef struct rte_eth_dev ena_netdev;
 typedef uint64_t dma_addr_t;
 #ifndef ETIME
 #define ETIME ETIMEDOUT
@@ -51,6 +53,7 @@ typedef uint64_t dma_addr_t;
 #define ENA_COM_FAULT  -EFAULT
 #define ENA_COM_TRY_AGAIN      -EAGAIN
 #define ENA_COM_UNSUPPORTED    -EOPNOTSUPP
+#define ENA_COM_EIO    -EIO
 
 #define ____cacheline_aligned __rte_cache_aligned
 
@@ -61,7 +64,11 @@ typedef uint64_t dma_addr_t;
 #define ENA_UDELAY(x) rte_delay_us_block(x)
 
 #define ENA_TOUCH(x) ((void)(x))
-#define memcpy_toio memcpy
+/* Avoid nested declaration on arm64, as it may define rte_memcpy as memcpy. */
+#if defined(RTE_ARCH_X86)
+#undef memcpy
+#define memcpy rte_memcpy
+#endif
 #define wmb rte_wmb
 #define rmb rte_rmb
 #define mb rte_mb
@@ -92,29 +99,33 @@ extern int ena_logtype_com;
                          (~0ULL >> (BITS_PER_LONG_LONG - 1 - (h))))
 
 #ifdef RTE_LIBRTE_ENA_COM_DEBUG
-#define ena_trc_log(level, fmt, arg...) \
-       rte_log(RTE_LOG_ ## level, ena_logtype_com, \
-               "[ENA_COM: %s]" fmt, __func__, ##arg)
-
-#define ena_trc_dbg(format, arg...)    ena_trc_log(DEBUG, format, ##arg)
-#define ena_trc_info(format, arg...)   ena_trc_log(INFO, format, ##arg)
-#define ena_trc_warn(format, arg...)   ena_trc_log(WARNING, format, ##arg)
-#define ena_trc_err(format, arg...)    ena_trc_log(ERR, format, ##arg)
+#define ena_trc_log(dev, level, fmt, arg...)                           \
+       (                                                               \
+               ENA_TOUCH(dev),                                         \
+               rte_log(RTE_LOG_ ## level, ena_logtype_com,             \
+                       "[ENA_COM: %s]" fmt, __func__, ##arg)           \
+       )
+
+#define ena_trc_dbg(dev, format, arg...) ena_trc_log(dev, DEBUG, format, ##arg)
+#define ena_trc_info(dev, format, arg...) ena_trc_log(dev, INFO, format, ##arg)
+#define ena_trc_warn(dev, format, arg...)                              \
+       ena_trc_log(dev, WARNING, format, ##arg)
+#define ena_trc_err(dev, format, arg...) ena_trc_log(dev, ERR, format, ##arg)
 #else
-#define ena_trc_dbg(format, arg...) do { } while (0)
-#define ena_trc_info(format, arg...) do { } while (0)
-#define ena_trc_warn(format, arg...) do { } while (0)
-#define ena_trc_err(format, arg...) do { } while (0)
+#define ena_trc_dbg(dev, format, arg...) ENA_TOUCH(dev)
+#define ena_trc_info(dev, format, arg...) ENA_TOUCH(dev)
+#define ena_trc_warn(dev, format, arg...) ENA_TOUCH(dev)
+#define ena_trc_err(dev, format, arg...) ENA_TOUCH(dev)
 #endif /* RTE_LIBRTE_ENA_COM_DEBUG */
 
-#define ENA_WARN(cond, format, arg...)                                 \
-do {                                                                   \
-       if (unlikely(cond)) {                                           \
-               ena_trc_err(                                            \
-                       "Warn failed on %s:%s:%d:" format,              \
-                       __FILE__, __func__, __LINE__, ##arg);           \
-       }                                                               \
-} while (0)
+#define ENA_WARN(cond, dev, format, arg...)                            \
+       do {                                                            \
+               if (unlikely(cond)) {                                   \
+                       ena_trc_err(dev,                                \
+                               "Warn failed on %s:%s:%d:" format,      \
+                               __FILE__, __func__, __LINE__, ##arg);   \
+               }                                                       \
+       } while (0)
 
 /* Spinlock related methods */
 #define ena_spinlock_t rte_spinlock_t