net/qede: implement dynamic logging
authorStephen Hemminger <stephen@networkplumber.org>
Tue, 19 Dec 2017 06:38:39 +0000 (22:38 -0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 16 Jan 2018 17:47:49 +0000 (18:47 +0100)
This driver is mostly like others with slightly different logging
macros. The semantics were retained, with some minor reformatting.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
config/common_base
drivers/net/qede/qede_ethdev.c
drivers/net/qede/qede_logs.h

index 5e7b9be..2eee92a 100644 (file)
@@ -397,9 +397,7 @@ CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB_L1=n
 # QLogic 10G/25G/40G/50G/100G PMD
 #
 CONFIG_RTE_LIBRTE_QEDE_PMD=y
-CONFIG_RTE_LIBRTE_QEDE_DEBUG_INIT=n
 CONFIG_RTE_LIBRTE_QEDE_DEBUG_INFO=n
-CONFIG_RTE_LIBRTE_QEDE_DEBUG_DRIVER=n
 CONFIG_RTE_LIBRTE_QEDE_DEBUG_TX=n
 CONFIG_RTE_LIBRTE_QEDE_DEBUG_RX=n
 CONFIG_RTE_LIBRTE_QEDE_VF_TX_SWITCH=y
index 68e99c5..071c441 100644 (file)
@@ -11,6 +11,9 @@
 #include <rte_version.h>
 
 /* Globals */
+int qede_logtype_init;
+int qede_logtype_driver;
+
 static const struct qed_eth_ops *qed_ops;
 static int64_t timer_period = 1;
 
@@ -3125,3 +3128,15 @@ RTE_PMD_REGISTER_KMOD_DEP(net_qede, "* igb_uio | uio_pci_generic | vfio-pci");
 RTE_PMD_REGISTER_PCI(net_qede_vf, rte_qedevf_pmd);
 RTE_PMD_REGISTER_PCI_TABLE(net_qede_vf, pci_id_qedevf_map);
 RTE_PMD_REGISTER_KMOD_DEP(net_qede_vf, "* igb_uio | vfio-pci");
+
+RTE_INIT(qede_init_log);
+static void
+qede_init_log(void)
+{
+       qede_logtype_init = rte_log_register("pmd.qede.init");
+       if (qede_logtype_init >= 0)
+               rte_log_set_level(qede_logtype_init, RTE_LOG_NOTICE);
+       qede_logtype_driver = rte_log_register("pmd.qede.driver");
+       if (qede_logtype_driver >= 0)
+               rte_log_set_level(qede_logtype_driver, RTE_LOG_NOTICE);
+}
index 1582115..b7ecf1c 100644 (file)
@@ -9,23 +9,25 @@
 #ifndef _QEDE_LOGS_H_
 #define _QEDE_LOGS_H_
 
-#define DP_ERR(p_dev, fmt, ...) \
-       rte_log(RTE_LOG_ERR, RTE_LOGTYPE_PMD, \
-               "[%s:%d(%s)]" fmt, \
-                 __func__, __LINE__, \
-               (p_dev)->name ? (p_dev)->name : "", \
+extern int qede_logtype_driver;
+
+#define DP_ERR(p_dev, fmt, ...)                                \
+       rte_log(RTE_LOG_ERR, qede_logtype_driver,       \
+               "[%s:%d(%s)]" fmt,                      \
+               __func__, __LINE__,                     \
+               (p_dev)->name ? (p_dev)->name : "",     \
                ##__VA_ARGS__)
 
 #define DP_NOTICE(p_dev, is_assert, fmt, ...) \
 do { \
        if (is_assert) \
-               rte_log(RTE_LOG_ERR, RTE_LOGTYPE_PMD,\
+               rte_log(RTE_LOG_ERR, qede_logtype_driver,\
                        "[QEDE PMD: (%s)]%s:" fmt, \
                        (p_dev)->name ? (p_dev)->name : "", \
                         __func__, \
                        ##__VA_ARGS__); \
        else \
-               rte_log(RTE_LOG_NOTICE, RTE_LOGTYPE_PMD,\
+               rte_log(RTE_LOG_NOTICE, qede_logtype_driver,\
                        "[QEDE PMD: (%s)]%s:" fmt, \
                        (p_dev)->name ? (p_dev)->name : "", \
                         __func__, \
@@ -34,7 +36,7 @@ do { \
 
 #ifdef RTE_LIBRTE_QEDE_DEBUG_INFO
 #define DP_INFO(p_dev, fmt, ...) \
-       rte_log(RTE_LOG_INFO, RTE_LOGTYPE_PMD, \
+       rte_log(RTE_LOG_INFO, qede_logtype_driver, \
                "[%s:%d(%s)]" fmt, \
                __func__, __LINE__, \
                (p_dev)->name ? (p_dev)->name : "", \
@@ -43,30 +45,23 @@ do { \
 #define DP_INFO(p_dev, fmt, ...) do { } while (0)
 #endif
 
-#ifdef RTE_LIBRTE_QEDE_DEBUG_DRIVER
-#define DP_VERBOSE(p_dev, module, fmt, ...) \
-do { \
-       if ((p_dev)->dp_module & module) \
-               rte_log(RTE_LOG_DEBUG, RTE_LOGTYPE_PMD, \
-                       "[%s:%d(%s)]" fmt, \
-                     __func__, __LINE__, \
-                     (p_dev)->name ? (p_dev)->name : "", \
-                     ##__VA_ARGS__); \
-} while (0)
-#else
-#define DP_VERBOSE(p_dev, fmt, ...) do { } while (0)
-#endif
+#define DP_VERBOSE(p_dev, module, fmt, ...)                            \
+       do {                                                            \
+               if ((p_dev)->dp_module & module)                        \
+                       rte_log(RTE_LOG_DEBUG, qede_logtype_driver,     \
+                               "[%s:%d(%s)]" fmt,                      \
+                               __func__, __LINE__,                     \
+                               (p_dev)->name ? (p_dev)->name : "",     \
+                               ##__VA_ARGS__);                         \
+       } while (0)
 
-#define PMD_INIT_LOG(level, edev, fmt, args...)        \
-       rte_log(RTE_LOG_ ## level, RTE_LOGTYPE_PMD, \
-               "[qede_pmd: %s] %s() " fmt "\n", \
-       (edev)->name, __func__, ##args)
+extern int qede_logtype_init;
+#define PMD_INIT_LOG(level, edev, fmt, args...)                \
+       rte_log(RTE_LOG_ ## level, qede_logtype_init,   \
+               "[qede_pmd: %s] %s() " fmt "\n",        \
+               (edev)->name, __func__, ##args)
 
-#ifdef RTE_LIBRTE_QEDE_DEBUG_INIT
 #define PMD_INIT_FUNC_TRACE(edev) PMD_INIT_LOG(DEBUG, edev, " >>")
-#else
-#define PMD_INIT_FUNC_TRACE(edev) do { } while (0)
-#endif
 
 #ifdef RTE_LIBRTE_QEDE_DEBUG_TX
 #define PMD_TX_LOG(level, q, fmt, args...) \