bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan/*
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan * CDDL HEADER START
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan *
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan * The contents of this file are subject to the terms of the
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan * Common Development and Distribution License (the "License").
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan * You may not use this file except in compliance with the License.
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan *
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan * or http://www.opensolaris.org/os/licensing.
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan * See the License for the specific language governing permissions
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan * and limitations under the License.
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan *
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan * When distributing Covered Code, include this CDDL HEADER in each
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan * If applicable, add the following below this CDDL HEADER, with the
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan * fields enclosed by brackets "[]" replaced with your own identifying
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan * information: Portions Copyright [yyyy] [name of copyright owner]
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan *
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan * CDDL HEADER END
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan */
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan/*
accf27a5824ae84dfac7b089c4325917231a7d15Sukumar Swaminathan * Copyright 2010 QLogic Corporation. All rights reserved.
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan */
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#ifndef _QLGE_DBG_H
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define _QLGE_DBG_H
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#ifdef __cplusplus
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathanextern "C" {
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#endif
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan/*
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan * Driver debug definitions in makefile.
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan */
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QL_DEBUG_LEVELS 0x2
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define DBG_NVRAM 0x01 /* Registers, PCI */
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define DBG_INIT 0x02
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define DBG_GLD 0x04
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define DBG_MBX 0x08
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define DBG_FLASH 0x08
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define DBG_RX 0x10
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define DBG_RX_RING 0x20
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define DBG_TX 0x40
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define DBG_STATS 0x80
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define DBG_INTR 0x100
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#ifdef QL_DUMPFW
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QLA_CORE_DUMP(qlge) ql_core_dump(qlge);
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QLA_DUMP_CRASH_RECORD(qlge) ql_dump_crash_record(qlge)
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#else
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QLA_CORE_DUMP(qlge)
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QLA_DUMP_CRASH_RECORD(qlge)
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#endif
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#if QL_DEBUG
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QL_DUMP_BUFFER(a, b, c, d) \
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan ql_dump_buf((char *)a, (uint8_t *)b, (uint8_t)c, (uint32_t)d)
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QL_PRINT_1(x) ql_printf x
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QL_PRINT(dbg_level, x) \
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan if (qlge->ql_dbgprnt & dbg_level) ql_printf x
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QL_DUMP(dbg_level, a, b, c, d) \
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan if (qlge->ql_dbgprnt & dbg_level) QL_DUMP_BUFFER(a, b, c, d)
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QL_DUMP_REQ_PKT(qlge, pkt, oal, num) if (qlge->ql_dbgprnt & DBG_TX) \
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan ql_dump_req_pkt(qlge, pkt, oal, num)
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QL_DUMP_CQICB(qlge, cqicb) if (qlge->ql_dbgprnt & DBG_INIT) \
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan ql_dump_cqicb(qlge, cqicb)
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QL_DUMP_WQICB(qlge, wqicb) if (qlge->ql_dbgprnt & DBG_INIT) \
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan ql_dump_wqicb(qlge, wqicb)
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#else
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QLA_HOST_PCI_REGS(qlge)
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QL_DUMP_BUFFER(a, b, c, d)
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QL_DUMP(dbg_level, a, b, c, d)
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QL_DEBUG_PRINT(x)
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QL_PRINT(dbg_level, x)
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QL_DUMP_REQ_PKT(qlge, pkt, oal, num)
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QL_DUMP_CQICB
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QL_DUMP_WQICB
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#endif /* QLGE_DEBUG */
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan/*
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan * Error and Extended Logging Macros.
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan */
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QL_BANG "!"
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QL_QUESTION "?"
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#define QL_CAROT "^"
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#ifdef __cplusplus
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan}
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#endif
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan
bafec74292ca6805e5acb387856f4e60a5314b37Sukumar Swaminathan#endif /* _QLGE_DBG_H */