fw-api: CL 23782068 - update fw common interface files

Change-Id: Ifcc4d1c1a0c4dd621b4bd9f87ab94717a5822ed2
WMI: add PDEV_ENHANCED_AOA_PHASEDELTA_EVENT msg def
CRs-Fixed: 2262693
This commit is contained in:
spuligil
2023-07-13 06:01:17 -07:00
parent 078c19b0eb
commit ced8b2ba41
3 changed files with 141 additions and 1 deletions

View File

@@ -1392,6 +1392,8 @@ 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_ID;
/*
* IMPORTANT: Please add _ALL_ WMI Commands Here.
@@ -2241,6 +2243,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 */
@@ -7432,6 +7435,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
}

View File

@@ -1748,6 +1748,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 */
@@ -40444,6 +40446,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

View File

@@ -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_ 1363
#define __WMI_REVISION_ 1364
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work