fw-api: CL 20599887 - update fw common interface files
Change-Id: I0c48624fea92ed8874f5da49f0a230fd19ca5cb6 WMI: add per-AC + OBSS airtime use pct stats to pdev_telemetry_stats CRs-Fixed: 2262693
This commit is contained in:

committed by
Madan Koyyalamudi

parent
46734f8db7
commit
ff230196ba
@@ -1327,6 +1327,7 @@ typedef enum {
|
||||
WMITLV_TAG_STRUC_wmi_pifs_params,
|
||||
WMITLV_TAG_STRUC_wmi_tas_power_history_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_tas_power_history_event_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_ctrl_path_pmlo_stats_struct,
|
||||
} WMITLV_TAG_ID;
|
||||
|
||||
/*
|
||||
@@ -6668,7 +6669,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_STATS_INFO_EVENTID);
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_btcoex_stats_struct, ctrl_path_btcoex_stats, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_bmiss_stats_struct, ctrl_path_bmiss_stats, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_odd_addr_read_struct, ctrl_path_odd_addr_read, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_afc_stats_struct, ctrl_path_afc_stats, WMITLV_SIZE_VAR)
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_afc_stats_struct, ctrl_path_afc_stats, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_pmlo_stats_struct, ctrl_path_pmlo_stats, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_CTRL_PATH_STATS_EVENTID);
|
||||
|
||||
/*
|
||||
|
154
fw/wmi_unified.h
154
fw/wmi_unified.h
@@ -12227,6 +12227,135 @@ typedef struct {
|
||||
A_UINT32 payload_clear_count;
|
||||
} wmi_ctrl_path_afc_stats_struct;
|
||||
|
||||
/* AT - Airtime */
|
||||
/* AA - Available Airtime */
|
||||
#define WMI_PMLO_UL_DL_INBSS_AT_GET_BE(airtime) WMI_GET_BITS(airtime, 0, 8)
|
||||
#define WMI_PMLO_UL_DL_INBSS_AT_SET_BE(airtime, value) WMI_SET_BITS(airtime, 0, 8, value)
|
||||
|
||||
#define WMI_PMLO_UL_DL_INBSS_AT_GET_BK(airtime) WMI_GET_BITS(airtime, 8, 8)
|
||||
#define WMI_PMLO_UL_DL_INBSS_AT_SET_BK(airtime, value) WMI_SET_BITS(airtime, 8, 8, value)
|
||||
|
||||
#define WMI_PMLO_UL_DL_INBSS_AT_GET_VI(airtime) WMI_GET_BITS(airtime, 16, 8)
|
||||
#define WMI_PMLO_UL_DL_INBSS_AT_SET_VI(airtime, value) WMI_SET_BITS(airtime, 16, 8, value)
|
||||
|
||||
#define WMI_PMLO_UL_DL_INBSS_AT_GET_VO(airtime) WMI_GET_BITS(airtime, 24, 8)
|
||||
#define WMI_PMLO_UL_DL_INBSS_AT_SET_VO(airtime, value) WMI_SET_BITS(airtime, 24, 8, value)
|
||||
|
||||
#define WMI_PMLO_LINK_OBSS_AT_GET(airtime) WMI_GET_BITS(airtime, 0, 8)
|
||||
#define WMI_PMLO_LINK_OBSS_AT_SET(airtime, value) WMI_SET_BITS(airtime, 0, 8, value)
|
||||
|
||||
#define WMI_PMLO_LINK_AA_GET(airtime) WMI_GET_BITS(airtime, 8, 8)
|
||||
#define WMI_PMLO_LINK_AA_SET(airtime, value) WMI_SET_BITS(airtime, 8, 8, value)
|
||||
|
||||
#define WMI_PMLO_UL_AIRTIME_NON_AC_GET(airtime) WMI_GET_BITS(airtime, 16, 8)
|
||||
#define WMI_PMLO_UL_AIRTIME_NON_AC_SET(airtime, value) WMI_SET_BITS(airtime, 16, 8, value)
|
||||
|
||||
#define WMI_PMLO_DL_AIRTIME_NON_AC_GET(airtime) WMI_GET_BITS(airtime, 24, 8)
|
||||
#define WMI_PMLO_DL_AIRTIME_NON_AC_SET(airtime, value) WMI_SET_BITS(airtime, 24, 8, value)
|
||||
|
||||
/*
|
||||
* The wmi_ctrl_path_pmlo_stats_struct is used to send Provisional MLO stats
|
||||
* the WMI_CTRL_PATH_STATS_EVENT message, in response to a
|
||||
* WMI_REQUEST_CTRL_PATH_STATS_CMD message for the stat type
|
||||
* WMI_REQUEST_CTRL_PATH_PMLO_STAT.
|
||||
*/
|
||||
typedef struct {
|
||||
/* TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_ctrl_path_pmlo_stats_struct */
|
||||
A_UINT32 tlv_header;
|
||||
/** pdev_id for identifying the PHY */
|
||||
A_UINT32 pdev_id;
|
||||
/*
|
||||
* Percentage of downlink air time used in each access category
|
||||
* calculated InBSS, units in percentage.
|
||||
* BIT[0-7] : AC_BE
|
||||
* BIT[8-15] : AC_BK
|
||||
* BIT[16-23] : AC_VI
|
||||
* BIT[24-31] : AC_VO
|
||||
* Please refer to WMI_PMLO_UL_DL_INBSS_AT_* macros
|
||||
* to retrieve values for each access category in dl_inbss_airtime_per_ac.
|
||||
*/
|
||||
union {
|
||||
struct {
|
||||
A_UINT32
|
||||
dl_inbss_airtime_ac_be: 8,
|
||||
dl_inbss_airtime_ac_bk: 8,
|
||||
dl_inbss_airtime_ac_vi: 8,
|
||||
dl_inbss_airtime_ac_vo: 8;
|
||||
};
|
||||
A_UINT32 dl_inbss_airtime_per_ac;
|
||||
};
|
||||
/*
|
||||
* Percentage of uplink air time used in each access category
|
||||
* calculated InBSS, units in percentage.
|
||||
* BIT[0-7] : AC_BE
|
||||
* BIT[8-15] : AC_BK
|
||||
* BIT[16-23] : AC_VI
|
||||
* BIT[24-31] : AC_VO
|
||||
* Please refer to WMI_PMLO_UL_DL_INBSS_AT_* macros
|
||||
* to set/get values for each access category in ul_inbss_airtime_per_ac.
|
||||
*/
|
||||
union {
|
||||
struct {
|
||||
A_UINT32
|
||||
ul_inbss_airtime_ac_be: 8,
|
||||
ul_inbss_airtime_ac_bk: 8,
|
||||
ul_inbss_airtime_ac_vi: 8,
|
||||
ul_inbss_airtime_ac_vo: 8;
|
||||
};
|
||||
A_UINT32 ul_inbss_airtime_per_ac;
|
||||
};
|
||||
/*
|
||||
* Percentage of air time available for each AC, units in percentage.
|
||||
* BIT[0-7] : AC_BE
|
||||
* BIT[8-15] : AC_BK
|
||||
* BIT[16-23] : AC_VI
|
||||
* BIT[24-31] : AC_VO
|
||||
* Please refer to WMI_ESP_ESTIMATE_GET_* and WMI_ESP_ESTIMATE_SET_* macros
|
||||
* to retrieve values for each access category in estimated_air_time_per_ac.
|
||||
*/
|
||||
union {
|
||||
struct {
|
||||
A_UINT32
|
||||
estimated_air_time_ac_be: 8,
|
||||
estimated_air_time_ac_bk: 8,
|
||||
estimated_air_time_ac_vi: 8,
|
||||
estimated_air_time_ac_vo: 8;
|
||||
};
|
||||
A_UINT32 estimated_air_time_per_ac;
|
||||
};
|
||||
/*
|
||||
* Average channel latency per AC, units in micro seconds.
|
||||
* avg_chan_lat_per_ac[0] : AC_VO
|
||||
* avg_chan_lat_per_ac[1] : AC_VI
|
||||
* avg_chan_lat_per_ac[2] : AC_BE
|
||||
* avg_chan_lat_per_ac[3] : AC_BK
|
||||
*/
|
||||
A_UINT32 avg_chan_lat_per_ac[WMI_AC_MAX];
|
||||
/*
|
||||
* link_obss_airtime: Percentage of OBSS used air time per link,
|
||||
* units in percentage.
|
||||
* Refer to WMI_PMLO_LINK_OBSS_AT_* Macro to set/get values.
|
||||
* link_idle_airtime: Idle/free airtime per link, units in percentage.
|
||||
* Refer to WMI_PMLO_LINK_AA_* macro to set/get values.
|
||||
* ul_inbss_airtime_non_ac: ul inBSS airtime occupied by non-AC traffic,
|
||||
* units in percentage.
|
||||
* Refer to WMI_PMLO_UL_AIRTIME_NON_AC_* macro to set/get values.
|
||||
* dl_inbss_airtime_non_ac: dl inBSS airtime occupied by non-AC traffic,
|
||||
* units in percentage.
|
||||
* Refer to WMI_PMLO_DL_AIRTIME_NON_AC_* macro to set/get values.
|
||||
*/
|
||||
union {
|
||||
struct {
|
||||
A_UINT32 link_obss_airtime: 8,
|
||||
link_idle_airtime: 8,
|
||||
ul_inbss_airtime_non_ac: 8,
|
||||
dl_inbss_airtime_non_ac: 8;
|
||||
};
|
||||
A_UINT32 ul_dl_obss_free_aa_word32;
|
||||
};
|
||||
} wmi_ctrl_path_pmlo_stats_struct;
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_ctrl_path_stats_event_fixed_param */
|
||||
@@ -12426,7 +12555,7 @@ typedef struct{
|
||||
* BIT[8-15] : AC_BK
|
||||
* BIT[16-23] : AC_VI
|
||||
* BIT[24-31] : AC_VO
|
||||
* Please refer WMI_ESP_ESTIMATE_GET_* and WMI_ESP_ESTIMATE_SET_* macros
|
||||
* Please refer to WMI_ESP_ESTIMATE_GET_* and WMI_ESP_ESTIMATE_SET_* macros
|
||||
* to retrieve values for each access category in estimated_air_time_per_ac.
|
||||
*/
|
||||
A_UINT32 estimated_air_time_per_ac;
|
||||
@@ -30812,6 +30941,7 @@ typedef enum {
|
||||
WMI_REQUEST_CTRL_PATH_BMISS_STAT = 9,
|
||||
WMI_REQUEST_CTRL_PATH_ODD_ADDR_READ = 10,
|
||||
WMI_REQUEST_CTRL_PATH_AFC_STAT = 11,
|
||||
WMI_REQUEST_CTRL_PATH_PMLO_STAT = 12,
|
||||
} wmi_ctrl_path_stats_id;
|
||||
|
||||
typedef enum {
|
||||
@@ -30824,10 +30954,11 @@ typedef enum {
|
||||
* The following stats actions are mutually exclusive.
|
||||
* A single stats request message can only specify one action.
|
||||
*/
|
||||
WMI_REQUEST_CTRL_PATH_STAT_GET = 1,
|
||||
WMI_REQUEST_CTRL_PATH_STAT_RESET = 2,
|
||||
WMI_REQUEST_CTRL_PATH_STAT_START = 3,
|
||||
WMI_REQUEST_CTRL_PATH_STAT_STOP = 4,
|
||||
WMI_REQUEST_CTRL_PATH_STAT_GET = 1,
|
||||
WMI_REQUEST_CTRL_PATH_STAT_RESET = 2,
|
||||
WMI_REQUEST_CTRL_PATH_STAT_START = 3,
|
||||
WMI_REQUEST_CTRL_PATH_STAT_STOP = 4,
|
||||
WMI_REQUEST_CTRL_PATH_STAT_PERIODIC_PUBLISH = 5,
|
||||
} wmi_ctrl_path_stats_action;
|
||||
|
||||
typedef enum {
|
||||
@@ -30853,6 +30984,19 @@ typedef struct {
|
||||
**/
|
||||
A_UINT32 action; /* refer to wmi_ctrl_path_stats_action */
|
||||
|
||||
/**
|
||||
* The stat_periodicity field is relevant only when action is set to
|
||||
* WMI_REQUEST_CTRL_PATH_STAT_PERIODIC_PUBLISH.
|
||||
* The units of this periodicity are milliseconds.
|
||||
* Periodically send WMI ctrl-path stats event with the specified stats
|
||||
* periodicity for the stats whose IDs are set in stats_id_mask.
|
||||
* Periodic WMI ctrl-path stats events are enabled by setting value > 0,
|
||||
* Previously onngoing periodic WMI ctrl-path stats events become
|
||||
* disabled when action is WMI_REQUEST_CTRL_PATH_STAT_PERIODIC_PUBLISH
|
||||
* and stat_periodicity = 0.
|
||||
*/
|
||||
A_UINT32 stat_periodicity;
|
||||
|
||||
/** 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
|
||||
|
@@ -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_ 1240
|
||||
#define __WMI_REVISION_ 1241
|
||||
|
||||
/** The Version Namespace should not be normally changed. Only
|
||||
* host and firmware of the same WMI namespace will work
|
||||
|
Reference in New Issue
Block a user