summaryrefslogtreecommitdiff
path: root/drivers/staging/r8188eu/include/odm_debug.h
blob: c11d8925952cfd9e3b1aa475c3f4fd012aff95b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
/* Copyright(c) 2007 - 2011 Realtek Corporation. */

#ifndef	__ODM_DBG_H__
#define __ODM_DBG_H__

/*  */
/*	Define the debug levels */
/*  */
/*	1. DBG_TRACE and DBG_LOUD are used for normal cases. */
/*	They can help SW engineer to develop or trace states changed */
/*	and also help HW enginner to trace every operation to and from HW, */
/*	e.g IO, Tx, Rx. */
/*  */
/*	2. DBG_WARNNING and DBG_SERIOUS are used for unusual or error cases, */
/*	which help us to debug SW or HW. */

/*	Never used in a call to ODM_RT_TRACE()! */
#define ODM_DBG_OFF				1

/*	Fatal bug. */
/*	For example, Tx/Rx/IO locked up, OS hangs, memory access violation, */
/*	resource allocation failed, unexpected HW behavior, HW BUG and so on. */
#define ODM_DBG_SERIOUS				2

/*	Abnormal, rare, or unexpeted cases. */
/*	For example, IRP/Packet/OID canceled, device suprisely unremoved and so on. */
#define ODM_DBG_WARNING				3

/*	Normal case with useful information about current SW or HW state. */
/*	For example, Tx/Rx descriptor to fill, Tx/Rx descr. completed status, */
/*	SW protocol state change, dynamic mechanism state change and so on. */
/*  */
#define ODM_DBG_LOUD					4

/*	Normal case with detail execution flow or information. */
#define ODM_DBG_TRACE					5

/*  Define the tracing components */
/* BB Functions */
#define ODM_COMP_DIG					BIT0
#define ODM_COMP_RA_MASK				BIT1
#define ODM_COMP_DYNAMIC_TXPWR				BIT2
#define ODM_COMP_FA_CNT					BIT3
#define ODM_COMP_RSSI_MONITOR				BIT4
#define ODM_COMP_CCK_PD					BIT5
#define ODM_COMP_ANT_DIV				BIT6
#define ODM_COMP_PWR_SAVE				BIT7
#define ODM_COMP_PWR_TRA				BIT8
#define ODM_COMP_RATE_ADAPTIVE				BIT9
#define ODM_COMP_PATH_DIV				BIT10
#define ODM_COMP_PSD					BIT11
#define ODM_COMP_DYNAMIC_PRICCA				BIT12
#define ODM_COMP_RXHP					BIT13
/* MAC Functions */
#define ODM_COMP_EDCA_TURBO				BIT16
#define ODM_COMP_EARLY_MODE				BIT17
/* RF Functions */
#define ODM_COMP_TX_PWR_TRACK				BIT24
#define ODM_COMP_RX_GAIN_TRACK				BIT25
#define ODM_COMP_CALIBRATION				BIT26
/* Common Functions */
#define ODM_COMP_COMMON					BIT30
#define ODM_COMP_INIT					BIT31

/*------------------------Export Marco Definition---------------------------*/
#define DbgPrint	pr_info
#define RT_PRINTK(fmt, args...)				\
	DbgPrint( "%s(): " fmt, __func__, ## args);

#ifndef ASSERT
	#define ASSERT(expr)
#endif

#define ODM_RT_TRACE(pDM_Odm, comp, level, fmt)				\
	if (((comp) & pDM_Odm->DebugComponents) &&			\
	    (level <= pDM_Odm->DebugLevel)) {				\
		if (pDM_Odm->SupportICType == ODM_RTL8192C)		\
			DbgPrint("[ODM-92C] ");				\
		else if (pDM_Odm->SupportICType == ODM_RTL8192D)	\
			DbgPrint("[ODM-92D] ");				\
		else if (pDM_Odm->SupportICType == ODM_RTL8723A)	\
			DbgPrint("[ODM-8723A] ");			\
		else if (pDM_Odm->SupportICType == ODM_RTL8188E)	\
			DbgPrint("[ODM-8188E] ");			\
		else if (pDM_Odm->SupportICType == ODM_RTL8812)		\
			DbgPrint("[ODM-8812] ");			\
		else if (pDM_Odm->SupportICType == ODM_RTL8821)		\
			DbgPrint("[ODM-8821] ");			\
		RT_PRINTK fmt;						\
	}

#define ODM_RT_TRACE_F(pDM_Odm, comp, level, fmt)			\
	if (((comp) & pDM_Odm->DebugComponents) &&			\
	    (level <= pDM_Odm->DebugLevel)) {				\
		RT_PRINTK fmt;						\
	}

void ODM_InitDebugSetting(struct odm_dm_struct *pDM_Odm);

#endif	/*  __ODM_DBG_H__ */