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

Change-Id: Ie5acce062c30232e9e8dc55e046d19d6124e70d7
WMI: add pdev params to control rate limits, drop down, and probe intervals
CRs-Fixed: 2262693
This commit is contained in:
spuligil
2021-12-17 18:00:52 -08:00
parent c2118c8655
commit 09f7b72fea
3 changed files with 88 additions and 1 deletions

View File

@@ -7960,7 +7960,63 @@ typedef enum {
*/
WMI_PDEV_PARAM_PDEV_STATS_TX_XRETRY_EXT,
/*
* Per PDEV level, set the highest rate cap allowed.
* The accepted input values NSS are between 1-8, inclusive.
* The accepted input values MCS are between 0-15, inclusive.
* FW will use the input values as is.
* The rate cap is specified in NSS, MCS format each 4bits.
* i.e., NSS and MCS combined as shown below:
* b'0-b'7 indicate the NSS (NSS value can be from 1-8)
* b'8-b'15 indicate the MCS (MCS value can be from 0-15)
* b'16 Enable or disable nss cap
* b'17 Enable or disable mcs cap
*/
WMI_PDEV_PARAM_RATE_UPPER_CAP,
/*
* Per PDEV level, set number of MCS to be dropped based
* on configured retries.
* bit | config_mode
* -----------------
* 0-7 | param value for number MCS to be dropped
* 8-15| param value for excess retries
* 16 | If set to 0, number of MCS to be dropped is disabled, i.e.
* | fall back to default mode.
* | The default value of MCS to be dropped is 1.
* 17 | if set to 0, retries is disabled/use default retries.
* | The default value of retries is 3.
*/
WMI_PDEV_PARAM_SET_RATE_DROP_DOWN_RETRY_THRESH,
/*
* Param value to configure min/max probe interval for MCS of current NSS.
* If probe interval expired, ratectrl will probe for MCS of current NSS.
* If probe was successful, rate control updates the probe time with a
* min of probe interval.
* If probe failed for MCS of current NSS, rate control updates the probe
* time by multiplying the probe period with 2, which is not greater than
* max probe interval.
* units = milliseconds
* bits | config_mode
* 0-15 | mimimum probe time for MCS
* 16-31| maximum probe time for MCS
*/
WMI_PDEV_PARAM_MIN_MAX_MCS_PROBE_INTERVAL,
/* Param value to configure min/max probe interval for NSS.
* Rate control will probe for alternate NSS if probe time is expired.
* If probe for an alternate NSS was successful, rate control updates
* the probe time with a min of probe interval.
* If probe failed for alternate NSS, rate control updates the probe time
* by multiplying the probe period with 2, which is not greater than
* max probe interval.
* units = milliseconds
* bits | config_mode
* 0-15 | minimum probe time for alternate NSS
* 16-32| maximum probe time for alternate NSS
*/
WMI_PDEV_PARAM_MIN_MAX_NSS_PROBE_INTERVAL,
} WMI_PDEV_PARAM;
#define WMI_PDEV_ONLY_BSR_TRIG_IS_ENABLED(trig_type) WMI_GET_BITS(trig_type, 0, 1)
@@ -8032,6 +8088,36 @@ typedef enum {
#define WMI_PDEV_SRG_SEP_PD_THRESH_CTRL_FRAME_SET(pd_threshold_cfg, value) WMI_SET_BITS(pd_threshold_cfg, 8, 8, value)
#define WMI_PDEV_SRG_SEP_PD_THRESH_CTRL_FRAME_GET(pd_threshold_cfg) WMI_GET_BITS(pd_threshold_cfg, 8, 8)
#define WMI_PDEV_UPPER_CAP_NSS_GET(value) WMI_GET_BITS(value, 0, 8)
#define WMI_PDEV_UPPER_CAP_NSS_SET(_value, value) WMI_SET_BITS(_value, 0, 8, value)
#define WMI_PDEV_UPPER_CAP_MCS_GET(value) WMI_GET_BITS(value, 8, 8)
#define WMI_PDEV_UPPER_CAP_MCS_SET(_value, value) WMI_SET_BITS(_value, 8, 8, value)
#define WMI_PDEV_UPPER_CAP_NSS_VALID_GET(value) WMI_GET_BITS(value, 16, 1)
#define WMI_PDEV_UPPER_CAP_NSS_VALID_SET(_value, value) WMI_SET_BITS(_value, 16, 1, value)
#define WMI_PDEV_UPPER_CAP_MCS_VALID_GET(value) WMI_GET_BITS(value, 17, 1)
#define WMI_PDEV_UPPER_CAP_MCS_VALID_SET(_value, value) WMI_SET_BITS(_value, 17, 1, value)
#define WMI_PDEV_RATE_DROP_NUM_MCS_GET(value) WMI_GET_BITS(value, 0, 8)
#define WMI_PDEV_RATE_DROP_NUM_MCS_SET(_value, value) WMI_SET_BITS(_value, 0, 8, value)
#define WMI_PDEV_RATE_DROP_RETRY_THRSH_GET(value) WMI_GET_BITS(value, 8, 8)
#define WMI_PDEV_RATE_DROP_RETRY_THRSH_SET(_value, value) WMI_SET_BITS(_value, 8, 8, value)
#define WMI_PDEV_RATE_DROP_NUM_MCS_VALID_GET(value) WMI_GET_BITS(value, 16, 1)
#define WMI_PDEV_RATE_DROP_NUM_MCS_VALID_SET(_value, value) WMI_SET_BITS(_value, 16, 1, value)
#define WMI_PDEV_RATE_DROP_RETRY_THRSH_VALID_GET(value) WMI_GET_BITS(value, 17, 1)
#define WMI_PDEV_RATE_DROP_RETRY_THRSH_VALID_SET(_value, value) WMI_SET_BITS(_value, 17, 1, value)
#define WMI_PDEV_RATE_MIN_MCS_PROBE_INTERVAL_GET(value) WMI_GET_BITS(value, 0, 16)
#define WMI_PDEV_RATE_MIN_MCS_PROBE_INTERVAL_SET(_value, value) WMI_SET_BITS(_value, 0, 16, value)
#define WMI_PDEV_RATE_MAX_MCS_PROBE_INTERVAL_GET(value) WMI_GET_BITS(value, 16, 16)
#define WMI_PDEV_RATE_MAX_MCS_PROBE_INTERVAL_SET(_value, value) WMI_SET_BITS(_value, 16, 16, value)
#define WMI_PDEV_RATE_MIN_NSS_PROBE_INTERVAL_GET(value) WMI_GET_BITS(value, 0, 16)
#define WMI_PDEV_RATE_MIN_NSS_PROBE_INTERVAL_SET(_value, value) WMI_SET_BITS(_value, 0, 16, value)
#define WMI_PDEV_RATE_MAX_NSS_PROBE_INTERVAL_GET(value) WMI_GET_BITS(value, 16, 16)
#define WMI_PDEV_RATE_MAX_NSS_PROBE_INTERVAL_SET(_value, value) WMI_SET_BITS(_value, 16, 16, value)
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_set_param_cmd_fixed_param */
/** pdev_id for identifying the MAC