1*202bfdffSJames Smart /* SPDX-License-Identifier: GPL-2.0 */ 2*202bfdffSJames Smart /* 3*202bfdffSJames Smart * Copyright (C) 2021 Broadcom. All Rights Reserved. The term 4*202bfdffSJames Smart * “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 5*202bfdffSJames Smart */ 6*202bfdffSJames Smart 7*202bfdffSJames Smart /* 8*202bfdffSJames Smart * Node state machine functions for remote device node sm 9*202bfdffSJames Smart */ 10*202bfdffSJames Smart 11*202bfdffSJames Smart #ifndef __EFCT_DEVICE_H__ 12*202bfdffSJames Smart #define __EFCT_DEVICE_H__ 13*202bfdffSJames Smart void 14*202bfdffSJames Smart efc_node_init_device(struct efc_node *node, bool send_plogi); 15*202bfdffSJames Smart void 16*202bfdffSJames Smart efc_process_prli_payload(struct efc_node *node, 17*202bfdffSJames Smart void *prli); 18*202bfdffSJames Smart void 19*202bfdffSJames Smart efc_d_send_prli_rsp(struct efc_node *node, uint16_t ox_id); 20*202bfdffSJames Smart void 21*202bfdffSJames Smart efc_send_ls_acc_after_attach(struct efc_node *node, 22*202bfdffSJames Smart struct fc_frame_header *hdr, 23*202bfdffSJames Smart enum efc_node_send_ls_acc ls); 24*202bfdffSJames Smart void 25*202bfdffSJames Smart __efc_d_wait_loop(struct efc_sm_ctx *ctx, 26*202bfdffSJames Smart enum efc_sm_event evt, void *arg); 27*202bfdffSJames Smart void 28*202bfdffSJames Smart __efc_d_wait_plogi_acc_cmpl(struct efc_sm_ctx *ctx, 29*202bfdffSJames Smart enum efc_sm_event evt, void *arg); 30*202bfdffSJames Smart void 31*202bfdffSJames Smart __efc_d_init(struct efc_sm_ctx *ctx, enum efc_sm_event evt, void *arg); 32*202bfdffSJames Smart void 33*202bfdffSJames Smart __efc_d_wait_plogi_rsp(struct efc_sm_ctx *ctx, 34*202bfdffSJames Smart enum efc_sm_event evt, void *arg); 35*202bfdffSJames Smart void 36*202bfdffSJames Smart __efc_d_wait_plogi_rsp_recvd_prli(struct efc_sm_ctx *ctx, 37*202bfdffSJames Smart enum efc_sm_event evt, void *arg); 38*202bfdffSJames Smart void 39*202bfdffSJames Smart __efc_d_wait_domain_attach(struct efc_sm_ctx *ctx, 40*202bfdffSJames Smart enum efc_sm_event evt, void *arg); 41*202bfdffSJames Smart void 42*202bfdffSJames Smart __efc_d_wait_topology_notify(struct efc_sm_ctx *ctx, 43*202bfdffSJames Smart enum efc_sm_event evt, void *arg); 44*202bfdffSJames Smart void 45*202bfdffSJames Smart __efc_d_wait_node_attach(struct efc_sm_ctx *ctx, 46*202bfdffSJames Smart enum efc_sm_event evt, void *arg); 47*202bfdffSJames Smart void 48*202bfdffSJames Smart __efc_d_wait_attach_evt_shutdown(struct efc_sm_ctx *ctx, 49*202bfdffSJames Smart enum efc_sm_event evt, void *arg); 50*202bfdffSJames Smart void 51*202bfdffSJames Smart __efc_d_initiate_shutdown(struct efc_sm_ctx *ctx, 52*202bfdffSJames Smart enum efc_sm_event evt, void *arg); 53*202bfdffSJames Smart void 54*202bfdffSJames Smart __efc_d_port_logged_in(struct efc_sm_ctx *ctx, 55*202bfdffSJames Smart enum efc_sm_event evt, void *arg); 56*202bfdffSJames Smart void 57*202bfdffSJames Smart __efc_d_wait_logo_acc_cmpl(struct efc_sm_ctx *ctx, 58*202bfdffSJames Smart enum efc_sm_event evt, void *arg); 59*202bfdffSJames Smart void 60*202bfdffSJames Smart __efc_d_device_ready(struct efc_sm_ctx *ctx, 61*202bfdffSJames Smart enum efc_sm_event evt, void *arg); 62*202bfdffSJames Smart void 63*202bfdffSJames Smart __efc_d_device_gone(struct efc_sm_ctx *ctx, 64*202bfdffSJames Smart enum efc_sm_event evt, void *arg); 65*202bfdffSJames Smart void 66*202bfdffSJames Smart __efc_d_wait_adisc_rsp(struct efc_sm_ctx *ctx, 67*202bfdffSJames Smart enum efc_sm_event evt, void *arg); 68*202bfdffSJames Smart void 69*202bfdffSJames Smart __efc_d_wait_logo_rsp(struct efc_sm_ctx *ctx, 70*202bfdffSJames Smart enum efc_sm_event evt, void *arg); 71*202bfdffSJames Smart 72*202bfdffSJames Smart #endif /* __EFCT_DEVICE_H__ */ 73