xref: /freebsd/sys/contrib/dev/rtw88/debug.h (revision 11c53278a8a3e86e14377f09bbaa7bad193d3713)
12774f206SBjoern A. Zeeb /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
22774f206SBjoern A. Zeeb /* Copyright(c) 2018-2019  Realtek Corporation
32774f206SBjoern A. Zeeb  */
42774f206SBjoern A. Zeeb 
52774f206SBjoern A. Zeeb #ifndef __RTW_DEBUG_H
62774f206SBjoern A. Zeeb #define __RTW_DEBUG_H
72774f206SBjoern A. Zeeb 
82774f206SBjoern A. Zeeb enum rtw_debug_mask {
92774f206SBjoern A. Zeeb 	RTW_DBG_PCI		= 0x00000001,
102774f206SBjoern A. Zeeb 	RTW_DBG_TX		= 0x00000002,
112774f206SBjoern A. Zeeb 	RTW_DBG_RX		= 0x00000004,
122774f206SBjoern A. Zeeb 	RTW_DBG_PHY		= 0x00000008,
132774f206SBjoern A. Zeeb 	RTW_DBG_FW		= 0x00000010,
142774f206SBjoern A. Zeeb 	RTW_DBG_EFUSE		= 0x00000020,
152774f206SBjoern A. Zeeb 	RTW_DBG_COEX		= 0x00000040,
162774f206SBjoern A. Zeeb 	RTW_DBG_RFK		= 0x00000080,
172774f206SBjoern A. Zeeb 	RTW_DBG_REGD		= 0x00000100,
182774f206SBjoern A. Zeeb 	RTW_DBG_DEBUGFS		= 0x00000200,
192774f206SBjoern A. Zeeb 	RTW_DBG_PS		= 0x00000400,
202774f206SBjoern A. Zeeb 	RTW_DBG_BF		= 0x00000800,
212774f206SBjoern A. Zeeb 	RTW_DBG_WOW		= 0x00001000,
222774f206SBjoern A. Zeeb 	RTW_DBG_CFO		= 0x00002000,
232774f206SBjoern A. Zeeb 	RTW_DBG_PATH_DIV	= 0x00004000,
242774f206SBjoern A. Zeeb 	RTW_DBG_ADAPTIVITY	= 0x00008000,
252774f206SBjoern A. Zeeb 	RTW_DBG_HW_SCAN		= 0x00010000,
269c951734SBjoern A. Zeeb 	RTW_DBG_STATE		= 0x00020000,
2790aac0d8SBjoern A. Zeeb 	RTW_DBG_SDIO		= 0x00040000,
282774f206SBjoern A. Zeeb 
292774f206SBjoern A. Zeeb #if defined(__FreeBSD__)
30*11c53278SBjoern A. Zeeb 	RTW_DBG_IO_RW		= 0x10000000,
312774f206SBjoern A. Zeeb #endif
32*11c53278SBjoern A. Zeeb 	RTW_DBG_UNEXP		= 0x80000000,
332774f206SBjoern A. Zeeb 	RTW_DBG_ALL		= 0xffffffff
342774f206SBjoern A. Zeeb };
352774f206SBjoern A. Zeeb 
362774f206SBjoern A. Zeeb #ifdef CONFIG_RTW88_DEBUGFS
372774f206SBjoern A. Zeeb 
382774f206SBjoern A. Zeeb void rtw_debugfs_init(struct rtw_dev *rtwdev);
392774f206SBjoern A. Zeeb void rtw_debugfs_get_simple_phy_info(struct seq_file *m);
402774f206SBjoern A. Zeeb 
412774f206SBjoern A. Zeeb #else
422774f206SBjoern A. Zeeb 
432774f206SBjoern A. Zeeb static inline void rtw_debugfs_init(struct rtw_dev *rtwdev) {}
442774f206SBjoern A. Zeeb 
452774f206SBjoern A. Zeeb #endif /* CONFIG_RTW88_DEBUGFS */
462774f206SBjoern A. Zeeb 
472774f206SBjoern A. Zeeb #ifdef CONFIG_RTW88_DEBUG
482774f206SBjoern A. Zeeb 
492774f206SBjoern A. Zeeb __printf(3, 4)
50*11c53278SBjoern A. Zeeb void rtw_dbg(struct rtw_dev *rtwdev, enum rtw_debug_mask mask,
512774f206SBjoern A. Zeeb 	     const char *fmt, ...);
522774f206SBjoern A. Zeeb 
53*11c53278SBjoern A. Zeeb static inline bool rtw_dbg_is_enabled(struct rtw_dev *rtwdev,
54*11c53278SBjoern A. Zeeb 				      enum rtw_debug_mask mask)
55*11c53278SBjoern A. Zeeb {
56*11c53278SBjoern A. Zeeb 	return !!(rtw_debug_mask & mask);
57*11c53278SBjoern A. Zeeb }
582774f206SBjoern A. Zeeb 
592774f206SBjoern A. Zeeb #else
602774f206SBjoern A. Zeeb 
612774f206SBjoern A. Zeeb static inline void rtw_dbg(struct rtw_dev *rtwdev, enum rtw_debug_mask mask,
622774f206SBjoern A. Zeeb 			   const char *fmt, ...) {}
632774f206SBjoern A. Zeeb 
64*11c53278SBjoern A. Zeeb static inline bool rtw_dbg_is_enabled(struct rtw_dev *rtwdev,
65*11c53278SBjoern A. Zeeb 				      enum rtw_debug_mask mask)
66*11c53278SBjoern A. Zeeb {
67*11c53278SBjoern A. Zeeb 	return false;
68*11c53278SBjoern A. Zeeb }
69*11c53278SBjoern A. Zeeb 
702774f206SBjoern A. Zeeb #endif /* CONFIG_RTW88_DEBUG */
712774f206SBjoern A. Zeeb 
722774f206SBjoern A. Zeeb #define rtw_info(rtwdev, a...) dev_info(rtwdev->dev, ##a)
732774f206SBjoern A. Zeeb #define rtw_warn(rtwdev, a...) dev_warn(rtwdev->dev, ##a)
742774f206SBjoern A. Zeeb #define rtw_err(rtwdev, a...) dev_err(rtwdev->dev, ##a)
752774f206SBjoern A. Zeeb 
762774f206SBjoern A. Zeeb #endif
77