117 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * Copyright (C) 2021 Broadcom. All Rights Reserved. The term4 * “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.5 */6 7/*8 * Declarations for the interface exported by efc_fabric9 */10 11#ifndef __EFCT_FABRIC_H__12#define __EFCT_FABRIC_H__13#include "scsi/fc/fc_els.h"14#include "scsi/fc/fc_fs.h"15#include "scsi/fc/fc_ns.h"16 17void18__efc_fabric_init(struct efc_sm_ctx *ctx,19 enum efc_sm_event evt, void *arg);20void21__efc_fabric_flogi_wait_rsp(struct efc_sm_ctx *ctx,22 enum efc_sm_event evt, void *arg);23void24__efc_fabric_domain_attach_wait(struct efc_sm_ctx *ctx,25 enum efc_sm_event evt, void *arg);26void27__efc_fabric_wait_domain_attach(struct efc_sm_ctx *ctx,28 enum efc_sm_event evt, void *arg);29 30void31__efc_vport_fabric_init(struct efc_sm_ctx *ctx,32 enum efc_sm_event evt, void *arg);33void34__efc_fabric_fdisc_wait_rsp(struct efc_sm_ctx *ctx,35 enum efc_sm_event evt, void *arg);36void37__efc_fabric_wait_nport_attach(struct efc_sm_ctx *ctx,38 enum efc_sm_event evt, void *arg);39 40void41__efc_ns_init(struct efc_sm_ctx *ctx, enum efc_sm_event evt, void *arg);42void43__efc_ns_plogi_wait_rsp(struct efc_sm_ctx *ctx,44 enum efc_sm_event evt, void *arg);45void46__efc_ns_rftid_wait_rsp(struct efc_sm_ctx *ctx,47 enum efc_sm_event evt, void *arg);48void49__efc_ns_rffid_wait_rsp(struct efc_sm_ctx *ctx,50 enum efc_sm_event evt, void *arg);51void52__efc_ns_wait_node_attach(struct efc_sm_ctx *ctx,53 enum efc_sm_event evt, void *arg);54void55__efc_fabric_wait_attach_evt_shutdown(struct efc_sm_ctx *ctx,56 enum efc_sm_event evt, void *arg);57void58__efc_ns_logo_wait_rsp(struct efc_sm_ctx *ctx,59 enum efc_sm_event, void *arg);60void61__efc_ns_gidpt_wait_rsp(struct efc_sm_ctx *ctx,62 enum efc_sm_event evt, void *arg);63void64__efc_ns_idle(struct efc_sm_ctx *ctx, enum efc_sm_event evt, void *arg);65void66__efc_ns_gidpt_delay(struct efc_sm_ctx *ctx,67 enum efc_sm_event evt, void *arg);68void69__efc_fabctl_init(struct efc_sm_ctx *ctx,70 enum efc_sm_event evt, void *arg);71void72__efc_fabctl_wait_node_attach(struct efc_sm_ctx *ctx,73 enum efc_sm_event evt, void *arg);74void75__efc_fabctl_wait_scr_rsp(struct efc_sm_ctx *ctx,76 enum efc_sm_event evt, void *arg);77void78__efc_fabctl_ready(struct efc_sm_ctx *ctx,79 enum efc_sm_event evt, void *arg);80void81__efc_fabctl_wait_ls_acc_cmpl(struct efc_sm_ctx *ctx,82 enum efc_sm_event evt, void *arg);83void84__efc_fabric_idle(struct efc_sm_ctx *ctx,85 enum efc_sm_event evt, void *arg);86 87void88__efc_p2p_rnode_init(struct efc_sm_ctx *ctx,89 enum efc_sm_event evt, void *arg);90void91__efc_p2p_domain_attach_wait(struct efc_sm_ctx *ctx,92 enum efc_sm_event evt, void *arg);93void94__efc_p2p_wait_flogi_acc_cmpl(struct efc_sm_ctx *ctx,95 enum efc_sm_event evt, void *arg);96void97__efc_p2p_wait_plogi_rsp(struct efc_sm_ctx *ctx,98 enum efc_sm_event evt, void *arg);99void100__efc_p2p_wait_plogi_rsp_recvd_prli(struct efc_sm_ctx *ctx,101 enum efc_sm_event evt, void *arg);102void103__efc_p2p_wait_domain_attach(struct efc_sm_ctx *ctx,104 enum efc_sm_event evt, void *arg);105void106__efc_p2p_wait_node_attach(struct efc_sm_ctx *ctx,107 enum efc_sm_event evt, void *arg);108 109int110efc_p2p_setup(struct efc_nport *nport);111void112efc_fabric_set_topology(struct efc_node *node,113 enum efc_nport_topology topology);114void efc_fabric_notify_topology(struct efc_node *node);115 116#endif /* __EFCT_FABRIC_H__ */117