1/* 2 * Copyright (c) 2006, 2007 QLogic Corporation. All rights reserved. 3 * Copyright (c) 2003, 2004, 2005, 2006 PathScale, Inc. All rights reserved. 4 * 5 * This software is available to you under a choice of one of two 6 * licenses. You may choose to be licensed under the terms of the GNU 7 * General Public License (GPL) Version 2, available from the file 8 * COPYING in the main directory of this source tree, or the 9 * OpenIB.org BSD license below: 10 * 11 * Redistribution and use in source and binary forms, with or 12 * without modification, are permitted provided that the following 13 * conditions are met: 14 * 15 * - Redistributions of source code must retain the above 16 * copyright notice, this list of conditions and the following 17 * disclaimer. 18 * 19 * - Redistributions in binary form must reproduce the above 20 * copyright notice, this list of conditions and the following 21 * disclaimer in the documentation and/or other materials 22 * provided with the distribution. 23 * 24 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 25 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 26 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 27 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 28 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 29 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 30 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 * SOFTWARE. 32 */ 33 34#ifndef _IPATH_DEBUG_H 35#define _IPATH_DEBUG_H 36 37#ifndef _IPATH_DEBUGGING /* debugging enabled or not */ 38#define _IPATH_DEBUGGING 1 39#endif 40 41#if _IPATH_DEBUGGING 42 43/* 44 * Mask values for debugging. The scheme allows us to compile out any 45 * of the debug tracing stuff, and if compiled in, to enable or disable 46 * dynamically. This can be set at modprobe time also: 47 * modprobe infinipath.ko infinipath_debug=7 48 */ 49 50#define __IPATH_INFO 0x1 /* generic low verbosity stuff */ 51#define __IPATH_DBG 0x2 /* generic debug */ 52#define __IPATH_TRSAMPLE 0x8 /* generate trace buffer sample entries */ 53/* leave some low verbosity spots open */ 54#define __IPATH_VERBDBG 0x40 /* very verbose debug */ 55#define __IPATH_PKTDBG 0x80 /* print packet data */ 56/* print process startup (init)/exit messages */ 57#define __IPATH_PROCDBG 0x100 58/* print mmap/fault stuff, not using VDBG any more */ 59#define __IPATH_MMDBG 0x200 60#define __IPATH_ERRPKTDBG 0x400 61#define __IPATH_USER_SEND 0x1000 /* use user mode send */ 62#define __IPATH_KERNEL_SEND 0x2000 /* use kernel mode send */ 63#define __IPATH_EPKTDBG 0x4000 /* print ethernet packet data */ 64#define __IPATH_IPATHDBG 0x10000 /* Ethernet (IPATH) gen debug */ 65#define __IPATH_IPATHWARN 0x20000 /* Ethernet (IPATH) warnings */ 66#define __IPATH_IPATHERR 0x40000 /* Ethernet (IPATH) errors */ 67#define __IPATH_IPATHPD 0x80000 /* Ethernet (IPATH) packet dump */ 68#define __IPATH_IPATHTABLE 0x100000 /* Ethernet (IPATH) table dump */ 69#define __IPATH_LINKVERBDBG 0x200000 /* very verbose linkchange debug */ 70 71#else /* _IPATH_DEBUGGING */ 72 73/* 74 * define all of these even with debugging off, for the few places that do 75 * if(infinipath_debug & _IPATH_xyzzy), but in a way that will make the 76 * compiler eliminate the code 77 */ 78 79#define __IPATH_INFO 0x0 /* generic low verbosity stuff */ 80#define __IPATH_DBG 0x0 /* generic debug */ 81#define __IPATH_TRSAMPLE 0x0 /* generate trace buffer sample entries */ 82#define __IPATH_VERBDBG 0x0 /* very verbose debug */ 83#define __IPATH_PKTDBG 0x0 /* print packet data */ 84#define __IPATH_PROCDBG 0x0 /* process startup (init)/exit messages */ 85/* print mmap/fault stuff, not using VDBG any more */ 86#define __IPATH_MMDBG 0x0 87#define __IPATH_EPKTDBG 0x0 /* print ethernet packet data */ 88#define __IPATH_IPATHDBG 0x0 /* Ethernet (IPATH) table dump on */ 89#define __IPATH_IPATHWARN 0x0 /* Ethernet (IPATH) warnings on */ 90#define __IPATH_IPATHERR 0x0 /* Ethernet (IPATH) errors on */ 91#define __IPATH_IPATHPD 0x0 /* Ethernet (IPATH) packet dump on */ 92#define __IPATH_IPATHTABLE 0x0 /* Ethernet (IPATH) packet dump on */ 93#define __IPATH_LINKVERBDBG 0x0 /* very verbose linkchange debug */ 94 95#endif /* _IPATH_DEBUGGING */ 96 97#define __IPATH_VERBOSEDBG __IPATH_VERBDBG 98 99#endif /* _IPATH_DEBUG_H */ 100