debug.h (1972B)
1/* SPDX-License-Identifier: BSD-3-Clause-Clear */ 2/* 3 * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved. 4 */ 5 6#ifndef _ATH11K_DEBUG_H_ 7#define _ATH11K_DEBUG_H_ 8 9#include "trace.h" 10#include "debugfs.h" 11 12enum ath11k_debug_mask { 13 ATH11K_DBG_AHB = 0x00000001, 14 ATH11K_DBG_WMI = 0x00000002, 15 ATH11K_DBG_HTC = 0x00000004, 16 ATH11K_DBG_DP_HTT = 0x00000008, 17 ATH11K_DBG_MAC = 0x00000010, 18 ATH11K_DBG_BOOT = 0x00000020, 19 ATH11K_DBG_QMI = 0x00000040, 20 ATH11K_DBG_DATA = 0x00000080, 21 ATH11K_DBG_MGMT = 0x00000100, 22 ATH11K_DBG_REG = 0x00000200, 23 ATH11K_DBG_TESTMODE = 0x00000400, 24 ATH11k_DBG_HAL = 0x00000800, 25 ATH11K_DBG_PCI = 0x00001000, 26 ATH11K_DBG_DP_TX = 0x00001000, 27 ATH11K_DBG_DP_RX = 0x00002000, 28 ATH11K_DBG_ANY = 0xffffffff, 29}; 30 31__printf(2, 3) void ath11k_info(struct ath11k_base *ab, const char *fmt, ...); 32__printf(2, 3) void ath11k_err(struct ath11k_base *ab, const char *fmt, ...); 33__printf(2, 3) void ath11k_warn(struct ath11k_base *ab, const char *fmt, ...); 34 35extern unsigned int ath11k_debug_mask; 36 37#ifdef CONFIG_ATH11K_DEBUG 38__printf(3, 4) void __ath11k_dbg(struct ath11k_base *ab, 39 enum ath11k_debug_mask mask, 40 const char *fmt, ...); 41void ath11k_dbg_dump(struct ath11k_base *ab, 42 enum ath11k_debug_mask mask, 43 const char *msg, const char *prefix, 44 const void *buf, size_t len); 45#else /* CONFIG_ATH11K_DEBUG */ 46static inline int __ath11k_dbg(struct ath11k_base *ab, 47 enum ath11k_debug_mask dbg_mask, 48 const char *fmt, ...) 49{ 50 return 0; 51} 52 53static inline void ath11k_dbg_dump(struct ath11k_base *ab, 54 enum ath11k_debug_mask mask, 55 const char *msg, const char *prefix, 56 const void *buf, size_t len) 57{ 58} 59#endif /* CONFIG_ATH11K_DEBUG */ 60 61#define ath11k_dbg(ar, dbg_mask, fmt, ...) \ 62do { \ 63 if ((ath11k_debug_mask & dbg_mask) || \ 64 trace_ath11k_log_dbg_enabled()) \ 65 __ath11k_dbg(ar, dbg_mask, fmt, ##__VA_ARGS__); \ 66} while (0) 67 68#endif /* _ATH11K_DEBUG_H_ */