mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 08:36:12 -04:00
Merge 5bbd356e53 on remote branch
Change-Id: I226e9c264a64af350d79ddf747e5dea15c631911
This commit is contained in:
commit
2984f7d689
7 changed files with 444 additions and 35 deletions
9
fw/htt.h
9
fw/htt.h
|
|
@ -251,9 +251,10 @@
|
|||
* 3.123 Add HTT_OPTION_TLV_TCL_METADATA_V21 def.
|
||||
* 3.124 Add HTT_T2H_MSG_TYPE_PEER_EXTENDED_EVENT def.
|
||||
* 3.125 Expand fisa_aggr_limit bits in fisa_control_bits_v2.
|
||||
* 3.126 Add HTT_RXDATA_ERR_INVALID_PEER def.
|
||||
*/
|
||||
#define HTT_CURRENT_VERSION_MAJOR 3
|
||||
#define HTT_CURRENT_VERSION_MINOR 125
|
||||
#define HTT_CURRENT_VERSION_MINOR 126
|
||||
|
||||
#define HTT_NUM_TX_FRAG_DESC 1024
|
||||
|
||||
|
|
@ -21383,6 +21384,12 @@ typedef enum htt_t2h_rx_data_msdu_err {
|
|||
*/
|
||||
HTT_RXDATA_ERR_ZERO_LEN_MSDU = 7,
|
||||
|
||||
/* ERR_INVALID_PEER:
|
||||
* FW sets this error flag when MSDU is recived from invalid PEER
|
||||
* HOST decides to send DEAUTH or not, recyles buffer.
|
||||
*/
|
||||
HTT_RXDATA_ERR_INVALID_PEER = 8,
|
||||
|
||||
/* add new error codes here */
|
||||
|
||||
HTT_RXDATA_ERR_MAX = 32
|
||||
|
|
|
|||
|
|
@ -1057,6 +1057,20 @@ typedef struct {
|
|||
((_var) |= ((_val) << HTT_PPDU_STATS_USER_COMMON_TLV_CHAIN_ENABLE_BITS_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG_M 0x00010000
|
||||
#define HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG_S 16
|
||||
|
||||
#define HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG_GET(_var) \
|
||||
(((_var) & HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG_M) >> \
|
||||
HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG_S)
|
||||
|
||||
#define HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG, _val); \
|
||||
((_var) |= ((_val) << HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG_S)); \
|
||||
} while (0)
|
||||
|
||||
|
||||
#define HTT_PPDU_STATS_USER_COMMON_TLV_TX_PWR_CHAINS_PER_U32 4
|
||||
#define HTT_PPDU_STATS_USER_COMMON_TLV_TX_PWR_MASK 0x000000ff
|
||||
|
||||
|
|
@ -1194,10 +1208,15 @@ typedef struct {
|
|||
* Default value: 1
|
||||
* tx_pwr[0] value is used for all chains if chain_enable_bits field
|
||||
* is set to 1.
|
||||
*
|
||||
* is_smart_ulofdma_basic_trig:
|
||||
* To check if user grouped in UL OFDMA Basic Trigger Frame is
|
||||
* due to Smart Basic Trigger.
|
||||
*/
|
||||
A_UINT32 tx_pwr_multiplier : 8,
|
||||
chain_enable_bits : 8,
|
||||
reserved2 : 16;
|
||||
A_UINT32 tx_pwr_multiplier : 8,
|
||||
chain_enable_bits : 8,
|
||||
is_smart_ulofdma_basic_trig: 1,
|
||||
reserved2 : 15;
|
||||
|
||||
/*
|
||||
* Transmit powers (signed values packed into unsigned bitfields)
|
||||
|
|
@ -1819,6 +1838,19 @@ typedef enum HTT_PPDU_STATS_RESP_PPDU_TYPE HTT_PPDU_STATS_RESP_PPDU_TYPE;
|
|||
((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_EXTRA_EHT_LTF_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE_M 0x00020000
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE_S 17
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE_GET(_var) \
|
||||
(((_var) & HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE_M) >> \
|
||||
HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE_S)
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE_SET (_var , _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE, _val); \
|
||||
((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE_S)); \
|
||||
} while (0)
|
||||
|
||||
typedef enum HTT_PPDU_STATS_RU_SIZE {
|
||||
HTT_PPDU_STATS_RU_26,
|
||||
HTT_PPDU_STATS_RU_52,
|
||||
|
|
@ -2009,7 +2041,8 @@ typedef struct {
|
|||
*/
|
||||
A_UINT32 punc_pattern_bitmap: 16,
|
||||
extra_eht_ltf: 1,
|
||||
reserved4: 15;
|
||||
is_min_rate: 1,
|
||||
reserved4: 14;
|
||||
} htt_ppdu_stats_user_rate_tlv;
|
||||
|
||||
#define HTT_PPDU_STATS_USR_RATE_VALID_M 0x80000000
|
||||
|
|
@ -2479,6 +2512,11 @@ typedef struct {
|
|||
* for BW supported by Smart Antenna - 320 MHZ
|
||||
*/
|
||||
A_UINT32 max_rates_ext;
|
||||
|
||||
/* hw_prot_dur_us:
|
||||
* hw protection frame's FES duration in micro seconds.
|
||||
*/
|
||||
A_UINT32 hw_prot_dur_us;
|
||||
} htt_ppdu_stats_user_cmpltn_common_tlv;
|
||||
|
||||
#define HTT_PPDU_STATS_USER_CMPLTN_BA_BITMAP_TLV_TID_NUM_M 0x000000ff
|
||||
|
|
|
|||
124
fw/htt_stats.h
124
fw/htt_stats.h
|
|
@ -555,6 +555,34 @@ enum htt_dbg_ext_stats_type {
|
|||
*/
|
||||
HTT_DBG_CODEL_STATS = 58,
|
||||
|
||||
/** HTT_DBG_ODD_PDEV_BE_TX_MU_OFDMA_STATS
|
||||
* PARAMS:
|
||||
* - No Params
|
||||
* RESP MSG:
|
||||
* - htt_tx_pdev_mpdu_stats_tlv
|
||||
*/
|
||||
HTT_DBG_ODD_PDEV_BE_TX_MU_OFDMA_STATS = 59,
|
||||
|
||||
/** HTT_DBG_EXT_STATS_PDEV_UL_TRIGGER
|
||||
* PARAMS:
|
||||
* - No Params
|
||||
* RESP MSG:
|
||||
* - htt_rx_pdev_be_ul_ofdma_user_stats_tlv
|
||||
*/
|
||||
HTT_DBG_ODD_UL_BE_OFDMA_STATS = 60,
|
||||
|
||||
/** HTT_DBG_ODD_BE_TXBF_OFDMA_STATS
|
||||
*/
|
||||
HTT_DBG_ODD_BE_TXBF_OFDMA_STATS = 61,
|
||||
|
||||
/** HTT_DBG_ODD_STATS_PDEV_BE_UL_MUMIMO_TRIG_STATS
|
||||
* PARAMS:
|
||||
* - No Params
|
||||
* RESP MSG:
|
||||
* - htt_rx_pdev_be_ul_ofdma_user_stats_tlv
|
||||
*/
|
||||
HTT_DBG_ODD_STATS_PDEV_BE_UL_MUMIMO_TRIG_STATS = 62,
|
||||
|
||||
|
||||
/* keep this last */
|
||||
HTT_DBG_NUM_EXT_STATS = 256,
|
||||
|
|
@ -1636,6 +1664,13 @@ typedef struct {
|
|||
#define HTT_PEER_DETAILS_ML_PEER_ID_S 1
|
||||
#define HTT_PEER_DETAILS_LINK_IDX_M 0x001fe000
|
||||
#define HTT_PEER_DETAILS_LINK_IDX_S 13
|
||||
#define HTT_PEER_DETAILS_USE_PPE_M 0x00200000
|
||||
#define HTT_PEER_DETAILS_USE_PPE_S 21
|
||||
|
||||
|
||||
#define HTT_PEER_DETAILS_SRC_INFO_M 0x00000fff
|
||||
#define HTT_PEER_DETAILS_SRC_INFO_S 0
|
||||
|
||||
|
||||
#define HTT_PEER_DETAILS_SET(word, httsym, val) \
|
||||
do { \
|
||||
|
|
@ -1664,7 +1699,11 @@ typedef struct {
|
|||
A_UINT32 ml_peer_id_valid : 1, /* [0:0] */
|
||||
ml_peer_id : 12, /* [12:1] */
|
||||
link_idx : 8, /* [20:13] */
|
||||
rsvd : 11; /* [31:21] */
|
||||
use_ppe : 1, /* [21:21] */
|
||||
rsvd0 : 10; /* [31:22] */
|
||||
/* Dword 9 */
|
||||
A_UINT32 src_info : 12, /* [11:0] */
|
||||
rsvd1 : 20; /* [31:12] */
|
||||
} htt_peer_details_tlv;
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -2417,6 +2456,8 @@ typedef enum {
|
|||
#define HTT_TX_NUM_MUMIMO_GRP_INVALID_WORDS \
|
||||
(HTT_STATS_MAX_MUMIMO_GRP_SZ * HTT_STATS_MAX_INVALID_REASON_CODE)
|
||||
|
||||
#define HTT_MAX_NUM_SBT_INTR 4
|
||||
|
||||
typedef struct {
|
||||
htt_tlv_hdr_t tlv_hdr;
|
||||
|
||||
|
|
@ -2469,6 +2510,19 @@ typedef struct {
|
|||
/** 11AX HE MU Standalone Freq. BSRP Trigger completed with error(s) */
|
||||
A_UINT32 standalone_ax_bsr_trigger_err[HTT_NUM_AC_WMM];
|
||||
/* END DEPRECATED FIELDS */
|
||||
/** smart_basic_trig_sch_histogram:
|
||||
* Count how many times the interval between predictive basic triggers
|
||||
* sent to a given STA based on analysis of that STA's traffic patterns
|
||||
* is within a given range:
|
||||
*
|
||||
* smart_basic_trig_sch_histogram[0]: SBT interval <= 10 ms
|
||||
* smart_basic_trig_sch_histogram[1]: 10 ms < SBT interval <= 20 ms
|
||||
* smart_basic_trig_sch_histogram[2]: 20 ms < SBT interval <= 30 ms
|
||||
* smart_basic_trig_sch_histogram[3]: 30 ms < SBT interval <= 40 ms
|
||||
*
|
||||
* (Smart basic triggers are only used with intervals <= 40 ms.)
|
||||
*/
|
||||
A_UINT32 smart_basic_trig_sch_histogram[HTT_MAX_NUM_SBT_INTR];
|
||||
} htt_tx_selfgen_cmn_stats_tlv;
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -6496,12 +6550,15 @@ typedef enum {
|
|||
} htt_txbf_sound_steer_modes;
|
||||
|
||||
typedef enum {
|
||||
HTT_TX_AC_SOUNDING_MODE = 0,
|
||||
HTT_TX_AX_SOUNDING_MODE = 1,
|
||||
HTT_TX_BE_SOUNDING_MODE = 2,
|
||||
HTT_TX_AC_SOUNDING_MODE = 0,
|
||||
HTT_TX_AX_SOUNDING_MODE = 1,
|
||||
HTT_TX_BE_SOUNDING_MODE = 2,
|
||||
HTT_TX_CMN_SOUNDING_MODE = 3,
|
||||
HTT_TX_CV_CORR_MODE = 4,
|
||||
} htt_stats_sounding_tx_mode;
|
||||
|
||||
#define HTT_TX_CV_CORR_MAX_NUM_COLUMNS 8
|
||||
|
||||
typedef struct {
|
||||
htt_tlv_hdr_t tlv_hdr;
|
||||
A_UINT32 tx_sounding_mode; /* HTT_TX_XX_SOUNDING_MODE */
|
||||
|
|
@ -6614,6 +6671,65 @@ typedef struct {
|
|||
A_UINT32 adaptive_snd_kicked_in;
|
||||
/** Total number of times we switched back to normal sounding interval */
|
||||
A_UINT32 adaptive_snd_back_to_default;
|
||||
|
||||
/**
|
||||
* Below are CV correlation feature related stats.
|
||||
* This feature is used for DL MU MIMO, but is not available
|
||||
* from certain legacy targets.
|
||||
*/
|
||||
|
||||
/** number of CV Correlation triggers for online mode */
|
||||
A_UINT32 cv_corr_trigger_online_mode;
|
||||
/** number of CV Correlation triggers for offline mode */
|
||||
A_UINT32 cv_corr_trigger_offline_mode;
|
||||
/** number of CV Correlation triggers for hybrid mode */
|
||||
A_UINT32 cv_corr_trigger_hybrid_mode;
|
||||
/** number of CV Correlation triggers with computation level 0 */
|
||||
A_UINT32 cv_corr_trigger_computation_level_0;
|
||||
/** number of CV Correlation triggers with computation level 1 */
|
||||
A_UINT32 cv_corr_trigger_computation_level_1;
|
||||
/** number of CV Correlation triggers with computation level 2 */
|
||||
A_UINT32 cv_corr_trigger_computation_level_2;
|
||||
/** number of users for which CV Correlation was triggered */
|
||||
A_UINT32 cv_corr_trigger_num_users[HTT_TX_CV_CORR_MAX_NUM_COLUMNS];
|
||||
/** number of streams for which CV Correlation was triggered */
|
||||
A_UINT32 cv_corr_trigger_num_streams[HTT_TX_CV_CORR_MAX_NUM_COLUMNS];
|
||||
/** number of CV Correlation buffers received through IPC tickle */
|
||||
A_UINT32 cv_corr_upload_total_buf_received;
|
||||
/** number of CV Correlation buffers fed back to the IPC ring */
|
||||
A_UINT32 cv_corr_upload_total_buf_fed_back;
|
||||
/** number of CV Correlation buffers for which processing failed */
|
||||
A_UINT32 cv_corr_upload_total_processing_failed;
|
||||
/**
|
||||
* number of CV Correlation buffers for which processing failed,
|
||||
* due to no users being present in parsed buffer
|
||||
*/
|
||||
A_UINT32 cv_corr_upload_failed_total_users_zero;
|
||||
/**
|
||||
* number of CV Correlation buffers for which processing failed,
|
||||
* due to number of users present in parsed buffer exceeded
|
||||
* CV_CORR_MAX_NUM_COLUMNS
|
||||
*/
|
||||
A_UINT32 cv_corr_upload_failed_total_users_exceeded;
|
||||
/**
|
||||
* number of CV Correlation buffers for which processing failed,
|
||||
* due to peer pointer for parsed peer not available
|
||||
*/
|
||||
A_UINT32 cv_corr_upload_failed_peer_not_found;
|
||||
/**
|
||||
* number of CV Correlation buffers for which processing encountered,
|
||||
* Nss of peer exceeding SCHED_ALGO_MAX_SUPPORTED_MUMIMO_NSS
|
||||
*/
|
||||
A_UINT32 cv_corr_upload_user_nss_exceeded;
|
||||
/**
|
||||
* number of CV Correlation buffers for which processing encountered,
|
||||
* invalid reverse look up index for fetching CV correlation results
|
||||
*/
|
||||
A_UINT32 cv_corr_upload_invalid_lookup_index;
|
||||
/** number of users present in uploaded CV Correlation results buffer */
|
||||
A_UINT32 cv_corr_upload_total_num_users[HTT_TX_CV_CORR_MAX_NUM_COLUMNS];
|
||||
/** number of streams present in uploaded CV Correlation results buffer */
|
||||
A_UINT32 cv_corr_upload_total_num_streams[HTT_TX_CV_CORR_MAX_NUM_COLUMNS];
|
||||
} htt_tx_sounding_stats_tlv;
|
||||
|
||||
/* STATS_TYPE : HTT_DBG_EXT_STATS_TX_SOUNDING_INFO
|
||||
|
|
|
|||
|
|
@ -634,6 +634,11 @@ typedef enum {
|
|||
WMI_SERVICE_N_LINK_MLO_SUPPORT = 381, /* Indicate FW supports N MLO link & vdev re-purpose between links */
|
||||
WMI_SERVICE_ATF_MAX_CLIENT_512_SUPPORT = 382, /* Indicates FW supports maximum of 512 clients when ATF is enabled */
|
||||
WMI_SERVICE_FISA_DYNAMIC_MSDU_AGGR_SIZE_SUPPORT = 383, /* Indicates FW support for FISA aggregation size up to 64 instead of only 16 */
|
||||
WMI_SERVICE_BRIDGE_VDEV_SUPPORT = 384, /* Indicated FW supports Bridge VDEV */
|
||||
WMI_SERVICE_MLO_MODE1_RECOVERY_SUPPORTED = 385, /* Indicate fw support for mlo mode1 recovery */
|
||||
WMI_SERVICE_TX_PWR_PER_PPDU_STATS_SUPPORT = 386, /* FW support to check tx power stats per PPDU */
|
||||
WMI_SERVICE_DISABLE_WDS_PEER_MAP_UNMAP_EVENT_SUPPORT = 387, /* Indicate FW support to disable wds peer map/unmap events */
|
||||
WMI_SERVICE_PDEV_WSI_STATS_INFO_SUPPORT = 388, /* Support for WSI Stats Info. */
|
||||
|
||||
WMI_MAX_EXT2_SERVICE
|
||||
|
||||
|
|
|
|||
|
|
@ -1392,6 +1392,10 @@ typedef enum {
|
|||
WMITLV_TAG_STRUC_wmi_aux_dev_capabilities,
|
||||
WMITLV_TAG_STRUC_wmi_nan_oem_data_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_nan_oem_data_event_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_pdev_enhanced_aoa_phasedelta_evt_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_enhanced_aoa_gain_phase_data_hdr,
|
||||
WMITLV_TAG_STRUC_wmi_ctrl_path_sta_rrm_stats_struct,
|
||||
WMITLV_TAG_STRUC_wmi_pdev_wsi_stats_info_cmd_fixed_param,
|
||||
} WMITLV_TAG_ID;
|
||||
/*
|
||||
* IMPORTANT: Please add _ALL_ WMI Commands Here.
|
||||
|
|
@ -1926,6 +1930,7 @@ typedef enum {
|
|||
OP(WMI_MLO_LINK_SET_BSS_PARAMS_CMDID) \
|
||||
OP(WMI_MLO_LINK_SWITCH_CONF_CMDID) \
|
||||
OP(WMI_NAN_OEM_DATA_CMDID) \
|
||||
OP(WMI_PDEV_WSI_STATS_INFO_CMDID) \
|
||||
/* add new CMD_LIST elements above this line */
|
||||
|
||||
|
||||
|
|
@ -2241,6 +2246,7 @@ typedef enum {
|
|||
OP(WMI_MLO_PRIMARY_LINK_PEER_MIGRATION_EVENTID) \
|
||||
OP(WMI_MLO_LINK_SWITCH_REQUEST_EVENTID) \
|
||||
OP(WMI_NAN_OEM_DATA_EVENTID) \
|
||||
OP(WMI_PDEV_ENHANCED_AOA_PHASEDELTA_EVENTID) \
|
||||
/* add new EVT_LIST elements above this line */
|
||||
|
||||
|
||||
|
|
@ -5452,6 +5458,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_SET_BSS_PARAMS_CMDID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mlo_link_switch_cnf_fixed_param, wmi_mlo_link_switch_cnf_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_SWITCH_CONF_CMDID);
|
||||
|
||||
/* WMI CMD used to send WSI stats info. */
|
||||
#define WMITLV_TABLE_WMI_PDEV_WSI_STATS_INFO_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_wsi_stats_info_cmd_fixed_param, wmi_pdev_wsi_stats_info_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_WSI_STATS_INFO_CMDID);
|
||||
|
||||
|
||||
|
||||
/************************** TLV definitions of WMI events *******************************/
|
||||
|
|
@ -5725,7 +5736,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_STA_KICKOUT_EVENTID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bpcc_bufp, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_is_my_mgmt_frame, my_frame, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_link_removal_tbtt_count, link_removal_tbtt_count, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_bcast_t2lm_info, mlo_bcast_t2lm_info, WMITLV_SIZE_VAR)
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_bcast_t2lm_info, mlo_bcast_t2lm_info, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ie_data, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_RX_EVENTID);
|
||||
|
||||
/* Management Rx FW Consumed Event */
|
||||
|
|
@ -6916,7 +6928,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_STATS_INFO_EVENTID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_t2lm_stats_struct, ctrl_path_t2lm_stats, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_blanking_stats_struct, ctrl_path_blanking_stats, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_peer_stats_struct, ctrl_path_peer_stats, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_vdev_stats_struct, ctrl_path_vdev_stats, WMITLV_SIZE_VAR)
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_vdev_stats_struct, ctrl_path_vdev_stats, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_sta_rrm_stats_struct, ctrl_path_sta_rrm_stats, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_CTRL_PATH_STATS_EVENTID);
|
||||
|
||||
/*
|
||||
|
|
@ -7224,7 +7237,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_TWT_SESSION_STATS_EVENTID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, force_active_vdev_bitmap, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, force_inactive_vdev_bitmap, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, force_active_ieee_link_id_bitmap, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, force_inactive_ieee_link_id_bitmap, WMITLV_SIZE_VAR)
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, force_inactive_ieee_link_id_bitmap, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, current_active_ieee_link_id_bitmap, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, current_inactive_ieee_link_id_bitmap, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_SET_ACTIVE_RESP_EVENTID);
|
||||
|
||||
/* Get DPD status Event */
|
||||
|
|
@ -7431,6 +7446,16 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MLO_PRIMARY_LINK_PEER_MIGRATION_CMDID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_primary_link_peer_migration_status, primary_link_peer_migration_status, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_MLO_PRIMARY_LINK_PEER_MIGRATION_EVENTID);
|
||||
|
||||
/*
|
||||
* Update AOA Phase delta values for all gain tables event
|
||||
* Below definition shows TLV packing of AOA Phase delta values for all gain tables event
|
||||
*/
|
||||
#define WMITLV_TABLE_WMI_PDEV_ENHANCED_AOA_PHASEDELTA_EVENTID(id, op, buf, len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_enhanced_aoa_phasedelta_evt_fixed_param, wmi_pdev_enhanced_aoa_phasedelta_evt_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_enhanced_aoa_gain_phase_data_hdr, aoa_data_hdr, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, aoa_data_buf, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_ENHANCED_AOA_PHASEDELTA_EVENTID);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
|||
262
fw/wmi_unified.h
262
fw/wmi_unified.h
|
|
@ -512,6 +512,8 @@ typedef enum {
|
|||
WMI_PDEV_SET_TGTR2P_TABLE_CMDID,
|
||||
/* WMI cmd to set RF path for PHY */
|
||||
WMI_PDEV_SET_RF_PATH_CMDID,
|
||||
/** WSI stats info WMI command */
|
||||
WMI_PDEV_WSI_STATS_INFO_CMDID,
|
||||
|
||||
|
||||
/* VDEV (virtual device) specific commands */
|
||||
|
|
@ -1748,6 +1750,8 @@ typedef enum {
|
|||
/* Event to indicate completion on RF path */
|
||||
WMI_PDEV_SET_RF_PATH_RESP_EVENTID,
|
||||
|
||||
/* Event to get AOA phasedelta values for all gain tables from HALPHY */
|
||||
WMI_PDEV_ENHANCED_AOA_PHASEDELTA_EVENTID,
|
||||
|
||||
/* VDEV specific events */
|
||||
/** VDEV started event in response to VDEV_START request */
|
||||
|
|
@ -4478,8 +4482,17 @@ typedef struct {
|
|||
* 0 - Primary
|
||||
* 1 - Secondary
|
||||
* Refer to WMI_RSRC_CFG_FLAGS2_RF_PATH_MODE_GET/SET macros.
|
||||
* Bit 18 - disable_wds_peer_map_unmap_event
|
||||
* Flag to indicate whether the WDS peer map/unmap event should be
|
||||
* processed or ignored.
|
||||
* 0 - leave the WDS peer map/unmap event enabled
|
||||
* 1 - disable the WDS peer map/unmap event
|
||||
* This flag shall only be set if the target has set the
|
||||
* WMI_SERVICE_DISABLE_WDS_PEER_MAP_UNMAP_EVENT_SUPPORT flag.
|
||||
* Refer to WMI_RSRC_CFG_FLAGS2_DISABLE_WDS_PEER_MAP_UNMAP_EVENT_GET
|
||||
* and _SET macros.
|
||||
*
|
||||
* Bits 31:18 - Reserved
|
||||
* Bits 31:19 - Reserved
|
||||
*/
|
||||
A_UINT32 flags2;
|
||||
/** @brief host_service_flags - can be used by Host to indicate
|
||||
|
|
@ -4945,6 +4958,11 @@ typedef struct {
|
|||
#define WMI_RSRC_CFG_FLAGS2_RF_PATH_MODE_SET(flags2, value) \
|
||||
WMI_SET_BITS(flags2, 17, 1, value)
|
||||
|
||||
#define WMI_RSRC_CFG_FLAGS2_DISABLE_WDS_PEER_MAP_UNMAP_EVENT_GET(flags2) \
|
||||
WMI_GET_BITS(flags2, 18, 1)
|
||||
#define WMI_RSRC_CFG_FLAGS2_DISABLE_WDS_PEER_MAP_UNMAP_EVENT_SET(flags2, value) \
|
||||
WMI_SET_BITS(flags2, 18, 1, value)
|
||||
|
||||
|
||||
#define WMI_RSRC_CFG_HOST_SERVICE_FLAG_NAN_IFACE_SUPPORT_GET(host_service_flags) \
|
||||
WMI_GET_BITS(host_service_flags, 0, 1)
|
||||
|
|
@ -9241,6 +9259,27 @@ typedef enum {
|
|||
* units are microseconds
|
||||
*/
|
||||
WMI_PDEV_PARAM_SLOT_TIME,
|
||||
|
||||
/** VO dedicated time -
|
||||
* allocate dedicated time slots for VO access category across all
|
||||
* ATF groups in a pdev.
|
||||
* Note :
|
||||
* 1. Per AC airtime per group is already available through
|
||||
* ATF WMM WMI commands
|
||||
* 2. The dedicated time slot is applicable per second
|
||||
* 3. Units are in milli-seconds
|
||||
*/
|
||||
WMI_PDEV_PARAM_ATF_VO_DEDICATED_TIME,
|
||||
|
||||
/** VI dedicated time -
|
||||
* allocate dedicated time slots for VI access category across all
|
||||
* ATF groups in a pdev.
|
||||
* Note :
|
||||
* 1. Per AC airtime per group is already given through ATF WMM WMI cmds
|
||||
* 2. The dedicated time slot is applicable per second
|
||||
* 3. Units are in milli-seconds
|
||||
*/
|
||||
WMI_PDEV_PARAM_ATF_VI_DEDICATED_TIME,
|
||||
} WMI_PDEV_PARAM;
|
||||
|
||||
#define WMI_PDEV_ONLY_BSR_TRIG_IS_ENABLED(trig_type) WMI_GET_BITS(trig_type, 0, 1)
|
||||
|
|
@ -10535,20 +10574,6 @@ typedef enum {
|
|||
WMI_CHAN_WIDTH_MAX,
|
||||
} wmi_channel_width;
|
||||
|
||||
/* channel width switch type */
|
||||
typedef enum {
|
||||
WMI_CHAN_WIDTH_SWITCH_TYPE_TXRX = 0,
|
||||
WMI_CHAN_WIDTH_SWITCH_TYPE_TXONLY = 1,
|
||||
|
||||
WMI_CHAN_WIDTH_SWITCH_TYPE_MAX,
|
||||
} wmi_chan_width_switch_type;
|
||||
|
||||
#define WMI_VDEV_CHAN_WIDTH_NOTIFY_GET_CHAN_WIDTH(chwidth_notify) WMI_GET_BITS(chwidth_notify, 0, 8)
|
||||
#define WMI_VDEV_CHAN_WIDTH_NOTIFY_SET_CHAN_WIDTH(chwidth_notify, value) WMI_SET_BITS(chwidth_notify, 0, 8, value)
|
||||
|
||||
#define WMI_VDEV_CHAN_WIDTH_NOTIFY_GET_SWITCH_TYPE(chwidth_notify) WMI_GET_BITS(chwidth_notify, 8, 2)
|
||||
#define WMI_VDEV_CHAN_WIDTH_NOTIFY_SET_SWITCH_TYPE(chwidth_notify, value) WMI_SET_BITS(chwidth_notify, 8, 2, value)
|
||||
|
||||
/* Clear stats */
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_clear_link_stats_cmd_fixed_param */
|
||||
|
|
@ -15675,6 +15700,18 @@ typedef struct {
|
|||
#define WMI_VDEV_STATS_IS_MULTI_GROUP_KEY_ENABLED_GET(flag) \
|
||||
WMI_GET_BITS(flag, 31, 1)
|
||||
|
||||
typedef struct {
|
||||
/* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_ctrl_path_sta_rrm_stats_struct */
|
||||
A_UINT32 tlv_header;
|
||||
A_UINT32 dot11GroupTransmittedFrameCount;
|
||||
A_UINT32 dot11GroupReceivedFrameCount;
|
||||
A_UINT32 dot11TransmittedFrameCount;
|
||||
A_UINT32 dot11AckFailureCount;
|
||||
A_UINT32 dot11FailedCount;
|
||||
A_UINT32 dot11FCSErrorCount;
|
||||
A_UINT32 dot11RTSSuccessCount;
|
||||
A_UINT32 dot11RTSFailureCount;
|
||||
} wmi_ctrl_path_sta_rrm_stats_struct;
|
||||
|
||||
/**
|
||||
* peer statistics.
|
||||
|
|
@ -16168,6 +16205,12 @@ typedef enum {
|
|||
* If SW encryption is enabled, key plumbing will not happen in FW.
|
||||
*/
|
||||
#define WMI_UNIFIED_VDEV_START_HW_ENCRYPTION_DISABLED (1<<4)
|
||||
/** Indicates VAP is used for MLO repurpose.
|
||||
* This Indicates that vap can be brought up as 11ax or 11be and can be
|
||||
* repurposed based on the above stack on the fly to change from MLO to
|
||||
* non MLO, currently we support only 11ax and 11be transition.
|
||||
*/
|
||||
#define WMI_UNIFIED_VDEV_START_MLO_REPURPOSE_VAP (1<<5)
|
||||
|
||||
/* BSS color 0-6 */
|
||||
#define WMI_HEOPS_COLOR_GET_D2(he_ops) WMI_GET_BITS(he_ops, 0, 6)
|
||||
|
|
@ -18058,11 +18101,7 @@ typedef enum {
|
|||
* Please note incase of STA VDEV only BSS peer gets updated,
|
||||
* associated TDLS peer bandwidth won't be impacted.
|
||||
*
|
||||
* bit 7:0 the updated bandwidth is specified with
|
||||
* a wmi_channel_width value
|
||||
* bit 9:8 the updated bandwidth switch type is specified with
|
||||
* a wmi_chan_width_switch_type value
|
||||
* bit 31:10 reserved
|
||||
* The updated bandwidth is specified with a wmi_channel_width value.
|
||||
*/
|
||||
WMI_VDEV_PARAM_CHWIDTH_WITH_NOTIFY, /* 0xBA */
|
||||
|
||||
|
|
@ -18084,6 +18123,18 @@ typedef enum {
|
|||
*/
|
||||
WMI_VDEV_PARAM_RTT_11AZ_TB_MAX_SESSION_EXPIRY, /* 0xBD */
|
||||
|
||||
/*
|
||||
* WiFi Standard version to be supported.
|
||||
* Value is from enum WMI_WIFI_STANDARD
|
||||
*/
|
||||
WMI_VDEV_PARAM_WIFI_STANDARD_VERSION, /* 0xBE */
|
||||
|
||||
/*
|
||||
* Allow to disable TWT on 2G channel
|
||||
* if corresponding INI is set
|
||||
*/
|
||||
WMI_VDEV_PARAM_DISABLE_2G_TWT, /* 0xBF */
|
||||
|
||||
|
||||
/*=== ADD NEW VDEV PARAM TYPES ABOVE THIS LINE ===
|
||||
* The below vdev param types are used for prototyping, and are
|
||||
|
|
@ -19076,6 +19127,12 @@ enum wmi_sta_ps_param_uapsd {
|
|||
WMI_STA_PS_UAPSD_AC3_TRIGGER_EN = (1 << 7),
|
||||
};
|
||||
|
||||
enum wmi_sta_ps_scheme_cfg {
|
||||
WMI_STA_PS_OPM_CONSERVATIVE = 0,
|
||||
WMI_STA_PS_OPM_AGGRESSIVE = 1,
|
||||
WMI_STA_PS_USER_DEF = 2,
|
||||
};
|
||||
|
||||
enum wmi_sta_powersave_param {
|
||||
/**
|
||||
* Controls how frames are retrievd from AP while STA is sleeping
|
||||
|
|
@ -19121,9 +19178,10 @@ WMI_STA_PS_PARAM_UAPSD = 4,
|
|||
WMI_STA_PS_PARAM_QPOWER_PSPOLL_COUNT = 5,
|
||||
|
||||
/**
|
||||
* Enable QPower
|
||||
* Enable OPM
|
||||
*/
|
||||
WMI_STA_PS_ENABLE_QPOWER = 6,
|
||||
WMI_STA_PS_ENABLE_OPM = WMI_STA_PS_ENABLE_QPOWER, /* alias */
|
||||
|
||||
/**
|
||||
* Number of TX frames before the entering the Active state
|
||||
|
|
@ -19152,6 +19210,12 @@ WMI_STA_PS_PARAM_MAX_RESET_ITO_COUNT_ON_TIM_NO_TXRX = 10,
|
|||
* in WOW
|
||||
*/
|
||||
WMI_STA_PS_PARAM_ENABLE_PS_OPT_IN_WOW = 11,
|
||||
|
||||
/**
|
||||
* Speculative interval in ms
|
||||
*/
|
||||
WMI_STA_PS_PARAM_SPEC_WAKE_INTERVAL = 12,
|
||||
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -20147,6 +20211,8 @@ typedef struct {
|
|||
|
||||
#define WMI_PEER_FT_ROAMING_PEER_UPDATE 0x29
|
||||
|
||||
#define WMI_PEER_PARAM_DMS_SUPPORT 0x2A
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_set_param_cmd_fixed_param */
|
||||
/** unique id identifying the VDEV, generated by the caller */
|
||||
|
|
@ -23202,6 +23268,8 @@ typedef enum wake_reason_e {
|
|||
WOW_REASON_XGAP,
|
||||
/* COEX channel avoid event */
|
||||
WOW_REASON_COEX_CHAVD,
|
||||
/* vdev repurpose request event */
|
||||
WOW_REASON_VDEV_REPURPOSE,
|
||||
|
||||
/* add new WOW_REASON_ defs before this line */
|
||||
WOW_REASON_MAX,
|
||||
|
|
@ -24853,6 +24921,13 @@ typedef enum
|
|||
*/
|
||||
WMI_VENDOR_OUI_ACTION_ENABLE_CTS2SELF_WITH_QOS_NULL = 11,
|
||||
|
||||
/*
|
||||
* Send SMPS frame following OMN frame on VHT conncection if specific
|
||||
* vendor OUI received in beacon.
|
||||
*/
|
||||
WMI_VENDOR_OUI_ACTION_SEND_SMPS_FRAME_WITH_OMN = 12,
|
||||
|
||||
|
||||
/* Add any action before this line */
|
||||
WMI_VENDOR_OUI_ACTION_MAX_ACTION_ID
|
||||
} wmi_vendor_oui_action_id;
|
||||
|
|
@ -34624,6 +34699,7 @@ typedef enum {
|
|||
WMI_REQUEST_CTRL_PATH_BLANKING_STAT = 15,
|
||||
WMI_REQUEST_CTRL_PATH_PEER_STAT = 16,
|
||||
WMI_REQUEST_CTRL_PATH_VDEV_DEBUG_STAT = 17,
|
||||
WMI_REQUEST_CTRL_STA_RRM_STAT = 18,
|
||||
} wmi_ctrl_path_stats_id;
|
||||
|
||||
typedef enum {
|
||||
|
|
@ -36748,6 +36824,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
|
|||
WMI_RETURN_STRING(WMI_MLO_PRIMARY_LINK_PEER_MIGRATION_CMDID);
|
||||
WMI_RETURN_STRING(WMI_MLO_LINK_RECOMMENDATION_CMDID);
|
||||
WMI_RETURN_STRING(WMI_NAN_OEM_DATA_CMDID);
|
||||
WMI_RETURN_STRING(WMI_PDEV_WSI_STATS_INFO_CMDID);
|
||||
}
|
||||
|
||||
return (A_UINT8 *) "Invalid WMI cmd";
|
||||
|
|
@ -38385,6 +38462,8 @@ typedef enum _WMI_ADD_TWT_STATUS_T {
|
|||
WMI_ADD_TWT_STATUS_DIALOG_ID_BUSY, /* FW is in the process of handling this dialog */
|
||||
WMI_ADD_TWT_STATUS_BTWT_NOT_ENBABLED, /* Broadcast TWT is not enabled */
|
||||
WMI_ADD_TWT_STATUS_RTWT_NOT_ENBABLED, /* Restricted TWT is not enabled */
|
||||
WMI_ADD_TWT_STATUS_LINK_SWITCH_IN_PROGRESS, /* Link switch is ongoing */
|
||||
WMI_ADD_TWT_STATUS_UNSUPPORTED_MODE_MLMR, /* Unsupported in MLMR mode */
|
||||
} WMI_ADD_TWT_STATUS_T;
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -40385,6 +40464,131 @@ typedef struct {
|
|||
A_UINT32 perChainIbfCalVal[WMI_MAX_CHAINS_FOR_AOA_RCC];
|
||||
} wmi_pdev_aoa_phasedelta_evt_fixed_param;
|
||||
|
||||
#define WMI_AOA_MAX_SUPPORTED_CHAINS_GET(chain_data) \
|
||||
WMI_GET_BITS(chain_data, 0, 16)
|
||||
#define WMI_AOA_MAX_SUPPORTED_CHAINS_SET(chain_data, value) \
|
||||
WMI_SET_BITS(chain_data, 0, 16, value)
|
||||
|
||||
#define WMI_AOA_SUPPORTED_CHAINMASK_GET(chain_data) \
|
||||
WMI_GET_BITS(chain_data, 16, 16)
|
||||
#define WMI_AOA_SUPPORTED_CHAINMASK_SET(chain_data, value) \
|
||||
WMI_SET_BITS(chain_data, 16, 16, value)
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_pdev_enhanced_aoa_phasedelta_eventid */
|
||||
A_UINT32 tlv_header;
|
||||
/* Current Operating Channel Frequency in MHz */
|
||||
A_UINT32 freq;
|
||||
/** pdev_id:
|
||||
* Identify the MAC.
|
||||
* See macros starting with WMI_PDEV_ID_ for values.
|
||||
* In non-DBDC case host should set it to 0.
|
||||
*/
|
||||
A_UINT32 pdev_id;
|
||||
/** chain_info:
|
||||
* B0 -- B15 : Max number of chains supported
|
||||
* B16 --B31 : Data shared for chainmask -
|
||||
* indicates the chains to which the data shared.
|
||||
*/
|
||||
union {
|
||||
struct {
|
||||
A_UINT32 max_supported_chains:16,
|
||||
data_for_chainmask:16;
|
||||
};
|
||||
A_UINT32 chain_info;
|
||||
};
|
||||
/** XBAR configuration to get RF2BB/BB2RF chain mapping
|
||||
* Samples of xbar_config,
|
||||
* If xbar_config is 0xFAC688(hex):
|
||||
* RF chains 0-7 are connected to BB chains 0-7
|
||||
* here,
|
||||
* bits 0 to 2 = 0, maps BB chain 0 for RF chain 0
|
||||
* bits 3 to 5 = 1, maps BB chain 1 for RF chain 1
|
||||
* bits 6 to 8 = 2, maps BB chain 2 for RF chain 2
|
||||
* bits 9 to 11 = 3, maps BB chain 3 for RF chain 3
|
||||
* bits 12 to 14 = 4, maps BB chain 4 for RF chain 4
|
||||
* bits 15 to 17 = 5, maps BB chain 5 for RF chain 5
|
||||
* bits 18 to 20 = 6, maps BB chain 6 for RF chain 6
|
||||
* bits 21 to 23 = 7, maps BB chain 7 for RF chain 7
|
||||
*
|
||||
* If xbar_config is 0x688FAC(hex):
|
||||
* RF chains 0-3 are connected to BB chains 4-7
|
||||
* RF chains 4-7 are connected to BB chains 0-3
|
||||
* here,
|
||||
* bits 0 to 2 = 4, maps BB chain 4 for RF chain 0
|
||||
* bits 3 to 5 = 5, maps BB chain 5 for RF chain 1
|
||||
* bits 6 to 8 = 6, maps BB chain 6 for RF chain 2
|
||||
* bits 9 to 11 = 7, maps BB chain 7 for RF chain 3
|
||||
* bits 12 to 14 = 0, maps BB chain 0 for RF chain 4
|
||||
* bits 15 to 17 = 1, maps BB chain 1 for RF chain 5
|
||||
* bits 18 to 20 = 2, maps BB chain 2 for RF chain 6
|
||||
* bits 21 to 23 = 3, maps BB chain 3 for RF chain 7
|
||||
*/
|
||||
A_UINT32 xbar_config;
|
||||
/**
|
||||
* IBF cal values:
|
||||
* Used for final AoA calculation
|
||||
* [AoAPhase = ( PhaseDeltaValue + IBFcalValue ) % 1024]
|
||||
*/
|
||||
A_UINT32 per_chain_ibf_cal_val[WMI_MAX_CHAINS];
|
||||
/**
|
||||
* This TLV is followed by TLV arrays containing
|
||||
* different types of data header and data buffer TLVs:
|
||||
* 1. wmi_enhanced_aoa_gain_phase_data_hdr.
|
||||
* This TLV contains the array of structure fields which indicate
|
||||
* the type and format of data carried in the following data buffer
|
||||
* TLV.
|
||||
* 2. aoa_data_buf[] - Data buffer TLV.
|
||||
* TLV header contains the total buffer size.
|
||||
* Data buffer contains the phase_delta_array[Chains][GainEntries]
|
||||
* in absolute phase values ranging 0-1024 and
|
||||
* gain_delta_array[Chains][GainEntries] are gain index values.
|
||||
*/
|
||||
} wmi_pdev_enhanced_aoa_phasedelta_evt_fixed_param;
|
||||
|
||||
#define WMI_AOA_DATA_TYPE_GET(data_info) \
|
||||
WMI_GET_BITS(data_info, 0, 8)
|
||||
#define WMI_AOA_DATA_TYPE_SET(data_info,value) \
|
||||
WMI_SET_BITS(data_info, 0, 8, value)
|
||||
|
||||
#define WMI_AOA_NUM_ENTIRES_GET(data_info) \
|
||||
WMI_GET_BITS(data_info, 8, 8)
|
||||
#define WMI_AOA_NUM_DATA_ENTRIES_SET(data_info,value) \
|
||||
WMI_SET_BITS(data_info, 8, 8, value)
|
||||
|
||||
typedef enum _WMI_AOA_EVENT_DATA_TYPE {
|
||||
WMI_PHASE_DELTA_ARRAY = 0x0,
|
||||
WMI_GAIN_GROUP_STOP_ARRAY = 0x1,
|
||||
/* add new types here */
|
||||
WMI_MAX_DATA_TYPE_ARRAY,
|
||||
} WMI_AOA_EVENT_DATA_TYPE;
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_pdev_enhanced_aoa_phasedelta_eventid */
|
||||
A_UINT32 tlv_header;
|
||||
/** data_info:
|
||||
* Data follows the LSB first and MSB second order in a 32bit word
|
||||
* bit mapping:
|
||||
* B0 -- B7 : Data type
|
||||
* B8 -- B15 : Number of entries to be parsed in terms of 32bit word
|
||||
*
|
||||
* If data is Phase delta values - Data type is 0x0
|
||||
* group stop gain index values - Data type is 0x1
|
||||
*
|
||||
* num_entries - Total number of data entries in uint32
|
||||
*/
|
||||
union {
|
||||
struct {
|
||||
A_UINT32 data_type:8,
|
||||
num_entries:8,
|
||||
reserved:16;
|
||||
};
|
||||
A_UINT32 data_info;
|
||||
};
|
||||
} wmi_enhanced_aoa_gain_phase_data_hdr;
|
||||
|
||||
/* WMI_HALPHY_CAL_LIST:
|
||||
*
|
||||
* Below is the list of HALPHY online CAL currently enabled in
|
||||
|
|
@ -44134,6 +44338,10 @@ typedef struct wmi_mlo_link_set_active_resp_event
|
|||
* If use_ieee_link_id_bitmap equals 1, ieee_link_id_bitmap[] are valid.
|
||||
* A_UINT32 force_active_ieee_link_id_bitmap[];
|
||||
* A_UINT32 force_inactive_ieee_link_id_bitmap[];
|
||||
*---
|
||||
* current active ieee link id bitmap & inactive ieee link id bitmap
|
||||
* A_UINT32 current_active_ieee_link_id_bitmap[];
|
||||
* A_UINT32 current_inactive_ieee_link_id_bitmap[];
|
||||
*/
|
||||
} wmi_mlo_link_set_active_resp_event_fixed_param;
|
||||
|
||||
|
|
@ -45606,7 +45814,7 @@ typedef struct {
|
|||
struct {
|
||||
A_UINT32 vdev_id:8, /* vdev id for this link */
|
||||
link_id:8, /* link id defined as in 802.11 BE spec. */
|
||||
link_status:2, /* link_status - 0: active, 1: inactive */
|
||||
link_status:2, /* link_status - 0: inactive, 1: active */
|
||||
reserved:14;
|
||||
};
|
||||
A_UINT32 link_info;
|
||||
|
|
@ -46196,6 +46404,16 @@ typedef struct {
|
|||
A_UINT32 emlsr_pdev_id_map;
|
||||
} wmi_aux_dev_capabilities;
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_pdev_wsi_stats_info_cmd_fixed_param
|
||||
*/
|
||||
A_UINT32 tlv_header;
|
||||
A_UINT32 pdev_id; /* for identifying the MAC */
|
||||
A_UINT32 wsi_ingress_load_info;
|
||||
A_UINT32 wsi_egress_load_info;
|
||||
} wmi_pdev_wsi_stats_info_cmd_fixed_param;
|
||||
|
||||
|
||||
|
||||
/* ADD NEW DEFS HERE */
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
#define __WMI_VER_MINOR_ 0
|
||||
/** WMI revision number has to be incremented when there is a
|
||||
* change that may or may not break compatibility. */
|
||||
#define __WMI_REVISION_ 1357
|
||||
#define __WMI_REVISION_ 1375
|
||||
|
||||
/** The Version Namespace should not be normally changed. Only
|
||||
* host and firmware of the same WMI namespace will work
|
||||
|
|
|
|||
Loading…
Reference in a new issue