| /* |
| * dspbridge/mpu_api/inc/dbg.h |
| * |
| * DSP-BIOS Bridge driver support functions for TI OMAP processors. |
| * |
| * Copyright (C) 2007 Texas Instruments, Inc. |
| * |
| * This program is free software; you can redistribute it and/or modify it |
| * under the terms of the GNU Lesser General Public License as published |
| * by the Free Software Foundation version 2.1 of the License. |
| * |
| * This program is distributed .as is. WITHOUT ANY WARRANTY of any kind, |
| * whether express or implied; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| * Lesser General Public License for more details. |
| */ |
| |
| |
| /* |
| * ======== dbg.h ======== |
| * Purpose: |
| * Provide debugging services for 'Bridge Mini Drivers. |
| * |
| * Public Functions: |
| * DBG_Exit |
| * DBG_Init |
| * DBG_Printf |
| * DBG_Trace |
| * |
| * Notes: |
| * WMD's must not call DBG_Init or DBG_Exit. |
| * |
| *! Revision History: |
| *! ================ |
| *! 03-Feb-2000 rr: DBG Levels redefined. |
| *! 29-Oct-1999 kc: Cleaned up for code review. |
| *! 10-Oct-1997 cr: Added DBG_Printf service. |
| *! 29-May-1996 gp: Removed WCD_ prefix. |
| *! 15-May-1996 gp: Created. |
| */ |
| |
| #ifndef DBG_ |
| #define DBG_ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| #include <dspapi.h> |
| |
| /* Levels of trace debug messages: */ |
| #ifndef LINUX /* No DEBUGZONE in Linux, DBG mask == GT mask */ |
| #define DBG_ENTER (BYTE)(0x01 & DEBUGZONE(0)) /* Function entry point. */ |
| #define DBG_LEVEL1 (BYTE)(0x02 & DEBUGZONE(1)) /* Display debugging state/varibles */ |
| #define DBG_LEVEL2 (BYTE)(0x04 & DEBUGZONE(2)) /* Display debugging state/varibles */ |
| #define DBG_LEVEL3 (BYTE)(0x08 & DEBUGZONE(3)) /* Display debugging state/varibles */ |
| #define DBG_LEVEL4 (BYTE)(0x10 & DEBUGZONE(4)) /* Display debugging state/varibles */ |
| #define DBG_LEVEL5 (BYTE)(0x20 & DEBUGZONE(5)) /* Module Init, Exit */ |
| #define DBG_LEVEL6 (BYTE)(0x40 & DEBUGZONE(6)) /* Warn SERVICES Failures */ |
| #define DBG_LEVEL7 (BYTE)(0x80 & DEBUGZONE(7)) /* Warn Critical Errors */ |
| #else |
| #define DBG_ENTER (BYTE)(0x01) /* Function entry point. */ |
| #define DBG_LEVEL1 (BYTE)(0x02) /* Display debugging state/varibles */ |
| #define DBG_LEVEL2 (BYTE)(0x04) /* Display debugging state/varibles */ |
| #define DBG_LEVEL3 (BYTE)(0x08) /* Display debugging state/varibles */ |
| #define DBG_LEVEL4 (BYTE)(0x10) /* Display debugging state/varibles */ |
| #define DBG_LEVEL5 (BYTE)(0x20) /* Module Init, Exit */ |
| #define DBG_LEVEL6 (BYTE)(0x40) /* Warn SERVICES Failures */ |
| #define DBG_LEVEL7 (BYTE)(0x80) /* Warn Critical Errors */ |
| #endif |
| |
| #if ((defined DEBUG) || (defined DDSP_DEBUG_PRODUCT)) && GT_TRACE |
| |
| /* |
| * ======== DBG_Exit ======== |
| * Purpose: |
| * Discontinue usage of module; free resources when reference count |
| * reaches 0. |
| * Parameters: |
| * Returns: |
| * Requires: |
| * DBG initialized. |
| * Ensures: |
| * Resources used by module are freed when cRef reaches zero. |
| */ |
| extern VOID DBG_Exit(); |
| |
| /* |
| * ======== DBG_Init ======== |
| * Purpose: |
| * Initializes private state of DBG module. |
| * Parameters: |
| * Returns: |
| * TRUE if initialized; FALSE if error occured. |
| * Requires: |
| * Ensures: |
| */ |
| extern bool DBG_Init(); |
| |
| #ifndef LINUX |
| /* |
| * ======== DBG_Printf ======== |
| * Purpose: |
| * Output a formatted string to the debugger. |
| * Parameters: |
| * pstrFormat: sprintf-style format string. |
| * ...: Arguments for format string. |
| * Returns: |
| * DSP_SOK: Success, or trace level masked. |
| * DSP_EFAIL: On Error. |
| * Requires: |
| * DBG initialized. |
| * Ensures: |
| */ |
| extern DSP_STATUS DBG_Printf(IN PSTR pstrFormat, ...); |
| #endif // LINUX |
| |
| /* |
| * ======== DBG_Trace ======== |
| * Purpose: |
| * Output a trace message to the debugger, if the given trace level |
| * is unmasked. |
| * Parameters: |
| * bLevel: Trace level. |
| * pstrFormat: sprintf-style format string. |
| * ...: Arguments for format string. |
| * Returns: |
| * DSP_SOK: Success, or trace level masked. |
| * DSP_EFAIL: On Error. |
| * Requires: |
| * DBG initialized. |
| * Ensures: |
| * Debug message is printed to debugger output window, if trace level |
| * is unmasked. |
| */ |
| extern DSP_STATUS DBG_Trace(IN BYTE bLevel, IN PSTR pstrFormat, ...); |
| #else |
| |
| #define DBG_Exit() |
| #define DBG_Init() TRUE |
| #define DBG_Trace(bLevel, pstrFormat, args...) |
| |
| #endif // ((defined DEBUG) || (defined DDSP_DEBUG_PRODUCT)) && GT_TRACE |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| #endif /* DBG_ */ |