mempool/cnxk: avoid batch op free for empty pools
[dpdk.git] / drivers / vdpa / sfc / sfc_vdpa_log.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2020-2021 Xilinx, Inc.
3  */
4
5 #ifndef _SFC_VDPA_LOG_H_
6 #define _SFC_VDPA_LOG_H_
7
8 /** Generic driver log type */
9 extern int sfc_vdpa_logtype_driver;
10
11 /** Common log type name prefix */
12 #define SFC_VDPA_LOGTYPE_PREFIX "pmd.vdpa.sfc."
13
14 /** Log PMD generic message, add a prefix and a line break */
15 #define SFC_VDPA_GENERIC_LOG(level, ...) \
16         rte_log(RTE_LOG_ ## level, sfc_vdpa_logtype_driver,             \
17                 RTE_FMT("PMD: " RTE_FMT_HEAD(__VA_ARGS__ ,) "\n",       \
18                         RTE_FMT_TAIL(__VA_ARGS__ ,)))
19
20 /** Name prefix for the per-device log type used to report basic information */
21 #define SFC_VDPA_LOGTYPE_MAIN_STR       SFC_VDPA_LOGTYPE_PREFIX "main"
22
23 /** Device MCDI log type name prefix */
24 #define SFC_VDPA_LOGTYPE_MCDI_STR       SFC_VDPA_LOGTYPE_PREFIX "mcdi"
25
26 #define SFC_VDPA_LOG_PREFIX_MAX 32
27
28 /* Log PMD message, automatically add prefix and \n */
29 #define SFC_VDPA_LOG(sva, level, ...) \
30         do {                                                            \
31                 const struct sfc_vdpa_adapter *_sva = (sva);            \
32                                                                         \
33                 rte_log(RTE_LOG_ ## level, _sva->logtype_main,          \
34                         RTE_FMT("%s" RTE_FMT_HEAD(__VA_ARGS__ ,) "\n",  \
35                                 _sva->log_prefix,                       \
36                                 RTE_FMT_TAIL(__VA_ARGS__ ,)));          \
37         } while (0)
38
39 #define sfc_vdpa_err(sva, ...) \
40         SFC_VDPA_LOG(sva, ERR, __VA_ARGS__)
41
42 #define sfc_vdpa_warn(sva, ...) \
43         SFC_VDPA_LOG(sva, WARNING, __VA_ARGS__)
44
45 #define sfc_vdpa_notice(sva, ...) \
46         SFC_VDPA_LOG(sva, NOTICE, __VA_ARGS__)
47
48 #define sfc_vdpa_info(sva, ...) \
49         SFC_VDPA_LOG(sva, INFO, __VA_ARGS__)
50
51 #define sfc_vdpa_log_init(sva, ...) \
52         SFC_VDPA_LOG(sva, INFO,                         \
53                 RTE_FMT("%s(): "                        \
54                         RTE_FMT_HEAD(__VA_ARGS__ ,),    \
55                         __func__,                       \
56                         RTE_FMT_TAIL(__VA_ARGS__ ,)))
57
58 #endif /* _SFC_VDPA_LOG_H_ */