162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2021 Broadcom. All Rights Reserved. The term 462306a36Sopenharmony_ci * “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 562306a36Sopenharmony_ci */ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#ifndef __EFC_H__ 862306a36Sopenharmony_ci#define __EFC_H__ 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#include "../include/efc_common.h" 1162306a36Sopenharmony_ci#include "efclib.h" 1262306a36Sopenharmony_ci#include "efc_sm.h" 1362306a36Sopenharmony_ci#include "efc_cmds.h" 1462306a36Sopenharmony_ci#include "efc_domain.h" 1562306a36Sopenharmony_ci#include "efc_nport.h" 1662306a36Sopenharmony_ci#include "efc_node.h" 1762306a36Sopenharmony_ci#include "efc_fabric.h" 1862306a36Sopenharmony_ci#include "efc_device.h" 1962306a36Sopenharmony_ci#include "efc_els.h" 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci#define EFC_MAX_REMOTE_NODES 2048 2262306a36Sopenharmony_ci#define NODE_SPARAMS_SIZE 256 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_cienum efc_scsi_del_initiator_reason { 2562306a36Sopenharmony_ci EFC_SCSI_INITIATOR_DELETED, 2662306a36Sopenharmony_ci EFC_SCSI_INITIATOR_MISSING, 2762306a36Sopenharmony_ci}; 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_cienum efc_scsi_del_target_reason { 3062306a36Sopenharmony_ci EFC_SCSI_TARGET_DELETED, 3162306a36Sopenharmony_ci EFC_SCSI_TARGET_MISSING, 3262306a36Sopenharmony_ci}; 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci#define EFC_FC_ELS_DEFAULT_RETRIES 3 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci#define domain_sm_trace(domain) \ 3762306a36Sopenharmony_ci efc_log_debug(domain->efc, "[domain:%s] %-20s %-20s\n", \ 3862306a36Sopenharmony_ci domain->display_name, __func__, efc_sm_event_name(evt)) \ 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci#define domain_trace(domain, fmt, ...) \ 4162306a36Sopenharmony_ci efc_log_debug(domain->efc, \ 4262306a36Sopenharmony_ci "[%s]" fmt, domain->display_name, ##__VA_ARGS__) \ 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci#define node_sm_trace() \ 4562306a36Sopenharmony_ci efc_log_debug(node->efc, "[%s] %-20s %-20s\n", \ 4662306a36Sopenharmony_ci node->display_name, __func__, efc_sm_event_name(evt)) \ 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci#define nport_sm_trace(nport) \ 4962306a36Sopenharmony_ci efc_log_debug(nport->efc, \ 5062306a36Sopenharmony_ci "[%s] %-20s %-20s\n", nport->display_name, __func__, efc_sm_event_name(evt)) \ 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci#endif /* __EFC_H__ */ 53