1*bafec742SSukumar Swaminathan /* 2*bafec742SSukumar Swaminathan * CDDL HEADER START 3*bafec742SSukumar Swaminathan * 4*bafec742SSukumar Swaminathan * The contents of this file are subject to the terms of the 5*bafec742SSukumar Swaminathan * Common Development and Distribution License (the "License"). 6*bafec742SSukumar Swaminathan * You may not use this file except in compliance with the License. 7*bafec742SSukumar Swaminathan * 8*bafec742SSukumar Swaminathan * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*bafec742SSukumar Swaminathan * or http://www.opensolaris.org/os/licensing. 10*bafec742SSukumar Swaminathan * See the License for the specific language governing permissions 11*bafec742SSukumar Swaminathan * and limitations under the License. 12*bafec742SSukumar Swaminathan * 13*bafec742SSukumar Swaminathan * When distributing Covered Code, include this CDDL HEADER in each 14*bafec742SSukumar Swaminathan * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*bafec742SSukumar Swaminathan * If applicable, add the following below this CDDL HEADER, with the 16*bafec742SSukumar Swaminathan * fields enclosed by brackets "[]" replaced with your own identifying 17*bafec742SSukumar Swaminathan * information: Portions Copyright [yyyy] [name of copyright owner] 18*bafec742SSukumar Swaminathan * 19*bafec742SSukumar Swaminathan * CDDL HEADER END 20*bafec742SSukumar Swaminathan */ 21*bafec742SSukumar Swaminathan 22*bafec742SSukumar Swaminathan /* 23*bafec742SSukumar Swaminathan * Copyright 2009 QLogic Corporation. All rights reserved. 24*bafec742SSukumar Swaminathan */ 25*bafec742SSukumar Swaminathan 26*bafec742SSukumar Swaminathan #ifndef _QLGE_DBG_H 27*bafec742SSukumar Swaminathan #define _QLGE_DBG_H 28*bafec742SSukumar Swaminathan 29*bafec742SSukumar Swaminathan #ifdef __cplusplus 30*bafec742SSukumar Swaminathan extern "C" { 31*bafec742SSukumar Swaminathan #endif 32*bafec742SSukumar Swaminathan 33*bafec742SSukumar Swaminathan /* 34*bafec742SSukumar Swaminathan * Driver debug definitions in makefile. 35*bafec742SSukumar Swaminathan */ 36*bafec742SSukumar Swaminathan 37*bafec742SSukumar Swaminathan #define QL_DEBUG_LEVELS 0x2 38*bafec742SSukumar Swaminathan 39*bafec742SSukumar Swaminathan #define DBG_NVRAM 0x01 /* Registers, PCI */ 40*bafec742SSukumar Swaminathan #define DBG_INIT 0x02 41*bafec742SSukumar Swaminathan #define DBG_GLD 0x04 42*bafec742SSukumar Swaminathan #define DBG_MBX 0x08 43*bafec742SSukumar Swaminathan #define DBG_FLASH 0x08 44*bafec742SSukumar Swaminathan #define DBG_RX 0x10 45*bafec742SSukumar Swaminathan #define DBG_RX_RING 0x20 46*bafec742SSukumar Swaminathan #define DBG_TX 0x40 47*bafec742SSukumar Swaminathan #define DBG_STATS 0x80 48*bafec742SSukumar Swaminathan #define DBG_INTR 0x100 49*bafec742SSukumar Swaminathan 50*bafec742SSukumar Swaminathan #ifdef QL_DUMPFW 51*bafec742SSukumar Swaminathan #define QLA_CORE_DUMP(qlge) ql_core_dump(qlge); 52*bafec742SSukumar Swaminathan #define QLA_DUMP_CRASH_RECORD(qlge) ql_dump_crash_record(qlge) 53*bafec742SSukumar Swaminathan #else 54*bafec742SSukumar Swaminathan #define QLA_CORE_DUMP(qlge) 55*bafec742SSukumar Swaminathan #define QLA_DUMP_CRASH_RECORD(qlge) 56*bafec742SSukumar Swaminathan #endif 57*bafec742SSukumar Swaminathan 58*bafec742SSukumar Swaminathan #if QL_DEBUG 59*bafec742SSukumar Swaminathan 60*bafec742SSukumar Swaminathan #define QL_DUMP_BUFFER(a, b, c, d) \ 61*bafec742SSukumar Swaminathan ql_dump_buf((char *)a, (uint8_t *)b, (uint8_t)c, (uint32_t)d) 62*bafec742SSukumar Swaminathan 63*bafec742SSukumar Swaminathan #define QL_PRINT_1(x) ql_printf x 64*bafec742SSukumar Swaminathan 65*bafec742SSukumar Swaminathan #define QL_PRINT(dbg_level, x) \ 66*bafec742SSukumar Swaminathan if (qlge->ql_dbgprnt & dbg_level) ql_printf x 67*bafec742SSukumar Swaminathan #define QL_DUMP(dbg_level, a, b, c, d) \ 68*bafec742SSukumar Swaminathan if (qlge->ql_dbgprnt & dbg_level) QL_DUMP_BUFFER(a, b, c, d) 69*bafec742SSukumar Swaminathan 70*bafec742SSukumar Swaminathan #define QL_DUMP_REQ_PKT(qlge, pkt, oal, num) if (qlge->ql_dbgprnt & DBG_TX) \ 71*bafec742SSukumar Swaminathan ql_dump_req_pkt(qlge, pkt, oal, num) 72*bafec742SSukumar Swaminathan 73*bafec742SSukumar Swaminathan #define QL_DUMP_CQICB(qlge, cqicb) if (qlge->ql_dbgprnt & DBG_INIT) \ 74*bafec742SSukumar Swaminathan ql_dump_cqicb(qlge, cqicb) 75*bafec742SSukumar Swaminathan 76*bafec742SSukumar Swaminathan #define QL_DUMP_WQICB(qlge, wqicb) if (qlge->ql_dbgprnt & DBG_INIT) \ 77*bafec742SSukumar Swaminathan ql_dump_wqicb(qlge, wqicb) 78*bafec742SSukumar Swaminathan 79*bafec742SSukumar Swaminathan #else 80*bafec742SSukumar Swaminathan 81*bafec742SSukumar Swaminathan #define QLA_HOST_PCI_REGS(qlge) 82*bafec742SSukumar Swaminathan 83*bafec742SSukumar Swaminathan #define QL_DUMP_BUFFER(a, b, c, d) 84*bafec742SSukumar Swaminathan #define QL_DUMP(dbg_level, a, b, c, d) 85*bafec742SSukumar Swaminathan #define QL_DEBUG_PRINT(x) 86*bafec742SSukumar Swaminathan #define QL_PRINT(dbg_level, x) 87*bafec742SSukumar Swaminathan #define QL_DUMP_REQ_PKT(qlge, pkt, oal, num) 88*bafec742SSukumar Swaminathan #define QL_DUMP_CQICB 89*bafec742SSukumar Swaminathan #define QL_DUMP_WQICB 90*bafec742SSukumar Swaminathan 91*bafec742SSukumar Swaminathan #endif /* QLGE_DEBUG */ 92*bafec742SSukumar Swaminathan 93*bafec742SSukumar Swaminathan /* 94*bafec742SSukumar Swaminathan * Error and Extended Logging Macros. 95*bafec742SSukumar Swaminathan */ 96*bafec742SSukumar Swaminathan #define QL_BANG "!" 97*bafec742SSukumar Swaminathan #define QL_QUESTION "?" 98*bafec742SSukumar Swaminathan #define QL_CAROT "^" 99*bafec742SSukumar Swaminathan 100*bafec742SSukumar Swaminathan #ifdef __cplusplus 101*bafec742SSukumar Swaminathan } 102*bafec742SSukumar Swaminathan #endif 103*bafec742SSukumar Swaminathan 104*bafec742SSukumar Swaminathan #endif /* _QLGE_DBG_H */ 105