1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright (C) 2021 Broadcom. All Rights Reserved. The term
4 * “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.
5 */
6
7#ifndef __EFC_H__
8#define __EFC_H__
9
10#include "../include/efc_common.h"
11#include "efclib.h"
12#include "efc_sm.h"
13#include "efc_cmds.h"
14#include "efc_domain.h"
15#include "efc_nport.h"
16#include "efc_node.h"
17#include "efc_fabric.h"
18#include "efc_device.h"
19#include "efc_els.h"
20
21#define EFC_MAX_REMOTE_NODES			2048
22#define NODE_SPARAMS_SIZE			256
23
24enum efc_scsi_del_initiator_reason {
25	EFC_SCSI_INITIATOR_DELETED,
26	EFC_SCSI_INITIATOR_MISSING,
27};
28
29enum efc_scsi_del_target_reason {
30	EFC_SCSI_TARGET_DELETED,
31	EFC_SCSI_TARGET_MISSING,
32};
33
34#define EFC_FC_ELS_DEFAULT_RETRIES		3
35
36#define domain_sm_trace(domain) \
37	efc_log_debug(domain->efc, "[domain:%s] %-20s %-20s\n", \
38		      domain->display_name, __func__, efc_sm_event_name(evt)) \
39
40#define domain_trace(domain, fmt, ...) \
41	efc_log_debug(domain->efc, \
42		      "[%s]" fmt, domain->display_name, ##__VA_ARGS__) \
43
44#define node_sm_trace() \
45	efc_log_debug(node->efc, "[%s] %-20s %-20s\n", \
46		      node->display_name, __func__, efc_sm_event_name(evt)) \
47
48#define nport_sm_trace(nport) \
49	efc_log_debug(nport->efc, \
50		"[%s]  %-20s %-20s\n", nport->display_name, __func__, efc_sm_event_name(evt)) \
51
52#endif /* __EFC_H__ */
53