| 
									
										
										
										
											2013-06-12 20:52:10 +03:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * Copyright (c) 2005-2011 Atheros Communications Inc. | 
					
						
							|  |  |  |  * Copyright (c) 2011-2013 Qualcomm Atheros, Inc. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Permission to use, copy, modify, and/or distribute this software for any | 
					
						
							|  |  |  |  * purpose with or without fee is hereby granted, provided that the above | 
					
						
							|  |  |  |  * copyright notice and this permission notice appear in all copies. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | 
					
						
							|  |  |  |  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | 
					
						
							|  |  |  |  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | 
					
						
							|  |  |  |  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | 
					
						
							|  |  |  |  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | 
					
						
							|  |  |  |  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | 
					
						
							|  |  |  |  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef _DEBUG_H_
 | 
					
						
							|  |  |  | #define _DEBUG_H_
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <linux/types.h>
 | 
					
						
							|  |  |  | #include "trace.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | enum ath10k_debug_mask { | 
					
						
							|  |  |  | 	ATH10K_DBG_PCI		= 0x00000001, | 
					
						
							|  |  |  | 	ATH10K_DBG_WMI		= 0x00000002, | 
					
						
							|  |  |  | 	ATH10K_DBG_HTC		= 0x00000004, | 
					
						
							|  |  |  | 	ATH10K_DBG_HTT		= 0x00000008, | 
					
						
							|  |  |  | 	ATH10K_DBG_MAC		= 0x00000010, | 
					
						
							| 
									
										
										
										
											2013-09-08 17:55:38 +03:00
										 |  |  | 	ATH10K_DBG_BOOT		= 0x00000020, | 
					
						
							| 
									
										
										
										
											2013-06-12 20:52:10 +03:00
										 |  |  | 	ATH10K_DBG_PCI_DUMP	= 0x00000040, | 
					
						
							|  |  |  | 	ATH10K_DBG_HTT_DUMP	= 0x00000080, | 
					
						
							|  |  |  | 	ATH10K_DBG_MGMT		= 0x00000100, | 
					
						
							|  |  |  | 	ATH10K_DBG_DATA		= 0x00000200, | 
					
						
							| 
									
										
										
										
											2013-09-08 17:55:32 +03:00
										 |  |  | 	ATH10K_DBG_BMI		= 0x00000400, | 
					
						
							| 
									
										
										
										
											2013-11-20 09:59:41 +02:00
										 |  |  | 	ATH10K_DBG_REGULATORY	= 0x00000800, | 
					
						
							| 
									
										
										
										
											2013-06-12 20:52:10 +03:00
										 |  |  | 	ATH10K_DBG_ANY		= 0xffffffff, | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | extern unsigned int ath10k_debug_mask; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-09-23 11:37:59 -07:00
										 |  |  | __printf(1, 2) int ath10k_info(const char *fmt, ...); | 
					
						
							|  |  |  | __printf(1, 2) int ath10k_err(const char *fmt, ...); | 
					
						
							|  |  |  | __printf(1, 2) int ath10k_warn(const char *fmt, ...); | 
					
						
							| 
									
										
										
										
											2013-06-12 20:52:10 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | #ifdef CONFIG_ATH10K_DEBUGFS
 | 
					
						
							| 
									
										
										
										
											2013-09-03 11:44:03 +03:00
										 |  |  | int ath10k_debug_start(struct ath10k *ar); | 
					
						
							|  |  |  | void ath10k_debug_stop(struct ath10k *ar); | 
					
						
							| 
									
										
										
										
											2013-06-12 20:52:10 +03:00
										 |  |  | int ath10k_debug_create(struct ath10k *ar); | 
					
						
							| 
									
										
										
										
											2013-10-08 21:45:25 +03:00
										 |  |  | void ath10k_debug_destroy(struct ath10k *ar); | 
					
						
							| 
									
										
										
										
											2013-06-12 20:52:10 +03:00
										 |  |  | void ath10k_debug_read_service_map(struct ath10k *ar, | 
					
						
							|  |  |  | 				   void *service_map, | 
					
						
							|  |  |  | 				   size_t map_size); | 
					
						
							|  |  |  | void ath10k_debug_read_target_stats(struct ath10k *ar, | 
					
						
							|  |  |  | 				    struct wmi_stats_event *ev); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-20 09:59:41 +02:00
										 |  |  | #define ATH10K_DFS_STAT_INC(ar, c) (ar->debug.dfs_stats.c++)
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-12 20:52:10 +03:00
										 |  |  | #else
 | 
					
						
							| 
									
										
										
										
											2013-09-09 17:50:45 +02:00
										 |  |  | static inline int ath10k_debug_start(struct ath10k *ar) | 
					
						
							| 
									
										
										
										
											2013-09-03 11:44:03 +03:00
										 |  |  | { | 
					
						
							|  |  |  | 	return 0; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-09-09 17:50:45 +02:00
										 |  |  | static inline void ath10k_debug_stop(struct ath10k *ar) | 
					
						
							| 
									
										
										
										
											2013-09-03 11:44:03 +03:00
										 |  |  | { | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-12 20:52:10 +03:00
										 |  |  | static inline int ath10k_debug_create(struct ath10k *ar) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return 0; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-08 21:45:25 +03:00
										 |  |  | static inline void ath10k_debug_destroy(struct ath10k *ar) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-12 20:52:10 +03:00
										 |  |  | static inline void ath10k_debug_read_service_map(struct ath10k *ar, | 
					
						
							|  |  |  | 						 void *service_map, | 
					
						
							|  |  |  | 						 size_t map_size) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static inline void ath10k_debug_read_target_stats(struct ath10k *ar, | 
					
						
							|  |  |  | 						  struct wmi_stats_event *ev) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2013-11-20 09:59:41 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | #define ATH10K_DFS_STAT_INC(ar, c) do { } while (0)
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-12 20:52:10 +03:00
										 |  |  | #endif /* CONFIG_ATH10K_DEBUGFS */
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef CONFIG_ATH10K_DEBUG
 | 
					
						
							| 
									
										
										
										
											2013-09-23 11:37:59 -07:00
										 |  |  | __printf(2, 3) void ath10k_dbg(enum ath10k_debug_mask mask, | 
					
						
							| 
									
										
										
										
											2013-06-12 20:52:10 +03:00
										 |  |  | 				      const char *fmt, ...); | 
					
						
							|  |  |  | void ath10k_dbg_dump(enum ath10k_debug_mask mask, | 
					
						
							|  |  |  | 		     const char *msg, const char *prefix, | 
					
						
							|  |  |  | 		     const void *buf, size_t len); | 
					
						
							|  |  |  | #else /* CONFIG_ATH10K_DEBUG */
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static inline int ath10k_dbg(enum ath10k_debug_mask dbg_mask, | 
					
						
							|  |  |  | 			     const char *fmt, ...) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return 0; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static inline void ath10k_dbg_dump(enum ath10k_debug_mask mask, | 
					
						
							|  |  |  | 				   const char *msg, const char *prefix, | 
					
						
							|  |  |  | 				   const void *buf, size_t len) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | #endif /* CONFIG_ATH10K_DEBUG */
 | 
					
						
							|  |  |  | #endif /* _DEBUG_H_ */
 |