From c72b6d873f3b1f8fb6d5cbc862bfd2d54495be4c Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 1 Apr 2020 18:00:39 -0700 Subject: fw-api: CL 10072615 - update fw common interface files Change-Id: I8b275c0617fd17a2661b4f1fdff5f3564f5730e7 WMI: add HDL version bitfield in fw_build_vers_ext in READY_EXT msg CRs-Fixed: 2262693 --- fw/wmi_unified.h | 12 +++++++++++- fw/wmi_version.h | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 21467a4..34516f0 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -2631,6 +2631,15 @@ typedef struct { */ } wmi_service_available_event_fixed_param; +/* + * HDL version GET/SET APIs   + */ +#define WMI_HDL_VERSION_BITPOS 0 +#define WMI_HDL_VERSION_NUM_BITS 10 + +#define WMI_HDL_VERSION_GET(dword) WMI_GET_BITS(dword, WMI_HDL_VERSION_BITPOS, WMI_HDL_VERSION_NUM_BITS) +#define WMI_HDL_VERSION_SET(dword, value) WMI_SET_BITS(dword, WMI_HDL_VERSION_BITPOS, WMI_HDL_VERSION_NUM_BITS, value) + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_SERVICE_EXT_READY_EVENT */ /* which WMI_DBS_CONC_SCAN_CFG setting the FW is initialized with */ @@ -2651,7 +2660,8 @@ typedef struct { A_UINT32 max_bssid_rx_filters; /* * Extended FW build version information: - * bits 27:0 -> reserved + * bits 9:0 -> HDL version info + * bits 27:10 -> reserved * bits 31:28 -> CRM sub ID */ A_UINT32 fw_build_vers_ext; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index b421fbf..f60cafb 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 805 +#define __WMI_REVISION_ 806 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From 34c4b12c482f67424ea365663bac44a070d9b70a Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 2 Apr 2020 06:00:48 -0700 Subject: fw-api: CL 10076995 - update fw common interface files add WMI_NDP_END_TYPE_DATA_INACTIVITY def Change-Id: I5677f2a1cbd4ee45fa6b203f9cb2db74ad391708 CRs-Fixed: 2262693 --- fw/wmi_unified.h | 2 ++ fw/wmi_version.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 34516f0..7895980 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -18777,6 +18777,7 @@ typedef enum { WMI_NDP_END_TYPE_UNSPECIFIED = 0x00, WMI_NDP_END_TYPE_PEER_UNAVAILABLE = 0x01, WMI_NDP_END_TYPE_OTA_FRAME = 0x02, + WMI_NDP_END_TYPE_DATA_INACTIVITY = 0x03, } wmi_ndp_end_type_PROTOTYPE; #define wmi_ndp_end_type wmi_ndp_end_type_PROTOTYPE @@ -18788,6 +18789,7 @@ typedef enum { WMI_NDP_END_REASON_UNSPECIFIED = 0x00, WMI_NDP_END_REASON_INACTIVITY = 0x01, WMI_NDP_END_REASON_PEER_DATA_END = 0x02, + WMI_NDP_END_REASON_DATA_INACTIVITY = 0x03, } wmi_ndp_end_reason_code_PROTOTYPE; #define wmi_ndp_end_reason_code wmi_ndp_end_reason_code_PROTOTYPE diff --git a/fw/wmi_version.h b/fw/wmi_version.h index f60cafb..f5135da 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 806 +#define __WMI_REVISION_ 807 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From 136f5394b06027205c49a4fee8ada2e28f930f04 Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 2 Apr 2020 18:01:09 -0700 Subject: fw-api: CL 10085531 - update fw common interface files HTT stats: add UL MU-MIMO trigger stats Change-Id: I8135c7015c801418dde8d6d567356e9947bdc0ad CRs-Fixed: 2262693 --- fw/htt_stats.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fw/htt_stats.h b/fw/htt_stats.h index 35ed610..1df0f03 100644 --- a/fw/htt_stats.h +++ b/fw/htt_stats.h @@ -1941,6 +1941,7 @@ typedef struct { A_UINT32 ax_mu_mimo_ndpa_queued; A_UINT32 ax_mu_mimo_ndp_queued; A_UINT32 ax_mu_mimo_brpoll_queued[HTT_TX_PDEV_STATS_NUM_AX_MUMIMO_USER_STATS - 1]; + A_UINT32 ax_ul_mumimo_trigger[HTT_TX_PDEV_STATS_NUM_AX_MUMIMO_USER_STATS]; } htt_tx_selfgen_ax_stats_tlv; typedef struct { @@ -2059,6 +2060,7 @@ typedef struct { A_UINT32 ax_mu_mimo_ndpa_flushed; A_UINT32 ax_mu_mimo_ndp_flushed; A_UINT32 ax_mu_mimo_brpoll_flushed[HTT_TX_PDEV_STATS_NUM_AX_MUMIMO_USER_STATS - 1]; + A_UINT32 ax_ul_mumimo_trigger_err[HTT_TX_PDEV_STATS_NUM_AX_MUMIMO_USER_STATS]; } htt_tx_selfgen_ax_err_stats_tlv; typedef struct { -- cgit v1.2.3 From e29c09a482ff10ed78ae24378ada7144b9203767 Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 3 Apr 2020 06:00:46 -0700 Subject: fw-api: CL 10087020 - update fw common interface files Change-Id: I885844021ab7d4532fb4ca263d65bc4e5bef1bb9 WMI: add WMI_HW_MODE DBS_2G_5G and 2G_PHYB defs CRs-Fixed: 2262693 --- fw/wmi_unified.h | 4 +++- fw/wmi_version.h | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 7895980..0fe50b2 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -24369,7 +24369,7 @@ typedef enum { typedef enum wmi_hw_mode_config_type { WMI_HW_MODE_SINGLE = 0, /* Only one PHY is active. */ - WMI_HW_MODE_DBS = 1, /* Both PHYs are active in different bands, one in 2G and another in 5G. */ + WMI_HW_MODE_DBS = 1, /* Both PHYs are active in different bands, PHYB in 2G and PHYA in 5G. */ WMI_HW_MODE_SBS_PASSIVE = 2, /* Both PHYs are in passive mode (only rx) in same band; no tx allowed. */ WMI_HW_MODE_SBS = 3, /* Both PHYs are active in the same band. * Support for both PHYs within one band is planned for 5G only @@ -24381,6 +24381,8 @@ typedef enum wmi_hw_mode_config_type { * as in WMI_HW_MODE_SBS, and 3rd on the other band */ WMI_HW_MODE_DBS_OR_SBS = 5, /* One PHY is on 5G and the other PHY can be in 2G or 5G. */ + WMI_HW_MODE_DBS_2G_5G = 6, /* Both PHYs are active in different bands. PhyA 2G and PhyB 5G */ + WMI_HW_MODE_2G_PHYB = 7, /* Ony PhyB 2G active */ } WMI_HW_MODE_CONFIG_TYPE; #define WMI_SUPPORT_11B_GET(flags) WMI_GET_BITS(flags, 0, 1) diff --git a/fw/wmi_version.h b/fw/wmi_version.h index f5135da..31d7390 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 807 +#define __WMI_REVISION_ 808 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From 26d025136a9ea3547548801b6a1b30d1585feee2 Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 3 Apr 2020 18:01:03 -0700 Subject: fw-api: CL 10096334 - update fw common interface files Change-Id: If1a91246804dd77c2d275c2520c7be51443ca039 WMI: add QUICK_RCAC to WMI_ADFS_OCAC_MODE enum CRs-Fixed: 2262693 --- fw/wmi_unified.h | 1 + fw/wmi_version.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 0fe50b2..81ae5d7 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -16422,6 +16422,7 @@ typedef struct { typedef enum { QUICK_OCAC = 0, EXTENSIVE_OCAC, + QUICK_RCAC, } WMI_ADFS_OCAC_MODE; typedef struct { diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 31d7390..3d1bccb 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 808 +#define __WMI_REVISION_ 809 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From 0715e5ec48d316fd873c885bbdd16d61e93b664a Mon Sep 17 00:00:00 2001 From: spuligil Date: Sat, 4 Apr 2020 06:00:50 -0700 Subject: fw-api: CL 10098996 - update fw common interface files add WMI_COEX_CONFIG_ENABLE_TXBF def Change-Id: I1933e44c767cb3bba1260ad94fb317dcf6693f2e CRs-Fixed: 2262693 --- fw/wmi_unified.h | 4 ++++ fw/wmi_version.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 81ae5d7..03fb8a4 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -24039,6 +24039,10 @@ typedef enum wmi_coex_config_type { * enable WLAN throughput shaping while BT scanning */ WMI_COEX_CONFIG_ENABLE_TPUT_SHAPING = 45, + /* WMI_COEX_CONFIG_ENABLE_TXBF + * enable WLAN tx beamforming during coex case + */ + WMI_COEX_CONFIG_ENABLE_TXBF = 46, } WMI_COEX_CONFIG_TYPE; typedef struct { diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 3d1bccb..fd312b7 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 809 +#define __WMI_REVISION_ 810 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From 5e96c3765ca5175cb206deae9e4f38ea95f439a1 Mon Sep 17 00:00:00 2001 From: spuligil Date: Sun, 5 Apr 2020 06:00:55 -0700 Subject: fw-api: CL 10106869 - update fw common interface files add WMI_PKTLOG_EVENT_PHY def Change-Id: I5c19b0d9e7b1eb83ddf3183e44096afa2c3df1dd CRs-Fixed: 2262693 --- fw/wmi_unified.h | 1 + fw/wmi_version.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 03fb8a4..aae8cb7 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -7078,6 +7078,7 @@ typedef enum { /* 0x10 used by deprecated DBG_PRINT */ WMI_PKTLOG_EVENT_SMART_ANTENNA = 0x20, /* To support Smart Antenna */ WMI_PKTLOG_EVENT_SW = 0x40, /* To support SW defined events */ + WMI_PKTLOG_EVENT_PHY = 0x80, /* To support PHY stats */ } WMI_PKTLOG_EVENT; typedef enum { diff --git a/fw/wmi_version.h b/fw/wmi_version.h index fd312b7..837c405 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 810 +#define __WMI_REVISION_ 811 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From 5981ae50da30bf19f6de716dd183c79f1f7e48fc Mon Sep 17 00:00:00 2001 From: spuligil Date: Sun, 5 Apr 2020 18:00:55 -0700 Subject: fw-api: CL 10109750 - update fw common interface files Change-Id: Ic2210869286fe5c3608347adb8de8ebd5131796a WMI: add max allowed tx pwr field in VDEV_START_RESPONSE_EVENT msg CRs-Fixed: 2262693 --- fw/wmi_unified.h | 10 ++++++++++ fw/wmi_version.h | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index aae8cb7..4f9e25a 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -10939,6 +10939,11 @@ typedef struct { A_UINT32 cfgd_tx_streams; /** Configured Receive Streams **/ A_UINT32 cfgd_rx_streams; + /** + * maximum allowed Tx power (in dBm) for this connection. + * max_allowed_tx_power = 0 dBm means value is not specified. + */ + A_INT32 max_allowed_tx_power; } wmi_vdev_start_response_event_fixed_param; typedef struct { @@ -19435,6 +19440,11 @@ typedef struct { A_UINT32 reassoc_rsp_len; /** the length of reassoc req */ A_UINT32 reassoc_req_len; + /** + * maximum allowed Tx power (in dBm) for this connection. + * max_allowed_tx_power = 0 dBm means value is not specified. + */ + A_INT32 max_allowed_tx_power; /** * TLV (tag length value) parameters follows roam_synch_event * The TLV's are: diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 837c405..431e941 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 811 +#define __WMI_REVISION_ 812 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From b722a1065be862e58e36bb8a4908624f0bdc0c94 Mon Sep 17 00:00:00 2001 From: spuligil Date: Mon, 6 Apr 2020 06:00:43 -0700 Subject: fw-api: CL 10110007 - update fw common interface files Change-Id: I2bf1627729207810024f1cd45788714d813160c2 HTT: add PPDU start TSF field in HTT_TX_WBM_COMPLETION_V2 CRs-Fixed: 2262693 --- fw/htt.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/fw/htt.h b/fw/htt.h index f4b9b21..5be16fd 100644 --- a/fw/htt.h +++ b/fw/htt.h @@ -202,9 +202,10 @@ * 3.78 Add htt_ppdu_id def. * 3.79 Add HTT_NUM_AC_WMM def. * 3.80 Add add WDS_FREE_COUNT bitfield in T2H PEER_UNMAP_V2 msg. + * 3.81 Add ppdu_start_tsf field in HTT_TX_WBM_COMPLETION_V2 */ #define HTT_CURRENT_VERSION_MAJOR 3 -#define HTT_CURRENT_VERSION_MINOR 80 +#define HTT_CURRENT_VERSION_MINOR 81 #define HTT_NUM_TX_FRAG_DESC 1024 @@ -2446,7 +2447,9 @@ PREPACK struct htt_tx_wbm_transmit_status { */ reserved0: 8; A_UINT32 - reserved1: 32; + ppdu_start_tsf: 32; /* PPDU Start timestamp added for multicast + * packets in the wbm completion path + */ } POSTPACK; /* DWORD 4 */ -- cgit v1.2.3 From ca749c2fab89545d37fa67342170155cff49a18d Mon Sep 17 00:00:00 2001 From: spuligil Date: Tue, 7 Apr 2020 06:01:01 -0700 Subject: fw-api: CL 10118573 - update fw common interface files Change-Id: Ib73f843b26fa6b69eb7f9bfa2c4757ef9884ad9c WMI: ROAM_INVOKE_STATUS enum defs CRs-Fixed: 2262693 --- fw/wmi_unified.h | 25 +++++++++++++++++++++++++ fw/wmi_version.h | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 4f9e25a..a5fc977 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -13792,10 +13792,14 @@ typedef struct { A_UINT32 notif; /** roam notification param * Refer to WMI_ROAM_NOTIF_ defs to interpret the notif_params value. + * notif_params contains roam invoke fail reason from + * wmi_roam_invoke_error_t if reason is WMI_ROAM_REASON_INVOKE_ROAM_FAIL. */ A_UINT32 notif_params; /** roam notification param1 * Refer to WMI_ROAM_NOTIF_ defs to interpret the notif_params1 value. + * notif_params1 is exact frame length of deauth or disassoc if reason + * is WMI_ROAM_REASON_DEAUTH. */ A_UINT32 notif_params1; } wmi_roam_event_fixed_param; @@ -27252,6 +27256,27 @@ typedef enum { WMI_ROAM_TRIGGER_SUB_REASON_CU_PERIODIC, /* Roam scan triggered due to CU periodic timer */ } WMI_ROAM_TRIGGER_SUB_REASON_ID; +typedef enum wmi_roam_invoke_status_error { + WMI_ROAM_INVOKE_STATUS_SUCCESS = 0, + WMI_ROAM_INVOKE_STATUS_VDEV_INVALID = 0x11, /* Invalid VDEV */ + WMI_ROAM_INVOKE_STATUS_BSS_INVALID, /* Invalid VDEV BSS */ + WMI_ROAM_INVOKE_STATUS_VDEV_DOWN, /* VDEV is not UP */ + WMI_ROAM_INVOKE_STATUS_ROAM_HANDLE_INVALID, /* VDEV ROAM handle is invalid */ + WMI_ROAM_INVOKE_STATUS_OFFLOAD_DISABLE, /* Roam offload is not enabled */ + WMI_ROAM_INVOKE_STATUS_AP_SSID_LENGTH_INVALID, /* Connected AP profile SSID length is zero */ + WMI_ROAM_INVOKE_STATUS_HO_DISALLOW, /* Already FW internal roaming is in progress */ + WMI_ROAM_INVOKE_STATUS_ALREADY_RUNNING, /* Roam Invoke already in progress either from internal FW BTM request or from host*/ + WMI_ROAM_INVOKE_STATUS_NON_ROAMABLE_AP, /* Roam HO is not triggered due to non roamable AP */ + WMI_ROAM_INVOKE_STATUS_HO_INTERNAL_FAIL, /* Candidate AP save failed */ + WMI_ROAM_INVOKE_STATUS_DISALLOW, /* Roam invoke trigger is not enabled */ + WMI_ROAM_INVOKE_STATUS_SCAN_FAIL, /* Scan start fail */ + WMI_ROAM_INVOKE_STATUS_START_HO_FAIL, /* Roam HO start fail */ + WMI_ROAM_INVOKE_STATUS_INVALID_PARAMS, /* Roam invoke params are invalid */ + WMI_ROAM_INVOKE_STATUS_INVALID_SCAN_MODE, /* Roam scan mode is invalid */ + WMI_ROAM_INVOKE_STATUS_NO_CAND_AP, /* No candidate AP found to roam to */ + WMI_ROAM_INVOKE_STATUS_HO_FAIL, /* handoff failed */ +} wmi_roam_invoke_status_error_t; + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_trigger_reason_tlv_param */ /* diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 431e941..a0aa10a 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 812 +#define __WMI_REVISION_ 813 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From d9b7df24326b0c37a18f4d8b6e1b2ffb1e311cbd Mon Sep 17 00:00:00 2001 From: spuligil Date: Tue, 7 Apr 2020 06:01:44 -0700 Subject: fw-api: CL 10121256 - update fw common interface files HTT stats: add HTT_TX_SELFGEN_SCH_TSFLAG_SIFS_STALL_NO_NEXT_CMD_ERR def Change-Id: I8586a36e80433804b703017e2533398922ed058d CRs-Fixed: 2262693 --- fw/htt_stats.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fw/htt_stats.h b/fw/htt_stats.h index 1df0f03..18c0a3c 100644 --- a/fw/htt_stats.h +++ b/fw/htt_stats.h @@ -1850,10 +1850,10 @@ typedef enum { HTT_TX_SELFGEN_SCH_TSFLAG_RESP_CBF_BW_MISMATCH_ERR, HTT_TX_SELFGEN_SCH_TSFLAG_RETRY_COUNT_FAIL_ERR, HTT_TX_SELFGEN_SCH_TSFLAG_RESP_TOO_LATE_RECEIVED_ERR, - HTT_TX_SELFGEN_SCH_TSFLAG_ERR_RESERVED, + HTT_TX_SELFGEN_SCH_TSFLAG_SIFS_STALL_NO_NEXT_CMD_ERR, - HTT_TX_SELFGEN_NUM_SCH_TSFLAG_ERROR_STATS = 8, /* includes RESERVED */ - HTT_TX_SELFGEN_SCH_TSFLAG_ERROR_STATS_VALID = 7 /* not incl. RESERVED */ + HTT_TX_SELFGEN_NUM_SCH_TSFLAG_ERROR_STATS = 8, + HTT_TX_SELFGEN_SCH_TSFLAG_ERROR_STATS_VALID = 8 } htt_tx_selfgen_sch_tsflag_error_stats; #define HTT_TX_PDEV_STATS_NUM_AC_MUMIMO_USER_STATS 4 -- cgit v1.2.3 From 9964f26cde66d2373b675a8868f1583712a884c4 Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 8 Apr 2020 12:01:07 -0700 Subject: fw-api: CL 10138029 - update fw common interface files Change-Id: Ibb187a488cf767a9f5435afa1af6db72b4b47f64 WMI: EMA AP - multiple beacon templates CRs-Fixed: 2262693 --- fw/wmi_services.h | 1 + fw/wmi_unified.h | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++----- fw/wmi_version.h | 2 +- 3 files changed, 77 insertions(+), 7 deletions(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index f51107b..4b9abc1 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -437,6 +437,7 @@ typedef enum { WMI_SERVICE_BW_TRUE_160_SUPPORT = 242, /* Indicates FW supports true 160 BW */ WMI_SERVICE_HOST_SCAN_STOP_VDEV_ALL_SUPPORT = 243, /* Indicates FW supports scan stop mode WMI_SCN_STOP_HOST_VAP_ALL */ WMI_SERVICE_BEACON_PROTECTION_SUPPORT = 244, /* Indicates FW supports WPA3 Beacon protection */ + WMI_SERVICE_EMA_AP_SUPPORT = 245, /* FW supports EMA AP feature */ /******* ADD NEW SERVICES UP TO 256 HERE *******/ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index a5fc977..253a12a 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -2632,7 +2632,7 @@ typedef struct { } wmi_service_available_event_fixed_param; /* - * HDL version GET/SET APIs   + * HDL version GET/SET APIs */ #define WMI_HDL_VERSION_BITPOS 0 #define WMI_HDL_VERSION_NUM_BITS 10 @@ -3162,6 +3162,9 @@ typedef struct { * or deletion. This controls the number of tracked peers per vdev. */ A_UINT32 num_tdls_conn_table_entries; /* number of peers to track per TDLS vdev */ + /** + * @brief beacon_tx_offload_max_vdev - Number of maximum beaconing vaps at any time. + */ A_UINT32 beacon_tx_offload_max_vdev; A_UINT32 num_multicast_filter_entries; A_UINT32 num_wow_filters; /*host can configure the number of wow filters*/ @@ -3591,12 +3594,23 @@ typedef struct { A_UINT32 host_service_flags; /** @brief max_rnr_neighbours - -     * The Maximum number of neighbour RNR's from other SoC. -     * This limits the field @num_bss in @wmi_pdev_tbtt_offset_sync_cmd_fixed_param. -     * Value of 0 means crosss SoC TBTT offset syncronization not required and -     * @PDEV_TBTT_OFFSET_SYNC_CMD wouldn't be used. -     */ + * The Maximum number of neighbour RNR's from other SoC. + * This limits the field @num_bss in @wmi_pdev_tbtt_offset_sync_cmd_fixed_param. + * Value of 0 means crosss SoC TBTT offset syncronization not required and + * @PDEV_TBTT_OFFSET_SYNC_CMD wouldn't be used. + */ A_UINT32 max_rnr_neighbours; + + /** @brief ema_max_vap_cnt - number of maximum ema vaps at any instance + * of time across SOC. + */ + A_UINT32 ema_max_vap_cnt; + + /** @brief ema_max_profile_period - maximum profile periodicity + * (maximum number of beacons after which VAP profiles repeat) + * for any EMA VAP on any pdev. + */ + A_UINT32 ema_max_profile_period; } wmi_resource_config; #define WMI_MSDU_FLOW_AST_ENABLE_GET(msdu_flow_config0, ast_x) \ @@ -11083,6 +11097,34 @@ typedef struct { */ } wmi_frame_inject_cmd_fixed_param; +#define WMI_BEACON_TMPLT_PROFILE_PERIOD_BITPOS (0) +#define WMI_BEACON_TMPLT_PROFILE_PERIOD_MASK (0xff << WMI_BEACON_TMPLT_PROFILE_PERIOD_BITPOS) +#define WMI_BEACON_TMPLT_SET_PROFILE_PERIOD(_ema_param, _val) \ + WMI_SET_BITS(_ema_param, WMI_BEACON_TMPLT_PROFILE_PERIOD_BITPOS, 8, value) +#define WMI_BEACON_TMPLT_GET_PROFILE_PERIOD(_ema_param) \ + WMI_GET_BITS(_ema_param, WMI_BEACON_TMPLT_PROFILE_PERIOD_BITPOS, 8) + +#define WMI_BEACON_TMPLT_TEMPLATE_INDEX_BITPOS (8) +#define WMI_BEACON_TMPLT_TEMPLATE_INDEX_MASK (0xff << WMI_BEACON_TMPLT_TEMPLATE_INDEX_BITPOS) +#define WMI_BEACON_TMPLT_SET_TEMPLATE_INDEX(_ema_param, _val) \ + WMI_SET_BITS(_ema_param, WMI_BEACON_TMPLT_TEMPLATE_INDEX_BITPOS, 8, value) +#define WMI_BEACON_TMPLT_GET_TEMPLATE_INDEX(_ema_param) \ + WMI_GET_BITS(_ema_param, WMI_BEACON_TMPLT_TEMPLATE_INDEX_BITPOS, 8) + +#define WMI_BEACON_TMPLT_FIRST_TEMPLATE_BITPOS (16) +#define WMI_BEACON_TMPLT_FIRST_TEMPLATE_MASK (0xff << WMI_BEACON_TMPLT_FIRST_TEMPLATE_BITPOS) +#define WMI_BEACON_TMPLT_SET_FIRST_TEMPLATE(_ema_param, _val) \ + WMI_SET_BITS(_ema_param, WMI_BEACON_TMPLT_FIRST_TEMPLATE_BITPOS, 8, value) +#define WMI_BEACON_TMPLT_GET_FIRST_TEMPLATE(_ema_param) \ + WMI_GET_BITS(_ema_param, WMI_BEACON_TMPLT_FIRST_TEMPLATE_BITPOS, 8) + +#define WMI_BEACON_TMPLT_LAST_TEMPLATE_BITPOS (24) +#define WMI_BEACON_TMPLT_LAST_TEMPLATE_MASK (0xff << WMI_BEACON_TMPLT_LAST_TEMPLATE_BITPOS) +#define WMI_BEACON_TMPLT_SET_LAST_TEMPLATE(_ema_param, _val) \ + WMI_SET_BITS(_ema_param, WMI_BEACON_TMPLT_LAST_TEMPLATE_BITPOS, 8, value) +#define WMI_BEACON_TMPLT_GET_LAST_TEMPLATE(_ema_param) \ + WMI_GET_BITS(_ema_param, WMI_BEACON_TMPLT_LAST_TEMPLATE_BITPOS, 8) + typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_bcn_tmpl_cmd_fixed_param */ /** unique id identifying the VDEV, generated by the caller */ @@ -11137,6 +11179,33 @@ typedef struct { */ A_UINT32 feature_enable_bitmap; + /** + * @ema_params: This carries below information encoded each byte: + * Byte 0: (@ema_beacon_profile_periodicity) - beacon profile periodicity + * (number of beacons) after which nontransmitted MBSS info repeats. + * Assumes values [1, N] inclusive. Shall be 1 for legacy Tx VAPs. + * Refer to WMI_BEACON_TMPLT_[SET,GET]_PROFILE_PERIOD macros. + * Byte 1: (@ema_beacon_tmpl_idx) - Specifies the position of beacon + * templates within profile periodicity. + * Assumes values [0, ema_beacon_profile_periodicity-1] inclusive. + * Multiple templates having same @ema_beacon_max_tmpl_idx will + * overwrite previous template. + * Refer to WMI_BEACON_TMPLT_[SET,GET]_TEMPLATE_INDEX macros. + * Byte 2: (@ema_first_tmpl) - Specifies whether it's a last template in + * sequence of @ema_beacon_profile_periodicity templates + * (end of new template update exchange). + * If this template is the only template being updated, + * @ema_first_tmpl and @ema_last_tmpl both shall be set to 1. + * Refer to WMI_BEACON_TMPLT_[SET,GET]_FIRST_TEMPLATE macros. + * Byte 3: (@ema_last_tmpl) - pecifies whether it's a last template in + * sequence of @ema_beacon_profile_periodicity templates + * (end of new template update exchange). + * If this template is the only template being updated, + * @ema_first_tmpl and @ema_last_tmpl both shall be set to 1. + * Refer to WMI_BEACON_TMPLT_[SET,GET]_LAST_TEMPLATE macros. + */ + A_UINT32 ema_params; + /* * The TLVs follows: * wmi_bcn_prb_info bcn_prb_info; <-- beacon probe capabilities and IEs diff --git a/fw/wmi_version.h b/fw/wmi_version.h index a0aa10a..b044a03 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 813 +#define __WMI_REVISION_ 814 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From 797679ea3f8bf9acdd5757f1e3b38fec149a3231 Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 9 Apr 2020 18:00:43 -0700 Subject: fw-api: CL 10152311 - update fw common interface files Update WMI_VDEV_SEND_BIG_DATA_EVENT msg Change-Id: I3da7218b739f82eae3f1fa845f93c1cc7cea955c CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 19 +++++++++++++++++-- fw/wmi_unified.h | 31 +++++++++++++++++++++++++++++-- fw/wmi_version.h | 2 +- 3 files changed, 47 insertions(+), 5 deletions(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 283d488..48a9170 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1057,6 +1057,8 @@ typedef enum { WMITLV_TAG_STRUC_WMI_HAL_REG_CAPABILITIES_EXT2, WMITLV_TAG_STRUC_wmi_roam_pmk_cache_synch_tlv_param, WMITLV_TAG_STRUC_wmi_mdns_set_staIP_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_vdev_get_big_data_p2_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_vdev_send_big_data_p2_event_fixed_param, } WMITLV_TAG_ID; /* @@ -1489,6 +1491,7 @@ typedef enum { OP(WMI_VDEV_GET_BIG_DATA_CMDID) \ OP(WMI_PDEV_FRAME_INJECT_CMDID) \ OP(WMI_PDEV_TBTT_OFFSET_SYNC_CMDID) \ + OP(WMI_VDEV_GET_BIG_DATA_P2_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -1735,6 +1738,7 @@ typedef enum { OP(WMI_ROAM_SCAN_CHANNEL_LIST_EVENTID) \ OP(WMI_VDEV_SEND_BIG_DATA_EVENTID) \ OP(WMI_NAN_DMESG_EVENTID) \ + OP(WMI_VDEV_SEND_BIG_DATA_P2_EVENTID) \ /* add new EVT_LIST elements above this line */ @@ -4303,11 +4307,16 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SET_PCL_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_get_scan_channel_list_cmd_fixed_param, wmi_roam_get_scan_channel_list_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_GET_SCAN_CHANNEL_LIST_CMDID); -/* Get per vdev BIG DATA stats */ +/* VDEV_GET_BIG_DATA_CMD IS DEPRECATED - DO NOT USE */ #define WMITLV_TABLE_WMI_VDEV_GET_BIG_DATA_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_get_big_data_cmd_fixed_param, wmi_vdev_get_big_data_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_GET_BIG_DATA_CMDID); +/* Get per vdev BIG DATA stats P2 */ +#define WMITLV_TABLE_WMI_VDEV_GET_BIG_DATA_P2_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_get_big_data_p2_cmd_fixed_param, wmi_vdev_get_big_data_p2_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_GET_BIG_DATA_P2_CMDID); + /* Frame inject command */ #define WMITLV_TABLE_WMI_PDEV_FRAME_INJECT_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_frame_inject_cmd_fixed_param, wmi_frame_inject_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ @@ -5813,11 +5822,17 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_MULTIPLE_VDEV_RESTART_RESP_EVENTID); WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, channel_list, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_SCAN_CHANNEL_LIST_EVENTID); -/* send BIG DATA event to host */ +/* VDEV_SEND_BIG_DATA_EVENT IS DEPRECATED - DO NOT USE */ #define WMITLV_TABLE_WMI_VDEV_SEND_BIG_DATA_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_send_big_data_event_fixed_param, wmi_vdev_send_big_data_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SEND_BIG_DATA_EVENTID); +/* send BIG DATA event to host P2 */ +#define WMITLV_TABLE_WMI_VDEV_SEND_BIG_DATA_P2_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_send_big_data_p2_event_fixed_param, wmi_vdev_send_big_data_p2_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, bd_datapath_stats, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SEND_BIG_DATA_P2_EVENTID); + #define WMITLV_TABLE_WMI_NAN_DMESG_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_nan_dmesg_event_fixed_param, wmi_nan_dmesg_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, msg, WMITLV_SIZE_VAR) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 253a12a..25d1734 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -503,8 +503,10 @@ typedef enum { WMI_VDEV_AUDIO_SYNC_QTIMER_CMDID, /** Preferred channel list for each vdev */ WMI_VDEV_SET_PCL_CMDID, - /** Get per vdev BIG DATA stats */ + /** VDEV_GET_BIG_DATA_CMD IS DEPRECATED - DO NOT USE */ WMI_VDEV_GET_BIG_DATA_CMDID, + /** Get per vdev BIG DATA stats phase 2 */ + WMI_VDEV_GET_BIG_DATA_P2_CMDID, /* peer specific commands */ @@ -1478,8 +1480,10 @@ typedef enum { WMI_VDEV_AUDIO_SYNC_START_STOP_EVENTID, /** Sends the final offset in the QTIMERs of both master and slave */ WMI_VDEV_AUDIO_SYNC_Q_MASTER_SLAVE_OFFSET_EVENTID, - /* send BIG DATA stats to host */ + /** VDEV_SEND_BIG_DATA_EVENT IS DEPRECATED - DO NOT USE */ WMI_VDEV_SEND_BIG_DATA_EVENTID, + /** send BIG DATA stats to host phase 2 */ + WMI_VDEV_SEND_BIG_DATA_P2_EVENTID, /* peer specific events */ @@ -25802,6 +25806,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_VDEV_GET_BIG_DATA_CMDID); WMI_RETURN_STRING(WMI_PDEV_FRAME_INJECT_CMDID); WMI_RETURN_STRING(WMI_PDEV_TBTT_OFFSET_SYNC_CMDID); + WMI_RETURN_STRING(WMI_VDEV_GET_BIG_DATA_P2_CMDID); } return "Invalid WMI cmd"; @@ -27643,6 +27648,28 @@ typedef struct { A_UINT32 rx_data_mc_frame_filtered_count; } wmi_vdev_send_big_data_event_fixed_param; +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_get_big_data_p2_cmd_fixed_param */ + A_UINT32 vdev_id; +} wmi_vdev_get_big_data_p2_cmd_fixed_param; + +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_send_big_data_p2_event_fixed_param */ + A_UINT32 vdev_id; + /** param list **/ + /* total number of TSF out of sync */ + A_UINT32 tsf_out_of_sync; + + /* + * This fixed_param TLV is followed by the below TLVs: + * List of datapath big data stats. This stat is not interpreted by + * host. This gets directly updated on big data server and later FW + * team will analyze this data. + * + * A_UINT32 bd_datapath_stats[]; + */ +} wmi_vdev_send_big_data_p2_event_fixed_param; + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals wmi_txpower_query_cmd_fixed_param */ A_UINT32 request_id; /* unique request ID to distinguish the command / event set */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index b044a03..2b45c69 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 814 +#define __WMI_REVISION_ 815 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From 278b4c6266e41f3d84ba193dd066c24c849dd99f Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 10 Apr 2020 06:00:42 -0700 Subject: fw-api: CL 10156874 - update fw common interface files Change-Id: I76950e0eec2c0ff8a3ef2218aa45f2351bc2173e WMI: add AUDIO_AGGR STATISTICS msg defs CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 23 ++++++++++ fw/wmi_unified.h | 130 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 154 insertions(+), 1 deletion(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 48a9170..37cc0f1 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1059,6 +1059,11 @@ typedef enum { WMITLV_TAG_STRUC_wmi_mdns_set_staIP_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_vdev_get_big_data_p2_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_vdev_send_big_data_p2_event_fixed_param, + WMITLV_TAG_STRUC_wmi_audio_aggr_get_statistics, + WMITLV_TAG_STRUC_wmi_audio_aggr_reset_statistics, + WMITLV_TAG_STRUC_wmi_audio_aggr_statistics_event_fixed_param, + WMITLV_TAG_STRUC_wmi_audio_aggr_group_stats, + WMITLV_TAG_STRUC_wmi_audio_aggr_peer_stats, } WMITLV_TAG_ID; /* @@ -1492,6 +1497,8 @@ typedef enum { OP(WMI_PDEV_FRAME_INJECT_CMDID) \ OP(WMI_PDEV_TBTT_OFFSET_SYNC_CMDID) \ OP(WMI_VDEV_GET_BIG_DATA_P2_CMDID) \ + OP(WMI_AUDIO_AGGR_GET_STATISTICS_CMDID) \ + OP(WMI_AUDIO_AGGR_RESET_STATISTICS_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -1739,6 +1746,7 @@ typedef enum { OP(WMI_VDEV_SEND_BIG_DATA_EVENTID) \ OP(WMI_NAN_DMESG_EVENTID) \ OP(WMI_VDEV_SEND_BIG_DATA_P2_EVENTID) \ + OP(WMI_AUDIO_AGGR_REPORT_STATISTICS_EVENTID) \ /* add new EVT_LIST elements above this line */ @@ -4277,6 +4285,14 @@ WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_AGGR_SET_GROUP_PROBE_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_mac_addr, au_groups, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_AGGR_UPDATE_STA_GROUP_INFO_CMDID); +#define WMITLV_TABLE_WMI_AUDIO_AGGR_GET_STATISTICS_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_audio_aggr_get_statistics, wmi_audio_aggr_get_statistics_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_AGGR_GET_STATISTICS_CMDID); + +#define WMITLV_TABLE_WMI_AUDIO_AGGR_RESET_STATISTICS_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_audio_aggr_reset_statistics, wmi_audio_aggr_reset_statistics_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_AGGR_RESET_STATISTICS_CMDID); + /* CFR Capture Filter cmd */ #define WMITLV_TABLE_WMI_CFR_CAPTURE_FILTER_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_cfr_capture_filter_cmd_fixed_param, wmi_cfr_capture_filter_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ @@ -5838,6 +5854,13 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SEND_BIG_DATA_P2_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, msg, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_NAN_DMESG_EVENTID); +/* report soundbar statistics event to host */ +#define WMITLV_TABLE_WMI_AUDIO_AGGR_REPORT_STATISTICS_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_audio_aggr_statistics_event_fixed_param, wmi_audio_aggr_statistics_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_audio_aggr_group_stats, group_stats, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_audio_aggr_peer_stats, peer_stats, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_AGGR_REPORT_STATISTICS_EVENTID); + #ifdef __cplusplus } diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 25d1734..01a002d 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -1290,6 +1290,8 @@ typedef enum { WMI_AUDIO_AGGR_SET_GROUP_AUTO_RATE_CMDID, WMI_AUDIO_AGGR_SET_GROUP_PROBE_CMDID, WMI_AUDIO_AGGR_UPDATE_STA_GROUP_INFO_CMDID, + WMI_AUDIO_AGGR_GET_STATISTICS_CMDID, + WMI_AUDIO_AGGR_RESET_STATISTICS_CMDID, /** WMI commands related to Channel Frequency Response Capture **/ WMI_CFR_CAPTURE_FILTER_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_CFR_CAPTURE), @@ -1966,6 +1968,10 @@ typedef enum { /** WMI events related to Estimation of Service Parameters (802.11mc) */ WMI_ESP_ESTIMATE_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_ESP), + + /** WMI events related to Audio Frame aggregation feature **/ + WMI_AUDIO_AGGR_REPORT_STATISTICS_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_AUDIO), + } WMI_EVT_ID; /* defines for OEM message sub-types */ @@ -25807,6 +25813,8 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_PDEV_FRAME_INJECT_CMDID); WMI_RETURN_STRING(WMI_PDEV_TBTT_OFFSET_SYNC_CMDID); WMI_RETURN_STRING(WMI_VDEV_GET_BIG_DATA_P2_CMDID); + WMI_RETURN_STRING(WMI_AUDIO_AGGR_GET_STATISTICS_CMDID); + WMI_RETURN_STRING(WMI_AUDIO_AGGR_RESET_STATISTICS_CMDID); } return "Invalid WMI cmd"; @@ -29425,6 +29433,26 @@ typedef struct { */ } wmi_audio_aggr_update_sta_group_info_cmd_fixed_param; +typedef struct { + /** TLV tag and len **/ + A_UINT32 tlv_header; + /* VDEV identifier */ + A_UINT32 vdev_id; + /* + * Identifier from Host to indicate how many this cmd been sent to FW. + * This value will be echoed back in the response_id field + * of the WMI_AUDIO_AGGR_REPORT_STATISTICS_EVENTID. + */ + A_UINT32 request_id; +} wmi_audio_aggr_get_statistics_cmd_fixed_param; + +typedef struct { + /** TLV tag and len **/ + A_UINT32 tlv_header; + /* VDEV identifier */ + A_UINT32 vdev_id; +} wmi_audio_aggr_reset_statistics_cmd_fixed_param; + typedef struct { /** TLV tag and len; tag equals * WMITLV_TAG_STRUC_wmi_set_ocl_cmd_fixed_param */ @@ -29932,6 +29960,108 @@ typedef struct { */ } wmi_pdev_multiple_vdev_restart_resp_event_fixed_param; +/** WMI event for Firmware to report soundbar audio frame statistics to Host **/ +typedef struct { + /** TLV tag and len **/ + A_UINT32 tlv_header; + A_UINT32 vdev_id; /* ID of the vdev this response belongs to */ + /** identify which request this resposend to **/ + A_UINT32 response_id; + /* audio frame statistics part - + * Use subsequent TLV arrays to list group_stats and peer_stats. + */ + +/* + * The TLVs listing group_stats, will follow this TLV. + * The number of group_stats can be calculated by dividing the + * TLV array length by the TLV array element length. + * + * The fixed_param TLV is directly followed by a list of + * wmi_audio_aggr_group_stats elements: + * wmi_audio_aggr_group_stats group_stats[0]; + * wmi_audio_aggr_group_stats group_stats[1]; + * ... + * wmi_audio_aggr_group_stats group_stats[N]; + * + * After the list of wmi_audio_aggr_group_stats is a list of peer_stats. + * wmi_audio_aggr_peer_stats peer_stats[0]; + * wmi_audio_aggr_peer_stats peer_stats[1]; + * ... + * wmi_audio_aggr_peer_stats peer_stats[N]; + * + */ +} wmi_audio_aggr_statistics_event_fixed_param; + +typedef struct { + /** TLV tag and len **/ + A_UINT32 tlv_header; + /* Group mac_address */ + wmi_mac_addr group_addr; + /* Group indentify */ + A_UINT32 group_id; + /* Multicast MSDU Data Packets received from Host for this Group */ + A_UINT32 mcast_tx; + /* + * Multicast MSDU Data Packets sent to OTA. + * Customer defined SW Retry Packets not included, as these + * SW Retry packets generated in FW locally, but not from Host. + */ + A_UINT32 mcast_tx_ok; + /* + * Multicast MSDU Data Packets sent to OTA. + * Only include Customer defined SW Retry Packets. + */ + A_UINT32 mcast_tx_ok_retry; + /* + * Multicast MSDU Data Packets not sent to OTA, + * discarded by tbd function due to timeout. + * Customer defined SW Retry Packets not included. + */ + A_UINT32 mcast_tx_tbd_lost; + /* + * Multicast MSDU Data Packets not sent to OTA, + * discarded by tbd function due to timeout. + * Only include Customer defined SW Retry Packets. + */ + A_UINT32 mcast_tx_tbd_lost_retry; +} wmi_audio_aggr_group_stats; + +typedef struct { + /** TLV tag and len **/ + A_UINT32 tlv_header; + /* STA mac_address */ + wmi_mac_addr peer_addr; + /* Unicast MSDU Data Packets received from peer STA */ + A_UINT32 ucast_rx; + /* Unicast MSDU Data Packets received from Host for Peer STA */ + A_UINT32 ucast_tx; + /* + * Unicast MSDU Data Packets received from Host, + * and SW retry times for these packets. + */ + A_UINT32 ucast_tx_retry; + /* + * Unicast MSDU Data Packets received from Host, + * and sent to Peer STA successfully. + */ + A_UINT32 ucast_tx_ok; + /* + * Unicast MSDU Data Packets received from Host, + * but sent to Peer STA fail. not OTA, or no ACK from Peer. + */ + A_UINT32 ucast_tx_lost; + /* + * Periodic NULL Data frames for multicast tx rate auto control. + * Generated by FW locally, and sent to Peer STA successfully. + */ + A_UINT32 null_frame_tx; + /* + * Periodic NULL Data frames for multicast tx rate auto control. + * Generated by FW locally, but sent to Peer STA fail. + */ + A_UINT32 null_frame_tx_lost; +} wmi_audio_aggr_peer_stats; + /* ADD NEW DEFS HERE */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 2b45c69..efa227d 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 815 +#define __WMI_REVISION_ 816 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From 018b5d5204ebdd89aeaa40b4aeb3d446fbc4f342 Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 10 Apr 2020 18:00:41 -0700 Subject: fw-api: CL 10162232 - update fw common interface files Add WMI_ANT_CONTROLLER_CMD msg def Change-Id: Ie1a2906d6a88a74b86c36480656ca771e95d0c83 CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 7 +++++++ fw/wmi_unified.h | 10 ++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 37cc0f1..a616df9 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1064,6 +1064,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_audio_aggr_statistics_event_fixed_param, WMITLV_TAG_STRUC_wmi_audio_aggr_group_stats, WMITLV_TAG_STRUC_wmi_audio_aggr_peer_stats, + WMITLV_TAG_STRUC_wmi_ant_controller_cmd_fixed_param, } WMITLV_TAG_ID; /* @@ -1499,6 +1500,7 @@ typedef enum { OP(WMI_VDEV_GET_BIG_DATA_P2_CMDID) \ OP(WMI_AUDIO_AGGR_GET_STATISTICS_CMDID) \ OP(WMI_AUDIO_AGGR_RESET_STATISTICS_CMDID) \ + OP(WMI_ANT_CONTROLLER_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -2534,6 +2536,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_GPIO_CONFIG_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_gpio_output_cmd_fixed_param, wmi_gpio_output_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_GPIO_OUTPUT_CMDID); +/* Antenna Controller config Cmd */ +#define WMITLV_TABLE_WMI_ANT_CONTROLLER_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_ant_controller_cmd_fixed_param, wmi_ant_controller_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_ANT_CONTROLLER_CMDID); + /* Peer add WDA entry Cmd */ #define WMITLV_TABLE_WMI_PEER_ADD_WDS_ENTRY_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_add_wds_entry_cmd_fixed_param, wmi_peer_add_wds_entry_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 01a002d..cc5b9f8 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -1042,6 +1042,9 @@ typedef enum { /* Txbf configuration command */ WMI_TXBF_CMDID, + /* Antenna Controller, connected to wlan debug uart/GPIO. */ + WMI_ANT_CONTROLLER_CMDID, + /* FWTEST Commands */ WMI_FWTEST_VDEV_MCC_SET_TBTT_MODE_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_FWTEST), /** set NoA descs **/ @@ -16274,6 +16277,12 @@ typedef struct { A_UINT32 gpio_num; /* GPIO number which changed state */ } wmi_gpio_input_event_fixed_param; +/* WMI_ANT_CONTROLLER_CMDID */ +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_ant_controller_cmd_fixed_param */ + A_UINT32 ant_controller_enable; +} wmi_ant_controller_cmd_fixed_param; + /* WMI_P2P_DISC_EVENTID */ enum { P2P_DISC_SEARCH_PROB_REQ_HIT = 0, /* prob req hit the p2p find pattern */ @@ -25815,6 +25824,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_VDEV_GET_BIG_DATA_P2_CMDID); WMI_RETURN_STRING(WMI_AUDIO_AGGR_GET_STATISTICS_CMDID); WMI_RETURN_STRING(WMI_AUDIO_AGGR_RESET_STATISTICS_CMDID); + WMI_RETURN_STRING(WMI_ANT_CONTROLLER_CMDID); } return "Invalid WMI cmd"; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index efa227d..0821fdc 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 816 +#define __WMI_REVISION_ 817 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From e1483881a80be60526d94f966aa69022ac1889c1 Mon Sep 17 00:00:00 2001 From: spuligil Date: Mon, 13 Apr 2020 18:00:47 -0700 Subject: fw-api: CL 10180460 - update fw common interface files Change-Id: I6110edf31d9f1e67f5493b0abfc3662b02e4a80c HTT: add WIN_SIZE field in T2H DELBA msg CRs-Fixed: 2262693 --- fw/htt.h | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/fw/htt.h b/fw/htt.h index 5be16fd..38c5387 100644 --- a/fw/htt.h +++ b/fw/htt.h @@ -202,10 +202,11 @@ * 3.78 Add htt_ppdu_id def. * 3.79 Add HTT_NUM_AC_WMM def. * 3.80 Add add WDS_FREE_COUNT bitfield in T2H PEER_UNMAP_V2 msg. - * 3.81 Add ppdu_start_tsf field in HTT_TX_WBM_COMPLETION_V2 + * 3.81 Add ppdu_start_tsf field in HTT_TX_WBM_COMPLETION_V2. + * 3.82 Add WIN_SIZE field to HTT_T2H_MSG_TYPE_RX_DELBA msg. */ #define HTT_CURRENT_VERSION_MAJOR 3 -#define HTT_CURRENT_VERSION_MINOR 81 +#define HTT_CURRENT_VERSION_MINOR 82 #define HTT_NUM_TX_FRAG_DESC 1024 @@ -9677,7 +9678,7 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t * * |31 20|19 16|15 10|9 8|7 0| * |---------------------------------------------------------------------| - * | peer ID | TID | reserved | IR| msg type | + * | peer ID | TID | window size | IR| msg type | * |---------------------------------------------------------------------| * * The following field definitions describe the format of the rx ADDBA @@ -9696,10 +9697,10 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t * 2 - recipient (a.k.a. responder) * 3 - unused / reserved * - WIN_SIZE - * Bits 15:8 (ADDBA only) + * Bits 15:8 for ADDBA, bits 15:10 for DELBA * Purpose: Specifies the length of the block ack window (max = 64). * Value: - * block ack window length specified by the received ADDBA + * block ack window length specified by the received ADDBA/DELBA * management message. * - TID * Bits 19:16 @@ -9749,6 +9750,8 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t #define HTT_RX_DELBA_INITIATOR_M 0x00000300 #define HTT_RX_DELBA_INITIATOR_S 8 +#define HTT_RX_DELBA_WIN_SIZE_M 0x0000FC00 +#define HTT_RX_DELBA_WIN_SIZE_S 10 #define HTT_RX_DELBA_TID_M HTT_RX_ADDBA_TID_M #define HTT_RX_DELBA_TID_S HTT_RX_ADDBA_TID_S #define HTT_RX_DELBA_PEER_ID_M HTT_RX_ADDBA_PEER_ID_M @@ -9767,6 +9770,14 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t #define HTT_RX_DELBA_INITIATOR_GET(word) \ (((word) & HTT_RX_DELBA_INITIATOR_M) >> HTT_RX_DELBA_INITIATOR_S) +#define HTT_RX_DELBA_WIN_SIZE_SET(word, value) \ + do { \ + HTT_CHECK_SET_VAL(HTT_RX_DELBA_WIN_SIZE, value); \ + (word) |= (value) << HTT_RX_DELBA_WIN_SIZE_S; \ + } while (0) +#define HTT_RX_DELBA_WIN_SIZE_GET(word) \ + (((word) & HTT_RX_DELBA_WIN_SIZE_M) >> HTT_RX_DELBA_WIN_SIZE_S) + #define HTT_RX_DELBA_BYTES 4 /** -- cgit v1.2.3 From 9a24937d56e5b2cc5c3e479e2b7847c8d830aa72 Mon Sep 17 00:00:00 2001 From: spuligil Date: Tue, 14 Apr 2020 06:00:55 -0700 Subject: fw-api: CL 10183176 - update fw common interface files Change-Id: Ifaa566922e19f3a5acb9593b08a3b366be6b2b14 WMI: add ft_im_for_deauth field in roam_11r_offload TLV struct CRs-Fixed: 2262693 --- fw/wmi_unified.h | 7 +++++++ fw/wmi_version.h | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index cc5b9f8..1f8501c 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -13810,6 +13810,13 @@ typedef struct { A_UINT32 psk_msk_ext_len; /**length of psk_msk_ext*/ A_UINT32 psk_msk_ext[ROAM_OFFLOAD_PSK_MSK_BYTES>>2]; A_UINT32 adaptive_11r; /* FW needs to perform adaptive 11r roaming */ + /* + * FW needs to perform FT initial moiblity association instead of + * FT roaming for deauth roam trigger + * 0 - To disable FT-IM + * 1 - To enable FT-IM + */ + A_UINT32 ft_im_for_deauth; } wmi_roam_11r_offload_tlv_param; /* This TLV will be filled only in case of ESE */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 0821fdc..dadb6c5 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 817 +#define __WMI_REVISION_ 818 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From 7e1cb4966536f2c22cea04acc7cc766fcd22daa4 Mon Sep 17 00:00:00 2001 From: spuligil Date: Tue, 14 Apr 2020 12:01:21 -0700 Subject: fw-api: CL 10190734 - update fw common interface files Change-Id: If48301f58218bed54eb9ad6184a48c2d834ccfcc WMI: add PDEV_SET_SRG_[BSS_COLOR,PARTIAL_BSSID]_BITMAP_CMD msg defs CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 14 ++++++ fw/wmi_unified.h | 143 ++++++++++++++++++++++++++++++++++++++++++++++++------ fw/wmi_version.h | 2 +- 3 files changed, 142 insertions(+), 17 deletions(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index a616df9..50eb141 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1065,6 +1065,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_audio_aggr_group_stats, WMITLV_TAG_STRUC_wmi_audio_aggr_peer_stats, WMITLV_TAG_STRUC_wmi_ant_controller_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_pdev_srg_bss_color_bitmap_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_pdev_srg_partial_bssid_bitmap_cmd_fixed_param, } WMITLV_TAG_ID; /* @@ -1501,6 +1503,8 @@ typedef enum { OP(WMI_AUDIO_AGGR_GET_STATISTICS_CMDID) \ OP(WMI_AUDIO_AGGR_RESET_STATISTICS_CMDID) \ OP(WMI_ANT_CONTROLLER_CMDID) \ + OP(WMI_PDEV_SET_SRG_BSS_COLOR_BITMAP_CMDID) \ + OP(WMI_PDEV_SET_SRG_PARTIAL_BSSID_BITMAP_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -4352,6 +4356,16 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_FRAME_INJECT_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_rnr_bss_tbtt_info, rnr_tbtt_info, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_TBTT_OFFSET_SYNC_CMDID); +/* SRG BSS color Bitmap */ +#define WMITLV_TABLE_WMI_PDEV_SET_SRG_BSS_COLOR_BITMAP_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_srg_bss_color_bitmap_cmd_fixed_param, wmi_pdev_srg_bss_color_bitmap_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_SRG_BSS_COLOR_BITMAP_CMDID); + +/* SRG Partial BSSid Bitmap */ +#define WMITLV_TABLE_WMI_PDEV_SET_SRG_PARTIAL_BSSID_BITMAP_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_srg_partial_bssid_bitmap_cmd_fixed_param, wmi_pdev_srg_partial_bssid_bitmap_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_SRG_PARTIAL_BSSID_BITMAP_CMDID); + /************************** TLV definitions of WMI events *******************************/ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 1f8501c..8134723 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -422,6 +422,10 @@ typedef enum { * RNR TBTT offset calculation. */ WMI_PDEV_TBTT_OFFSET_SYNC_CMDID, + /** Bss color bitmap for SRG based spatial reuse feature */ + WMI_PDEV_SET_SRG_BSS_COLOR_BITMAP_CMDID, + /** Partial BSSID bitmap for SRG based spatial reuse feature */ + WMI_PDEV_SET_SRG_PARTIAL_BSSID_BITMAP_CMDID, /* VDEV (virtual device) specific commands */ /** vdev create */ @@ -6522,11 +6526,12 @@ typedef enum { WMI_PDEV_PARAM_SET_TEST_CMD_TWT_SCHED_CONFIG, /* Parameter used to configure OBSS Packet Detect threshold - * for Spatial Reuse feature. + * for Non-SRG / SRG based Spatial Reuse feature. + * (SRG = Spatial Reuse Group) * The accepted values are in between 0x00 and 0xFF, inclusive. - * The parameter value is programmed into the spatial reuse register, - * to specify how low the background signal strength from neighboring - * BSS cells must be, for this AP to employ spatial reuse. + * The parameter value is programmed into the appropriate spatial reuse + * regsiter, to specify how low the background signal strength from + * neighboring BSS cells must be, for this AP to employ spatial reuse. * * The value of the parameter is compared against the OBSS RSSI in dB. * It is a 8-bit value whose @@ -6539,10 +6544,14 @@ typedef enum { * BSS cells is no more than 10 dB. * * bit | purpose - * ------------- - * 0 - 7 | Param Value - * 8 - 30 | reserved - * 31 | Enable/Disable. If set to 0, ignore bits 0-7. + * ----------------- + * 0 - 7 | Param Value for non-SRG based Spatial Reuse + * 8 - 15| Param value for SRG based Spatial Reuse + * 16 - 29| Reserved + * 30 | Enable/Disable SRG based spatial reuse. + * | If set to 0, ignore bits 8-15. + * 31 | Enable/Disable Non-SRG based spatial reuse. + * | If set to 0, ignore bits 0-7. */ WMI_PDEV_PARAM_SET_CMD_OBSS_PD_THRESHOLD, @@ -6550,16 +6559,22 @@ typedef enum { WMI_PDEV_PARAM_ENABLE_NON_WLAN_COEX_FROM_BOOT, /* Parameter used to configure OBSS Packet Detection per Access Category - * for Spatial Reuse feature. + * for SRP based and OBSS_PD based spatial reuse feature. + * (SRP = Spatial Reuse Parameter) * Based on the bits set, the corresponding Access Category Queues will have * spatial reuse enabled / disabled. - * bit | AC - * ----------- - * 0 | BK - * 1 | BE - * 2 | VI - * 3 | VO - * 4 - 31 | Reserved + * bit | AC + * ------------ + * 0 | BK for SRG/Non-SRG + * 1 | BE for SRG/Non-SRG + * 2 | VI for SRG/Non-SRG + * 3 | VO for SRG/Non-SRG + * 4 - 15 | Reserved + * 16 | BK for SRP + * 17 | BE for SRP + * 18 | VI for SRP + * 19 | VO for SRP + * 20 - 31 | Reserved */ WMI_PDEV_PARAM_SET_CMD_OBSS_PD_PER_AC, @@ -6608,6 +6623,12 @@ typedef enum { /* Parameter used for enabling/disabling xlna bypass for SAP mode*/ WMI_PDEV_PARAM_SET_SAP_XLNA_BYPASS, + /* Parameter used to enable/disable SRP feature */ + WMI_PDEV_PARAM_ENABLE_SRP, + + /* Parameter used to enable/disable SR prohibit feature */ + WMI_PDEV_PARAM_ENABLE_SR_PROHIBIT, + } WMI_PDEV_PARAM; #define WMI_PDEV_ONLY_BSR_TRIG_IS_ENABLED(trig_type) WMI_GET_BITS(trig_type, 0, 1) @@ -10688,6 +10709,64 @@ typedef enum { */ WMI_VDEV_PARAM_ENABLE_DISABLE_ROAM_REASON_VSIE, /* 0x9D */ + /* Parameter used to configure OBSS Packet Detect threshold + * for Non-SRG / SRG based Spatial Reuse feature. + * (SRG = Spatial Reuse Group) + * The accepted values are in between 0x00 and 0xFF, inclusive. + * The parameter value is programmed into the appropriate spatial reuse + * regsiter, to specify how low the background signal strength from + * neighboring BSS cells must be, for this AP to employ spatial reuse. + * + * The value of the parameter is compared against the OBSS RSSI in dB. + * It is a 8-bit value whose + * range is -128 to 127 (after two's complement operation). + * For example, if the parameter value is 0xF5, the target will + * allow spatial reuse if the RSSI detected from other BSS + * is below -10 dB. + * Similarly, if the parameter value is 0x0A, the target will + * allow spatial reuse only if the RSSI detected from neighboring + * BSS cells is no more than 10 dB. + * + * bit | purpose + * ----------------- + * 0 - 7 | Param Value for non-SRG based Spatial Reuse + * 8 - 15| Param value for SRG based Spatial Reuse + * 16 - 29| Reserved + * 30 | Enable/Disable SRG based spatial reuse. + * | If set to 0, ignore bits 8-15. + * 31 | Enable/Disable Non-SRG based spatial reuse. + * | If set to 0, ignore bits 0-7. + * + * The WMI_VDEV_PARAM_SET_CMD_OBSS_PD_THRESHOLD setting will only + * take effect if the WMI_PDEV_PARAM_SET_CMD_OBSS_PD_THRESHOLD + * setting is also set for the pdev that the vdev belongs to. + */ + WMI_VDEV_PARAM_SET_CMD_OBSS_PD_THRESHOLD, + + /* Parameter used to configure OBSS Packet Detection per Access Category + * for SRP based and OBSS_PD based spatial reuse feature. + * (SRP = Spatial Reuse Parameter) + * Based on the bits set, the corresponding Access Category Queues will have + * spatial reuse enabled / disabled. + * bit | AC + * ------------ + * 0 | BK for SRG/Non-SRG + * 1 | BE for SRG/Non-SRG + * 2 | VI for SRG/Non-SRG + * 3 | VO for SRG/Non-SRG + * 4 - 15 | Reserved + * 16 | BK for SRP + * 17 | BE for SRP + * 18 | VI for SRP + * 19 | VO for SRP + * 20 - 31 | Reserved + * + * The WMI_VDEV_PARAM_SET_CMD_OBSS_PD_PER_AC setting will only take effect + * if the WMI_PDEV_PARAM_SET_CMD_OBSS_PD_PER_AC setting is also set for + * the pdev that the vdev belongs to. + */ + WMI_VDEV_PARAM_SET_CMD_OBSS_PD_PER_AC, + /*=== ADD NEW VDEV PARAM TYPES ABOVE THIS LINE === * The below vdev param types are used for prototyping, and are @@ -30079,6 +30158,38 @@ typedef struct { A_UINT32 null_frame_tx_lost; } wmi_audio_aggr_peer_stats; +typedef struct { + /** TLV tag and len; tag equals + *WMITLV_TAG_STRUC_wmi_pdev_srg_bss_color_bitmap_cmd_fixed_param */ + A_UINT32 tlv_header; + /** pdev_id for identifying 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; + /* 64 bit bss color bitmap used by SRG based spatial reuse feature + * bitmap[0] contains lower 32 bits and bitmap[1] contains + * upper 32 bits. + */ + A_UINT32 srg_bss_color_bitmap[2]; +} wmi_pdev_srg_bss_color_bitmap_cmd_fixed_param; + +typedef struct { + /** TLV tag and len; tag equals + *WMITLV_TAG_STRUC_wmi_pdev_srg_partial_bssid_bitmap_cmd_fixed_param */ + A_UINT32 tlv_header; + /** pdev_id for identifying 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; + /* 64 bit partial bssid bitmap used by SRG based spatial reuse feature + * bitmap[0] contains lower 32 bits and bitmap[1] contains + * upper 32 bits. + */ + A_UINT32 srg_partial_bssid_bitmap[2]; +} wmi_pdev_srg_partial_bssid_bitmap_cmd_fixed_param; + /* ADD NEW DEFS HERE */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index dadb6c5..7c20e0c 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 818 +#define __WMI_REVISION_ 819 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From 625453614f1bec2ddff3c0c59a4167c03638780b Mon Sep 17 00:00:00 2001 From: spuligil Date: Tue, 14 Apr 2020 18:01:01 -0700 Subject: fw-api: CL 10193381 - update fw common interface files Add WMI_SIMULATION_TEST_CMD msg def Change-Id: Ided64652c96ffb4090d49927064aa66948368566 CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 8 +++++ fw/wmi_unified.h | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 111 insertions(+), 1 deletion(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 50eb141..a11b985 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1067,6 +1067,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_ant_controller_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_pdev_srg_bss_color_bitmap_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_pdev_srg_partial_bssid_bitmap_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_simulation_test_cmd_fixed_param, } WMITLV_TAG_ID; /* @@ -1505,6 +1506,7 @@ typedef enum { OP(WMI_ANT_CONTROLLER_CMDID) \ OP(WMI_PDEV_SET_SRG_BSS_COLOR_BITMAP_CMDID) \ OP(WMI_PDEV_SET_SRG_PARTIAL_BSSID_BITMAP_CMDID) \ + OP(WMI_SIMULATION_TEST_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -4366,6 +4368,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_SRG_BSS_COLOR_BITMAP_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_srg_partial_bssid_bitmap_cmd_fixed_param, wmi_pdev_srg_partial_bssid_bitmap_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_SRG_PARTIAL_BSSID_BITMAP_CMDID); +/* Simulation test command */ +#define WMITLV_TABLE_WMI_SIMULATION_TEST_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_simulation_test_cmd_fixed_param, wmi_simulation_test_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bufp, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_SIMULATION_TEST_CMDID); + /************************** TLV definitions of WMI events *******************************/ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 8134723..5d6f475 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -1059,6 +1059,8 @@ typedef enum { WMI_FWTEST_CMDID, /* Q-Boost configuration test commands */ WMI_QBOOST_CFG_CMDID, + /* Simulation Test command */ + WMI_SIMULATION_TEST_CMDID, /** TDLS Configuration */ /** enable/disable TDLS */ @@ -25911,6 +25913,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_AUDIO_AGGR_GET_STATISTICS_CMDID); WMI_RETURN_STRING(WMI_AUDIO_AGGR_RESET_STATISTICS_CMDID); WMI_RETURN_STRING(WMI_ANT_CONTROLLER_CMDID); + WMI_RETURN_STRING(WMI_SIMULATION_TEST_CMDID); } return "Invalid WMI cmd"; @@ -30190,6 +30193,105 @@ typedef struct { A_UINT32 srg_partial_bssid_bitmap[2]; } wmi_pdev_srg_partial_bssid_bitmap_cmd_fixed_param; +typedef enum { + /* Simulation test command types */ + WMI_SIM_TEST_FRAME_CONTENT_CHANGE_CMD, + WMI_SIM_TEST_DROP_FRAME_CMD, + WMI_SIM_TEST_DELAY_FRAME_CMD, + WMI_SIM_TEST_CONFIGURATION_CMD, + + WMI_SIM_TEST_CMD_UNKNOWN = 255, +} WMI_SIMULATION_TEST_CMD_TYPE; + +typedef enum { + /* Simulation test sub-command types */ + WMI_SIM_TEST_SUB_CMD_UNKNOWN = 255, +} WMI_SIMULATION_TEST_SUB_CMD_TYPE; + +#define WMI_SIM_FRAME_TYPE_BIT_POS 0 +#define WMI_SIM_FRAME_SUBTYPE_BIT_POS 8 +#define WMI_SIM_FRAME_SEQ_BIT_POS 16 +#define WMI_SIM_FRAME_OFFSET_BIT_POS 0 +#define WMI_SIM_FRAME_LENGTH_BIT_POS 16 + +#define WMI_SIM_FRAME_TYPE_SET(param, value) \ + WMI_SET_BITS(param, WMI_SIM_FRAME_TYPE_BIT_POS, 8, value) +#define WMI_SIM_FRAME_TYPE_GET(param) \ + WMI_GET_BITS(param, WMI_SIM_FRAME_TYPE_BIT_POS, 8) + +#define WMI_SIM_FRAME_SUBTYPE_SET(param, value) \ + WMI_SET_BITS(param, WMI_SIM_FRAME_SUBTYPE_BIT_POS, 8, value) +#define WMI_SIM_FRAME_SUBTYPE_GET(param) \ + WMI_GET_BITS(param, WMI_SIM_FRAME_SUBTYPE_BIT_POS, 8) + +#define WMI_SIM_FRAME_SEQ_SET(param, value) \ + WMI_SET_BITS(param, WMI_SIM_FRAME_SEQ_BIT_POS, 8, value) +#define WMI_SIM_FRAME_SEQ_GET(param) \ + WMI_GET_BITS(param, WMI_SIM_FRAME_SEQ_BIT_POS, 8) + +#define WMI_SIM_FRAME_OFFSET_SET(param, value) \ + WMI_SET_BITS(param, WMI_SIM_FRAME_OFFSET_BIT_POS, 16, value) +#define WMI_SIM_FRAME_OFFSET_GET(param) \ + WMI_GET_BITS(param, WMI_SIM_FRAME_OFFSET_BIT_POS, 16) + +#define WMI_SIM_FRAME_LENGTH_SET(param, value) \ + WMI_SET_BITS(param, WMI_SIM_FRAME_LENGTH_BIT_POS, 16, value) +#define WMI_SIM_FRAME_LENGTH_GET(param) \ + WMI_GET_BITS(param, WMI_SIM_FRAME_LENGTH_BIT_POS, 16) + +typedef struct { + /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_simulation_test_cmd_fixed_param */ + A_UINT32 tlv_header; + /** pdev_id for identifying 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; + /** vdev_id for identifying the vap simulation command needs to be applied. + * This is for future purpose, currently only 1 vap is supported for + * simulation test mode. + * Host will always set it to 0 for now. + */ + A_UINT32 vdev_id; + /** peer MAC address for identifying the peer for which the simulation + * command needs to be applied. + * peer_macaddr needs to be set to '0' for simulation commands which + * needs to be applied at pdev or vdev level. + */ + wmi_mac_addr peer_macaddr; + /** test command type, as per WMI_SIMULATION_TEST_CMD_TYPE */ + A_UINT32 test_cmd_type; + /** test command type, as per WMI_SIMULATION_TEST_SUB_CMD_TYPE */ + A_UINT32 test_subcmd_type; + /** + * The frame type, frame subtype, and frame sequence number + * are stored as bitfields within the below A_UINT32 "word". + * Use the WMI_SIM_xxx_GET/SET macros to read and + * write these bitfields. + **/ + A_UINT32 frame_type_subtype_seq; + /** + * The frame offset and frame length, + * are stored as bitfields within the below A_UINT32 "word". + * Use the WMI_SIM_xxx_GET/SET macros to read and + * write these bitfields. + **/ + A_UINT32 frame_offset_length; + /** buf_len: Buffer length in bytes + * In some cases buf_len == frame_length, but not always. + * For example, a DELAY_FRAME command will not involve any frame + * contents, so frame_length will be zero, but buf_len will be + * non-zero because it will contain command-specific parameters. + */ + A_UINT32 buf_len; +/* This TLV is followed by array of bytes: + * A_UINT8 bufp[]; + * For FRAME_CONTENT_CHANGE commands, bufp contains the first 64 bytes + * of the frame. + */ +} wmi_simulation_test_cmd_fixed_param; + + /* ADD NEW DEFS HERE */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 7c20e0c..6686e41 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 819 +#define __WMI_REVISION_ 820 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From c46e3c817341e3374ac9c4e84e81f9bfe0e25eff Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 17 Apr 2020 06:01:06 -0700 Subject: fw-api: CL 10213049 - update fw common interface files Change-Id: I8ecbbd526b43122c296a75b20d39a3908e50f24d WMI: add pmk_ext fields to roam_11i_offload TLV struct CRs-Fixed: 2262693 --- fw/wmi_unified.h | 4 +++- fw/wmi_version.h | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 5d6f475..060151e 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -13871,12 +13871,14 @@ typedef struct { ((flag) & (1 << WMI_ROAM_OFFLOAD_FLAG_PMK_CACHE_DISABLED)) -/* This TLV will be filled only in case of wpa-psk/wpa2-psk */ +/* This TLV will be filled only in case of wpa-psk/wpa2-psk/wpa3 */ typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_11i_offload_fixed_param */ A_UINT32 flags; /** flags. see WMI_ROAM_OFFLOAD_FLAG_ above */ A_UINT32 pmk[ROAM_OFFLOAD_PMK_BYTES>>2]; /* pmk offload. As this 4 byte aligned, we don't declare it as tlv array */ A_UINT32 pmk_len; /**the length of pmk. in normal case it should be 32, but for LEAP, is should be 16*/ + A_UINT32 pmk_ext_len; /** the length of extended pmk. in normal case it should be 0, but for suiteB, it should be 16*/ + A_UINT32 pmk_ext[ROAM_OFFLOAD_PMK_BYTES>>2]; /* pmk ext offload. 16 bytes for suiteB */ } wmi_roam_11i_offload_tlv_param; /* This TLV will be filled only in case of 11R*/ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 6686e41..867c7c8 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 820 +#define __WMI_REVISION_ 821 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From d2e646f4fad9edc59e70fecb06705341c438d07f Mon Sep 17 00:00:00 2001 From: spuligil Date: Sat, 18 Apr 2020 06:01:03 -0700 Subject: fw-api: CL 10224498 - update fw common interface files add WMI_AUDIO_AGGR_SET_RTSCTS_CONFIG_CMD msg def Change-Id: I279b20c7abdc108cc4ea195d7197161d051e58c2 CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 6 ++++++ fw/wmi_unified.h | 18 ++++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index a11b985..75695cd 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1068,6 +1068,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_pdev_srg_bss_color_bitmap_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_pdev_srg_partial_bssid_bitmap_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_simulation_test_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_audio_aggr_set_rtscts_config, } WMITLV_TAG_ID; /* @@ -1507,6 +1508,7 @@ typedef enum { OP(WMI_PDEV_SET_SRG_BSS_COLOR_BITMAP_CMDID) \ OP(WMI_PDEV_SET_SRG_PARTIAL_BSSID_BITMAP_CMDID) \ OP(WMI_SIMULATION_TEST_CMDID) \ + OP(WMI_AUDIO_AGGR_SET_RTSCTS_CONFIG_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -4306,6 +4308,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_AGGR_GET_STATISTICS_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_audio_aggr_reset_statistics, wmi_audio_aggr_reset_statistics_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_AGGR_RESET_STATISTICS_CMDID); +#define WMITLV_TABLE_WMI_AUDIO_AGGR_SET_RTSCTS_CONFIG_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_audio_aggr_set_rtscts_config, wmi_audio_aggr_set_rtscts_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_AGGR_SET_RTSCTS_CONFIG_CMDID); + /* CFR Capture Filter cmd */ #define WMITLV_TABLE_WMI_CFR_CAPTURE_FILTER_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_cfr_capture_filter_cmd_fixed_param, wmi_cfr_capture_filter_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 060151e..e867734 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -1301,6 +1301,7 @@ typedef enum { WMI_AUDIO_AGGR_UPDATE_STA_GROUP_INFO_CMDID, WMI_AUDIO_AGGR_GET_STATISTICS_CMDID, WMI_AUDIO_AGGR_RESET_STATISTICS_CMDID, + WMI_AUDIO_AGGR_SET_RTSCTS_CONFIG_CMDID, /** WMI commands related to Channel Frequency Response Capture **/ WMI_CFR_CAPTURE_FILTER_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_CFR_CAPTURE), @@ -25916,6 +25917,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_AUDIO_AGGR_RESET_STATISTICS_CMDID); WMI_RETURN_STRING(WMI_ANT_CONTROLLER_CMDID); WMI_RETURN_STRING(WMI_SIMULATION_TEST_CMDID); + WMI_RETURN_STRING(WMI_AUDIO_AGGR_SET_RTSCTS_CONFIG_CMDID); } return "Invalid WMI cmd"; @@ -29554,6 +29556,22 @@ typedef struct { A_UINT32 vdev_id; } wmi_audio_aggr_reset_statistics_cmd_fixed_param; +typedef struct { + /** TLV tag and len **/ + A_UINT32 tlv_header; + /* VDEV identifier */ + A_UINT32 vdev_id; + + /* + * The user_mode and user_profile fields are passed through + * the host driver to the target FW, but are never interpreted + * by the host driver. The values for these fields are opaque + * to the host, and are only interpreted by the FW. + */ + A_UINT32 user_mode; + A_UINT32 user_profile; +} wmi_audio_aggr_set_rtscts_config_cmd_fixed_param; + typedef struct { /** TLV tag and len; tag equals * WMITLV_TAG_STRUC_wmi_set_ocl_cmd_fixed_param */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 867c7c8..3b56318 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 821 +#define __WMI_REVISION_ 822 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From 36993e85cb512809297aad4a08d93877ea51f00d Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 23 Apr 2020 06:00:52 -0700 Subject: fw-api: CL 10262355 - update fw common interface files Change-Id: I957534bc6bbd74b6103cf19f4a3af470c0c748cb WMI: add def of spectral scan param event msg CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 9 +++++++ fw/wmi_unified.h | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- fw/wmi_version.h | 2 +- 3 files changed, 84 insertions(+), 3 deletions(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 75695cd..b783d74 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1069,6 +1069,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_pdev_srg_partial_bssid_bitmap_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_simulation_test_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_audio_aggr_set_rtscts_config, + WMITLV_TAG_STRUC_wmi_pdev_sscan_fw_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_pdev_sscan_fft_bin_index, } WMITLV_TAG_ID; /* @@ -1757,6 +1759,7 @@ typedef enum { OP(WMI_NAN_DMESG_EVENTID) \ OP(WMI_VDEV_SEND_BIG_DATA_P2_EVENTID) \ OP(WMI_AUDIO_AGGR_REPORT_STATISTICS_EVENTID) \ + OP(WMI_PDEV_SSCAN_FW_PARAM_EVENTID) \ /* add new EVT_LIST elements above this line */ @@ -5896,6 +5899,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_NAN_DMESG_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_audio_aggr_peer_stats, peer_stats, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_AGGR_REPORT_STATISTICS_EVENTID); +/* Send sscan fw params to host */ +#define WMITLV_TABLE_WMI_PDEV_SSCAN_FW_PARAM_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_sscan_fw_cmd_fixed_param, wmi_pdev_sscan_fw_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_sscan_fft_bin_index, fft_bin_index, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SSCAN_FW_PARAM_EVENTID); + #ifdef __cplusplus } diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index e867734..f249993 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -1334,6 +1334,9 @@ typedef enum { /** Scan specific events */ WMI_SCAN_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_SCAN), + /** Spectral scan FW params to host */ + WMI_PDEV_SSCAN_FW_PARAM_EVENTID, + /* PDEV specific events */ /** TPC config for the current operating channel */ WMI_PDEV_TPC_CONFIG_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_PDEV), @@ -5682,12 +5685,26 @@ typedef struct { A_UINT32 spectral_scan_chn_mask; /* See enum wmi_spectral_scan_mode */ A_UINT32 spectral_scan_mode; - /* agile span center frequency (MHz), 0 for normal scan*/ - A_UINT32 spectral_scan_center_freq; + union { + /** + * Two center frequencies are required for agile channel switch + * supporting True 160 and Restricted 160 ((80+80) or 165) MHz. + * This parameter specifies the center frequency for cases with a + * contiguous channel, and the center frequency of the primary + * portion of a non-contiguous (80+80 or 165 MHz) channel. + */ + A_UINT32 spectral_scan_center_freq; + A_UINT32 spectral_scan_center_freq1; + }; /* agile span primary channel frequency (MHz), 0 for normal scan*/ A_UINT32 spectral_scan_chan_freq; /* agile scan bandwidth (20, 40, 80, 80+80, 160), enum wmi_channel_width */ A_UINT32 spectral_scan_chan_width; + /** + * Adding freq2 to support True 160 and restricted 160 ((80+80) or 165) MHz. + * agile span center frequency2 (MHz), 0 for normal scan. + */ + A_UINT32 spectral_scan_center_freq2; } wmi_vdev_spectral_configure_cmd_fixed_param; /* @@ -5712,6 +5729,61 @@ typedef struct { A_UINT32 vdev_id; } wmi_vdev_get_tx_power_cmd_fixed_param; +/* Primary 80 bin values */ +#define WMI_SSCAN_PRI80_START_BIN_GET(pri80_bins) WMI_GET_BITS(pri80_bins, 0, 16) +#define WMI_SSCAN_PRI80_START_BIN_SET(pri80_bins, value) WMI_SET_BITS(pri80_bins, 0, 16, value) +#define WMI_SSCAN_PRI80_END_BIN_GET(pri80_bins) WMI_GET_BITS(pri80_bins, 16, 16) +#define WMI_SSCAN_PRI80_END_BIN_SET(pri80_bins, value) WMI_SET_BITS(pri80_bins, 16, 16, value) + +/* Secondary 80 bin values */ +#define WMI_SSCAN_SEC80_START_BIN_GET(sec80_bins) WMI_GET_BITS(sec80_bins, 0, 16) +#define WMI_SSCAN_SEC80_START_BIN_SET(sec80_bins, value) WMI_SET_BITS(sec80_bins, 0, 16, value) +#define WMI_SSCAN_SEC80_END_BIN_GET(sec80_bins) WMI_GET_BITS(sec80_bins, 16, 16) +#define WMI_SSCAN_SEC80_END_BIN_SET(sec80_bins, value) WMI_SET_BITS(sec80_bins, 16, 16, value) + +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_sscan_fw_cmd_fixed_param */ + A_UINT32 pdev_id; + + /* See enum wmi_spectral_scan_mode */ + A_UINT32 spectral_scan_mode; + + /** + * This fixed_param TLV is followed by the below TLVs: + * + * wmi_pdev_sscan_fft_bin_index fft_bin_index[]; // array len = 0 or 1 + * If present (array length is 1) this TLV specifies the primary + * and secondary channels FFT bin indices for True 160 and + * Restricted 160 (80+80 or 165) MHz BW cases. + */ +} wmi_pdev_sscan_fw_cmd_fixed_param; + +/** + * The below structure is used only to send the FFT bin numbers for + * True 160 and Restricted 160(80+80 or 165) MHz from FW to HOST + */ +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_sscan_fft_bin_index */ + + /** + * Bit 15 - 0 : primary 80 start bin number + * Bit 31 - 16 : primary 80 end bin number + * Refer to WMI_SSCAN_PRI80_[START,END]_BIN_[GET,SET] macros. + * Only for True 160 and Restricted 160(80+80 or 165) MHz this + * will be filled. + */ + A_UINT32 pri80_bins; + + /** + * Bit 15 - 0 : secondary 80 start bin number + * Bit 31 - 16 : secondary 80 end bin number + * Refer to WMI_SSCAN_SEC80_[START,END]_BIN_[GET,SET] macros. + * Only for True 160 and Restricted 160(80+80 or 165) MHz this + * will be filled. + */ + A_UINT32 sec80_bins; +} wmi_pdev_sscan_fft_bin_index; + #define WMI_BEACON_CTRL_TX_DISABLE 0 #define WMI_BEACON_CTRL_TX_ENABLE 1 #define WMI_BEACON_CTRL_SWBA_EVENT_DISABLE 2 diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 3b56318..83a2950 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 822 +#define __WMI_REVISION_ 823 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From a670b907a953986c507aafc3ba1b320426d0449e Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 24 Apr 2020 06:00:41 -0700 Subject: fw-api: CL 10270542 - update fw common interface files Change-Id: I25fc0faa91f31ca8f626faa6ac7d33d4dc4a3817 WMI: add peer_ps valid,timestamp fields to PEER_STA_PS_STATECHG_EVENT msg CRs-Fixed: 2262693 --- fw/wmi_services.h | 1 + fw/wmi_unified.h | 24 ++++++++++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index 4b9abc1..f6ceb02 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -438,6 +438,7 @@ typedef enum { WMI_SERVICE_HOST_SCAN_STOP_VDEV_ALL_SUPPORT = 243, /* Indicates FW supports scan stop mode WMI_SCN_STOP_HOST_VAP_ALL */ WMI_SERVICE_BEACON_PROTECTION_SUPPORT = 244, /* Indicates FW supports WPA3 Beacon protection */ WMI_SERVICE_EMA_AP_SUPPORT = 245, /* FW supports EMA AP feature */ + WMI_SERVICE_PEER_POWER_SAVE_DURATION_SUPPORT = 246, /* Support for adding Power save duration per client */ /******* ADD NEW SERVICES UP TO 256 HERE *******/ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index f249993..4f5ffdb 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -23565,10 +23565,34 @@ typedef struct wmi_wds_addr_event { A_UINT32 vdev_id; /* ID of the vdev this peer belongs to */ } wmi_wds_addr_event_fixed_param; +/* + * Enum values for WMI_PEER_PS_SUPPORTED_BITMAP field, + * in wmi_peer_sta_ps_statechange_event structure. + */ +typedef enum { + /* Used to indicate that peer_ps_valid is valid */ + WMI_PEER_PS_VALID_SUPPORTED = 0x00000001, + /* Used to indicate that peer_ps_timestamp field is valid */ + WMI_PEER_PS_TIMESTAMP_SUPPORTED = 0x00000002, +} WMI_PEER_PS_SUPPORTED_BITMAP; + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_sta_ps_statechange_event_fixed_param */ wmi_mac_addr peer_macaddr; A_UINT32 peer_ps_state; + /* Start of extended structure */ + /* Bitmap to indicate which fields in the extended structure are valid. + * Bitmap values correspond to enum WMI_PEER_PS_SUPPORTED_BITMAP + */ + A_UINT32 peer_ps_supported_bitmap; + /* This field is used to indicate host of a valid PS state change. + * 1 - indicates a valid PS state change. + * 0 - indicates an invalid PS state change. + * Host to ignore the power save duration calculation when peer_ps_valid = 0 + */ + A_UINT32 peer_ps_valid; + /* This field indicates the time since target boot-up in MilliSeconds. */ + A_UINT32 peer_ps_timestamp; } wmi_peer_sta_ps_statechange_event_fixed_param; /* WMI_PDEV_FIPS_EVENTID */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 83a2950..e437dbf 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 823 +#define __WMI_REVISION_ 824 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From 90310fd1ecbb1f56022efe56a5d0b438e8fef6d9 Mon Sep 17 00:00:00 2001 From: spuligil Date: Tue, 28 Apr 2020 06:00:44 -0700 Subject: fw-api: CL 10295227 - update fw common interface files Change-Id: I3f657162c24480fec1442e6e8cdc79acbba09a55 WMI: inv txkey flag in MGMT_TX_SEND msg, svc flags for 5.9, MU PR punc CRs-Fixed: 2262693 --- fw/wmi_services.h | 2 ++ fw/wmi_unified.h | 15 +++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index f6ceb02..6ce425b 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -439,6 +439,8 @@ typedef enum { WMI_SERVICE_BEACON_PROTECTION_SUPPORT = 244, /* Indicates FW supports WPA3 Beacon protection */ WMI_SERVICE_EMA_AP_SUPPORT = 245, /* FW supports EMA AP feature */ WMI_SERVICE_PEER_POWER_SAVE_DURATION_SUPPORT = 246, /* Support for adding Power save duration per client */ + WMI_SERVICE_5_DOT_9GHZ_SUPPORT = 247, /* Indicates FW supports new 5.9GHZ (scan, connection and so on) */ + WMI_SERVICE_MU_PREAMBLE_PUNCTURE_SUPPORT = 248, /* Indicates FW supports MU preamble puncture */ /******* ADD NEW SERVICES UP TO 256 HERE *******/ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 4f5ffdb..3e89239 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -5143,6 +5143,15 @@ typedef struct { #define WMI_TX_SEND_PARAM_CFR_CAPTURE_GET(tx_param_dword1) WMI_GET_BITS(tx_param_dword1, 21, 1) #define WMI_TX_SEND_PARAM_CFR_CAPTURE_SET(tx_param_dword1, value) WMI_SET_BITS(tx_param_dword1, 21, 1, value) +/* TX_SEND flags: + * Bit 0: set wrong txkey + * There is one special WFA test case in STA or AP, setting wrong txkey + * in disassoc or deauth with PMF enabled to verify if peer disconnected + */ +#define WMI_TX_SEND_FLAG_SET_WRONG_KEY 0x00000001 +#define WMI_TX_SEND_FLAG_SET_WRONG_KEY_GET(tx_flags) WMI_GET_BITS(tx_flags, 0, 1) +#define WMI_TX_SEND_FLAG_SET_WRONG_KEY_SET(tx_flags, value) WMI_SET_BITS(tx_flags, 0, 1, value) + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_tx_send_params */ @@ -5306,6 +5315,12 @@ typedef struct { * frame, as it will be tx'ed on non-pause tid */ A_UINT32 tx_params_valid; + /* tx_flags: + * Extra flags when tx_params_valid is 0. + * Refer to WMI_TX_SEND_FLAG_xxx defs regarding the meaning of the + * bits within this field. + */ + A_UINT32 tx_flags; /* This TLV is followed by array of bytes: First 64 bytes of management frame * A_UINT8 bufp[]; */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index e437dbf..70e0fed 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 824 +#define __WMI_REVISION_ 825 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From 19687e9bb8cb3b37245d244daa0498aa8a873f39 Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 29 Apr 2020 06:00:44 -0700 Subject: fw-api: CL 10308469 - update fw common interface files Change-Id: Ic7cc77d0b38fa1066dd5eae7ece0ea1587c35d95 WMI: add VDEV_FLAGS_EMA_MODE def CRs-Fixed: 2262693 --- fw/wmi_unified.h | 17 +++++++++++++---- fw/wmi_version.h | 2 +- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 3e89239..2ad3ef2 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -3624,8 +3624,9 @@ typedef struct { */ A_UINT32 max_rnr_neighbours; - /** @brief ema_max_vap_cnt - number of maximum ema vaps at any instance - * of time across SOC. + /** @brief ema_max_vap_cnt - number of maximum EMA Tx vaps (VAPs having both + * VDEV_FLAGS_EMA_MODE and VDEV_FLAGS_TRANSMIT_AP set) at any instance + * of time across SOC. Legacy MBSS Vaps are not accounted in this field. */ A_UINT32 ema_max_vap_cnt; @@ -9093,6 +9094,11 @@ typedef struct { #define VDEV_FLAGS_NON_MBSSID_AP 0x00000001 /* legacy AP */ #define VDEV_FLAGS_TRANSMIT_AP 0x00000002 /* indicate if this vdev is transmitting AP */ #define VDEV_FLAGS_NON_TRANSMIT_AP 0x00000004 /* explicitly indicate this vdev is non-transmitting AP */ +#define VDEV_FLAGS_EMA_MODE 0x00000008 /* vdev is EMA and supports multiple beacon profiles. + * Once this flag set, flags VDEV_FLAGS_TRANSMIT_AP and + * VDEV_FLAGS_NON_TRANSMIT_AP classify it as either Tx vap + * or non Tx vap. + */ typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_create_cmd_fixed_param */ @@ -11362,10 +11368,13 @@ typedef struct { A_UINT32 feature_enable_bitmap; /** - * @ema_params: This carries below information encoded each byte: + * @ema_params: Applicable only for EMA tx VAPs (VAPs having both flags + * VDEV_FLAGS_EMA_MODE and VDEV_FLAGS_TRANSMIT_AP set) and should + * remain 0 otherwise. For EMA vaps it carries below information + * encoded in each byte: * Byte 0: (@ema_beacon_profile_periodicity) - beacon profile periodicity * (number of beacons) after which nontransmitted MBSS info repeats. - * Assumes values [1, N] inclusive. Shall be 1 for legacy Tx VAPs. + * Assumes values [1, N] inclusive. * Refer to WMI_BEACON_TMPLT_[SET,GET]_PROFILE_PERIOD macros. * Byte 1: (@ema_beacon_tmpl_idx) - Specifies the position of beacon * templates within profile periodicity. diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 70e0fed..63a196d 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 825 +#define __WMI_REVISION_ 826 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From 0f029530983eb2982139802d491e5faa4c79eed5 Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 29 Apr 2020 18:00:35 -0700 Subject: fw-api: CL 10317768 - update fw common interface files Change-Id: I0d060a05ed715c1a1ecc788504f307ad1aad961f WMI: add SRG/non-SRG color/BSSID enable bitmap msg defs CRs-Fixed: 2262693 --- fw/wmi_services.h | 1 + fw/wmi_tlv_defs.h | 28 +++++++++++++++++++++ fw/wmi_unified.h | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ fw/wmi_version.h | 2 +- 4 files changed, 105 insertions(+), 1 deletion(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index 6ce425b..c6acdd9 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -441,6 +441,7 @@ typedef enum { WMI_SERVICE_PEER_POWER_SAVE_DURATION_SUPPORT = 246, /* Support for adding Power save duration per client */ WMI_SERVICE_5_DOT_9GHZ_SUPPORT = 247, /* Indicates FW supports new 5.9GHZ (scan, connection and so on) */ WMI_SERVICE_MU_PREAMBLE_PUNCTURE_SUPPORT = 248, /* Indicates FW supports MU preamble puncture */ + WMI_SERVICE_SRG_SRP_SPATIAL_REUSE_SUPPORT = 249, /* Support for SRG, SRP based spatial reuse support */ /******* ADD NEW SERVICES UP TO 256 HERE *******/ diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index b783d74..5753fc9 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1071,6 +1071,10 @@ typedef enum { WMITLV_TAG_STRUC_wmi_audio_aggr_set_rtscts_config, WMITLV_TAG_STRUC_wmi_pdev_sscan_fw_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_pdev_sscan_fft_bin_index, + WMITLV_TAG_STRUC_wmi_pdev_srg_obss_color_enable_bitmap_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_pdev_srg_obss_bssid_enable_bitmap_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_pdev_non_srg_obss_color_enable_bitmap_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_pdev_non_srg_obss_bssid_enable_bitmap_cmd_fixed_param, } WMITLV_TAG_ID; /* @@ -1511,6 +1515,10 @@ typedef enum { OP(WMI_PDEV_SET_SRG_PARTIAL_BSSID_BITMAP_CMDID) \ OP(WMI_SIMULATION_TEST_CMDID) \ OP(WMI_AUDIO_AGGR_SET_RTSCTS_CONFIG_CMDID) \ + OP(WMI_PDEV_SET_SRG_OBSS_COLOR_ENABLE_BITMAP_CMDID) \ + OP(WMI_PDEV_SET_SRG_OBSS_BSSID_ENABLE_BITMAP_CMDID) \ + OP(WMI_PDEV_SET_NON_SRG_OBSS_COLOR_ENABLE_BITMAP_CMDID) \ + OP(WMI_PDEV_SET_NON_SRG_OBSS_BSSID_ENABLE_BITMAP_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -4383,6 +4391,26 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_SRG_PARTIAL_BSSID_BITMAP_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bufp, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_SIMULATION_TEST_CMDID); +/* SRG OBSS color Enable Bitmap */ +#define WMITLV_TABLE_WMI_PDEV_SET_SRG_OBSS_COLOR_ENABLE_BITMAP_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_srg_obss_color_enable_bitmap_cmd_fixed_param, wmi_pdev_srg_obss_color_enable_bitmap_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_SRG_OBSS_COLOR_ENABLE_BITMAP_CMDID); + +/* SRG OBSS BSSID Enable Bitmap */ +#define WMITLV_TABLE_WMI_PDEV_SET_SRG_OBSS_BSSID_ENABLE_BITMAP_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_srg_obss_bssid_enable_bitmap_cmd_fixed_param, wmi_pdev_srg_obss_bssid_enable_bitmap_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_SRG_OBSS_BSSID_ENABLE_BITMAP_CMDID); + +/* Non_SRG OBSS color Enable Bitmap */ +#define WMITLV_TABLE_WMI_PDEV_SET_NON_SRG_OBSS_COLOR_ENABLE_BITMAP_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_non_srg_obss_color_enable_bitmap_cmd_fixed_param, wmi_pdev_non_srg_obss_color_enable_bitmap_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_NON_SRG_OBSS_COLOR_ENABLE_BITMAP_CMDID); + +/* Non_SRG OBSS BSSID Enable Bitmap */ +#define WMITLV_TABLE_WMI_PDEV_SET_NON_SRG_OBSS_BSSID_ENABLE_BITMAP_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_non_srg_obss_bssid_enable_bitmap_cmd_fixed_param, wmi_pdev_non_srg_obss_bssid_enable_bitmap_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_NON_SRG_OBSS_BSSID_ENABLE_BITMAP_CMDID); + /************************** TLV definitions of WMI events *******************************/ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 2ad3ef2..0775d3b 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -426,6 +426,14 @@ typedef enum { WMI_PDEV_SET_SRG_BSS_COLOR_BITMAP_CMDID, /** Partial BSSID bitmap for SRG based spatial reuse feature */ WMI_PDEV_SET_SRG_PARTIAL_BSSID_BITMAP_CMDID, + /** OBSS color enable bitmap for SRG based spatial reuse feature */ + WMI_PDEV_SET_SRG_OBSS_COLOR_ENABLE_BITMAP_CMDID, + /** OBSS BSSID enable bitmap for SRG based spatial reuse feature */ + WMI_PDEV_SET_SRG_OBSS_BSSID_ENABLE_BITMAP_CMDID, + /** OBSS color enable bitmap for NON_SRG based spatial reuse feature */ + WMI_PDEV_SET_NON_SRG_OBSS_COLOR_ENABLE_BITMAP_CMDID, + /** OBSS BSSID enable bitmap for NON_SRG based spatial reuse feature */ + WMI_PDEV_SET_NON_SRG_OBSS_BSSID_ENABLE_BITMAP_CMDID, /* VDEV (virtual device) specific commands */ /** vdev create */ @@ -10863,6 +10871,9 @@ typedef enum { */ WMI_VDEV_PARAM_SET_CMD_OBSS_PD_PER_AC, + /* Parameter used to enable/disable SRP feature */ + WMI_VDEV_PARAM_ENABLE_SRP, + /*=== ADD NEW VDEV PARAM TYPES ABOVE THIS LINE === * The below vdev param types are used for prototyping, and are @@ -30333,6 +30344,70 @@ typedef struct { A_UINT32 srg_partial_bssid_bitmap[2]; } wmi_pdev_srg_partial_bssid_bitmap_cmd_fixed_param; +typedef struct { + /** TLV tag and len; tag equals + * WMITLV_TAG_STRUC_wmi_pdev_srg_obss_color_enable_bitmap_cmd_fixed_param */ + A_UINT32 tlv_header; + /** pdev_id for identifying 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; + /* 64 bit SRG obss color enable bitmap used by SRG based spatial reuse feature + * bitmap[0] contains lower 32 bits and bitmap[1] contains + * upper 32 bits. + */ + A_UINT32 srg_obss_en_color_bitmap[2]; +} wmi_pdev_srg_obss_color_enable_bitmap_cmd_fixed_param; + +typedef struct { + /** TLV tag and len; tag equals + * WMITLV_TAG_STRUC_wmi_pdev_srg_obss_bssid_enable_bitmap_cmd_fixed_param */ + A_UINT32 tlv_header; + /** pdev_id for identifying 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; + /* 64 bit obss bssid enable bitmap used by SRG based spatial reuse feature + * bitmap[0] contains lower 32 bits and bitmap[1] contains + * upper 32 bits. + */ + A_UINT32 srg_obss_en_bssid_bitmap[2]; +} wmi_pdev_srg_obss_bssid_enable_bitmap_cmd_fixed_param; + +typedef struct { + /** TLV tag and len; tag equals + * WMITLV_TAG_STRUC_wmi_pdev_non_srg_obss_color_enable_bitmap_cmd_fixed_param */ + A_UINT32 tlv_header; + /** pdev_id for identifying 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; + /* 64 bit Non_SRG obss color enable bitmap used by Non_SRG based spatial reuse feature + * bitmap[0] contains lower 32 bits and bitmap[1] contains + * upper 32 bits. + */ + A_UINT32 non_srg_obss_en_color_bitmap[2]; +} wmi_pdev_non_srg_obss_color_enable_bitmap_cmd_fixed_param; + +typedef struct { + /** TLV tag and len; tag equals + * WMITLV_TAG_STRUC_wmi_pdev_non_srg_obss_bssid_enable_bitmap_cmd_fixed_param */ + A_UINT32 tlv_header; + /** pdev_id for identifying 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; + /* 64 bit obss bssid enable bitmap used by Non_SRG based spatial reuse feature + * bitmap[0] contains lower 32 bits and bitmap[1] contains + * upper 32 bits. + */ + A_UINT32 non_srg_obss_en_bssid_bitmap[2]; +} wmi_pdev_non_srg_obss_bssid_enable_bitmap_cmd_fixed_param; + typedef enum { /* Simulation test command types */ WMI_SIM_TEST_FRAME_CONTENT_CHANGE_CMD, diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 63a196d..8370d9a 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 826 +#define __WMI_REVISION_ 827 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From ca84464e76937da7fe20af81735fac4ca6829087 Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 30 Apr 2020 06:00:36 -0700 Subject: fw-api: CL 10320987 - update fw common interface files Change-Id: Ic7ff5d1621408d962f8632a526823b8f0ce93d2b HTT: reduce seq_idx in HTT PPDU ID from 3 bits -> 2 CRs-Fixed: 2262693 --- fw/htt.h | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/fw/htt.h b/fw/htt.h index 38c5387..da9101e 100644 --- a/fw/htt.h +++ b/fw/htt.h @@ -204,9 +204,10 @@ * 3.80 Add add WDS_FREE_COUNT bitfield in T2H PEER_UNMAP_V2 msg. * 3.81 Add ppdu_start_tsf field in HTT_TX_WBM_COMPLETION_V2. * 3.82 Add WIN_SIZE field to HTT_T2H_MSG_TYPE_RX_DELBA msg. + * 3.83 Shrink seq_idx field in HTT PPDU ID from 3 bits to 2. */ #define HTT_CURRENT_VERSION_MAJOR 3 -#define HTT_CURRENT_VERSION_MINOR 82 +#define HTT_CURRENT_VERSION_MINOR 83 #define HTT_NUM_TX_FRAG_DESC 1024 @@ -14044,10 +14045,10 @@ PREPACK struct htt_chan_caldata_msg { * The following field definitions describe the format of the PPDU ID. * The PPDU ID is truncated to 24 bits for TLVs from TQM. * - * |31 30|29 24| 23| 22|21 19|18 17|16 12|11 0| - * +--------------------------------------------------------------------------- - * |rsvd |seq_cmd_type|tqm_cmd| rsvd |seq_idx|mac_id| hwq_ id | sch id | - * +--------------------------------------------------------------------------- + * |31 30|29 24| 23|22 21|20 19|18 17|16 12|11 0| + * +-------------------------------------------------------------------------- + * |rsvd |seq_cmd_type|tqm_cmd|rsvd |seq_idx|mac_id| hwq_ id | sch id | + * +-------------------------------------------------------------------------- * * sch id :Schedule command id * Bits [11 : 0] : monotonically increasing counter to track the @@ -14075,8 +14076,8 @@ PREPACK struct htt_ppdu_id { sch_id: 12, hwq_id: 5, mac_id: 2, - seq_idx: 3, - reserved1: 1, + seq_idx: 2, + reserved1: 2, tqm_cmd: 1, seq_cmd_type: 6, reserved2: 2; @@ -14116,7 +14117,7 @@ PREPACK struct htt_ppdu_id { } while (0) #define HTT_PPDU_ID_SEQ_IDX_S 19 -#define HTT_PPDU_ID_SEQ_IDX_M 0x00380000 +#define HTT_PPDU_ID_SEQ_IDX_M 0x00180000 #define HTT_PPDU_ID_SEQ_IDX_GET(_var) \ (((_var) & HTT_PPDU_ID_SEQ_IDX_M) >> HTT_PPDU_ID_SEQ_IDX_S) -- cgit v1.2.3 From d268c5f6e410f0948430ea909145c4241caf916e Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 30 Apr 2020 06:00:49 -0700 Subject: fw-api: CL 10322687 - update fw common interface files Change-Id: Id8892d480a3b87eba280290e070d65c070b6b130 WMI: add oce_ap_subnet_id_weightage_pcnt field to roam_cns_scoring_param CRs-Fixed: 2262693 --- fw/wmi_unified.h | 7 +++++++ fw/wmi_version.h | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 0775d3b..b239c0d 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -13652,6 +13652,12 @@ typedef struct { * oce_ap_tx_pwr_weightage_pcnt != 0. */ A_UINT32 oce_ap_tx_pwr_weightage_pcnt; + /* + * For OCE Release 2, give weightage to roam candidate based on + * advertised subnet id. + * Only used if oce_ap_subnet_id_weightage_pcnt != 0. + */ + A_UINT32 oce_ap_subnet_id_weightage_pcnt; } wmi_roam_cnd_scoring_param; typedef struct { @@ -27301,6 +27307,7 @@ typedef enum { */ typedef enum { WMI_ROAM_TRIGGER_REASON_STA_KICKOUT = WMI_ROAM_TRIGGER_REASON_MAX, + WMI_ROAM_TRIGGER_REASON_ESS_RSSI, WMI_ROAM_TRIGGER_EXT_REASON_MAX } WMI_ROAM_TRIGGER_EXT_REASON_ID; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 8370d9a..7a9276d 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 827 +#define __WMI_REVISION_ 828 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From a2719edf93aa6fa769e3ec2021ab796e5ed13d23 Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 1 May 2020 06:00:44 -0700 Subject: fw-api: CL 10334178 - update fw common interface files Change-Id: I7bd60aa1adaaaecca306fcfbcf2e28104f1f28b9 WMI: add mid_5mhz_bins field to pdev_sscan_fft_bin_index struct CRs-Fixed: 2262693 --- fw/wmi_unified.h | 38 ++++++++++++++++++++++++++------------ fw/wmi_version.h | 2 +- 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index b239c0d..2cdbf57 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -5765,6 +5765,12 @@ typedef struct { #define WMI_SSCAN_SEC80_END_BIN_GET(sec80_bins) WMI_GET_BITS(sec80_bins, 16, 16) #define WMI_SSCAN_SEC80_END_BIN_SET(sec80_bins, value) WMI_SET_BITS(sec80_bins, 16, 16, value) +/* 5MHz bin values */ +#define WMI_SSCAN_MID_5MHZ_START_BIN_GET(mid_5mhz_bins) WMI_GET_BITS(mid_5mhz_bins, 0, 16) +#define WMI_SSCAN_MID_5MHZ_START_BIN_SET(mid_5mhz_bins, value) WMI_SET_BITS(mid_5mhz_bins, 0, 16, value) +#define WMI_SSCAN_MID_5MHZ_END_BIN_GET(mid_5mhz_bins) WMI_GET_BITS(mid_5mhz_bins, 16, 16) +#define WMI_SSCAN_MID_5MHZ_END_BIN_SET(mid_5mhz_bins, value) WMI_SET_BITS(mid_5mhz_bins, 16, 16, value) + typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_sscan_fw_cmd_fixed_param */ A_UINT32 pdev_id; @@ -5790,22 +5796,30 @@ typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_sscan_fft_bin_index */ /** - * Bit 15 - 0 : primary 80 start bin number - * Bit 31 - 16 : primary 80 end bin number - * Refer to WMI_SSCAN_PRI80_[START,END]_BIN_[GET,SET] macros. - * Only for True 160 and Restricted 160(80+80 or 165) MHz this - * will be filled. - */ + * Bit 15 - 0 : primary 80 start bin number + * Bit 31 - 16 : primary 80 end bin number + * Refer to WMI_SSCAN_PRI80_[START,END]_BIN_[GET,SET] macros. + * Only for True 160 and Restricted 160(80+80 or 165) MHz this + * will be filled. + */ A_UINT32 pri80_bins; /** - * Bit 15 - 0 : secondary 80 start bin number - * Bit 31 - 16 : secondary 80 end bin number - * Refer to WMI_SSCAN_SEC80_[START,END]_BIN_[GET,SET] macros. - * Only for True 160 and Restricted 160(80+80 or 165) MHz this - * will be filled. - */ + * Bit 15 - 0 : secondary 80 start bin number + * Bit 31 - 16 : secondary 80 end bin number + * Refer to WMI_SSCAN_SEC80_[START,END]_BIN_[GET,SET] macros. + * Only for True 160 and Restricted 160(80+80 or 165) MHz this + * will be filled. + */ A_UINT32 sec80_bins; + + /** + * Bit 15 - 0 : 5Mhz start bin number + * Bit 31 - 16 : 5Mhz end bin number + * Refer to WMI_SSCAN_MID_5MHZ_[START,END]_BIN_[GET,SET] macros. + * Only for Restricted 160(80+80 or 165), otherwise 0. + */ + A_UINT32 mid_5mhz_bins; } wmi_pdev_sscan_fft_bin_index; #define WMI_BEACON_CTRL_TX_DISABLE 0 diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 7a9276d..e790c6d 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 828 +#define __WMI_REVISION_ 829 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From cbb840df2f7f0a067a70e0134e8242eb4d0f5d28 Mon Sep 17 00:00:00 2001 From: Alok Kumar Date: Wed, 29 Apr 2020 17:41:19 +0530 Subject: fw-api: Define DEST_RING_CONSUMER_PREFET_TIMER macro for qca6750 Define DST_R0_DEST_RING_CONSUMER_PREFET_TIMER related macro for qca6750 Change-Id: I237f8ae02a987f2ed7eaa9197605a892d0a611ac CRs-Fixed: 2675319 --- hw/qca6750/v1/wfss_ce_reg_seq_hwioreg.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/qca6750/v1/wfss_ce_reg_seq_hwioreg.h b/hw/qca6750/v1/wfss_ce_reg_seq_hwioreg.h index 9c29f2e..dfa5440 100644 --- a/hw/qca6750/v1/wfss_ce_reg_seq_hwioreg.h +++ b/hw/qca6750/v1/wfss_ce_reg_seq_hwioreg.h @@ -25,6 +25,10 @@ #define HWIO_WFSS_CE_CHANNEL_DST_R0_DEST_CTRL_DEST_MAX_LENGTH_BMSK \ HWIO_HOST_SOC_CE_0_DST_WFSS_CE_CHANNEL_DST_R0_DEST_CTRL_DEST_MAX_LENGTH_BMSK +#define HWIO_WFSS_CE_CHANNEL_DST_R0_DEST_RING_CONSUMER_PREFETCH_TIMER_RMSK \ +HWIO_HOST_SOC_CE_0_DST_WFSS_CE_CHANNEL_DST_R0_DEST_RING_CONSUMER_PREFETCH_TIMER_RMSK + #define HWIO_WFSS_CE_CHANNEL_DST_R0_DEST_CTRL_ADDR(x) (x+0x000000b0) +#define HWIO_WFSS_CE_CHANNEL_DST_R0_DEST_RING_CONSUMER_PREFETCH_TIMER_ADDR(x) (x+0x00000040) #endif -- cgit v1.2.3 From 46c12af5cfc56b9fd9b4e3775fad76f4c652b9f6 Mon Sep 17 00:00:00 2001 From: spuligil Date: Tue, 5 May 2020 06:00:37 -0700 Subject: fw-api: CL 10356226 - update fw common interface files Add WMI_STA_PS_PARAM_ENABLE_PS_OPT_IN_WOW def Change-Id: Ibe1a50bc36d815154aceb61b24d7289cdcd1d45c CRs-Fixed: 2262693 --- fw/wmi_unified.h | 6 ++++++ fw/wmi_version.h | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 2cdbf57..1f3b8f9 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -11678,6 +11678,12 @@ WMI_STA_PS_PARAM_QPOWER_SPEC_MAX_SPEC_NODATA_PSPOLL = 9, * after AP has set the TIM bit */ WMI_STA_PS_PARAM_MAX_RESET_ITO_COUNT_ON_TIM_NO_TXRX = 10, + +/** + * Flag to enable/disable Powersave Optimization + * in WOW + */ +WMI_STA_PS_PARAM_ENABLE_PS_OPT_IN_WOW = 11, }; typedef struct { diff --git a/fw/wmi_version.h b/fw/wmi_version.h index e790c6d..a7741e5 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 829 +#define __WMI_REVISION_ 830 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From 41b330807893025e8736f95dc344c29178f05654 Mon Sep 17 00:00:00 2001 From: spuligil Date: Tue, 5 May 2020 18:00:44 -0700 Subject: fw-api: CL 10366568 - update fw common interface files WMI add ROAM_CAPABILITY_REPORT_EVENT msg def Change-Id: I70c2f2d5ced836fdaf08a82a48f8336edbb30e16 CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 7 +++++++ fw/wmi_unified.h | 31 +++++++++++++++++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 5753fc9..9d3a5a2 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1075,6 +1075,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_pdev_srg_obss_bssid_enable_bitmap_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_pdev_non_srg_obss_color_enable_bitmap_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_pdev_non_srg_obss_bssid_enable_bitmap_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_roam_capability_report_event_fixed_param, } WMITLV_TAG_ID; /* @@ -1768,6 +1769,7 @@ typedef enum { OP(WMI_VDEV_SEND_BIG_DATA_P2_EVENTID) \ OP(WMI_AUDIO_AGGR_REPORT_STATISTICS_EVENTID) \ OP(WMI_PDEV_SSCAN_FW_PARAM_EVENTID) \ + OP(WMI_ROAM_CAPABILITY_REPORT_EVENTID) \ /* add new EVT_LIST elements above this line */ @@ -5933,6 +5935,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_AGGR_REPORT_STATISTICS_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_sscan_fft_bin_index, fft_bin_index, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SSCAN_FW_PARAM_EVENTID); +/* Roam capability report event */ +#define WMITLV_TABLE_WMI_ROAM_CAPABILITY_REPORT_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_capability_report_event_fixed_param, wmi_roam_capability_report_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_CAPABILITY_REPORT_EVENTID); + #ifdef __cplusplus } diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 1f3b8f9..99cb716 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -1649,6 +1649,8 @@ typedef enum { WMI_ROAM_STATS_EVENTID, /** Roam scan channels list */ WMI_ROAM_SCAN_CHANNEL_LIST_EVENTID, + /** Firmware roam capability information */ + WMI_ROAM_CAPABILITY_REPORT_EVENTID, /** P2P disc found */ WMI_P2P_DISC_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_P2P), @@ -27846,6 +27848,35 @@ typedef struct { */ } wmi_roam_scan_channel_list_event_fixed_param; +typedef enum { + WMI_ROAM_CND_RSSI_SCORING = 0x00000001, /* FW considers RSSI scoring */ + WMI_ROAM_CND_HT_SCORING = 0x00000002, /* FW considers HT scoring */ + WMI_ROAM_CND_VHT_SCORING = 0x00000004, /* FW considers VHT scoring */ + WMI_ROAM_CND_HE_SCORING = 0x00000008, /* FW considers 11ax scoring */ + WMI_ROAM_CND_BW_SCORING = 0x00000010, /* FW considers Bandwidth scoring */ + WMI_ROAM_CND_BAND_SCORING = 0x00000020, /* FW considers Band(2G/5G) scoring */ + WMI_ROAM_CND_NSS_SCORING = 0x00000040, /* FW considers NSS(1x1 / 2x2) scoring */ + WMI_ROAM_CND_CHAN_CONGESTION_SCORING = 0x00000080, /* FW considers ESP/QBSS scoring */ + WMI_ROAM_CND_BEAMFORMING_SCORING = 0x00000100, /* FW considers Beamforming scoring */ + WMI_ROAM_CND_PCL_SCORING = 0x00000200, /* FW considers PCL scoring */ + WMI_ROAM_CND_OCE_WAN_SCORING = 0x00000400, /* FW considers OCE WAN metrics scoring */ + WMI_ROAM_CND_OCE_AP_TX_PWR_SCORING = 0x00000800, /* FW considers OCE AP Tx power scoring */ + WMI_ROAM_CND_OCE_AP_SUBNET_ID_SCORING = 0x00001000, /* FW considers OCE AP subnet id scoring */ +} WMI_ROAM_CND_SCORING_PARAMS; + +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_capability_report_event_fixed_param */ + /* + * This event is sent asynchronously during FW init. + * It indicates FW roam related capabilites to host. + * + * scoring_capability_bitmap = Indicates firmware candidate scoring + * capabilities. It's a bitmap of values + * from enum WMI_ROAM_CND_SCORING_PARAMS. + */ + A_UINT32 scoring_capability_bitmap; +} wmi_roam_capability_report_event_fixed_param; + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_get_big_data_cmd_fixed_param */ A_UINT32 vdev_id; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index a7741e5..815789d 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 830 +#define __WMI_REVISION_ 831 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From d58ccd02b724c794d1145808009cb40ddf359536 Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 6 May 2020 12:00:42 -0700 Subject: fw-api: CL 10372014 - update fw common interface files HTT stats: add RTT_RESP_STATS Change-Id: I4fce0125971ecd2d758f39d6f4608d52d71197f7 CRs-Fixed: 2262693 --- fw/htt_stats.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/fw/htt_stats.h b/fw/htt_stats.h index 18c0a3c..5c051ca 100644 --- a/fw/htt_stats.h +++ b/fw/htt_stats.h @@ -357,6 +357,17 @@ enum htt_dbg_ext_stats_type { */ HTT_DBG_EXT_STA_11AX_UL_STATS = 33, + /* HTT_DBG_EXT_VDEV_RTT_RESP_STATS + * PARAMS: + * - config_param0: + * [Bit7 : Bit0] vdev_id:8 + * [Bit31 : Bit8] rsvd:24 + * RESP MSG: + * - + */ + HTT_DBG_EXT_VDEV_RTT_RESP_STATS = 34, + + /* keep this last */ HTT_DBG_NUM_EXT_STATS = 256, }; @@ -499,6 +510,7 @@ typedef enum { HTT_STATS_TXBF_OFDMA_BRP_STATS_TAG = 115, /* htt_txbf_ofdma_brp_stats_tlv */ HTT_STATS_TXBF_OFDMA_STEER_STATS_TAG = 116, /* htt_txbf_ofdma_steer_stats_tlv */ HTT_STATS_STA_UL_OFDMA_STATS_TAG = 117, /* htt_sta_ul_ofdma_stats_tlv */ + HTT_STATS_VDEV_RTT_RESP_STATS_TAG = 118, /* htt_vdev_rtt_resp_stats_tlv */ HTT_STATS_MAX_TAG, } htt_tlv_tag_t; @@ -4988,5 +5000,27 @@ typedef struct { htt_sta_ul_ofdma_stats_tlv ul_ofdma_sta_stats; } htt_sta_11ax_ul_stats_t; +typedef struct { + htt_tlv_hdr_t tlv_hdr; + /* No of Fine Timing Measurement frames transmitted successfully */ + A_UINT32 tx_ftm_suc; + /* No of Fine Timing Measurement frames transmitted successfully after retry */ + A_UINT32 tx_ftm_suc_retry; + /* No of Fine Timing Measurement frames not transmitted successfully */ + A_UINT32 tx_ftm_fail; + /* No of Fine Timing Measurement Request frames received, including initial, non-initial, and duplicates */ + A_UINT32 rx_ftmr_cnt; + /* No of duplicate Fine Timing Measurement Request frames received, including both initial and non-initial */ + A_UINT32 rx_ftmr_dup_cnt; + /* No of initial Fine Timing Measurement Request frames received */ + A_UINT32 rx_iftmr_cnt; + /* No of duplicate initial Fine Timing Measurement Request frames received */ + A_UINT32 rx_iftmr_dup_cnt; +} htt_vdev_rtt_resp_stats_tlv; + +typedef struct { + htt_vdev_rtt_resp_stats_tlv vdev_rtt_resp_stats; +} htt_vdev_rtt_resp_stats_t; + #endif /* __HTT_STATS_H__ */ -- cgit v1.2.3 From 52678fae6eb244f73876067a6d0735ee0c104669 Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 7 May 2020 06:00:33 -0700 Subject: fw-api: CL 10382552 - update fw common interface files Change-Id: I2dc546ec07c59f481702c304d849bd505805f42e WMI: add VDEV_UP_FLAG_EMA_MBSSID_AP def CRs-Fixed: 2262693 --- fw/wmi_unified.h | 11 +++++++++++ fw/wmi_version.h | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 99cb716..08fe0ff 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -9916,6 +9916,15 @@ typedef struct { A_UINT32 vdev_id; } wmi_vdev_delete_cmd_fixed_param; +enum WMI_VDEV_UP_FLAGS { + /** EMA_MBSSID_AP + * Valid only for STA VDEV. + * This flag will be set when STA connected MBSSID AP is EMA capable. + * EMA - Enhanced Multiple BSS Advertisemet. + */ + WMI_VDEV_UP_FLAG_EMA_MBSSID_AP = 0x00000001, +}; + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_up_cmdid_fixed_param */ /** unique id identifying the VDEV, generated by the caller */ @@ -9936,6 +9945,8 @@ typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_stop_cmd_fixed_param */ /** unique id identifying the VDEV, generated by the caller */ A_UINT32 vdev_id; + /** flags - this is a bitwise-or combination of WMI_VDEV_UP_FLAGS values */ + A_UINT32 flags; } wmi_vdev_stop_cmd_fixed_param; typedef struct { diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 815789d..be73c9b 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 831 +#define __WMI_REVISION_ 832 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From 0d2b7d3977bb4ffe7663af5523d57fed407d0360 Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 8 May 2020 12:00:35 -0700 Subject: fw-api: CL 10402317 - update fw common interface files Change-Id: I7242ce105069e05658f3e7b270115e472db690b4 WMI: add conformance_test_limit_5G_sumband fields to PDEV_SET_REGDOMAIN msg CRs-Fixed: 2262693 --- fw/wmi_unified.h | 29 +++++++++++++++++++++++++++++ fw/wmi_version.h | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 08fe0ff..af2c5a5 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -5387,6 +5387,35 @@ typedef struct { A_UINT32 conformance_test_limit_2G; A_UINT32 conformance_test_limit_5G; A_UINT32 dfs_domain; + + /** + * The below conformance_test_limit index fields are for supporting the + * 5G sub-band CTL feature. + * Conformance test limits (CTLs) are the product-specific + * regulatory-compliant powers stored in the board data file (BDF). + * These CTLs within the BDF are identified by CTL index values. + * For example, the BDF file is expected to contain CTL data for + * FCC (CTL index = 0x10), ETSI (CTL index = 0x30), + * Japan/MKK (CTL index = 0x40), Korea (CTL index = 0x50), + * and China (CTL index = 0x60) CTL regions. + * The target FW will use the CTL indices specified in this message to + * find a BDF CTL entry with a matching CTL index value, and then use + * that CTL as one of the inputs into the tx power limit computation. + * A CTL index value of 0x0 is invalid, and will be ignored by the FW. + */ + A_UINT32 conformance_test_limit_5G_subband_UNII1; + A_UINT32 conformance_test_limit_5G_subband_UNII2a; + A_UINT32 conformance_test_limit_5G_subband_UNII2c; + A_UINT32 conformance_test_limit_5G_subband_UNII3; + A_UINT32 conformance_test_limit_5G_subband_UNII4; + /** + * The below conformance_test_limit index fields are like the above, + * but are for supporting the 6G sub-band CTL feature. + */ + A_UINT32 conformance_test_limit_6G_subband_UNII5; + A_UINT32 conformance_test_limit_6G_subband_UNII6; + A_UINT32 conformance_test_limit_6G_subband_UNII7; + A_UINT32 conformance_test_limit_6G_subband_UNII8; } wmi_pdev_set_regdomain_cmd_fixed_param; typedef struct { diff --git a/fw/wmi_version.h b/fw/wmi_version.h index be73c9b..692bc2c 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 832 +#define __WMI_REVISION_ 833 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From b655be930d8e1ab975e56601fe3f250182e729c2 Mon Sep 17 00:00:00 2001 From: spuligil Date: Sat, 9 May 2020 06:00:50 -0700 Subject: fw-api: CL 10407957 - update fw common interface files Change-Id: Ifb4cdb939e1f2ce3b12f5565854f4be9b5405776 WMI: add chwidth_num_peer_caps field in SERVICE_READY_EXT2_EVENT msg CRs-Fixed: 2262693 --- fw/wmi_unified.h | 6 ++++++ fw/wmi_version.h | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index af2c5a5..769ced1 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -2812,6 +2812,12 @@ typedef struct { * are not specified. */ A_UINT32 hw_min_max_tx_power_5g; + + /* + * Number of peers supported per WMI_PEER_CHAN_WIDTH_SWITCH_CMDID + * 0 - not enabled + */ + A_UINT32 chwidth_num_peer_caps; } wmi_service_ready_ext2_event_fixed_param; typedef struct { diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 692bc2c..dcf40bd 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 833 +#define __WMI_REVISION_ 834 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From 3667fa7b67f35e3147b90ae57c343f30f62a8f0c Mon Sep 17 00:00:00 2001 From: spuligil Date: Tue, 12 May 2020 18:00:57 -0700 Subject: fw-api: CL 10437857 - update fw common interface files HTT stats: add SRG/non-SRG opportunty,tried,success counters Change-Id: I2aedf35f0b90b8bd5bab045aa66f4ddfb48af1f3 CRs-Fixed: 2262693 --- fw/htt_stats.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/fw/htt_stats.h b/fw/htt_stats.h index 5c051ca..9c26282 100644 --- a/fw/htt_stats.h +++ b/fw/htt_stats.h @@ -4631,6 +4631,48 @@ typedef struct { */ A_UINT32 num_sr_rx_ge_pd_rssi_thr; }; + + /* + * Count of number of times OBSS frames were aborted and non-SRG + * opportunities were created. Non-SRG opportunities are created when + * incoming OBSS RSSI is lesser than the global configured non-SRG RSSI + * threshold and non-SRG OBSS color / non-SRG OBSS BSSID registers + * allow non-SRG TX. + */ + A_UINT32 num_non_srg_opportunities; + /* + * Count of number of times TX PPDU were transmitted using non-SRG + * opportunities created. Incoming OBSS frame RSSI is compared with per + * PPDU non-SRG RSSI threshold configured in each PPDU. If incoming OBSS + * RSSI < non-SRG RSSI threshold configured in each PPDU, then non-SRG + * tranmission happens. + */ + A_UINT32 num_non_srg_ppdu_tried; + /* + * Count of number of times non-SRG based TX transmissions were successful + */ + A_UINT32 num_non_srg_ppdu_success; + /* + * Count of number of times OBSS frames were aborted and SRG opportunities + * were created. Srg opportunities are created when incoming OBSS RSSI + * is less than the global configured SRG RSSI threshold and SRC OBSS + * color / SRG OBSS BSSID / SRG partial bssid / SRG BSS color bitmap + * registers allow SRG TX. + */ + A_UINT32 num_srg_opportunities; + /* + * Count of number of times TX PPDU were transmitted using SRG + * opportunities created. + * Incoming OBSS frame RSSI is compared with per PPDU SRG RSSI + * threshold configured in each PPDU. + * If incoming OBSS RSSI < SRG RSSI threshold configured in each PPDU, + * then SRG tranmission happens. + */ + A_UINT32 num_srg_ppdu_tried; + /* + * Count of number of times SRG based TX transmissions were successful + */ + A_UINT32 num_srg_ppdu_success; } htt_pdev_obss_pd_stats_tlv; /* NOTE: -- cgit v1.2.3 From 48658a30d28015da9bff74134295e7c55091149a Mon Sep 17 00:00:00 2001 From: spuligil Date: Tue, 12 May 2020 18:01:10 -0700 Subject: fw-api: CL 10438420 - update fw common interface files Change-Id: Iddbbdbf7de58f7860e38deb457a8d263ea1f56e5 WMI: add pdev_id field in OEM_DATA_CMD msg CRs-Fixed: 2262693 --- fw/wmi_unified.h | 7 +++++++ fw/wmi_version.h | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 769ced1..6add7a0 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -18852,6 +18852,13 @@ typedef struct { A_UINT32 vdev_id; /** Actual length in byte of data[]. */ A_UINT32 data_len; + /** + * pdev_vdev_flag - 0 follow old method (vdev_id is valid, ignore pdev_id) + * pdev_vdev_flag - 1 pdev_id is valid + */ + A_UINT32 pdev_vdev_flag; + /** Unique id identifying the PDEV */ + A_UINT32 pdev_id; /** This structure is used to send OEM DATA binary blobs from * application/service to firmware where Host driver is pass through. * The OEM-specific commands from OEM-specific userspace applications diff --git a/fw/wmi_version.h b/fw/wmi_version.h index dcf40bd..341689c 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 834 +#define __WMI_REVISION_ 835 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From e0bd0b20623dda775a19c902eb15e57976af97dc Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 13 May 2020 06:00:51 -0700 Subject: fw-api: CL 10441255 - update fw common interface files Change-Id: I204d55e92a591c26ef88326a2c7f125c4bdfcfef WMI: add RECOVERY_SIM_BT_RECOVERY def CRs-Fixed: 2262693 --- fw/wmi_unified.h | 1 + fw/wmi_version.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 6add7a0..c0bf638 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -16448,6 +16448,7 @@ typedef enum { RECOVERY_SIM_INFINITE_LOOP = 0x06, RECOVERY_SIM_PCIE_LINKDOWN = 0x07, RECOVERY_SIM_SELF_RECOVERY = 0x08, + RECOVERY_SIM_BT_RECOVERY = 0x09, } RECOVERY_SIM_TYPE; /* WMI_FORCE_FW_HANG_CMDID */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 341689c..737285e 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 835 +#define __WMI_REVISION_ 836 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3 From 10d40dbd4e61b0c03fa00e70f6a503d3fc5692db Mon Sep 17 00:00:00 2001 From: spuligil Date: Sat, 2 May 2020 18:00:35 -0700 Subject: fw-api: CL 10345835 - update fw common interface files HTT STATS: add TQM active/inactive counts in tqm_cmn_stats Change-Id: I45641a44381591f49f147484d049e24f311b18d7 CRs-Fixed: 2262693 --- fw/htt_stats.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fw/htt_stats.h b/fw/htt_stats.h index 9c26282..376351c 100644 --- a/fw/htt_stats.h +++ b/fw/htt_stats.h @@ -2669,6 +2669,9 @@ typedef struct { A_UINT32 desc_threshold; A_UINT32 hwsch_tqm_invalid_status; A_UINT32 missed_tqm_gen_mpdus; + A_UINT32 tqm_active_tids; + A_UINT32 tqm_inactive_tids; + A_UINT32 tqm_active_msduq_flows; } htt_tx_tqm_cmn_stats_tlv; typedef struct { -- cgit v1.2.3 From 2d4951080c06233007446fa5986a004191756114 Mon Sep 17 00:00:00 2001 From: spuligil Date: Sat, 9 May 2020 06:00:38 -0700 Subject: fw-api: CL 10404614 - update fw common interface files HTT stats: add UL MIMO,OFDMA seq posted counters Change-Id: I30833bbe5baa6f1a1cd4b84342bd382b57a42013 CRs-Fixed: 2262693 --- fw/htt_stats.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fw/htt_stats.h b/fw/htt_stats.h index 376351c..674176f 100644 --- a/fw/htt_stats.h +++ b/fw/htt_stats.h @@ -771,6 +771,10 @@ typedef struct { A_UINT32 num_mu_peer_blacklisted; /* Num of times mu_ofdma seq posted */ A_UINT32 mu_ofdma_seq_posted; + /* Num of times UL MU MIMO seq posted */ + A_UINT32 ul_mumimo_seq_posted; + /* Num of times UL OFDMA seq posted */ + A_UINT32 ul_ofdma_seq_posted; } htt_tx_pdev_stats_cmn_tlv; #define HTT_TX_PDEV_STATS_URRN_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems)) -- cgit v1.2.3