File Index
Files and directories
Sign in
FILE

efc_fabric.h

File preview with syntax highlighting.

linux-6.19.14/drivers/scsi/elx/libefc/efc_fabric.h C
  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/*
  8 * Declarations for the interface exported by efc_fabric
  9 */
 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
 17void
 18__efc_fabric_init(struct efc_sm_ctx *ctx,
 19		  enum efc_sm_event evt, void *arg);
 20void
 21__efc_fabric_flogi_wait_rsp(struct efc_sm_ctx *ctx,
 22			    enum efc_sm_event evt, void *arg);
 23void
 24__efc_fabric_domain_attach_wait(struct efc_sm_ctx *ctx,
 25				enum efc_sm_event evt, void *arg);
 26void
 27__efc_fabric_wait_domain_attach(struct efc_sm_ctx *ctx,
 28				enum efc_sm_event evt, void *arg);
 29
 30void
 31__efc_vport_fabric_init(struct efc_sm_ctx *ctx,
 32			enum efc_sm_event evt, void *arg);
 33void
 34__efc_fabric_fdisc_wait_rsp(struct efc_sm_ctx *ctx,
 35			    enum efc_sm_event evt, void *arg);
 36void
 37__efc_fabric_wait_nport_attach(struct efc_sm_ctx *ctx,
 38			       enum efc_sm_event evt, void *arg);
 39
 40void
 41__efc_ns_init(struct efc_sm_ctx *ctx, enum efc_sm_event evt, void *arg);
 42void
 43__efc_ns_plogi_wait_rsp(struct efc_sm_ctx *ctx,
 44			enum efc_sm_event evt, void *arg);
 45void
 46__efc_ns_rftid_wait_rsp(struct efc_sm_ctx *ctx,
 47			enum efc_sm_event evt, void *arg);
 48void
 49__efc_ns_rffid_wait_rsp(struct efc_sm_ctx *ctx,
 50			enum efc_sm_event evt, void *arg);
 51void
 52__efc_ns_wait_node_attach(struct efc_sm_ctx *ctx,
 53			  enum efc_sm_event evt, void *arg);
 54void
 55__efc_fabric_wait_attach_evt_shutdown(struct efc_sm_ctx *ctx,
 56				      enum efc_sm_event evt, void *arg);
 57void
 58__efc_ns_logo_wait_rsp(struct efc_sm_ctx *ctx,
 59		       enum efc_sm_event, void *arg);
 60void
 61__efc_ns_gidpt_wait_rsp(struct efc_sm_ctx *ctx,
 62			enum efc_sm_event evt, void *arg);
 63void
 64__efc_ns_idle(struct efc_sm_ctx *ctx, enum efc_sm_event evt, void *arg);
 65void
 66__efc_ns_gidpt_delay(struct efc_sm_ctx *ctx,
 67		     enum efc_sm_event evt, void *arg);
 68void
 69__efc_fabctl_init(struct efc_sm_ctx *ctx,
 70		  enum efc_sm_event evt, void *arg);
 71void
 72__efc_fabctl_wait_node_attach(struct efc_sm_ctx *ctx,
 73			      enum efc_sm_event evt, void *arg);
 74void
 75__efc_fabctl_wait_scr_rsp(struct efc_sm_ctx *ctx,
 76			  enum efc_sm_event evt, void *arg);
 77void
 78__efc_fabctl_ready(struct efc_sm_ctx *ctx,
 79		   enum efc_sm_event evt, void *arg);
 80void
 81__efc_fabctl_wait_ls_acc_cmpl(struct efc_sm_ctx *ctx,
 82			      enum efc_sm_event evt, void *arg);
 83void
 84__efc_fabric_idle(struct efc_sm_ctx *ctx,
 85		  enum efc_sm_event evt, void *arg);
 86
 87void
 88__efc_p2p_rnode_init(struct efc_sm_ctx *ctx,
 89		     enum efc_sm_event evt, void *arg);
 90void
 91__efc_p2p_domain_attach_wait(struct efc_sm_ctx *ctx,
 92			     enum efc_sm_event evt, void *arg);
 93void
 94__efc_p2p_wait_flogi_acc_cmpl(struct efc_sm_ctx *ctx,
 95			      enum efc_sm_event evt, void *arg);
 96void
 97__efc_p2p_wait_plogi_rsp(struct efc_sm_ctx *ctx,
 98			 enum efc_sm_event evt, void *arg);
 99void
100__efc_p2p_wait_plogi_rsp_recvd_prli(struct efc_sm_ctx *ctx,
101				    enum efc_sm_event evt, void *arg);
102void
103__efc_p2p_wait_domain_attach(struct efc_sm_ctx *ctx,
104			     enum efc_sm_event evt, void *arg);
105void
106__efc_p2p_wait_node_attach(struct efc_sm_ctx *ctx,
107			   enum efc_sm_event evt, void *arg);
108
109int
110efc_p2p_setup(struct efc_nport *nport);
111void
112efc_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__ */
~/ Read-only file preview.