1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (C) 2021 Broadcom. All Rights Reserved. The term
4 * “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.
8 * Node state machine functions for remote device node sm
11 #ifndef __EFCT_DEVICE_H__
12 #define __EFCT_DEVICE_H__
14 efc_node_init_device(struct efc_node
*node
, bool send_plogi
);
16 efc_process_prli_payload(struct efc_node
*node
,
19 efc_d_send_prli_rsp(struct efc_node
*node
, uint16_t ox_id
);
21 efc_send_ls_acc_after_attach(struct efc_node
*node
,
22 struct fc_frame_header
*hdr
,
23 enum efc_node_send_ls_acc ls
);
25 __efc_d_wait_loop(struct efc_sm_ctx
*ctx
,
26 enum efc_sm_event evt
, void *arg
);
28 __efc_d_wait_plogi_acc_cmpl(struct efc_sm_ctx
*ctx
,
29 enum efc_sm_event evt
, void *arg
);
31 __efc_d_init(struct efc_sm_ctx
*ctx
, enum efc_sm_event evt
, void *arg
);
33 __efc_d_wait_plogi_rsp(struct efc_sm_ctx
*ctx
,
34 enum efc_sm_event evt
, void *arg
);
36 __efc_d_wait_plogi_rsp_recvd_prli(struct efc_sm_ctx
*ctx
,
37 enum efc_sm_event evt
, void *arg
);
39 __efc_d_wait_domain_attach(struct efc_sm_ctx
*ctx
,
40 enum efc_sm_event evt
, void *arg
);
42 __efc_d_wait_topology_notify(struct efc_sm_ctx
*ctx
,
43 enum efc_sm_event evt
, void *arg
);
45 __efc_d_wait_node_attach(struct efc_sm_ctx
*ctx
,
46 enum efc_sm_event evt
, void *arg
);
48 __efc_d_wait_attach_evt_shutdown(struct efc_sm_ctx
*ctx
,
49 enum efc_sm_event evt
, void *arg
);
51 __efc_d_initiate_shutdown(struct efc_sm_ctx
*ctx
,
52 enum efc_sm_event evt
, void *arg
);
54 __efc_d_port_logged_in(struct efc_sm_ctx
*ctx
,
55 enum efc_sm_event evt
, void *arg
);
57 __efc_d_wait_logo_acc_cmpl(struct efc_sm_ctx
*ctx
,
58 enum efc_sm_event evt
, void *arg
);
60 __efc_d_device_ready(struct efc_sm_ctx
*ctx
,
61 enum efc_sm_event evt
, void *arg
);
63 __efc_d_device_gone(struct efc_sm_ctx
*ctx
,
64 enum efc_sm_event evt
, void *arg
);
66 __efc_d_wait_adisc_rsp(struct efc_sm_ctx
*ctx
,
67 enum efc_sm_event evt
, void *arg
);
69 __efc_d_wait_logo_rsp(struct efc_sm_ctx
*ctx
,
70 enum efc_sm_event evt
, void *arg
);
72 #endif /* __EFCT_DEVICE_H__ */