From c9b1e51da1f66f7de1c1ba6d4703b07ce57d87c1 Mon Sep 17 00:00:00 2001 From: spuligil Date: Mon, 17 Oct 2022 18:00:55 -0700 Subject: [PATCH 1/5] fw-api: CL 19912349 - update fw common interface files Change-Id: Ie3bcf21dbdfa557b4d7ac550a9b6079463d84bba WMI: add BDF compatibility result to service_ready_ext2 msg CRs-Fixed: 2262693 --- fw/wmi_unified.h | 21 ++++++++++++++++++++- fw/wmi_version.h | 2 +- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 29a893577472..9f36d96293b6 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -2336,7 +2336,7 @@ typedef enum { WMI_QUIET_HANDLING_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_QUIET_OFL), /* ODD events */ - WMI_ODD_LIVEDUMP_RESPONSE_EVENTID = WMI_CMD_GRP_START_ID(WMI_GRP_ODD), + WMI_ODD_LIVEDUMP_RESPONSE_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_ODD), } WMI_EVT_ID; /* defines for OEM message sub-types */ @@ -3282,6 +3282,20 @@ typedef enum { WMI_AFC_FEATURE_6G_DEPLOYMENT_OUTDOOR_ONLY = 2, } WMI_AFC_FEATURE_6G_DEPLOYMENT_TYPE; +typedef enum { + WMI_BDF_VERSION_OK = 0, + + /* WMI_BDF_VERSION_TOO_OLD: + * BDF version is older than the oldest version supported by FW. + */ + WMI_BDF_VERSION_TOO_OLD = 1, + + /* WMI_BDF_VERSION_TOO_NEW: + * BDF version is newer than the newest version supported by FW. + */ + WMI_BDF_VERSION_TOO_NEW = 2, +} wmi_hw_bd_status_type; + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_service_ready_ext2_event_fixed_param.*/ @@ -3401,6 +3415,11 @@ typedef struct { */ A_UINT32 afc_deployment_type; + /* + * Board data check report. Please see wmi_hw_bd_status_type enum values. + */ + A_UINT32 hw_bd_status; + /* Followed by next TLVs: * WMI_DMA_RING_CAPABILITIES dma_ring_caps[]; * wmi_spectral_bin_scaling_params wmi_bin_scaling_params[]; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 1910cde93cf9..fa9fcc897a5e 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -37,7 +37,7 @@ #define __WMI_VER_MINOR_ 0 /** WMI revision number has to be incremented when there is a * change that may or may not break compatibility. */ -#define __WMI_REVISION_ 1220 +#define __WMI_REVISION_ 1221 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From a23fccec8fb39af8771004005e0bebd85d180621 Mon Sep 17 00:00:00 2001 From: spuligil Date: Mon, 17 Oct 2022 18:01:33 -0700 Subject: [PATCH 2/5] fw-api: CL 19971866 - update fw common interface files HTT stats: add AX,BE OFDMA RBO,SIFS steer counters Change-Id: I230f4dd06cc08456c1f3a4afe22f8174e421d738 CRs-Fixed: 2262693 --- fw/htt.h | 2 ++ fw/htt_stats.h | 26 ++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/fw/htt.h b/fw/htt.h index 55ceb9cb8c5e..67c187debdcc 100644 --- a/fw/htt.h +++ b/fw/htt.h @@ -762,6 +762,8 @@ typedef enum { HTT_STATS_TX_PDEV_MUEDCA_PARAMS_STATS_TAG = 169, /* htt_tx_pdev_muedca_params_stats_tlv_v */ HTT_STATS_PDEV_BW_MGR_STATS_TAG = 170, /* htt_pdev_bw_mgr_stats_tlv */ HTT_STATS_TX_PDEV_AP_EDCA_PARAMS_STATS_TAG = 171, /* htt_tx_pdev_ap_edca_params_stats_tlv_v */ + HTT_STATS_TXBF_OFDMA_AX_STEER_MPDU_STATS_TAG = 172, /* htt_txbf_ofdma_ax_steer_mpdu_stats_tlv */ + HTT_STATS_TXBF_OFDMA_BE_STEER_MPDU_STATS_TAG = 173, /* htt_txbf_ofdma_be_steer_mpdu_stats_tlv */ HTT_STATS_MAX_TAG, diff --git a/fw/htt_stats.h b/fw/htt_stats.h index cb8707f1558e..1c48ab8b2796 100644 --- a/fw/htt_stats.h +++ b/fw/htt_stats.h @@ -2672,6 +2672,18 @@ typedef struct { htt_txbf_ofdma_ax_steer_stats_elem_t ax_steer[1]; /* variable length */ } htt_txbf_ofdma_ax_steer_stats_tlv; +typedef struct { + htt_tlv_hdr_t tlv_hdr; + /* 11AX HE OFDMA MPDUs tried in rbo steering */ + A_UINT32 ax_ofdma_rbo_steer_mpdus_tried; + /* 11AX HE OFDMA MPDUs failed in rbo steering */ + A_UINT32 ax_ofdma_rbo_steer_mpdus_failed; + /* 11AX HE OFDMA MPDUs tried in sifs steering */ + A_UINT32 ax_ofdma_sifs_steer_mpdus_tried; + /* 11AX HE OFDMA MPDUs failed in sifs steering */ + A_UINT32 ax_ofdma_sifs_steer_mpdus_failed; +} htt_txbf_ofdma_ax_steer_mpdu_stats_tlv; + typedef struct { /** 11BE EHT OFDMA NDPA frame queued to the HW */ A_UINT32 be_ofdma_ndpa_queued; @@ -2806,16 +2818,30 @@ typedef struct { htt_txbf_ofdma_be_steer_stats_elem_t be_steer[1]; /* variable length */ } htt_txbf_ofdma_be_steer_stats_tlv; +typedef struct { + htt_tlv_hdr_t tlv_hdr; + /* 11BE EHT OFDMA MPDUs tried in rbo steering */ + A_UINT32 be_ofdma_rbo_steer_mpdus_tried; + /* 11BE EHT OFDMA MPDUs failed in rbo steering */ + A_UINT32 be_ofdma_rbo_steer_mpdus_failed; + /* 11BE EHT OFDMA MPDUs tried in sifs steering */ + A_UINT32 be_ofdma_sifs_steer_mpdus_tried; + /* 11BE EHT OFDMA MPDUs failed in sifs steering */ + A_UINT32 be_ofdma_sifs_steer_mpdus_failed; +} htt_txbf_ofdma_be_steer_mpdu_stats_tlv; + /* STATS_TYPE : HTT_DBG_EXT_STATS_TXBF_OFDMA * TLV_TAGS: * - HTT_STATS_TXBF_OFDMA_NDPA_STATS_TAG * - HTT_STATS_TXBF_OFDMA_NDP_STATS_TAG * - HTT_STATS_TXBF_OFDMA_BRP_STATS_TAG * - HTT_STATS_TXBF_OFDMA_STEER_STATS_TAG + * - HTT_STATS_TXBF_OFDMA_AX_STEER_MPDU_STATS_TAG * - HTT_STATS_TXBF_OFDMA_BE_NDPA_STATS_TAG * - HTT_STATS_TXBF_OFDMA_BE_NDP_STATS_TAG * - HTT_STATS_TXBF_OFDMA_BE_BRP_STATS_TAG * - HTT_STATS_TXBF_OFDMA_BE_STEER_STATS_TAG + * - HTT_STATS_TXBF_OFDMA_BE_STEER_MPDU_STATS_TAG */ typedef struct { From 96838b6a84fb336ebcadc3a210f0c630446cf191 Mon Sep 17 00:00:00 2001 From: spuligil Date: Mon, 17 Oct 2022 18:02:18 -0700 Subject: [PATCH 3/5] fw-api: CL 19972886 - update fw common interface files Change-Id: I4b47327f740ad16ecc9678bc25187bd60dfbafe8 WMI: add prb_resp_tmpl_ml_info in PRB_TMPL_CMD msg CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 4 +++- fw/wmi_unified.h | 20 ++++++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 8d6dab6903ad..662fe53da422 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1302,6 +1302,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_wfa_config_ofdma, WMITLV_TAG_STRUC_wmi_livedump_request_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_livedump_response_event_fixed_param, + WMITLV_TAG_STRUC_wmi_prb_resp_tmpl_ml_info, } WMITLV_TAG_ID; /* @@ -2542,7 +2543,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_STA_UAPSD_AUTO_TRIG_CMDID); #define WMITLV_TABLE_WMI_PRB_TMPL_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_prb_tmpl_cmd_fixed_param, wmi_prb_tmpl_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_bcn_prb_info, wmi_bcn_prb_info, bcn_prb_info, WMITLV_SIZE_FIX) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bufp, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bufp, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_prb_resp_tmpl_ml_info, ml_prb_resp_info, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_PRB_TMPL_CMDID); diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 9f36d96293b6..c8b1a662fa5e 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -15499,6 +15499,26 @@ typedef struct { #define WMI_BEACON_PROTECTION_EN_GET(param) \ WMI_GET_BITS(param, WMI_BEACON_PROTECTION_BIT_POS, 1) +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_prb_resp_tmpl_ml_info */ + /** hw_link_id: + * Unique link id across SOCs, got as part of QMI handshake + */ + A_UINT32 hw_link_id; + /** + * CU vdev map for the Critical update category-1 + * (Inclusion of CU IES) + */ + A_UINT32 cu_vdev_map_cat1_lo; /* bits 31:0 */ + A_UINT32 cu_vdev_map_cat1_hi; /* bits 63:32 */ + /** + * CU vdev map for the Critical update category-2 + * (modification of CU IES) + */ + A_UINT32 cu_vdev_map_cat2_lo; /* bits 31:0 */ + A_UINT32 cu_vdev_map_cat2_hi; /* bits 63:32 */ +} wmi_prb_resp_tmpl_ml_info; + typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_prb_tmpl_cmd_fixed_param */ /** unique id identifying the VDEV, generated by the caller */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index fa9fcc897a5e..5693cb244a67 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -37,7 +37,7 @@ #define __WMI_VER_MINOR_ 0 /** WMI revision number has to be incremented when there is a * change that may or may not break compatibility. */ -#define __WMI_REVISION_ 1221 +#define __WMI_REVISION_ 1222 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From c706b8af2d4bbd733fa16e8fc073b478550bff58 Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 20 Oct 2022 06:00:59 -0700 Subject: [PATCH 4/5] fw-api: CL 20018278 - update fw common interface files Add WLAN_MODULE_MLO_OWNERSHIP_UPDATE module ID def Change-Id: Id3eda50a246068f0bc544d1051b47d8ffcda3093 CRs-Fixed: 2262693 --- fw/wlan_module_ids.h | 1 + 1 file changed, 1 insertion(+) diff --git a/fw/wlan_module_ids.h b/fw/wlan_module_ids.h index 13fc6b8fba44..97ec58fd0624 100644 --- a/fw/wlan_module_ids.h +++ b/fw/wlan_module_ids.h @@ -139,6 +139,7 @@ typedef enum { WLAN_MODULE_T2LM, /* 0x64 */ WLAN_MODULE_HEALTH_MON, /* 0x65 */ WLAN_MODULE_XGAP, /* 0x66 */ + WLAN_MODULE_MLO_OWNERSHIP_UPDATE, /* 0x67 */ WLAN_MODULE_ID_MAX, From 32170befc628c6c653e9957e2c3b9852ebc916bc Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 21 Oct 2022 12:00:52 -0700 Subject: [PATCH 5/5] fw-api: CL 20040821 - update fw common interface files add WMI_SERVICE_EIRP_PREFERRED_SUPPORT def Change-Id: I050b7a04f2ed17f6e9425c3c80150ef5fc710233 CRs-Fixed: 2262693 --- fw/wmi_services.h | 1 + fw/wmi_version.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index e066b1955614..fc2b7539c3c9 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -602,6 +602,7 @@ typedef enum { WMI_SERVICE_MULTIPLE_VDEV_RESTART_BITMAP_SUPPORT = 349, /* Extended Multiple VDEV Restart with Bitmap Support */ WMI_SERVICE_WMI_SERVICE_WPA3_SHA384_ROAM_SUPPORT = 350, /* Indicates FW supports WPA3 SHA384 roaming */ WMI_SERVICE_ODD_LIVEDUMP_SUPPORT = 351, /* Support for ODD Livedump from the FW */ + WMI_SERVICE_EIRP_PREFERRED_SUPPORT = 352, /* Support for OOBE feature where only EIRP powers will be sent in 6G TPC WMI */ WMI_MAX_EXT2_SERVICE diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 5693cb244a67..8d5e34213b8d 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -37,7 +37,7 @@ #define __WMI_VER_MINOR_ 0 /** WMI revision number has to be incremented when there is a * change that may or may not break compatibility. */ -#define __WMI_REVISION_ 1222 +#define __WMI_REVISION_ 1223 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work