xref: /dpdk/drivers/vdpa/sfc/sfc_vdpa_log.h (revision df47324b6022119e9ce3774795ddb40446762895)
15e7596baSVijay Kumar Srivastava /* SPDX-License-Identifier: BSD-3-Clause
25e7596baSVijay Kumar Srivastava  * Copyright(c) 2020-2021 Xilinx, Inc.
35e7596baSVijay Kumar Srivastava  */
45e7596baSVijay Kumar Srivastava 
55e7596baSVijay Kumar Srivastava #ifndef _SFC_VDPA_LOG_H_
65e7596baSVijay Kumar Srivastava #define _SFC_VDPA_LOG_H_
75e7596baSVijay Kumar Srivastava 
85e7596baSVijay Kumar Srivastava /** Generic driver log type */
95e7596baSVijay Kumar Srivastava extern int sfc_vdpa_logtype_driver;
105e7596baSVijay Kumar Srivastava 
115e7596baSVijay Kumar Srivastava /** Log PMD generic message, add a prefix and a line break */
125e7596baSVijay Kumar Srivastava #define SFC_VDPA_GENERIC_LOG(level, ...) \
135e7596baSVijay Kumar Srivastava 	rte_log(RTE_LOG_ ## level, sfc_vdpa_logtype_driver,		\
145e7596baSVijay Kumar Srivastava 		RTE_FMT("PMD: " RTE_FMT_HEAD(__VA_ARGS__ ,) "\n",	\
155e7596baSVijay Kumar Srivastava 			RTE_FMT_TAIL(__VA_ARGS__ ,)))
165e7596baSVijay Kumar Srivastava 
175e7596baSVijay Kumar Srivastava /** Name prefix for the per-device log type used to report basic information */
18*df47324bSDavid Marchand #define SFC_VDPA_LOGTYPE_MAIN_STR	RTE_STR(RTE_LOG_DEFAULT_LOGTYPE) ".main"
195e7596baSVijay Kumar Srivastava 
206dad9a73SVijay Kumar Srivastava /** Device MCDI log type name prefix */
21*df47324bSDavid Marchand #define SFC_VDPA_LOGTYPE_MCDI_STR	RTE_STR(RTE_LOG_DEFAULT_LOGTYPE) ".mcdi"
226dad9a73SVijay Kumar Srivastava 
235e7596baSVijay Kumar Srivastava #define SFC_VDPA_LOG_PREFIX_MAX	32
245e7596baSVijay Kumar Srivastava 
255e7596baSVijay Kumar Srivastava /* Log PMD message, automatically add prefix and \n */
265e7596baSVijay Kumar Srivastava #define SFC_VDPA_LOG(sva, level, ...) \
275e7596baSVijay Kumar Srivastava 	do {								\
285e7596baSVijay Kumar Srivastava 		const struct sfc_vdpa_adapter *_sva = (sva);		\
295e7596baSVijay Kumar Srivastava 									\
305e7596baSVijay Kumar Srivastava 		rte_log(RTE_LOG_ ## level, _sva->logtype_main,		\
315e7596baSVijay Kumar Srivastava 			RTE_FMT("%s" RTE_FMT_HEAD(__VA_ARGS__ ,) "\n",	\
325e7596baSVijay Kumar Srivastava 				_sva->log_prefix,			\
335e7596baSVijay Kumar Srivastava 				RTE_FMT_TAIL(__VA_ARGS__ ,)));		\
345e7596baSVijay Kumar Srivastava 	} while (0)
355e7596baSVijay Kumar Srivastava 
365e7596baSVijay Kumar Srivastava #define sfc_vdpa_err(sva, ...) \
375e7596baSVijay Kumar Srivastava 	SFC_VDPA_LOG(sva, ERR, __VA_ARGS__)
385e7596baSVijay Kumar Srivastava 
395e7596baSVijay Kumar Srivastava #define sfc_vdpa_warn(sva, ...) \
405e7596baSVijay Kumar Srivastava 	SFC_VDPA_LOG(sva, WARNING, __VA_ARGS__)
415e7596baSVijay Kumar Srivastava 
425e7596baSVijay Kumar Srivastava #define sfc_vdpa_notice(sva, ...) \
435e7596baSVijay Kumar Srivastava 	SFC_VDPA_LOG(sva, NOTICE, __VA_ARGS__)
445e7596baSVijay Kumar Srivastava 
455e7596baSVijay Kumar Srivastava #define sfc_vdpa_info(sva, ...) \
465e7596baSVijay Kumar Srivastava 	SFC_VDPA_LOG(sva, INFO, __VA_ARGS__)
475e7596baSVijay Kumar Srivastava 
485e7596baSVijay Kumar Srivastava #define sfc_vdpa_log_init(sva, ...) \
495e7596baSVijay Kumar Srivastava 	SFC_VDPA_LOG(sva, INFO,				\
505e7596baSVijay Kumar Srivastava 		RTE_FMT("%s(): "			\
515e7596baSVijay Kumar Srivastava 			RTE_FMT_HEAD(__VA_ARGS__ ,),	\
525e7596baSVijay Kumar Srivastava 			__func__,			\
535e7596baSVijay Kumar Srivastava 			RTE_FMT_TAIL(__VA_ARGS__ ,)))
545e7596baSVijay Kumar Srivastava 
555e7596baSVijay Kumar Srivastava #endif /* _SFC_VDPA_LOG_H_ */
56