[v2,02/32] net/sssnic: add log type and log macros

Message ID 20230831095650.219964-3-wanry@3snic.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series Introduce sssnic PMD for 3SNIC's 9x0 serials Ethernet adapters |

Checks

Context Check Description
ci/checkpatch warning coding style issues

Commit Message

Renyong Wan Aug. 31, 2023, 9:56 a.m. UTC
  From: Renyong Wan <wanry@3snic.com>

Adding log macros to print runtime messages and trace functions.

Signed-off-by: Steven Song <steven.song@3snic.com>
Signed-off-by: Renyong Wan <wanry@3snic.com>
---
 drivers/net/sssnic/sssnic_ethdev.c | 13 ++++++++
 drivers/net/sssnic/sssnic_log.h    | 51 ++++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 drivers/net/sssnic/sssnic_log.h
  

Patch

diff --git a/drivers/net/sssnic/sssnic_ethdev.c b/drivers/net/sssnic/sssnic_ethdev.c
index dcda01eeb8..0f1017af9d 100644
--- a/drivers/net/sssnic/sssnic_ethdev.c
+++ b/drivers/net/sssnic/sssnic_ethdev.c
@@ -5,11 +5,14 @@ 
 #include <rte_common.h>
 #include <ethdev_pci.h>
 
+#include "sssnic_log.h"
+
 static int
 sssnic_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
 {
 	RTE_SET_USED(pci_drv);
 	RTE_SET_USED(pci_dev);
+	PMD_INIT_FUNC_TRACE();
 	return -EINVAL;
 }
 
@@ -17,6 +20,7 @@  static int
 sssnic_pci_remove(struct rte_pci_device *pci_dev)
 {
 	RTE_SET_USED(pci_dev);
+	PMD_INIT_FUNC_TRACE();
 	return -EINVAL;
 }
 
@@ -26,3 +30,12 @@  static struct rte_pci_driver sssnic_pmd = {
 };
 
 RTE_PMD_REGISTER_PCI(net_sssnic, sssnic_pmd);
+
+RTE_LOG_REGISTER_SUFFIX(sssnic_logtype_driver, driver, INFO);
+RTE_LOG_REGISTER_SUFFIX(sssnic_logtype_init, init, NOTICE);
+#ifdef RTE_ETHDEV_DEBUG_RX
+RTE_LOG_REGISTER_SUFFIX(sssnic_logtype_rx, rx, DEBUG);
+#endif /*RTE_ETHDEV_DEBUG_RX*/
+#ifdef RTE_ETHDEV_DEBUG_TX
+RTE_LOG_REGISTER_SUFFIX(sssnic_logtype_tx, tx, DEBUG);
+#endif /*RTE_ETHDEV_DEBUG_TX*/
diff --git a/drivers/net/sssnic/sssnic_log.h b/drivers/net/sssnic/sssnic_log.h
new file mode 100644
index 0000000000..629e12100c
--- /dev/null
+++ b/drivers/net/sssnic/sssnic_log.h
@@ -0,0 +1,51 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(c) 2018-2022 Shenzhen 3SNIC Information Technology Co., Ltd.
+ */
+
+#ifndef _SSSNIC_LOG_H_
+#define _SSSNIC_LOG_H_
+
+#include <rte_log.h>
+
+extern int sssnic_logtype_driver;
+extern int sssnic_logtype_init;
+
+#define SSSNIC_LOG_NAME "sssnic"
+#define PMD_DRV_LOG(level, fmt, args...)                                       \
+	rte_log(RTE_LOG_##level, sssnic_logtype_driver,                        \
+		SSSNIC_LOG_NAME ": " fmt "\n", ##args)
+#define PMD_INIT_LOG(level, fmt, args...)                                      \
+	rte_log(RTE_LOG_##level, sssnic_logtype_init, "%s(): " fmt "\n",       \
+		__func__, ##args)
+
+#define SSSNIC_DEBUG(fmt, args...)                                             \
+	PMD_DRV_LOG(DEBUG, "[%s():%d] " fmt, __func__, __LINE__, ##args)
+
+/*
+ * Trace driver init and uninit.
+ */
+#define PMD_INIT_FUNC_TRACE() PMD_INIT_LOG(DEBUG, " >>")
+
+#ifdef RTE_ETHDEV_DEBUG_RX
+extern int sssnic_logtype_rx;
+#define SSSNIC_RX_LOG(level, fmt, args...)                                     \
+	rte_log(RTE_LOG_##level, sssnic_logtype_rx,                            \
+		"sssnic_rx: [%s():%d] " fmt "\n", __func__, __LINE__, ##args)
+#else
+#define SSSNIC_RX_LOG(level, fmt, args...)                                     \
+	do {                                                                   \
+	} while (0)
+#endif /*RTE_ETHDEV_DEBUG_RX*/
+
+#ifdef RTE_ETHDEV_DEBUG_TX
+extern int sssnic_logtype_tx;
+#define SSSNIC_TX_LOG(level, fmt, args...)                                     \
+	rte_log(RTE_LOG_##level, sssnic_logtype_rx,                            \
+		"sssnic_tx: [%s():%d] " fmt "\n", __func__, __LINE__, ##args)
+#else
+#define SSSNIC_TX_LOG(level, fmt, args...)                                     \
+	do {                                                                   \
+	} while (0)
+#endif /*RTE_ETHDEV_DEBUG_TX*/
+
+#endif /*_SSSNIC_LOG_H_*/