Linux-libre 5.4.47-gnu
[librecmc/linux-libre.git] / drivers / scsi / lpfc / lpfc_logmsg.h
1 /*******************************************************************
2  * This file is part of the Emulex Linux Device Driver for         *
3  * Fibre Channel Host Bus Adapters.                                *
4  * Copyright (C) 2017-2018 Broadcom. All Rights Reserved. The term *
5  * “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.     *
6  * Copyright (C) 2004-2009 Emulex.  All rights reserved.           *
7  * EMULEX and SLI are trademarks of Emulex.                        *
8  * www.broadcom.com                                                *
9  *                                                                 *
10  * This program is free software; you can redistribute it and/or   *
11  * modify it under the terms of version 2 of the GNU General       *
12  * Public License as published by the Free Software Foundation.    *
13  * This program is distributed in the hope that it will be useful. *
14  * ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND          *
15  * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,  *
16  * FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE      *
17  * DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD *
18  * TO BE LEGALLY INVALID.  See the GNU General Public License for  *
19  * more details, a copy of which can be found in the file COPYING  *
20  * included with this package.                                     *
21  *******************************************************************/
22
23 #define LOG_ELS         0x00000001      /* ELS events */
24 #define LOG_DISCOVERY   0x00000002      /* Link discovery events */
25 #define LOG_MBOX        0x00000004      /* Mailbox events */
26 #define LOG_INIT        0x00000008      /* Initialization events */
27 #define LOG_LINK_EVENT  0x00000010      /* Link events */
28 #define LOG_IP          0x00000020      /* IP traffic history */
29 #define LOG_FCP         0x00000040      /* FCP traffic history */
30 #define LOG_NODE        0x00000080      /* Node table events */
31 #define LOG_TEMP        0x00000100      /* Temperature sensor events */
32 #define LOG_BG          0x00000200      /* BlockGuard events */
33 #define LOG_MISC        0x00000400      /* Miscellaneous events */
34 #define LOG_SLI         0x00000800      /* SLI events */
35 #define LOG_FCP_ERROR   0x00001000      /* log errors, not underruns */
36 #define LOG_LIBDFC      0x00002000      /* Libdfc events */
37 #define LOG_VPORT       0x00004000      /* NPIV events */
38 #define LOG_SECURITY    0x00008000      /* Security events */
39 #define LOG_EVENT       0x00010000      /* CT,TEMP,DUMP, logging */
40 #define LOG_FIP         0x00020000      /* FIP events */
41 #define LOG_FCP_UNDER   0x00040000      /* FCP underruns errors */
42 #define LOG_SCSI_CMD    0x00080000      /* ALL SCSI commands */
43 #define LOG_NVME        0x00100000      /* NVME general events. */
44 #define LOG_NVME_DISC   0x00200000      /* NVME Discovery/Connect events. */
45 #define LOG_NVME_ABTS   0x00400000      /* NVME ABTS events. */
46 #define LOG_NVME_IOERR  0x00800000      /* NVME IO Error events. */
47 #define LOG_ALL_MSG     0xffffffff      /* LOG all messages */
48
49 #define lpfc_printf_vlog(vport, level, mask, fmt, arg...) \
50 do { \
51         { if (((mask) & (vport)->cfg_log_verbose) || (level[1] <= '3')) \
52                 dev_printk(level, &((vport)->phba->pcidev)->dev, "%d:(%d):" \
53                            fmt, (vport)->phba->brd_no, vport->vpi, ##arg); } \
54 } while (0)
55
56 #define lpfc_printf_log(phba, level, mask, fmt, arg...) \
57 do { \
58         { uint32_t log_verbose = (phba)->pport ? \
59                                  (phba)->pport->cfg_log_verbose : \
60                                  (phba)->cfg_log_verbose; \
61           if (((mask) & log_verbose) || (level[1] <= '3')) \
62                 dev_printk(level, &((phba)->pcidev)->dev, "%d:" \
63                            fmt, phba->brd_no, ##arg); \
64         } \
65 } while (0)