| /****************************************************************************** |
| * |
| * Name: skdebug.h |
| * Project: Gigabit Ethernet Adapters, Common Modules |
| * Version: $Revision: 2.5 $ |
| * Date: $Date: 2007/03/20 08:43:56 $ |
| * Purpose: SK specific DEBUG support |
| * |
| ******************************************************************************/ |
| |
| /****************************************************************************** |
| * |
| * LICENSE: |
| * (C)Copyright 1998-2002 SysKonnect. |
| * (C)Copyright 2002-2005 Marvell. |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License as published by |
| * the Free Software Foundation; either version 2 of the License, or |
| * (at your option) any later version. |
| * The information in this file is provided "AS IS" without warranty. |
| * /LICENSE |
| * |
| ******************************************************************************/ |
| |
| #ifndef __INC_SKDEBUG_H |
| #define __INC_SKDEBUG_H |
| |
| #ifdef DEBUG |
| #ifndef SK_DBG_MSG |
| #define SK_DBG_MSG(pAC,comp,cat,arg) \ |
| if ( ((comp) & SK_DBG_CHKMOD(pAC)) && \ |
| ((cat) & SK_DBG_CHKCAT(pAC)) ) { \ |
| SK_DBG_PRINTF arg; \ |
| } |
| #endif |
| #ifndef SK_DBG_DMP |
| #define SK_DBG_DMP(pAC,comp,cat,addr,len) \ |
| if ( ((comp) & SK_DBG_CHKMOD(pAC)) && \ |
| ((cat) & SK_DBG_CHKCAT(pAC)) && \ |
| (SK_DBG_CHKCAT(pAC) & SK_DBGCAT_DUMP ) ) { \ |
| DUMP( addr, len ); \ |
| } |
| #endif |
| #else |
| #define SK_DBG_MSG(pAC,comp,lev,arg) |
| #define SK_DBG_DMP(pAC,comp,cat,addr,len) |
| #endif |
| |
| /* PLS NOTE: |
| * ========= |
| * Due to any restrictions of kernel printf routines do not use other |
| * format identifiers as: %x %d %c %s . |
| * Never use any combined format identifiers such as: %lx %ld in your |
| * printf - argument (arg) because some OS specific kernel printfs may |
| * only support some basic identifiers. |
| */ |
| |
| /* Debug modules */ |
| |
| #define SK_DBGMOD_MERR 0x00000001L /* general module error indication */ |
| #define SK_DBGMOD_HWM 0x00000002L /* Hardware init module */ |
| #define SK_DBGMOD_RLMT 0x00000004L /* RLMT module */ |
| #define SK_DBGMOD_VPD 0x00000008L /* VPD module */ |
| #define SK_DBGMOD_I2C 0x00000010L /* I2C module */ |
| #define SK_DBGMOD_PNMI 0x00000020L /* PNMI module */ |
| #define SK_DBGMOD_CSUM 0x00000040L /* CSUM module */ |
| #define SK_DBGMOD_ADDR 0x00000080L /* ADDR module */ |
| #define SK_DBGMOD_PECP 0x00000100L /* PECP module */ |
| #define SK_DBGMOD_POWM 0x00000200L /* Power Management module */ |
| #ifdef SK_ASF |
| #define SK_DBGMOD_ASF 0x00000400L /* ASF module */ |
| #endif |
| #ifdef SK_LBFO |
| #define SK_DBGMOD_LACP 0x00000800L /* link aggregation control protocol */ |
| #define SK_DBGMOD_FD 0x00001000L /* frame distributor (link aggregation) */ |
| #endif /* SK_LBFO */ |
| #define SK_DBGMOD_MACS 0x00002000L /* MACSec module */ |
| |
| /* Debug events */ |
| |
| #define SK_DBGCAT_INIT 0x00000001L /* module/driver initialization */ |
| #define SK_DBGCAT_CTRL 0x00000002L /* controlling devices */ |
| #define SK_DBGCAT_ERR 0x00000004L /* error handling paths */ |
| #define SK_DBGCAT_TX 0x00000008L /* transmit path */ |
| #define SK_DBGCAT_RX 0x00000010L /* receive path */ |
| #define SK_DBGCAT_IRQ 0x00000020L /* general IRQ handling */ |
| #define SK_DBGCAT_QUEUE 0x00000040L /* any queue management */ |
| #define SK_DBGCAT_DUMP 0x00000080L /* large data output e.g. hex dump */ |
| #define SK_DBGCAT_FATAL 0x00000100L /* fatal error */ |
| |
| #endif /* __INC_SKDEBUG_H */ |