[02/19] net/xsc: add log macro

Message ID 20240906121405.3404357-3-wanry@yunsilicon.com (mailing list archive)
State Superseded
Delegated to: Ferruh Yigit
Headers
Series XSC PMD for Yunsilicon NICs |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

WanRenyong Sept. 6, 2024, 12:13 p.m. UTC
Add log macro to print runtime messages and trace functions.

Signed-off-by: WanRenyong <wanry@yunsilicon.com>
---
 drivers/net/xsc/xsc_ethdev.c | 11 +++++++++
 drivers/net/xsc/xsc_log.h    | 44 ++++++++++++++++++++++++++++++++++++
 2 files changed, 55 insertions(+)
 create mode 100644 drivers/net/xsc/xsc_log.h
  

Patch

diff --git a/drivers/net/xsc/xsc_ethdev.c b/drivers/net/xsc/xsc_ethdev.c
index 0e48cb76fa..58ceaa3940 100644
--- a/drivers/net/xsc/xsc_ethdev.c
+++ b/drivers/net/xsc/xsc_ethdev.c
@@ -1,3 +1,14 @@ 
 /* SPDX-License-Identifier: BSD-3-Clause
  * Copyright 2024 Yunsilicon Technology Co., Ltd.
  */
+
+#include "xsc_log.h"
+
+RTE_LOG_REGISTER_SUFFIX(xsc_logtype_init, init, NOTICE);
+RTE_LOG_REGISTER_SUFFIX(xsc_logtype_driver, driver, NOTICE);
+#ifdef RTE_ETHDEV_DEBUG_RX
+RTE_LOG_REGISTER_SUFFIX(xsc_logtype_rx, rx, DEBUG);
+#endif
+#ifdef RTE_ETHDEV_DEBUG_TX
+RTE_LOG_REGISTER_SUFFIX(xsc_logtype_tx, tx, DEBUG);
+#endif
diff --git a/drivers/net/xsc/xsc_log.h b/drivers/net/xsc/xsc_log.h
new file mode 100644
index 0000000000..163145ff09
--- /dev/null
+++ b/drivers/net/xsc/xsc_log.h
@@ -0,0 +1,44 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright 2024 Yunsilicon Technology Co., Ltd.
+ */
+
+#ifndef _XSC_LOG_H_
+#define _XSC_LOG_H_
+
+#include <rte_log.h>
+
+extern int xsc_logtype_init;
+extern int xsc_logtype_driver;
+
+#define PMD_INIT_LOG(level, fmt, ...) \
+	rte_log(RTE_LOG_ ## level, xsc_logtype_init, "%s(): " fmt "\n", \
+		__func__, ##__VA_ARGS__)
+
+#define PMD_INIT_FUNC_TRACE() PMD_INIT_LOG(DEBUG, " >>")
+
+#ifdef RTE_ETHDEV_DEBUG_RX
+extern int xsc_logtype_rx;
+#define PMD_RX_LOG(level, fmt, ...)			\
+	rte_log(RTE_LOG_ ## level, xsc_logtype_rx,	\
+		"%s(): " fmt "\n", __func__, ##__VA_ARGS__)
+#else
+#define PMD_RX_LOG(level, fmt, ...) do { } while (0)
+#endif
+
+#ifdef RTE_ETHDEV_DEBUG_TX
+extern int xsc_logtype_tx;
+#define PMD_TX_LOG(level, fmt, ...)			\
+	rte_log(RTE_LOG_ ## level, xsc_logtype_tx,	\
+		"%s(): " fmt "\n", __func__, ##__VA_ARGS__)
+#else
+#define PMD_TX_LOG(level, fmt, ...) do { } while (0)
+#endif
+
+#define PMD_DRV_LOG_RAW(level, fmt, ...) \
+	rte_log(RTE_LOG_ ## level, xsc_logtype_driver, "%s(): " fmt, \
+		__func__, ##__VA_ARGS__)
+
+#define PMD_DRV_LOG(level, fmt, ...) \
+	PMD_DRV_LOG_RAW(level, fmt "\n", ##__VA_ARGS__)
+
+#endif /* _XSC_LOG_H_ */