fw-api: CL 24006951 - update fw common interface files
Change-Id: I5d9f4263a88223680b349335c9a89ea79be669c9 WMI: add enhanced_aoa_gain_table_capabilities in SERVICE_READY_EXT2_EVENT msg CRs-Fixed: 2262693
Bu işleme şunda yer alıyor:
@@ -1396,6 +1396,8 @@ typedef enum {
|
||||
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_STRUC_wmi_enhanced_aoa_caps_param,
|
||||
WMITLV_TAG_STRUC_wmi_enhanced_aoa_per_band_caps_param,
|
||||
} WMITLV_TAG_ID;
|
||||
/*
|
||||
* IMPORTANT: Please add _ALL_ WMI Commands Here.
|
||||
@@ -5519,7 +5521,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT_EVENTID);
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_sw_cal_ver_cap, sw_cal_ver_cap, WMITLV_SIZE_VAR) \
|
||||
WMITLV_FXAR(id,op,buf,len, WMITLV_TAG_ARRAY_INT32, A_INT32, hw_tx_power_signed, WMITLV_SIZE_FIX, WMI_HW_TX_POWER_CAPS_MAX) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_COEX_FIX_CHANNEL_CAPABILITIES, coex_fix_channel_caps, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_aux_dev_capabilities, aux_dev_caps, WMITLV_SIZE_VAR)
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_aux_dev_capabilities, aux_dev_caps, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_enhanced_aoa_caps_param, aoa_caps_param, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_enhanced_aoa_per_band_caps_param, aoa_per_band_caps_param, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT2_EVENTID);
|
||||
|
||||
#define WMITLV_TABLE_WMI_SPECTRAL_CAPABILITIES_EVENTID(id,op,buf,len) \
|
||||
|
@@ -40597,6 +40597,104 @@ typedef struct {
|
||||
};
|
||||
} wmi_enhanced_aoa_gain_phase_data_hdr;
|
||||
|
||||
typedef enum _WMI_AGC_GAIN_TABLE_IDX {
|
||||
WMI_AGC_DG_TABLE_IDX = 0,
|
||||
WMI_AGC_LG_TABLE_IDX,
|
||||
WMI_AGC_VLG_TABLE_IDX,
|
||||
WMI_AGC_MAX_GAIN_TABLE_IDX = 8,
|
||||
} WMI_AGC_GAIN_TABLE_IDX;
|
||||
|
||||
#define WMI_AOA_BDF_NUM_GAIN_TBL_ELEMS_PER_WORD 4
|
||||
#define WMI_AOA_NUM_GAIN_TBL_ELEMS_PER_WORD 2
|
||||
#define WMI_AOA_NUM_BYTES_FOR_BDF_GAIN_TBL_ELEM 1
|
||||
#define WMI_AOA_NUM_BYTES_FOR_GAIN_TBL_ELEM 2
|
||||
|
||||
/* Number of words required to store max number of gain table elements = ((max number of gain table elements)/(number of gain table elements per word)) */
|
||||
/* 2 bytes (at most)used to store each gain table elements */
|
||||
#define WMI_AOA_NUM_WORD_ENTRIES_FOR_MAX_NUM_AGC_TBL_ELEMS (WMI_AGC_MAX_GAIN_TABLE_IDX / WMI_AOA_NUM_GAIN_TBL_ELEMS_PER_WORD)
|
||||
|
||||
/* 1 byte (at most) used to store each gain table elements obtained from BDF */
|
||||
#define WMI_AOA_BDF_NUM_WORD_ENTRIES_FOR_MAX_NUM_AGC_TBL_ELEMS (WMI_AGC_MAX_GAIN_TABLE_IDX / WMI_AOA_BDF_NUM_GAIN_TBL_ELEMS_PER_WORD)
|
||||
|
||||
typedef enum {
|
||||
WMI_AOA_2G = 0,
|
||||
WMI_AOA_5G,
|
||||
WMI_AOA_6G,
|
||||
WMI_AOA_MAX_BAND,
|
||||
} WMI_AOA_SUPPORTED_BANDS;
|
||||
|
||||
#define WMI_AOA_MAX_AGC_GAIN_GET(pcap_var, tbl_idx, output) \
|
||||
do { \
|
||||
A_UINT8 word_idx = 0; \
|
||||
A_UINT8 bit_index = 0; \
|
||||
A_UINT8 nth_byte = 0; \
|
||||
word_idx = tbl_idx >> 1; \
|
||||
nth_byte = (tbl_idx % WMI_AOA_NUM_GAIN_TBL_ELEMS_PER_WORD); \
|
||||
bit_index = nth_byte * 8 * WMI_AOA_NUM_BYTES_FOR_GAIN_TBL_ELEM; \
|
||||
output = WMI_GET_BITS(*(pcap_var + word_idx), bit_index, 16); \
|
||||
} while (0)
|
||||
|
||||
#define WMI_AOA_MAX_AGC_GAIN_SET(pcap_var, tbl_idx, value) \
|
||||
do { \
|
||||
A_UINT8 word_idx = 0; \
|
||||
A_UINT8 bit_index = 0; \
|
||||
A_UINT8 nth_byte = 0; \
|
||||
word_idx = tbl_idx >> 1; \
|
||||
nth_byte = (tbl_idx % WMI_AOA_NUM_GAIN_TBL_ELEMS_PER_WORD); \
|
||||
bit_index = nth_byte * 8 * WMI_AOA_NUM_BYTES_FOR_GAIN_TBL_ELEM; \
|
||||
WMI_SET_BITS(*(pcap_var+word_idx), bit_index, 16, value); \
|
||||
} while (0)
|
||||
|
||||
#define WMI_AOA_MAX_BDF_ENTRIES_GET(pcap_var, tbl_idx, output) \
|
||||
do { \
|
||||
A_UINT8 word_idx = 0; \
|
||||
A_UINT8 bit_index = 0; \
|
||||
A_UINT8 nth_byte = 0; \
|
||||
word_idx = tbl_idx >> 2; \
|
||||
nth_byte = (tbl_idx % WMI_AOA_BDF_NUM_GAIN_TBL_ELEMS_PER_WORD); \
|
||||
bit_index = nth_byte * 8 * WMI_AOA_NUM_BYTES_FOR_BDF_GAIN_TBL_ELEM; \
|
||||
output = WMI_GET_BITS(*(pcap_var+word_idx), bit_index, 8); \
|
||||
} while (0)
|
||||
|
||||
#define WMI_AOA_MAX_BDF_ENTRIES_SET(pcap_var, tbl_idx, value) \
|
||||
do { \
|
||||
A_UINT8 word_idx = 0; \
|
||||
A_UINT8 nth_byte = 0; \
|
||||
A_UINT8 bit_index = 0; \
|
||||
word_idx = tbl_idx >> 2; \
|
||||
nth_byte = (tbl_idx % WMI_AOA_BDF_NUM_GAIN_TBL_ELEMS_PER_WORD); \
|
||||
bit_index = nth_byte * 8 * WMI_AOA_NUM_BYTES_FOR_BDF_GAIN_TBL_ELEM; \
|
||||
WMI_SET_BITS(*(pcap_var+word_idx), bit_index, 8, value); \
|
||||
} while (0)
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_enhanced_aoa_caps_param */
|
||||
A_UINT32 tlv_header;
|
||||
|
||||
/* Maximum number of Rx AGC gain tables supported */
|
||||
A_UINT32 max_agc_gain_tbls;
|
||||
|
||||
/* 1 byte is used to store bdf max number of elements in each gain tables */
|
||||
A_UINT32 max_bdf_gain_entries[WMI_AOA_BDF_NUM_WORD_ENTRIES_FOR_MAX_NUM_AGC_TBL_ELEMS];
|
||||
|
||||
/** This TLV is followed by TLV array - wmi_enhanced_aoa_per_band_caps_param
|
||||
* containing band specifc agc gain table information.
|
||||
*/
|
||||
} wmi_enhanced_aoa_caps_param;
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_enhanced_aoa_per_band_caps_param */
|
||||
A_UINT32 tlv_header;
|
||||
|
||||
/* Band information - WMI_AOA_SUPPORTED_BANDS */
|
||||
A_UINT32 band_info;
|
||||
|
||||
/* 2 bytes are used to store agc max number of elements in each gain tables */
|
||||
A_UINT32 max_agc_gain[WMI_AOA_NUM_WORD_ENTRIES_FOR_MAX_NUM_AGC_TBL_ELEMS];
|
||||
} wmi_enhanced_aoa_per_band_caps_param;
|
||||
|
||||
/* WMI_HALPHY_CAL_LIST:
|
||||
*
|
||||
* Below is the list of HALPHY online CAL currently enabled in
|
||||
|
@@ -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_ 1376
|
||||
#define __WMI_REVISION_ 1377
|
||||
|
||||
/** The Version Namespace should not be normally changed. Only
|
||||
* host and firmware of the same WMI namespace will work
|
||||
|
Yeni konuda referans
Bir kullanıcı engelle