mirror of https://github.com/F-Stack/f-stack.git
68 lines
1.3 KiB
C
68 lines
1.3 KiB
C
/* SPDX-License-Identifier: BSD-3-Clause
|
|
* Copyright(c) 2014-2021 Broadcom
|
|
* All rights reserved.
|
|
*/
|
|
|
|
#ifndef _ULP_HA_MGR_H_
|
|
#define _ULP_HA_MGR_H_
|
|
|
|
#include "bnxt_ulp.h"
|
|
|
|
enum ulp_ha_mgr_state {
|
|
ULP_HA_STATE_INIT,
|
|
ULP_HA_STATE_PRIM_RUN,
|
|
ULP_HA_STATE_PRIM_SEC_RUN,
|
|
ULP_HA_STATE_SEC_TIMER_COPY,
|
|
ULP_HA_PRIM_CLOSE
|
|
};
|
|
|
|
enum ulp_ha_mgr_app_type {
|
|
ULP_HA_APP_TYPE_NONE,
|
|
ULP_HA_APP_TYPE_PRIM,
|
|
ULP_HA_APP_TYPE_SEC
|
|
};
|
|
|
|
enum ulp_ha_mgr_region {
|
|
ULP_HA_REGION_LOW,
|
|
ULP_HA_REGION_HI
|
|
};
|
|
|
|
struct bnxt_ulp_ha_mgr_info {
|
|
enum ulp_ha_mgr_app_type app_type;
|
|
enum ulp_ha_mgr_region region;
|
|
uint32_t flags;
|
|
pthread_mutex_t ha_lock;
|
|
};
|
|
|
|
bool
|
|
ulp_ha_mgr_is_enabled(struct bnxt_ulp_context *ulp_ctx);
|
|
|
|
int32_t
|
|
ulp_ha_mgr_enable(struct bnxt_ulp_context *ulp_ctx);
|
|
|
|
int32_t
|
|
ulp_ha_mgr_init(struct bnxt_ulp_context *ulp_ctx);
|
|
|
|
void
|
|
ulp_ha_mgr_deinit(struct bnxt_ulp_context *ulp_ctx);
|
|
|
|
int32_t
|
|
ulp_ha_mgr_app_type_get(struct bnxt_ulp_context *ulp_ctx,
|
|
enum ulp_ha_mgr_app_type *app_type);
|
|
|
|
int32_t
|
|
ulp_ha_mgr_state_get(struct bnxt_ulp_context *ulp_ctx,
|
|
enum ulp_ha_mgr_state *state);
|
|
|
|
int32_t
|
|
ulp_ha_mgr_open(struct bnxt_ulp_context *ulp_ctx);
|
|
|
|
int32_t
|
|
ulp_ha_mgr_close(struct bnxt_ulp_context *ulp_ctx);
|
|
|
|
int32_t
|
|
ulp_ha_mgr_region_get(struct bnxt_ulp_context *ulp_ctx,
|
|
enum ulp_ha_mgr_region *region);
|
|
|
|
#endif /* _ULP_HA_MGR_H_*/
|