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

Change-Id: Ic9455c1cc97ad53ed046c2126e955331d2b7e23f
WMI: REQUEST_HALPHY_CTRL_PATH_STATS_CMD + HALPHY_CTRL_PATH_STATS_EVENT defs
CRs-Fixed: 2262693
This commit is contained in:
spuligil
2022-05-07 18:01:29 -07:00
parent 5b543f5f25
commit e288915268
3 changed files with 108 additions and 1 deletions

View File

@@ -1272,6 +1272,8 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_roam_enable_vendor_control_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_roam_get_vendor_control_param_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_roam_get_vendor_control_param_event_fixed_param,
WMITLV_TAG_STRUC_wmi_request_halphy_ctrl_path_stats_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_halphy_ctrl_path_stats_event_fixed_param,
} WMITLV_TAG_ID;
/*
@@ -1768,6 +1770,7 @@ typedef enum {
OP(WMI_MLO_PEER_TID_TO_LINK_MAP_CMDID) \
OP(WMI_ROAM_ENABLE_VENDOR_CONTROL_CMDID) \
OP(WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID) \
OP(WMI_REQUEST_HALPHY_CTRL_PATH_STATS_CMDID) \
/* add new CMD_LIST elements above this line */
@@ -2055,6 +2058,7 @@ typedef enum {
OP(WMI_PMM_SCRATCH_REG_ALLOCATION_COMPLETE_EVENTID) \
OP(WMI_VDEV_LATENCY_LEVEL_EVENTID) \
OP(WMI_ROAM_GET_VENDOR_CONTROL_PARAM_EVENTID) \
OP(WMI_HALPHY_CTRL_PATH_STATS_EVENTID) \
/* add new EVT_LIST elements above this line */
@@ -4405,6 +4409,14 @@ WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_PEER_STATS_INFO_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, odd_addr_read_args, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_CTRL_PATH_STATS_CMDID);
/* Request Halphy Stats through Ctrl Path */
#define WMITLV_TABLE_WMI_REQUEST_HALPHY_CTRL_PATH_STATS_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_request_halphy_ctrl_path_stats_cmd_fixed_param, wmi_request_halphy_ctrl_path_stats_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)\
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, pdev_ids, WMITLV_SIZE_VAR)\
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, vdev_ids, WMITLV_SIZE_VAR)\
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_mac_addr, mac_addr_list, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_HALPHY_CTRL_PATH_STATS_CMDID);
/* Host sets the current country code */
#define WMITLV_TABLE_WMI_SET_CURRENT_COUNTRY_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_set_current_country_cmd_fixed_param, wmi_set_current_country_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
@@ -6452,6 +6464,23 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_STATS_INFO_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_afc_stats_struct, ctrl_path_afc_stats, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_CTRL_PATH_STATS_EVENTID);
/*
* Update HALPHY Control Path stats event
* Below definition shows TLV packing of HALPHY ctrl path event
* Special Patch code is needed on host side to have compatible
* HOST Endianness
*/
#define WMITLV_TABLE_WMI_HALPHY_CTRL_PATH_STATS_EVENTID(id, op, buf, len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_halphy_ctrl_path_stats_event_fixed_param, wmi_halphy_ctrl_path_stats_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_tpc_configs, tpc_configs, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_max_reg_power_allowed, regulatory_power, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_INT16, A_INT16, reg_buf, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_tpc_rates_array, tpc_rates, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_INT16, A_UINT16, rates_buf, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_tpc_ctl_pwr_table, ctl_power, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_INT8, ctl_buf, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_HALPHY_CTRL_PATH_STATS_EVENTID);
#define WMITLV_TABLE_WMI_RADIO_CHAN_STATS_EVENTID(id, op, buf, len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_radio_chan_stats_event_fixed_param, wmi_radio_chan_stats_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_radio_chan_stats, radio_chan_stats, WMITLV_SIZE_VAR)

View File

