1 /* SPDX-License-Identifier: BSD-3-Clause-Clear */ 2 /* 3 * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved. 4 * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. 5 */ 6 7 #ifndef _ATH12K_DEBUG_H_ 8 #define _ATH12K_DEBUG_H_ 9 10 #include "trace.h" 11 12 enum ath12k_debug_mask { 13 ATH12K_DBG_AHB = 0x00000001, 14 ATH12K_DBG_WMI = 0x00000002, 15 ATH12K_DBG_HTC = 0x00000004, 16 ATH12K_DBG_DP_HTT = 0x00000008, 17 ATH12K_DBG_MAC = 0x00000010, 18 ATH12K_DBG_BOOT = 0x00000020, 19 ATH12K_DBG_QMI = 0x00000040, 20 ATH12K_DBG_DATA = 0x00000080, 21 ATH12K_DBG_MGMT = 0x00000100, 22 ATH12K_DBG_REG = 0x00000200, 23 ATH12K_DBG_TESTMODE = 0x00000400, 24 ATH12K_DBG_HAL = 0x00000800, 25 ATH12K_DBG_PCI = 0x00001000, 26 ATH12K_DBG_DP_TX = 0x00002000, 27 ATH12K_DBG_DP_RX = 0x00004000, 28 ATH12K_DBG_ANY = 0xffffffff, 29 }; 30 31 __printf(2, 3) void ath12k_info(struct ath12k_base *ab, const char *fmt, ...); 32 __printf(2, 3) void ath12k_err(struct ath12k_base *ab, const char *fmt, ...); 33 __printf(2, 3) void ath12k_warn(struct ath12k_base *ab, const char *fmt, ...); 34 35 extern unsigned int ath12k_debug_mask; 36 37 #ifdef CONFIG_ATH12K_DEBUG 38 __printf(3, 4) void __ath12k_dbg(struct ath12k_base *ab, 39 enum ath12k_debug_mask mask, 40 const char *fmt, ...); 41 void ath12k_dbg_dump(struct ath12k_base *ab, 42 enum ath12k_debug_mask mask, 43 const char *msg, const char *prefix, 44 const void *buf, size_t len); 45 #else /* CONFIG_ATH12K_DEBUG */ 46 static inline void __ath12k_dbg(struct ath12k_base *ab, 47 enum ath12k_debug_mask dbg_mask, 48 const char *fmt, ...) 49 { 50 } 51 52 static inline void ath12k_dbg_dump(struct ath12k_base *ab, 53 enum ath12k_debug_mask mask, 54 const char *msg, const char *prefix, 55 const void *buf, size_t len) 56 { 57 } 58 #endif /* CONFIG_ATH12K_DEBUG */ 59 60 #define ath12k_dbg(ar, dbg_mask, fmt, ...) \ 61 do { \ 62 typeof(dbg_mask) mask = (dbg_mask); \ 63 if (ath12k_debug_mask & mask) \ 64 __ath12k_dbg(ar, mask, fmt, ##__VA_ARGS__); \ 65 } while (0) 66 67 #endif /* _ATH12K_DEBUG_H_ */ 68