Linux Audio

Check our new training course

Loading...
 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 * Node state machine functions for remote device node sm
 9 */
10
11#ifndef __EFCT_DEVICE_H__
12#define __EFCT_DEVICE_H__
13void
14efc_node_init_device(struct efc_node *node, bool send_plogi);
15void
16efc_process_prli_payload(struct efc_node *node,
17			 void *prli);
18void
19efc_d_send_prli_rsp(struct efc_node *node, uint16_t ox_id);
20void
21efc_send_ls_acc_after_attach(struct efc_node *node,
22			     struct fc_frame_header *hdr,
23			     enum efc_node_send_ls_acc ls);
24void
25__efc_d_wait_loop(struct efc_sm_ctx *ctx,
26		  enum efc_sm_event evt, void *arg);
27void
28__efc_d_wait_plogi_acc_cmpl(struct efc_sm_ctx *ctx,
29			    enum efc_sm_event evt, void *arg);
30void
31__efc_d_init(struct efc_sm_ctx *ctx, enum efc_sm_event evt, void *arg);
32void
33__efc_d_wait_plogi_rsp(struct efc_sm_ctx *ctx,
34		       enum efc_sm_event evt, void *arg);
35void
36__efc_d_wait_plogi_rsp_recvd_prli(struct efc_sm_ctx *ctx,
37				  enum efc_sm_event evt, void *arg);
38void
39__efc_d_wait_domain_attach(struct efc_sm_ctx *ctx,
40			   enum efc_sm_event evt, void *arg);
41void
42__efc_d_wait_topology_notify(struct efc_sm_ctx *ctx,
43			     enum efc_sm_event evt, void *arg);
44void
45__efc_d_wait_node_attach(struct efc_sm_ctx *ctx,
46			 enum efc_sm_event evt, void *arg);
47void
48__efc_d_wait_attach_evt_shutdown(struct efc_sm_ctx *ctx,
49				 enum efc_sm_event evt, void *arg);
50void
51__efc_d_initiate_shutdown(struct efc_sm_ctx *ctx,
52			  enum efc_sm_event evt, void *arg);
53void
54__efc_d_port_logged_in(struct efc_sm_ctx *ctx,
55		       enum efc_sm_event evt, void *arg);
56void
57__efc_d_wait_logo_acc_cmpl(struct efc_sm_ctx *ctx,
58			   enum efc_sm_event evt, void *arg);
59void
60__efc_d_device_ready(struct efc_sm_ctx *ctx,
61		     enum efc_sm_event evt, void *arg);
62void
63__efc_d_device_gone(struct efc_sm_ctx *ctx,
64		    enum efc_sm_event evt, void *arg);
65void
66__efc_d_wait_adisc_rsp(struct efc_sm_ctx *ctx,
67		       enum efc_sm_event evt, void *arg);
68void
69__efc_d_wait_logo_rsp(struct efc_sm_ctx *ctx,
70		      enum efc_sm_event evt, void *arg);
71
72#endif /* __EFCT_DEVICE_H__ */