1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2014-2021 Broadcom
11 enum ulp_ha_mgr_state {
13 ULP_HA_STATE_PRIM_RUN,
14 ULP_HA_STATE_PRIM_SEC_RUN,
15 ULP_HA_STATE_SEC_TIMER_COPY,
19 enum ulp_ha_mgr_app_type {
25 enum ulp_ha_mgr_region {
30 struct bnxt_ulp_ha_mgr_info {
31 enum ulp_ha_mgr_app_type app_type;
32 enum ulp_ha_mgr_region region;
34 pthread_mutex_t ha_lock;
38 ulp_ha_mgr_is_enabled(struct bnxt_ulp_context *ulp_ctx);
41 ulp_ha_mgr_enable(struct bnxt_ulp_context *ulp_ctx);
44 ulp_ha_mgr_init(struct bnxt_ulp_context *ulp_ctx);
47 ulp_ha_mgr_deinit(struct bnxt_ulp_context *ulp_ctx);
50 ulp_ha_mgr_app_type_get(struct bnxt_ulp_context *ulp_ctx,
51 enum ulp_ha_mgr_app_type *app_type);
54 ulp_ha_mgr_state_get(struct bnxt_ulp_context *ulp_ctx,
55 enum ulp_ha_mgr_state *state);
58 ulp_ha_mgr_open(struct bnxt_ulp_context *ulp_ctx);
61 ulp_ha_mgr_close(struct bnxt_ulp_context *ulp_ctx);
64 ulp_ha_mgr_region_get(struct bnxt_ulp_context *ulp_ctx,
65 enum ulp_ha_mgr_region *region);
67 #endif /* _ULP_HA_MGR_H_*/