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

Change-Id: Ie5d216c76b6399483af9cfa206ceab92447a21b5
WMI: allow sched modes to be disabled per pdev, vdev, peer, or svc class
CRs-Fixed: 2262693
This commit is contained in:
spuligil 2022-12-24 18:00:54 -08:00
commit 9481e99ca9
4 changed files with 133 additions and 2 deletions

View file

@ -608,6 +608,7 @@ typedef enum {
WMI_SERVICE_SLO_SUPPORTED = 355, /* Support for Single Link 11BE */
WMI_SERVICE_RTT_11AZ_TB_RSTA_SUPPORT = 356, /* FW support for 11AZ trigger based ranging Responder (RSTA) role */
WMI_SERVICE_SUPPORT_11D_FOR_HOST_SCAN = 357,
WMI_SERVICE_DETERMINISTIC_SCHEDULER_LEVEL0 = 358, /* FW supports 12.2 level scheduler mode disable commands and stats */
WMI_MAX_EXT2_SERVICE

View file

@ -1330,6 +1330,8 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_ctrl_path_pmlo_stats_struct,
WMITLV_TAG_STRUC_wmi_ctrl_path_cfr_stats_struct,
WMITLV_TAG_STRUC_WMI_COEX_FIX_CHANNEL_CAPABILITIES,
WMITLV_TAG_STRUC_wmi_peer_sched_mode_disable_fixed_param,
WMITLV_TAG_STRUC_wmi_per_peer_sched_mode_disable,
} WMITLV_TAG_ID;
/*
@ -1844,6 +1846,7 @@ typedef enum {
OP(WMI_MLO_AP_VDEV_TID_TO_LINK_MAP_CMDID) \
OP(WMI_VDEV_SET_TWT_EDCA_PARAMS_CMDID) \
OP(WMI_TAS_POWER_HISTORY_CMDID) \
OP(WMI_PEER_SCHED_MODE_DISABLE_CMDID) \
/* add new CMD_LIST elements above this line */
@ -5240,6 +5243,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_XGAP_ENABLE_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, odd_livedump_id_list, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_ODD_LIVEDUMP_REQUEST_CMDID);
#define WMITLV_TABLE_WMI_PEER_SCHED_MODE_DISABLE_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_sched_mode_disable_fixed_param, wmi_peer_sched_mode_disable_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_per_peer_sched_mode_disable, peer_info, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_SCHED_MODE_DISABLE_CMDID);
/************************** TLV definitions of WMI events *******************************/

View file

