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  * Declare driver's domain handler exported interface
0009  */
0010 
0011 #ifndef __EFCT_DOMAIN_H__
0012 #define __EFCT_DOMAIN_H__
0013 
0014 struct efc_domain *
0015 efc_domain_alloc(struct efc *efc, uint64_t fcf_wwn);
0016 void
0017 efc_domain_free(struct efc_domain *domain);
0018 
0019 void
0020 __efc_domain_init(struct efc_sm_ctx *ctx, enum efc_sm_event evt, void *arg);
0021 void
0022 __efc_domain_wait_alloc(struct efc_sm_ctx *ctx, enum efc_sm_event evt,
0023             void *arg);
0024 void
0025 __efc_domain_allocated(struct efc_sm_ctx *ctx, enum efc_sm_event evt,
0026                void *arg);
0027 void
0028 __efc_domain_wait_attach(struct efc_sm_ctx *ctx, enum efc_sm_event evt,
0029              void *arg);
0030 void
0031 __efc_domain_ready(struct efc_sm_ctx *ctx, enum efc_sm_event evt, void *arg);
0032 void
0033 __efc_domain_wait_nports_free(struct efc_sm_ctx *ctx, enum efc_sm_event evt,
0034                   void *arg);
0035 void
0036 __efc_domain_wait_shutdown(struct efc_sm_ctx *ctx, enum efc_sm_event evt,
0037                void *arg);
0038 void
0039 __efc_domain_wait_domain_lost(struct efc_sm_ctx *ctx, enum efc_sm_event evt,
0040                   void *arg);
0041 void
0042 efc_domain_attach(struct efc_domain *domain, u32 s_id);
0043 int
0044 efc_domain_post_event(struct efc_domain *domain, enum efc_sm_event event,
0045               void *arg);
0046 void
0047 __efc_domain_attach_internal(struct efc_domain *domain, u32 s_id);
0048 
0049 int
0050 efc_domain_dispatch_frame(void *arg, struct efc_hw_sequence *seq);
0051 void
0052 efc_node_dispatch_frame(void *arg, struct efc_hw_sequence *seq);
0053 
0054 #endif /* __EFCT_DOMAIN_H__ */