1/******************************************************************************
2 *
3 * Name:	skdebug.h
4 * Project:	Gigabit Ethernet Adapters, Common Modules
5 * Version:	$Revision: 1.1.1.1 $
6 * Date:	$Date: 2007/08/03 18:52:48 $
7 * Purpose:	SK specific DEBUG support
8 *
9 ******************************************************************************/
10
11/******************************************************************************
12 *
13 *	(C)Copyright 1998-2002 SysKonnect.
14 *	(C)Copyright 2002-2003 Marvell.
15 *
16 *	This program is free software; you can redistribute it and/or modify
17 *	it under the terms of the GNU General Public License as published by
18 *	the Free Software Foundation; either version 2 of the License, or
19 *	(at your option) any later version.
20 *
21 *	The information in this file is provided "AS IS" without warranty.
22 *
23 ******************************************************************************/
24
25#ifndef __INC_SKDEBUG_H
26#define __INC_SKDEBUG_H
27
28#ifdef	DEBUG
29#ifndef SK_DBG_MSG
30#define SK_DBG_MSG(pAC,comp,cat,arg) \
31		if ( ((comp) & SK_DBG_CHKMOD(pAC)) && 	\
32		      ((cat) & SK_DBG_CHKCAT(pAC)) ) { 	\
33			SK_DBG_PRINTF arg ;		\
34		}
35#endif
36#else
37#define SK_DBG_MSG(pAC,comp,lev,arg)
38#endif
39
40/* PLS NOTE:
41 * =========
42 * Due to any restrictions of kernel printf routines do not use other
43 * format identifiers as: %x %d %c %s .
44 * Never use any combined format identifiers such as: %lx %ld in your
45 * printf - argument (arg) because some OS specific kernel printfs may
46 * only support some basic identifiers.
47 */
48
49/* Debug modules */
50
51#define SK_DBGMOD_MERR	0x00000001L	/* general module error indication */
52#define SK_DBGMOD_HWM	0x00000002L	/* Hardware init module */
53#define SK_DBGMOD_RLMT	0x00000004L	/* RLMT module */
54#define SK_DBGMOD_VPD	0x00000008L	/* VPD module */
55#define SK_DBGMOD_I2C	0x00000010L	/* I2C module */
56#define SK_DBGMOD_PNMI	0x00000020L	/* PNMI module */
57#define SK_DBGMOD_CSUM	0x00000040L	/* CSUM module */
58#define SK_DBGMOD_ADDR	0x00000080L	/* ADDR module */
59#define SK_DBGMOD_PECP	0x00000100L	/* PECP module */
60#define SK_DBGMOD_POWM	0x00000200L	/* Power Management module */
61
62/* Debug events */
63
64#define SK_DBGCAT_INIT	0x00000001L	/* module/driver initialization */
65#define SK_DBGCAT_CTRL	0x00000002L	/* controlling devices */
66#define SK_DBGCAT_ERR	0x00000004L	/* error handling paths */
67#define SK_DBGCAT_TX	0x00000008L	/* transmit path */
68#define SK_DBGCAT_RX	0x00000010L	/* receive path */
69#define SK_DBGCAT_IRQ	0x00000020L	/* general IRQ handling */
70#define SK_DBGCAT_QUEUE	0x00000040L	/* any queue management */
71#define SK_DBGCAT_DUMP	0x00000080L	/* large data output e.g. hex dump */
72#define SK_DBGCAT_FATAL	0x00000100L	/* fatal error */
73
74#endif	/* __INC_SKDEBUG_H */
75