@ -736,9 +736,12 @@ typedef enum {
/* Mac addr based filtering*/
WMI_PEER_TX_FILTER_CMDID,
/** flush specific tid queues of a peer */
/** flush specific tid queues of a peer */
WMI_PEER_FLUSH_POLICY_CMDID,
/* Set disabled scheduler modes for one or more peers */
WMI_PEER_SCHED_MODE_DISABLE_CMDID,
/* beacon/management specific commands */
@ -7927,6 +7930,21 @@ typedef enum {
#define WMI_PDEV_PARAM_IS_HIGHER_MCS_XRETRY_RESTRICTION_SET(word32) WMI_F_MS(word32, WMI_PDEV_PARAM_HIGHER_MCS_XRETRY_RESTRICTION)
#define WMI_PDEV_PARAM_GET_XRETRY_THRESHOLD(word32) WMI_F_MS(word32, WMI_PDEV_PARAM_XRETRY_THRESHOLD)
/*
* The WMI_SCHED_MODE_FLAGS enum is used by the following WMI commands:
*
* WMI_VDEV_PARAM_SET_DISABLED_SCHED_MODES
* WMI_PDEV_PARAM_SET_DISABLED_SCHED_MODES
* WMI_PEER_SCHED_MODE_DISABLE_CMDID
* WMI_SAWF_SVC_CLASS_CFG_CMDID
*/
typedef enum {
WMI_SCHED_MODE_DL_MU_MIMO = 0x00000001,
WMI_SCHED_MODE_UL_MU_MIMO = 0x00000002,
WMI_SCHED_MODE_DL_OFDMA = 0x00000004,
WMI_SCHED_MODE_UL_OFDMA = 0x00000008,
} WMI_SCHED_MODE_FLAGS;
typedef enum {
/** TX chain mask */
WMI_PDEV_PARAM_TX_CHAIN_MASK = 0x1,
@ -8932,6 +8950,34 @@ typedef enum {
* based ranging.
*/
WMI_PDEV_PARAM_RTT_11AZ_RSID_RANGE,
/*
* Disable the indicated DL and UL scheduler for the PDEV.
*
* This command is not supported in STA mode.
*
* A value of 1 in a given bit position disables the corresponding mode,
* and a value of 0 enables the mode. The WMI_SCHED_MODE_FLAGS enum defines
* the bit positions for each mode.
*
* A single 32 bit value is used to store the following configuration
* bitmap.
*
* This command differs from WMI_VDEV_PARAM_SET_HEMU_MODE and
* WMI_VDEV_PARAM_SET_EHT_MU_MODE in that it is intended for use during
* normal AP operation, and will never cause a VAP restart or other
* capability bit modification. It simply controls the scheduler
* behavior.
*
* bit | sched mode
* ---------------
* 0 | DL MU-MIMO
* 1 | UL MU-MIMO
* 2 | DL OFDMA
* 3 | UL OFDMA
* 4..31 | RESERVED
*/
WMI_PDEV_PARAM_SET_DISABLED_SCHED_MODES,
} WMI_PDEV_PARAM;
#define WMI_PDEV_ONLY_BSR_TRIG_IS_ENABLED(trig_type) WMI_GET_BITS(trig_type, 0, 1)
@ -15137,6 +15183,34 @@ typedef enum {
*/
WMI_VDEV_PARAM_EXTRA_EHT_LTF, /* 0x8011 */
/*
* Disable the indicated DL and UL scheduler for the VDEV.
*
* This command is not supported in STA mode.
*
* A value of 1 in a given bit position disables the corresponding
* mode, and a value of 0 enables the mode. The WMI_SCHED_MODE_FLAGS
* enum defines the bit positions for each mode.
*
* A single 32 bit value is used to store the following configuration
* bitmap.
*
* This command differs from WMI_VDEV_PARAM_SET_HEMU_MODE and
* WMI_VDEV_PARAM_SET_EHT_MU_MODE in that it is intended for use during
* normal AP operation, and will never cause a VAP restart or other
* capability bit modification. It simply controls the scheduler
* behavior.
*
* bit | sched mode
* ---------------
* 0 | DL MU-MIMO
* 1 | UL MU-MIMO
* 2 | DL OFDMA
* 3 | UL OFDMA
* 4..31 | RESERVED
*/
WMI_VDEV_PARAM_SET_DISABLED_SCHED_MODES, /* 0x8012 */
/*=== END VDEV_PARAM_PROTOTYPE SECTION ===*/
} WMI_VDEV_PARAM;
@ -40782,6 +40856,7 @@ typedef enum {
WMI_SAWF_SVC_CLASS_PARAM_DEFAULT_PRIORITY = 0,
WMI_SAWF_SVC_CLASS_PARAM_DEFAULT_TID = 0xffffffff,
WMI_SAWF_SVC_CLASS_PARAM_DEFAULT_MSDU_LOSS_RATE = 0,
WMI_SAWF_SVC_CLASS_PARAM_DEFAULT_DISABLED_SCHED_MODE = 0,
} WMI_SAWF_SVC_CLASS_PARAM_DEFAULTS;
typedef struct {
@ -40863,6 +40938,17 @@ typedef struct {
* since 100 / 1000000 = 1 / 10000.
*/
A_UINT32 msdu_loss_rate_ppm;
/*
* The disabled DL and UL scheduler modes bitmap.
*
* Each bit in the "disabled_sched_modes" bitmap indicates whether a
* specific scheduler mode may be selected by the fast loop scheduler. A
* "1" bit indicates that mode is disabled, and a "0" bit indicates the
* mode is enabled.
*
* The WMI_SCHED_MODE_FLAGS enum defines the bit positions for each mode.
*/
A_UINT32 disabled_sched_modes;
} wmi_sawf_svc_class_cfg_cmd_fixed_param;
typedef struct {
@ -41167,6 +41253,42 @@ typedef struct {
*/
} wmi_mlo_link_removal_cmd_fixed_param;
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_per_peer_sched_mode_disable */
/* Peer MAC Address */
wmi_mac_addr peer_macaddr;
/*
* The disabled DL and UL scheduler modes bitmap.
*
* This command is not supported in STA mode.
*
* A value of 1 in a given bit position disables the corresponding mode,
* and a value of 0 enables the mode. The WMI_SCHED_MODE_FLAGS enum defines
* the bit positions for each mode.
*
* A single 32 bit value is used to store the following configuration
* bitmap.
*
* bit | sched mode
* ---------------
* 0 | DL MU-MIMO
* 1 | UL MU-MIMO
* 2 | DL OFDMA
* 3 | UL OFDMA
* 4..31 | RESERVED
*/
A_UINT32 disabled_sched_modes;
} wmi_per_peer_sched_mode_disable;
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_sched_mode_disable_fixed_param */
A_UINT32 pdev_id;
/* The TLVs for each peer follows:
* wmi_per_peer_sched_mode_disable per_peer_sched_mode_disable[];
*/
} wmi_peer_sched_mode_disable_fixed_param;

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