ipath_debug.h 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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. #ifndef _IPATH_DEBUG_H
  34. #define _IPATH_DEBUG_H
  35. #ifndef _IPATH_DEBUGGING /* debugging enabled or not */
  36. #define _IPATH_DEBUGGING 1
  37. #endif
  38. #if _IPATH_DEBUGGING
  39. /*
  40. * Mask values for debugging. The scheme allows us to compile out any
  41. * of the debug tracing stuff, and if compiled in, to enable or disable
  42. * dynamically. This can be set at modprobe time also:
  43. * modprobe infinipath.ko infinipath_debug=7
  44. */
  45. #define __IPATH_INFO 0x1 /* generic low verbosity stuff */
  46. #define __IPATH_DBG 0x2 /* generic debug */
  47. #define __IPATH_TRSAMPLE 0x8 /* generate trace buffer sample entries */
  48. /* leave some low verbosity spots open */
  49. #define __IPATH_VERBDBG 0x40 /* very verbose debug */
  50. #define __IPATH_PKTDBG 0x80 /* print packet data */
  51. /* print process startup (init)/exit messages */
  52. #define __IPATH_PROCDBG 0x100
  53. /* print mmap/fault stuff, not using VDBG any more */
  54. #define __IPATH_MMDBG 0x200
  55. #define __IPATH_ERRPKTDBG 0x400
  56. #define __IPATH_USER_SEND 0x1000 /* use user mode send */
  57. #define __IPATH_KERNEL_SEND 0x2000 /* use kernel mode send */
  58. #define __IPATH_EPKTDBG 0x4000 /* print ethernet packet data */
  59. #define __IPATH_IPATHDBG 0x10000 /* Ethernet (IPATH) gen debug */
  60. #define __IPATH_IPATHWARN 0x20000 /* Ethernet (IPATH) warnings */
  61. #define __IPATH_IPATHERR 0x40000 /* Ethernet (IPATH) errors */
  62. #define __IPATH_IPATHPD 0x80000 /* Ethernet (IPATH) packet dump */
  63. #define __IPATH_IPATHTABLE 0x100000 /* Ethernet (IPATH) table dump */
  64. #define __IPATH_LINKVERBDBG 0x200000 /* very verbose linkchange debug */
  65. #else /* _IPATH_DEBUGGING */
  66. /*
  67. * define all of these even with debugging off, for the few places that do
  68. * if(infinipath_debug & _IPATH_xyzzy), but in a way that will make the
  69. * compiler eliminate the code
  70. */
  71. #define __IPATH_INFO 0x0 /* generic low verbosity stuff */
  72. #define __IPATH_DBG 0x0 /* generic debug */
  73. #define __IPATH_TRSAMPLE 0x0 /* generate trace buffer sample entries */
  74. #define __IPATH_VERBDBG 0x0 /* very verbose debug */
  75. #define __IPATH_PKTDBG 0x0 /* print packet data */
  76. #define __IPATH_PROCDBG 0x0 /* process startup (init)/exit messages */
  77. /* print mmap/fault stuff, not using VDBG any more */
  78. #define __IPATH_MMDBG 0x0
  79. #define __IPATH_EPKTDBG 0x0 /* print ethernet packet data */
  80. #define __IPATH_IPATHDBG 0x0 /* Ethernet (IPATH) table dump on */
  81. #define __IPATH_IPATHWARN 0x0 /* Ethernet (IPATH) warnings on */
  82. #define __IPATH_IPATHERR 0x0 /* Ethernet (IPATH) errors on */
  83. #define __IPATH_IPATHPD 0x0 /* Ethernet (IPATH) packet dump on */
  84. #define __IPATH_IPATHTABLE 0x0 /* Ethernet (IPATH) packet dump on */
  85. #define __IPATH_LINKVERBDBG 0x0 /* very verbose linkchange debug */
  86. #endif /* _IPATH_DEBUGGING */
  87. #define __IPATH_VERBOSEDBG __IPATH_VERBDBG
  88. #endif /* _IPATH_DEBUG_H */