diff options
| author | Daiqian Hu <[email protected]> | 2016-11-21 08:54:24 +0800 |
|---|---|---|
| committer | Daiqian Hu <[email protected]> | 2016-11-21 08:54:24 +0800 |
| commit | a95eaad088f61aa55da9d73015cf1ed86e64a67e (patch) | |
| tree | 15b498a08a4aee4b7f8b1627d39c965b3aa3ba98 /network/wlan/WDI/COMMON/Debug.h | |
| parent | 1aa0338ec5418345ea0c383e92b4fa19f7c98425 (diff) | |
Re-submit for WDI sample driver to GitHub
Submit WDI sample driver to GitHub for RS1.
Diffstat (limited to 'network/wlan/WDI/COMMON/Debug.h')
| -rw-r--r-- | network/wlan/WDI/COMMON/Debug.h | 672 |
1 files changed, 672 insertions, 0 deletions
diff --git a/network/wlan/WDI/COMMON/Debug.h b/network/wlan/WDI/COMMON/Debug.h new file mode 100644 index 00000000..74cb1781 --- /dev/null +++ b/network/wlan/WDI/COMMON/Debug.h @@ -0,0 +1,672 @@ +#ifndef __INC_DEBUG_H +#define __INC_DEBUG_H + + +//----------------------------------------------------------------------------- +// Define the debug levels +// +// 1. DBG_TRACE and DBG_LOUD are used for normal cases. +// So that, they can help SW engineer to develope 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 RT_TRACE()! +// +#define DBG_OFF 0 + +// +// Deprecated! Don't use it! +// TODO: fix related debug message! +// +//#define DBG_SEC 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 DBG_SERIOUS 2 // WPP Error condition + +// +// Abnormal, rare, or unexpeted cases. +// For example, IRP/Packet/OID canceled, device suprisely unremoved and so on. +// +#define DBG_WARNING 3 // WPP Warning + +// +// Normal case with useful information about current SW or HW state. +// For example, Tx/Rx descriptor to fill, Tx/Rx descriptor completed status, +// SW protocol state change, dynamic mechanism state change and so on. +// +#define DBG_LOUD 4 // WPP Information + +// +// Normal case with detail execution flow or information. +// +#define DBG_TRACE 5 //WPP most detailed trace + + +#if WPP_SOFTWARE_TRACE + + +// +// Trace framework definition when WPP based tracing is enabled +// Re-map WPP trace level in following DBG level, revised by Roger, 2014.02.11. +// +//#define WPP_LEVEL_NONE 0 +//#define WPP_LEVEL_FATAL 1 // fatal error +//#define WPP_LEVEL_ERROR 2 // error condition +//#define WPP_LEVEL_WARNING 3 // warning +//#define WPP_LEVEL_INFORMATION 4 // information +//#define WPP_LEVEL_VERBOSE 5 // most detailed trace +// + +// +// These are the various tracing components we can have. The max number is 31 +// so always keep that in mind. +// +// WARNING! THIS GUID IS BEING USED BY THE SAMPLE DRIVER. +// PLEASE GENERATE YOUR OWN UNIQUE GUID AND PLACE BELOW. +// +// Use COMP_TESTING when you want to add messages trace through a specific +// piece of code and not want to see trace from all other components +// +#define WPP_CONTROL_GUIDS \ + WPP_DEFINE_CONTROL_GUID(rtOriGuid1,(e62b367e,b2f0,4571,8c6a,3551a3a5a6b9), \ + WPP_DEFINE_BIT(COMP_DBG) \ + WPP_DEFINE_BIT(COMP_INIT) \ + WPP_DEFINE_BIT(COMP_OID_QUERY) \ + WPP_DEFINE_BIT(COMP_OID_SET) \ + WPP_DEFINE_BIT(COMP_RECV) \ + WPP_DEFINE_BIT(COMP_SEND) \ + WPP_DEFINE_BIT(COMP_IO) \ + WPP_DEFINE_BIT(COMP_POWER) \ + WPP_DEFINE_BIT(COMP_MLME) \ + WPP_DEFINE_BIT(COMP_SCAN) \ + WPP_DEFINE_BIT(COMP_SYSTEM) \ + WPP_DEFINE_BIT(COMP_SEC) \ + WPP_DEFINE_BIT(COMP_AP) \ + WPP_DEFINE_BIT(COMP_QOS) \ + WPP_DEFINE_BIT(COMP_AUTHENTICATOR) \ + WPP_DEFINE_BIT(COMP_BEACON) \ + WPP_DEFINE_BIT(COMP_WFD) \ + WPP_DEFINE_BIT(COMP_RM) \ + WPP_DEFINE_BIT(COMP_MP) \ + WPP_DEFINE_BIT(COMP_CKIP) \ + WPP_DEFINE_BIT(COMP_RSNA) \ + WPP_DEFINE_BIT(COMP_INDIC) \ + WPP_DEFINE_BIT(COMP_LED) \ + WPP_DEFINE_BIT(COMP_RF) \ + WPP_DEFINE_BIT(COMP_COEX) \ + ) \ + WPP_DEFINE_CONTROL_GUID(rtOriGuid2,(429ffa43,470c,40c2,b552,9cc23c2638ca), \ + WPP_DEFINE_BIT(COMP_HT) \ + WPP_DEFINE_BIT(COMP_POWER_TRACKING) \ + WPP_DEFINE_BIT(COMP_RX_REORDER) \ + WPP_DEFINE_BIT(COMP_AMSDU) \ + WPP_DEFINE_BIT(COMP_WPS) \ + WPP_DEFINE_BIT(COMP_CMD) \ + WPP_DEFINE_BIT(COMP_EFUSE) \ + WPP_DEFINE_BIT(COMP_CCX) \ + WPP_DEFINE_BIT(COMP_IOCTL) \ + WPP_DEFINE_BIT(COMP_HVL) \ + WPP_DEFINE_BIT(COMP_TEST) \ + WPP_DEFINE_BIT(COMP_P2P) \ + WPP_DEFINE_BIT(COMP_TDLS) \ + WPP_DEFINE_BIT(COMP_OMNIPEEK) \ + WPP_DEFINE_BIT(COMP_MULTICHANNEL) \ + WPP_DEFINE_BIT(COMP_TCPCHECKSUM) \ + WPP_DEFINE_BIT(COMP_DUALMACSWITCH) \ + WPP_DEFINE_BIT(COMP_EASY_CONCURRENT)\ + WPP_DEFINE_BIT(COMP_DFS) \ + WPP_DEFINE_BIT(COMP_TXPWR) \ + WPP_DEFINE_BIT(COMP_HAL_MAC_API) \ + WPP_DEFINE_BIT(COMP_NAN) \ + ) \ + WPP_DEFINE_CONTROL_GUID(dbgCtrlGuid,(1bb4a286,2d36,463b,bee4,47d6ba05b5f8), \ + WPP_DEFINE_BIT(COMP_DBG_MON) \ + WPP_DEFINE_BIT(COMP_TX_HANG) \ + WPP_DEFINE_BIT(COMP_RX_HANG) \ + ) \ + WPP_DEFINE_CONTROL_GUID( halMacGuid,(9f9d9e5b,3854,4b87,8bc6,4ce1f284d34b), \ + WPP_DEFINE_BIT(COMP_HALMAC_MSG_INIT) \ + WPP_DEFINE_BIT(COMP_HALMAC_MSG_EFUSE) \ + WPP_DEFINE_BIT(COMP_HALMAC_MSG_FW) \ + WPP_DEFINE_BIT(COMP_HALMAC_MSG_H2C) \ + WPP_DEFINE_BIT(COMP_HALMAC_MSG_PWR) \ + ) + + #ifdef WPP_COMPID_LEVEL_ENABLED + #undef WPP_COMPID_LEVEL_ENABLED + #endif + + #define WPP_COMPID_LEVEL_ENABLED(CTL,LEVEL) \ + ((WPP_CONTROL(WPP_BIT_ ## CTL).Level >= LEVEL) && \ + (WPP_CONTROL(WPP_BIT_ ## CTL).Flags[WPP_FLAG_NO(WPP_BIT_ ## CTL)] & WPP_MASK(WPP_BIT_ ## CTL))) + + #ifndef WPP_COMPID_LEVEL_LOGGER + #define WPP_COMPID_LEVEL_LOGGER(CTL,LEVEL) (WPP_CONTROL(WPP_BIT_ ## CTL).Logger), + #endif + + #ifdef WPP_COMPID_ENABLED + #undef WPP_COMPID_ENABLED + #endif + + #define WPP_COMPID_ENABLED(CTL) \ + (WPP_CONTROL(WPP_BIT_ ## CTL).Flags[WPP_FLAG_NO(WPP_BIT_ ## CTL)] & WPP_MASK(WPP_BIT_ ## CTL)) + + #ifndef WPP_COMPID_LOGGER + #define WPP_COMPID_LOGGER(CTL) (WPP_CONTROL(WPP_BIT_ ## CTL).Logger), + #endif + +#else // WPP_SOFTWARE_TRACE == 0 + + +//----------------------------------------------------------------------------- +// Define the tracing components +// +//----------------------------------------------------------------------------- +#define COMP_DBG BIT0 // For function call tracing. +#define COMP_INIT BIT1 // during driver initialization / halt / reset. +#define COMP_OID_QUERY BIT2 // Query OID. +#define COMP_OID_SET BIT3 // Set OID. +#define COMP_RECV BIT4 // Reveive part data path. +#define COMP_SEND BIT5 // Send part path. +#define COMP_IO BIT6 // I/O Related. Added by Annie, 2006-03-02. +#define COMP_POWER BIT7 // 802.11 Power Save mode or System/Device Power state related. +#define COMP_MLME BIT8 // 802.11 link related: join/start BSS, leave BSS. +#define COMP_SCAN BIT9 // For site survey. +#define COMP_SYSTEM BIT10 // For general platform function. +#define COMP_SEC BIT11 // For Security. +#define COMP_AP BIT12 // For AP mode related. +#define COMP_QOS BIT13 // For QoS. +#define COMP_AUTHENTICATOR BIT14 // For AP mode Authenticator. Added by Annie, 2006-01-30. +#define COMP_BEACON BIT15 // For Beacon related, by rcnjko. +#define COMP_WFD BIT16 // WiFi Display +#define COMP_RM BIT17 // For Radio Measurement. +#define COMP_MP BIT18 // For mass production test, by shien chang, 2006.07.13 +#define COMP_CKIP BIT19 // For CCX 1 S13: CKIP. Added by Annie, 2006-08-14. +#define COMP_RSNA BIT20 // For RSNA IBSS , 061201, by CCW. +#define COMP_INDIC BIT21 // For link indication +#define COMP_LED BIT22 // For LED. +#define COMP_RF BIT23 // For RF. + +//1!!!!!!!!!!!!!!!!!!!!!!!!!!! +//1//1Attention Please!!!<11n or 8190 specific code should be put below this line> +//1!!!!!!!!!!!!!!!!!!!!!!!!!!! + +#define COMP_HT BIT24 // For 802.11n HT related information. by Emily 2006-8-11 +#define COMP_POWER_TRACKING BIT25 //FOR 8190 TX POWER TRACKING +#define COMP_RX_REORDER BIT26 // 8190 Rx Reorder +#define COMP_AMSDU BIT27 // For A-MSDU Debugging +#define COMP_WPS BIT28 //WPS Debug Message +#define COMP_CMD BIT29 +#define COMP_EFUSE BIT30 +#define COMP_CCX BIT31 //CCX Debug Flag +#define COMP_IOCTL BIT32 // IO Control +#define COMP_HVL BIT33 // For Ndis 6.2 Context Swirch and Hardware Virtualiztion Layer +#define COMP_TEST BIT34 +#define COMP_P2P BIT35 +#define COMP_TDLS BIT36 +#define COMP_OMNIPEEK BIT37 +#define COMP_MULTICHANNEL BIT38 +#define COMP_TCPCHECKSUM BIT39 +#define COMP_DUALMACSWITCH BIT40 // 2010/12/27 Add for Dual mac mode debug +#define COMP_EASY_CONCURRENT BIT41 // 2010/12/27 Add for easy cncurrent mode debug +#define COMP_DFS BIT42 +#define COMP_COEX BIT43 +#define COMP_TXPWR BIT44 +#define COMP_HAL_MAC_API BIT46 +#define COMP_NAN BIT47 + +#define COMP_ALL UINT64_C(0xFFFFFFFFFFFFFFFF) // All components + + +// ============================== +// for dbgCtrlGuid +// (1bb4a286,2d36,463b,bee4,47d6ba05b5f8) +// ============================== +#define COMP_DBG_MON BIT0 +#define COMP_TX_HANG BIT1 +#define COMP_RX_HANG BIT2 + +// ============================== +// for halMacGuid +// {9F9D9E5B-3854-4B87-8BC6-4CE1F284D34B} +// ============================== +#define COMP_HALMAC_MSG_INIT BIT0 +#define COMP_HALMAC_MSG_EFUSE BIT1 +#define COMP_HALMAC_MSG_FW BIT2 +#define COMP_HALMAC_MSG_H2C BIT3 +#define COMP_HALMAC_MSG_PWR BIT4 + +#endif + + +// For debug print flag to use +/*------------------------------Define structure----------------------------*/ +/* 2007/07/13 MH *//*------For DeBuG Print modeue------*/ + +/* Defnie structure to store different debug flag variable. Every debug flag + is a UINT32 integer and you can assign 32 different events. */ +typedef struct tag_DBGP_Debug_Flag_Structure +{ + UINT32 Mans; /* Main Scheduler module. */ + UINT32 Rtos; /* RTOS module. */ + UINT32 Alarm; /* Alarm module. */ + UINT32 Pm; /* Performance monitor module. */ +}DBGP_FLAG_T; + +/* Define debug print header for every service module.*/ +typedef struct tag_DBGP_Service_Module_Header_Name_Structure +{ + const char *pMANS; + const char *pRTOS; + const char *pALM; + const char *pPEM; + const char *pCMPK; + const char *pRAPD; + const char *pTXPB; + const char *pQUMG; +}DBGP_HEAD_T; + + +/* Define different debug flag for dedicated service modules in debug flag array. */ +// Each module has independt 32 bit debug flag you cnn define the flag as yout require. +typedef enum tag_DBGP_Flag_Type_Definition +{ + FQoS = 0, + FTX = 1, + FRX = 2, + FSEC = 3, + FMGNT = 4, + FMLME = 5, + FRESOURCE = 6, + FBEACON = 7, + FISR = 8, + FPHY = 9, + FMP = 10, + FEEPROM = 11, + FPWR = 12, + FDM = 13, + FDBG_CTRL = 14, + FC2H = 15, + FBT = 16, + FINIT = 17, + FIOCTL = 18, + FSHORT_CUT = 19, + FBATCH_INDICATION = 20, + FTCPREORDER = 21, + FIOTHREAD = 22, + FFW = 23, + FMPBT = 24, + FRW_POINT = 25, + FBEAM = 26, + FMPHAL = 27, + FACTION_TIMER = 28, + FHAL_MAC_ID = 29, + FCHNL = 30, + FCCX = 31, + FUSWITCH = 32, + DBGP_TYPE_MAX +}DBGP_FLAG_E; + + +// Define Qos Relative debug flag bit --> FQoS +#define QoS_INIT BIT0 +#define QoS_VISTA BIT1 + +// Define TX relative debug bit --> FTX +#define TX_DESC BIT0 +#define TX_DESC_TID BIT1 +#define TX_PATH BIT2 + +// Define RX relative debug bit --> FRX +#define RX_DATA BIT0 +#define RX_PHY_STS BIT1 +#define RX_PHY_SS BIT2 +#define RX_PHY_SQ BIT3 +#define RX_PHY_ASTS BIT4 +#define RX_ERR_LEN BIT5 +#define RX_DEFRAG BIT6 +#define RX_ERR_RATE BIT7 +#define RX_PATH BIT8 +#define RX_BEACON BIT9 +#define RX_PATH_AP_MODE BIT10 +#define RX_PATH_ADDR BIT11 + +// Define Security relative debug bit --> FSEC + +// Define MGNT relative debug bit --> FMGNT + +// Define MLME relative debug bit --> FMLME +#define MEDIA_STS BIT0 +#define LINK_STS BIT1 + +// Define OS resource check module bit --> FRESOURCE +#define OS_CHK BIT0 + +// Define beacon content check module bit --> FBEACON +#define BCN_SHOW BIT0 +#define BCN_PEER BIT1 + +// Define ISR/IMR check module bit --> FISR +#define ISR_CHK BIT0 + +// Define PHY-BB/RF/MAC check module bit --> FPHY +#define PHY_BBR BIT0 +#define PHY_BBW BIT1 +#define PHY_RFR BIT2 +#define PHY_RFW BIT3 +#define PHY_MACR BIT4 +#define PHY_MACW BIT5 +#define PHY_ALLR BIT6 +#define PHY_ALLW BIT7 +#define PHY_TXPWR BIT8 +#define PHY_PWRDIFF BIT9 +#define PHY_SICR BIT10 +#define PHY_SICW BIT11 +#define PHY_TXPWR_EFUSE BIT12 + +// Define MPT driver check module bit --> FMP +#define MP_RX BIT0 +#define MP_SWICH_CH BIT1 + +// Define EEPROM and EFUSE check module bit --> FEEPROM +#define EEPROM_W BIT0 +#define EFUSE_PG BIT1 +#define EFUSE_READ_ALL BIT2 +#define EFUSE_ANALYSIS BIT3 +#define EFUSE_PG_DETAIL BIT4 + +// Define power save check module bit --> FPWR +#define LPS BIT0 +#define IPS BIT1 +#define PWRSW BIT2 +#define PWRHW BIT3 +#define PWRHAL BIT4 + +// Define Dynamic Mechanism check module bit --> FDM +#define WA_IOT BIT0 +#define DM_PWDB BIT1 +#define DM_Monitor BIT2 +#define DM_DIG BIT3 +#define DM_EDCA_Turbo BIT4 +#define DM_BT30 BIT5 + +// Define Dbg Control module bit --> FDBG_CTRL +#define DBG_CTRL_TRACE BIT0 +#define DBG_CTRL_INBAND_NOISE BIT1 + +// Define FW C2H Cmd check module bit --> FC2H +#define C2H_Summary BIT0 +#define C2H_PacketData BIT1 +#define C2H_ContentData BIT2 +// Define BT Cmd check module bit --> FBT +#define BT_TRACE BIT0 +#define BT_DBG_STATE BIT1 +#define BT_DBG_CONTENT BIT2 +#define BT_H2C_STATE BIT3 +#define BT_NOTIFY_EVENT BIT4 +#define BT_DBG_CTRL BIT5 + +// Define init check for module bit --> FINIT +#define INIT_EEPROM BIT0 +#define INIT_TxPower BIT1 +#define INIT_IQK BIT2 +#define INIT_RF BIT3 + +// Define IOCTL Cmd check module bit --> FIOCTL +// section 1 : IRP related +#define IOCTL_IRP BIT0 +#define IOCTL_IRP_DETAIL BIT1 +#define IOCTL_IRP_HANDLE BIT2 +// section 2 : HCI command/event +#define IOCTL_BT_HCICMD BIT8 +#define IOCTL_BT_HCICMD_DETAIL BIT9 +#define IOCTL_BT_HCICMD_EXT BIT10 +#define IOCTL_BT_EVENT BIT11 +#define IOCTL_BT_EVENT_DETAIL BIT12 +#define IOCTL_BT_EVENT_PERIODICAL BIT13 +// section 3 : BT tx/rx data and throughput +#define IOCTL_BT_TX_ACLDATA BIT16 +#define IOCTL_BT_TX_ACLDATA_DETAIL BIT17 +#define IOCTL_BT_RX_ACLDATA BIT18 +#define IOCTL_BT_RX_ACLDATA_DETAIL BIT19 +#define IOCTL_BT_TP BIT20 +// section 4 : BT connection state machine. +#define IOCTL_STATE BIT21 +#define IOCTL_BT_LOGO BIT22 +#define IOCTL_BT_MGNT_PACKET BIT23 +// section 5 : BT function trace +#define IOCTL_CALLBACK_FUN BIT24 +#define IOCTL_PARSE_BT_PKT BIT25 +#define IOCTL_BT_TX_PKT BIT26 +#define IOCTL_BT_FLAG_MON BIT27 + +// +// Define init check for module bit --> FSHORT_CUT +// 2011/07/20 MH Add for short but definition. +// +#define SHCUT_TX BIT0 +#define SHCUT_RX BIT1 +// +// Define init check for module bit --> FBATCH_INDICATION +// 2011/09/28 Sinda Add for batch indication definition. +// +#define INDICATE_TRACE BIT0 + + +// +// Define init check for module bit --> FTCPREORDER +// 2012/01/10 hpfan Add for Tcp Reorder definition +// +#define SEQ_TRACE BIT0 +#define REORDER_TRACE BIT1 +#define INIT_TRACE BIT2 + +// +// Define init check for module bit --> FIOTHREAD +// 2012/01/04 Cosa Add for io thread definition. +// +#define IOTHREAD_INIT BIT0 +#define IOTHREAD_Q_OP BIT1 +#define IOTHREAD_STATE BIT2 +#define IOTHREAD_H2C BIT3 + +// +// Define init check for module bit --> FFW +// 2012/01/12 Cosa Add for Firmware definition. +// +#define FW_MSG_INIT BIT0 +#define FW_MSG_Q_OP BIT1 +#define FW_MSG_H2C_STATE BIT2 +#define FW_MSG_H2C_CONTENT BIT3 +#define FW_MSG_RSVD BIT4 + +// +// Define init check for module bit --> FMPBT +// 2012/03/01 Cosa Add for BT MP. +// +#define FMPBT_CONTENT BIT0 +#define FMPBT_STATE BIT1 +#define FMPBT_H2C_CONTENT BIT2 +#define FMPBT_H2C_STATE BIT3 +#define FMPBT_C2H_CONTENT BIT4 +#define FMPBT_C2H_STATE BIT5 + +#define FMPHAL_CONTENT BIT0 +#define FMPHAL_STATE BIT1 + +// +// Define 8192ee Read Write point related bit --> FRW_POINT +// 2012/03/01 Cosa Add for BT MP. +// +#define FRW_POINT_TX BIT0 +#define FRW_POINT_TX_DATA BIT1 +#define FRW_POINT_RX BIT2 +#define FRW_POINT_RX_DATA BIT3 +#define FRW_POINT_DBG BIT4 + +#define FBEAM_FUN BIT0 +#define FBEAM_ERROR BIT1 +#define FBEAM_DATA BIT2 + +// +// Define ACTION_TIMER Debug Information --> FACTION_TIMER +// +#define COMP_ACTION_TIMER_LIFE BIT0 +#define COMP_ACTION_TIMER_ITEM BIT1 + +// +// Define HAL_MAC_ID Debug Information --> FHAL_MAC_ID +// +#define COMP_MAC_ID BIT0 + +// +// Define CHANNEL Debug Information --> FCHNL +// +#define FCHNL_FUN BIT0 +#define FCHNL_ERROR BIT1 +#define FCHNL_INFO BIT2 + +// +// Define CCX Debug Information --> FCCX +// +#define CCX_CELLPWRLMT BIT0 +#define CCX_RM BIT1 +#define CCX_CAC BIT2 + +#define FUSWITCH_FUN BIT0 +#define FUSWITCH_ERROR BIT1 +#define FUSWITCH_INFO BIT2 + +/* 2007/07/13 MH *//*------For DeBuG Print modeue------*/ +/*------------------------------Define structure----------------------------*/ + + +/*------------------------Export Marco Definition---------------------------*/ +#define DEBUG_PRINT 1 + +// Please add new OS's print API by yourself + +#if (DEBUG_PRINT == 1) && DBG +#define RT_DISP(dbgtype, dbgflag, printstr)\ +{\ + if (DBGP_Type[dbgtype] & dbgflag)\ + {\ + DbgPrint printstr;\ + }\ +} + +#define RT_DISP_F(dbgtype, dbgflag, printstr)\ +{\ + if (DBGP_Type[dbgtype] & dbgflag)\ + {\ + DbgPrint("%s(): ", __FUNCTION__);\ + DbgPrint printstr;\ + }\ +} + +#define RT_DISP_ADDR(dbgtype, dbgflag, printstr, _Ptr)\ +{\ + if (DBGP_Type[dbgtype] & dbgflag)\ + {\ + int __i; \ + pu1Byte ptr = (pu1Byte)_Ptr; \ + DbgPrint printstr; \ + DbgPrint(" "); \ + for( __i=0; __i<6; __i++ ) \ + DbgPrint("%02X%s", ptr[__i], (__i==5)?"":"-"); \ + DbgPrint("\n"); \ + }\ +} + +#define RT_DISP_DATA(dbgtype, dbgflag, _TitleString, _HexData, _HexDataLen)\ +{\ + if (DBGP_Type[dbgtype] & dbgflag)\ + {\ + int __i; \ + pu1Byte ptr = (pu1Byte)_HexData; \ + DbgPrint(_TitleString); \ + for( __i=0; __i<(int)_HexDataLen; __i++ ) \ + { \ + DbgPrint("%02X%s", ptr[__i], (((__i + 1) % 4) == 0)?" ":" ");\ + if (((__i + 1) % 16) == 0) DbgPrint("\n");\ + } \ + DbgPrint("\n"); \ + }\ +} + +#define FunctionIn(_comp) RT_TRACE((_comp), DBG_LOUD, ("==========> %s\n", __FUNCTION__)) +#define FunctionOut(_comp) RT_TRACE((_comp), DBG_LOUD, ("<========== %s\n", __FUNCTION__)) + +#else + +#define RT_DISP(dbgtype, dbgflag, printstr) +#define RT_DISP_F(dbgtype, dbgflag, printstr) + +#define RT_DISP_ADDR(dbgtype, dbgflag, printstr, _Ptr) +#define RT_DISP_DATA(dbgtype, dbgflag, _TitleString, _HexData, _HexDataLen) + +#define FunctionIn(_comp) +#define FunctionOut(_comp) +#endif +/*------------------------Export Marco Definition---------------------------*/ + + +/*------------------------Export global variable----------------------------*/ +extern UINT32 DBGP_Type[DBGP_TYPE_MAX]; +extern DBGP_HEAD_T DBGP_Head; + +/*------------------------Export global variable----------------------------*/ + + +/*--------------------------Exported Function prototype---------------------*/ +extern void DBGP_Flag_Init(void); +extern void DBG_PrintAllFlag(void); +extern void DBG_PrintFlagEvent(UINT8 DbgFlag); + +/*--------------------------Exported Function prototype---------------------*/ + + + + + + + + + +extern u4Byte GlobalDebugLevel; +extern u8Byte GlobalDebugComponents; +extern u4Byte GLDebugComponents; +extern u4Byte HalMacDebugComponents; + + + +//================================================================= +// Debugging for System Resources +//================================================================= + + +// + Debugging for Timer Resources ------------------------------------------------------------------ +#define DEBUG_RESOURCE_TIMER 0 + + +#define DebugResourceTimerCreateTimerMirror(_pAdapter, _uStorageIndex, _pTimer) +#define DebugResourceTimerReleaseTimerMirror(_pAdapter, _pTimer) +#define DebugResourceTimerDumpUnreleasedTimer(_pAdapter) + +//----------------------------------------------------------------------------------------------- + + + + +//================================================================= + +#endif //#ifndef __INC_DEBUG_H |
