Home | History | Annotate | Download | only in ixgbe
      1 /*
      2  * CDDL HEADER START
      3  *
      4  * Copyright(c) 2007-2009 Intel Corporation. All rights reserved.
      5  * The contents of this file are subject to the terms of the
      6  * Common Development and Distribution License (the "License").
      7  * You may not use this file except in compliance with the License.
      8  *
      9  * You can obtain a copy of the license at:
     10  *      http://www.opensolaris.org/os/licensing.
     11  * See the License for the specific language governing permissions
     12  * and limitations under the License.
     13  *
     14  * When using or redistributing this file, you may do so under the
     15  * License only. No other modification of this header is permitted.
     16  *
     17  * If applicable, add the following below this CDDL HEADER, with the
     18  * fields enclosed by brackets "[]" replaced with your own identifying
     19  * information: Portions Copyright [yyyy] [name of copyright owner]
     20  *
     21  * CDDL HEADER END
     22  */
     23 
     24 /*
     25  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
     26  * Use is subject to license terms.
     27  */
     28 
     29 #ifndef	_IXGBE_DEBUG_H
     30 #define	_IXGBE_DEBUG_H
     31 
     32 #ifdef __cplusplus
     33 extern "C" {
     34 #endif
     35 
     36 
     37 #ifdef DEBUG
     38 #define	IXGBE_DEBUG
     39 #endif
     40 
     41 #ifdef IXGBE_DEBUG
     42 
     43 #define	IXGBE_DEBUGLOG_0(adapter, fmt)	\
     44 	ixgbe_log((adapter), (fmt))
     45 #define	IXGBE_DEBUGLOG_1(adapter, fmt, d1)	\
     46 	ixgbe_log((adapter), (fmt), (d1))
     47 #define	IXGBE_DEBUGLOG_2(adapter, fmt, d1, d2)	\
     48 	ixgbe_log((adapter), (fmt), (d1), (d2))
     49 #define	IXGBE_DEBUGLOG_3(adapter, fmt, d1, d2, d3)	\
     50 	ixgbe_log((adapter), (fmt), (d1), (d2), (d3))
     51 #define	IXGBE_DEBUGLOG_6(adapter, fmt, d1, d2, d3, d4, d5, d6)	\
     52 	ixgbe_log((adapter), (fmt), (d1), (d2), (d3), (d4), (d5), (d6))
     53 
     54 #define	IXGBE_DEBUG_STAT_COND(val, cond)	if (cond) (val)++;
     55 #define	IXGBE_DEBUG_STAT(val)		(val)++;
     56 
     57 #else
     58 
     59 #define	IXGBE_DEBUGLOG_0(adapter, fmt)
     60 #define	IXGBE_DEBUGLOG_1(adapter, fmt, d1)
     61 #define	IXGBE_DEBUGLOG_2(adapter, fmt, d1, d2)
     62 #define	IXGBE_DEBUGLOG_3(adapter, fmt, d1, d2, d3)
     63 #define	IXGBE_DEBUGLOG_6(adapter, fmt, d1, d2, d3, d4, d5, d6)
     64 
     65 #define	IXGBE_DEBUG_STAT_COND(val, cond)
     66 #define	IXGBE_DEBUG_STAT(val)
     67 
     68 #endif	/* IXGBE_DEBUG */
     69 
     70 #define	IXGBE_STAT(val)		(val)++;
     71 
     72 #ifdef IXGBE_DEBUG
     73 
     74 void ixgbe_pci_dump(void *);
     75 void ixgbe_dump_interrupt(void *, char *);
     76 void ixgbe_dump_addr(void *, char *, const uint8_t *);
     77 
     78 #endif	/* IXGBE_DEBUG */
     79 
     80 #ifdef IXGBE_DEBUG
     81 
     82 #define	DEBUGOUT(S)	\
     83 	IXGBE_DEBUGLOG_0(NULL, S)
     84 #define	DEBUGOUT1(S, A)	\
     85 	IXGBE_DEBUGLOG_1(NULL, S, A)
     86 #define	DEBUGOUT2(S, A, B)	\
     87 	IXGBE_DEBUGLOG_2(NULL, S, A, B)
     88 #define	DEBUGOUT3(S, A, B, C)	\
     89 	IXGBE_DEBUGLOG_3(NULL, S, A, B, C)
     90 #define	DEBUGOUT6(S, A, B, C, D, E, F)	\
     91 	IXGBE_DEBUGLOG_6(NULL, S, A, B, C, D, E, F)
     92 
     93 #define	DEBUGFUNC(F)	\
     94 	IXGBE_DEBUGLOG_0(NULL, F)
     95 
     96 #else
     97 
     98 #define	DEBUGOUT(S)
     99 #define	DEBUGOUT1(S, A)
    100 #define	DEBUGOUT2(S, A, B)
    101 #define	DEBUGOUT3(S, A, B, C)
    102 #define	DEBUGOUT6(S, A, B, C, D, E, F)
    103 
    104 #define	DEBUGFUNC(F)
    105 
    106 #endif	/* IXGBE_DEBUG */
    107 
    108 extern void ixgbe_log(void *, const char *, ...);
    109 
    110 #ifdef __cplusplus
    111 }
    112 #endif
    113 
    114 #endif	/* _IXGBE_DEBUG_H */
    115