@@ -1020,6 +1020,9 @@ typedef enum {
/** request for thermal stats */
WMI_REQUEST_THERMAL_STATS_CMDID,
/** request for HALPHY stats through ctrl path */
WMI_REQUEST_HALPHY_CTRL_PATH_STATS_CMDID,
/** ARP OFFLOAD REQUEST*/
WMI_SET_ARP_NS_OFFLOAD_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_ARP_NS_OFL),
@@ -1949,6 +1952,11 @@ typedef enum {
* and report stats info to host */
WMI_CTRL_PATH_STATS_EVENTID,
/** This event is used to respond to
* WMI_REQUEST_HALPHY_CTRL_PATH_STATS_CMDID and report stats info to host
*/
WMI_HALPHY_CTRL_PATH_STATS_EVENTID,
/* NLO specific events */
/** NLO match event after the first match */
@@ -11511,6 +11519,25 @@ typedef struct {
*/
} wmi_ctrl_path_stats_event_fixed_param;
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_halphy_ctrl_path_stats_event_fixed_param
*/
A_UINT32 tlv_header;
/** Process id requested */
A_UINT32 request_id;
/* end_of_event - single event or Multiple Event */
A_UINT32 end_of_event;
/*
* event_count - If Multiple Events are send, this is to identify
* particular event out of Multiple Events that are send to host
*/
A_UINT32 event_count;
} wmi_halphy_ctrl_path_stats_event_fixed_param;
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_radio_chan_stats */
@@ -29530,6 +29557,11 @@ typedef enum {
WMI_REQUEST_CTRL_PATH_AFC_STAT = 11,
} wmi_ctrl_path_stats_id;
typedef enum {
/* bit 0 is currently unused / reserved */
WMI_HALPHY_CTRL_PATH_PDEV_TX_STAT = 1,
} wmi_halphy_ctrl_path_stats_id;
typedef enum {
/*
* The following stats actions are mutually exclusive.
@@ -29541,6 +29573,13 @@ typedef enum {
WMI_REQUEST_CTRL_PATH_STAT_STOP = 4,
} wmi_ctrl_path_stats_action;
typedef enum {
WMI_HALPHY_CTRL_PATH_SU_STATS = 0,
WMI_HALPHY_CTRL_PATH_SUTXBF_STATS,
WMI_HALPHY_CTRL_PATH_MU_STATS,
WMI_HALPHY_CTRL_PATH_MUTXBF_STATS,
} wmi_halphy_ctrl_path_subid;
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_request_ctrl_path_stats_cmd_fixed_param */
@@ -29571,6 +29610,44 @@ typedef struct {
*/
} wmi_request_ctrl_path_stats_cmd_fixed_param;
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_request_halphy_ctrl_path_stats_cmd_fixed_param */
A_UINT32 tlv_header;
/** Bitmask showing which of stats IDs 0-31 have been requested.
* These stats ids are defined in enum wmi_halphy_ctrl_path_stats_id.
*/
A_UINT32 stats_id_mask;
/** process id requested */
A_UINT32 request_id;
/** action
* get/reset based on stats id
* defined as a part of wmi_ctrl_path_stats_action
**/
A_UINT32 action; /* refer to wmi_ctrl_path_stats_action */
/** Request Halphy subid stats
* According to the requested stats_id_mask this halphy_subid varies
* For stats_id = 1, the possible values could be enum
* wmi_halphy_ctrl_path_halphyid
*/
A_UINT32 halphy_subid;
/** The below TLV arrays optionally follow this fixed_param TLV structure:
* 1. A_UINT32 pdev_ids[];
* If this array is present and non-zero length, stats should only
* be provided from the pdevs identified in the array.
* 2. A_UINT32 vdev_ids[];
* If this array is present and non-zero length, stats should only
* be provided from the vdevs identified in the array.
* 3. wmi_mac_addr peer_macaddr[];
* If this array is present and non-zero length, stats should only
* be provided from the peers with the MAC addresses specified
* in the array.
*/
} wmi_request_halphy_ctrl_path_stats_cmd_fixed_param;
typedef enum {
WMI_REQUEST_ONE_RADIO_CHAN_STATS = 0x01, /* request stats of one specified channel */
WMI_REQUEST_ALL_RADIO_CHAN_STATS = 0x02, /* request stats of all channels */
@@ -31412,6 +31489,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
WMI_RETURN_STRING(WMI_MLO_PEER_TID_TO_LINK_MAP_CMDID);
WMI_RETURN_STRING(WMI_ROAM_ENABLE_VENDOR_CONTROL_CMDID);
WMI_RETURN_STRING(WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID);
WMI_RETURN_STRING(WMI_REQUEST_HALPHY_CTRL_PATH_STATS_CMDID);
}
return (A_UINT8 *) "Invalid WMI cmd";

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