Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * Copyright (C) 2021 Broadcom. All Rights Reserved. The term
0004  * “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.
0005  */
0006 
0007 /*
0008  * Node state machine functions for remote device node sm
0009  */
0010 
0011 #ifndef __EFCT_DEVICE_H__
0012 #define __EFCT_DEVICE_H__
0013 void
0014 efc_node_init_device(struct efc_node *node, bool send_plogi);
0015 void
0016 efc_process_prli_payload(struct efc_node *node,
0017              void *prli);
0018 void
0019 efc_d_send_prli_rsp(struct efc_node *node, uint16_t ox_id);
0020 void
0021 efc_send_ls_acc_after_attach(struct efc_node *node,
0022                  struct fc_frame_header *hdr,
0023                  enum efc_node_send_ls_acc ls);
0024 void
0025 __efc_d_wait_loop(struct efc_sm_ctx *ctx,
0026           enum efc_sm_event evt, void *arg);
0027 void
0028 __efc_d_wait_plogi_acc_cmpl(struct efc_sm_ctx *ctx,
0029                 enum efc_sm_event evt, void *arg);
0030 void
0031 __efc_d_init(struct efc_sm_ctx *ctx, enum efc_sm_event evt, void *arg);
0032 void
0033 __efc_d_wait_plogi_rsp(struct efc_sm_ctx *ctx,
0034                enum efc_sm_event evt, void *arg);
0035 void
0036 __efc_d_wait_plogi_rsp_recvd_prli(struct efc_sm_ctx *ctx,
0037                   enum efc_sm_event evt, void *arg);
0038 void
0039 __efc_d_wait_domain_attach(struct efc_sm_ctx *ctx,
0040                enum efc_sm_event evt, void *arg);
0041 void
0042 __efc_d_wait_topology_notify(struct efc_sm_ctx *ctx,
0043                  enum efc_sm_event evt, void *arg);
0044 void
0045 __efc_d_wait_node_attach(struct efc_sm_ctx *ctx,
0046              enum efc_sm_event evt, void *arg);
0047 void
0048 __efc_d_wait_attach_evt_shutdown(struct efc_sm_ctx *ctx,
0049                  enum efc_sm_event evt, void *arg);
0050 void
0051 __efc_d_initiate_shutdown(struct efc_sm_ctx *ctx,
0052               enum efc_sm_event evt, void *arg);
0053 void
0054 __efc_d_port_logged_in(struct efc_sm_ctx *ctx,
0055                enum efc_sm_event evt, void *arg);
0056 void
0057 __efc_d_wait_logo_acc_cmpl(struct efc_sm_ctx *ctx,
0058                enum efc_sm_event evt, void *arg);
0059 void
0060 __efc_d_device_ready(struct efc_sm_ctx *ctx,
0061              enum efc_sm_event evt, void *arg);
0062 void
0063 __efc_d_device_gone(struct efc_sm_ctx *ctx,
0064             enum efc_sm_event evt, void *arg);
0065 void
0066 __efc_d_wait_adisc_rsp(struct efc_sm_ctx *ctx,
0067                enum efc_sm_event evt, void *arg);
0068 void
0069 __efc_d_wait_logo_rsp(struct efc_sm_ctx *ctx,
0070               enum efc_sm_event evt, void *arg);
0071 
0072 #endif /* __EFCT_DEVICE_H__ */