From 3ccb080148ecc9e39d724e458bebef01056ba63c Mon Sep 17 00:00:00 2001 From: spuligil Date: Tue, 2 Apr 2024 06:01:52 -0700 Subject: [PATCH 01/22] fw-api: CL 26384461 - update fw common interface files Change-Id: Ia9560e8f3754171cd7073f7ff5094251ff036599 CRs-Fixed: 2262693 --- fw/htt.h | 1 + 1 file changed, 1 insertion(+) diff --git a/fw/htt.h b/fw/htt.h index 23df62b46393..ed1862aea67b 100644 --- a/fw/htt.h +++ b/fw/htt.h @@ -22949,6 +22949,7 @@ typedef enum { HTT_SDWF_MSDUQ_CFG_IND_ERROR_DEACTIVATED_MSDUQ = 0x05, HTT_SDWF_MSDUQ_CFG_IND_ERROR_REACTIVATED_MSDUQ = 0x06, HTT_SDWF_MSDUQ_CFG_IND_ERROR_INVALID_SVC_CLASS = 0x07, + HTT_SDWF_MSDUQ_CFG_IND_ERROR_TIDQ_LOCATE_ERROR = 0x08, } HTT_SDWF_MSDUQ_CFG_IND_ERROR_CODE_E; PREPACK struct htt_t2h_sdwf_msduq_cfg_ind { From 3507c8f8c625f19c5e498e9d824a38a223113684 Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 3 Apr 2024 06:01:58 -0700 Subject: [PATCH 02/22] fw-api: CL 26392958 - update fw common interface files Change-Id: Ic7c8ec6b61853fa501aedbae97dd3a024dd6c201 CRs-Fixed: 2262693 --- fw/wmi_unified.h | 3 +++ fw/wmi_version.h | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 848ae76ec2e4..60cfbee8da66 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -25667,6 +25667,9 @@ typedef enum */ WMI_VENDOR_OUI_ACTION_SEND_SMPS_FRAME_WITH_OMN = 12, + /* Restrict SLO if specific vendor OUI received in beacon. */ + WMI_VENDOR_OUI_ACTION_RESTRICT_SLO = 13, + /* Add any action before this line */ WMI_VENDOR_OUI_ACTION_MAX_ACTION_ID diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 526ea5e2124c..9b9942583944 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_ 1473 +#define __WMI_REVISION_ 1474 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From c6cd7fd9a63cb4d62eb7f80b5436a5dab1cfdd61 Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 5 Apr 2024 06:02:22 -0700 Subject: [PATCH 03/22] fw-api: CL 26403375 - update fw common interface files Change-Id: Iffbdb9b10ea111ec9fbdceefb893b6f0bb3e8f2f 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 60cfbee8da66..f87a3dc69035 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -27014,7 +27014,9 @@ typedef enum { /** Lower threshold for beacon-RSSI. Used to increase RX chainmask. */ WMI_STA_SMPS_PARAM_LOWER_BRSSI_THRESH = 4, /** Enable/Disable DTIM 1chRx feature */ - WMI_STA_SMPS_PARAM_DTIM_1CHRX_ENABLE = 5 + WMI_STA_SMPS_PARAM_DTIM_1CHRX_ENABLE = 5, + /** Enable/Disable dynamic bw feature */ + WMI_STA_SMPS_PARAM_DYNAMIC_BW_SWITCH = 6, } wmi_sta_smps_param; typedef struct { diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 9b9942583944..d741a667f96e 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_ 1474 +#define __WMI_REVISION_ 1475 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From 9893e5b78729e78d3fe3e85fa702be947f76183c Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 18 Apr 2024 06:02:04 -0700 Subject: [PATCH 04/22] fw-api: CL 26496317 - update fw common interface files Change-Id: Ie8cbf264cd9d5a4f6e6bf0f9fe1ff7b7452bfaec CRs-Fixed: 2262693 --- fw/wmi_services.h | 1 + fw/wmi_unified.h | 2 +- fw/wmi_version.h | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index 66699c62a357..74bb0183131b 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -662,6 +662,7 @@ typedef enum { WMI_SERVICE_TRAFFIC_CONTEXT_SUPPORT = 408, /* FW supports traffic context aware manager */ WMI_SERVICE_STA_SAP_NDP_CONCURRENCY_SUPPORT = 409, /* FW supports STA + SAP + NDP concurrency */ WMI_SERVICE_THERM_THROT_POUT_REDUCTION = 410, /* FW supports thermal throttling Pout reduction */ + WMI_SERVICE_E2E_SDWF_SUPPORT = 411, /* FW supports end-to-end SDWF features like SDWF scheduler */ WMI_MAX_EXT2_SERVICE diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index f87a3dc69035..e5ebdc37616d 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -27016,7 +27016,7 @@ typedef enum { /** Enable/Disable DTIM 1chRx feature */ WMI_STA_SMPS_PARAM_DTIM_1CHRX_ENABLE = 5, /** Enable/Disable dynamic bw feature */ - WMI_STA_SMPS_PARAM_DYNAMIC_BW_SWITCH = 6, + WMI_STA_SMPS_PARAM_DYNAMIC_BW_SWITCH = 6, } wmi_sta_smps_param; typedef struct { diff --git a/fw/wmi_version.h b/fw/wmi_version.h index d741a667f96e..9fd0ff979bdb 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_ 1475 +#define __WMI_REVISION_ 1476 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From c2cd135c6b9787081b7545f3db5a6ddfd32f19b1 Mon Sep 17 00:00:00 2001 From: spuligil Date: Sat, 20 Apr 2024 06:02:15 -0700 Subject: [PATCH 05/22] fw-api: CL 26511260 - update fw common interface files Change-Id: I225300d0e9540034f044667efe1ba215675547a2 CRs-Fixed: 2262693 --- fw/wmi_services.h | 1 + fw/wmi_unified.h | 10 +++++++++- fw/wmi_version.h | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index 74bb0183131b..048b6356d0b5 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -663,6 +663,7 @@ typedef enum { WMI_SERVICE_STA_SAP_NDP_CONCURRENCY_SUPPORT = 409, /* FW supports STA + SAP + NDP concurrency */ WMI_SERVICE_THERM_THROT_POUT_REDUCTION = 410, /* FW supports thermal throttling Pout reduction */ WMI_SERVICE_E2E_SDWF_SUPPORT = 411, /* FW supports end-to-end SDWF features like SDWF scheduler */ + WMI_SERVICE_EPM = 412, /* FW supports enhanced power management */ WMI_MAX_EXT2_SERVICE diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index e5ebdc37616d..61de66e2f7b6 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -4618,8 +4618,12 @@ typedef struct { * and 255 indicates an invalid service class * Refer to WMI_RSRC_CFG_FLAGS2_SAWF_255_SVC_CLASS_SUPPORT_GET/SET * macros. + * Bit 20 - enable feature EPM (Enhanced Power Management) + * 0 -> disable the feature + * 1 -> enable the feature + * Refer to the below WMI_RSRC_CFG_FLAGS2_EPM_GET/SET macros. * - * Bits 31:20 - Reserved + * Bits 31:21 - Reserved */ A_UINT32 flags2; /** @brief host_service_flags - can be used by Host to indicate @@ -5114,6 +5118,10 @@ typedef struct { #define WMI_RSRC_CFG_FLAGS2_SAWF_255_SVC_CLASS_SUPPORT_SET(flags2, value) \ WMI_SET_BITS(flags2, 19, 1, value) +#define WMI_RSRC_CFG_FLAGS2_EPM_GET(flags2) \ + WMI_GET_BITS(flags2, 20, 1) +#define WMI_RSRC_CFG_FLAGS2_EPM_SET(flags2, value) \ + WMI_SET_BITS(flags2, 20, 1, value) #define WMI_RSRC_CFG_HOST_SERVICE_FLAG_NAN_IFACE_SUPPORT_GET(host_service_flags) \ WMI_GET_BITS(host_service_flags, 0, 1) diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 9fd0ff979bdb..b373ebea93ad 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_ 1476 +#define __WMI_REVISION_ 1477 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From 70ced62a3586f28557e11588cb0e40a96a84ad94 Mon Sep 17 00:00:00 2001 From: spuligil Date: Sun, 21 Apr 2024 06:02:03 -0700 Subject: [PATCH 06/22] fw-api: CL 26515067 - update fw common interface files Change-Id: I1e022af363e1c10869bf982b17d06875b03b30d7 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 61de66e2f7b6..509b97e5dc03 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -25678,6 +25678,12 @@ typedef enum /* Restrict SLO if specific vendor OUI received in beacon. */ WMI_VENDOR_OUI_ACTION_RESTRICT_SLO = 13, + /* + * Force MLSR mode if specific vendor OUI received in beacon + * when connect with MLO. + */ + WMI_VENDOR_OUI_ACTION_FORCE_MLSR = 14, + /* Add any action before this line */ WMI_VENDOR_OUI_ACTION_MAX_ACTION_ID diff --git a/fw/wmi_version.h b/fw/wmi_version.h index b373ebea93ad..bed59b7d7a08 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_ 1477 +#define __WMI_REVISION_ 1478 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From 3171c45682cc131cca4988c16889d16f71ef817e Mon Sep 17 00:00:00 2001 From: spuligil Date: Sun, 21 Apr 2024 06:06:43 -0700 Subject: [PATCH 07/22] fw-api: CL 26515400 - update fw common interface files Change-Id: I2b88bdd8e3f3f003fb99e21102d0eddeb5fd2ced CRs-Fixed: 2262693 --- fw/htt_stats.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/fw/htt_stats.h b/fw/htt_stats.h index c6c6fee101eb..50006666d4dc 100644 --- a/fw/htt_stats.h +++ b/fw/htt_stats.h @@ -7600,6 +7600,14 @@ typedef struct { * bin2 contains the number of sampling windows that had > 4 interrupts */ A_UINT32 interrupts_hist[HTT_INTERRUPTS_LATENCY_PROFILE_MAX_HIST]; + /* min time in us for pcycles spent on q6 core on all HW threads */ + A_UINT32 min_pcycles_time; + /* max time in us for pcycles spent on q6 core on all HW threads */ + A_UINT32 max_pcycles_time; + /* total time in us for pcycles spent on q6 core on all HW threads */ + A_UINT32 tot_pcycles_time; + /* avg time in us for pcycles spent on q6 core on all HW threads */ + A_UINT32 avg_pcycles_time; } htt_stats_latency_prof_stats_tlv; /* preserve old name alias for new name consistent with the tag name */ typedef htt_stats_latency_prof_stats_tlv htt_latency_prof_stats_tlv; From f510082f0efca1269349d8b58e49b9f3e48a37da Mon Sep 17 00:00:00 2001 From: spuligil Date: Mon, 22 Apr 2024 00:08:37 -0700 Subject: [PATCH 08/22] fw-api: CL 26517090 - update fw common interface files Change-Id: Ia942b544736d20038027745e6b55d0eed41555ce CRs-Fixed: 2262693 --- fw/wmi_services.h | 1 + fw/wmi_unified.h | 2 ++ fw/wmi_version.h | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index 048b6356d0b5..9f0ac38fc63d 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -664,6 +664,7 @@ typedef enum { WMI_SERVICE_THERM_THROT_POUT_REDUCTION = 410, /* FW supports thermal throttling Pout reduction */ WMI_SERVICE_E2E_SDWF_SUPPORT = 411, /* FW supports end-to-end SDWF features like SDWF scheduler */ WMI_SERVICE_EPM = 412, /* FW supports enhanced power management */ + WMI_SERVICE_CHIPSET_LOGGING_SUPPORT = 413, /* FW supports chipset logging feature */ WMI_MAX_EXT2_SERVICE diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 509b97e5dc03..62f03b49ab27 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -9617,6 +9617,8 @@ typedef enum { * E.g. a value of 4 will result in a 1.0 dB tx power reduction. */ WMI_PDEV_PARAM_PWR_REDUCTION_IN_QUARTER_DB, + + WMI_PDEV_PARAM_ENABLE_CHIPSET_LOGGING, } WMI_PDEV_PARAM; #define WMI_PDEV_ONLY_BSR_TRIG_IS_ENABLED(trig_type) WMI_GET_BITS(trig_type, 0, 1) diff --git a/fw/wmi_version.h b/fw/wmi_version.h index bed59b7d7a08..c92dcf3a6360 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_ 1478 +#define __WMI_REVISION_ 1479 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From 7ab5e2146ffb06f375bc2b848da06b8f96b929e7 Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 24 Apr 2024 06:01:48 -0700 Subject: [PATCH 09/22] fw-api: CL 26534623 - update fw common interface files Change-Id: I00aef4a9ef40dd4791bb77a6079550d5c59a6155 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 62f03b49ab27..799c2e1c131f 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -9619,6 +9619,16 @@ typedef enum { WMI_PDEV_PARAM_PWR_REDUCTION_IN_QUARTER_DB, WMI_PDEV_PARAM_ENABLE_CHIPSET_LOGGING, + + /** SCAN MODE: + * bit | scan_mode + * ----------------- + * 0 | SISO SCAN - 1x1 scan + * | If this bit is 0, then use default scan (NxN). + * 1-31 | Reserved. + */ + WMI_PDEV_PARAM_SCAN_MODE, + } WMI_PDEV_PARAM; #define WMI_PDEV_ONLY_BSR_TRIG_IS_ENABLED(trig_type) WMI_GET_BITS(trig_type, 0, 1) diff --git a/fw/wmi_version.h b/fw/wmi_version.h index c92dcf3a6360..bc3c2b585b7c 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_ 1479 +#define __WMI_REVISION_ 1480 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From 718b127edf748b07f8d1e6f74a7f3a08900179e0 Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 2 May 2024 03:20:39 -0700 Subject: [PATCH 10/22] fw-api: CL 26587627 - update fw common interface files Change-Id: I9702a8ea7c84468105509fc3b23dbbe8776bb885 CRs-Fixed: 2262693 --- fw/wmi_services.h | 1 + fw/wmi_tlv_defs.h | 7 +++++++ fw/wmi_unified.h | 15 +++++++++++++++ fw/wmi_version.h | 2 +- 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index 9f0ac38fc63d..e4badf6d1967 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -665,6 +665,7 @@ typedef enum { WMI_SERVICE_E2E_SDWF_SUPPORT = 411, /* FW supports end-to-end SDWF features like SDWF scheduler */ WMI_SERVICE_EPM = 412, /* FW supports enhanced power management */ WMI_SERVICE_CHIPSET_LOGGING_SUPPORT = 413, /* FW supports chipset logging feature */ + WMI_SERVICE_SUPPORT_AP_SUSPEND_RESUME = 414, /* FW supports SAP suspend feature */ WMI_MAX_EXT2_SERVICE diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index c807d87a4208..803e716caf51 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1437,6 +1437,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_ctrl_path_vdev_bcn_tx_stats_struct, WMITLV_TAG_STRUC_wmi_ctrl_path_pdev_bcn_tx_stats_struct, WMITLV_TAG_STRUC_wmi_soc_tx_packet_custom_classify_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_set_ap_suspend_resume_cmd_fixed_param, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. @@ -1986,6 +1987,7 @@ typedef enum { OP(WMI_PEER_ACTIVE_TRAFFIC_MAP_CMDID) \ OP(WMI_REQUEST_OPM_STATS_CMDID) \ OP(WMI_SOC_TX_PACKET_CUSTOM_CLASSIFY_CMDID) \ + OP(WMI_SET_AP_SUSPEND_RESUME_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -5613,6 +5615,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ACTIVE_TRAFFIC_MAP_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_request_opm_stats_cmd_fixed_param, wmi_request_opm_stats_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_OPM_STATS_CMDID); +/* SAP suspend/resume command */ +#define WMITLV_TABLE_WMI_SET_AP_SUSPEND_RESUME_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_set_ap_suspend_resume_cmd_fixed_param, wmi_set_ap_suspend_resume_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_SET_AP_SUSPEND_RESUME_CMDID); + /************************** TLV definitions of WMI events *******************************/ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 799c2e1c131f..01caa7ccc56d 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -1308,6 +1308,9 @@ typedef enum { /** WMI command to Request Opportunistic Power Mgmt (OPM) stats */ WMI_REQUEST_OPM_STATS_CMDID, + /** WMI command to Request SAP suspend/resume */ + WMI_SET_AP_SUSPEND_RESUME_CMDID, + /* Offload 11k related requests */ WMI_11K_OFFLOAD_REPORT_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_11K_OFFLOAD), @@ -37805,6 +37808,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_PEER_ACTIVE_TRAFFIC_MAP_CMDID); WMI_RETURN_STRING(WMI_REQUEST_OPM_STATS_CMDID); WMI_RETURN_STRING(WMI_SOC_TX_PACKET_CUSTOM_CLASSIFY_CMDID); + WMI_RETURN_STRING(WMI_SET_AP_SUSPEND_RESUME_CMDID); } return (A_UINT8 *) "Invalid WMI cmd"; @@ -48511,6 +48515,17 @@ typedef struct { A_UINT32 pdev_id; /** pdev_id for identifying the MAC */ } wmi_request_opm_stats_cmd_fixed_param; +/* wmi command to suspend SAP vdev */ +typedef struct { + /** TLV tag and len; tag equals + * WMITLV_TAG_STRUC_wmi_set_ap_suspend_resume_cmd_fixed_param */ + A_UINT32 tlv_header; + /* VDEV identifier */ + A_UINT32 vdev_id; /* If 0xFF, find vdevs corresponding to MLD MAC address */ + wmi_mac_addr mld_mac_address; /* MLD MAC address */ + A_UINT32 is_ap_suspend; /* 1 = suspend, 0 = resume */ +} wmi_set_ap_suspend_resume_fixed_param; + /* ADD NEW DEFS HERE */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index bc3c2b585b7c..adf28bee1c98 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_ 1480 +#define __WMI_REVISION_ 1481 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From d66d9e683dc6f0b7afa8d65c28089540ff2d155b Mon Sep 17 00:00:00 2001 From: spuligil Date: Tue, 7 May 2024 02:14:19 -0700 Subject: [PATCH 11/22] fw-api: CL 26614150 - update fw common interface files Change-Id: I60d89bd7f8bf7f4c135e97dfdfb687908e3fd61b CRs-Fixed: 2262693 --- fw/wmi_unified.h | 5 +++++ fw/wmi_version.h | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 01caa7ccc56d..8b31d9105e9b 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -9632,6 +9632,11 @@ typedef enum { */ WMI_PDEV_PARAM_SCAN_MODE, + /** configure datastall consecutive no ack interval (units = ms) */ + WMI_PDEV_PARAM_DSTALL_CONSECUTIVE_TX_NO_ACK_INTERVAL, + /** configure datastall consecutive no ack threshold */ + WMI_PDEV_PARAM_DSTALL_CONSECUTIVE_TX_NO_ACK_THRESHOLD, + } WMI_PDEV_PARAM; #define WMI_PDEV_ONLY_BSR_TRIG_IS_ENABLED(trig_type) WMI_GET_BITS(trig_type, 0, 1) diff --git a/fw/wmi_version.h b/fw/wmi_version.h index adf28bee1c98..de089895ae7a 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_ 1481 +#define __WMI_REVISION_ 1482 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From 7a35833f7d2c0767deb1a7c4e48e8deabab030c2 Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 16 May 2024 02:50:44 -0700 Subject: [PATCH 12/22] fw-api: CL 26642966 - update fw common interface files Change-Id: Ib50fbf4d2435984c24b3eb835a4a77948c59d9dc CRs-Fixed: 2262693 --- fw/wmi_unified.h | 8 ++++++++ fw/wmi_version.h | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 8b31d9105e9b..844ba6b6ae7b 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -19648,12 +19648,20 @@ typedef struct { A_UINT32 cu_vdev_map_cat2_hi; /* bits 63:32 */ } wmi_prb_resp_tmpl_ml_info; +/** indicates P2P GO only case not replay probe req */ +#define WMI_PRB_TMPL_IGNORE_NONP2P_PRB_REQ 0x1 + 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 */ A_UINT32 vdev_id; /** beacon buffer length. data is in TLV data[] */ A_UINT32 buf_len; + /** flags to control probe tmpl: + * Bit 0: If set, FW should ignore non-P2P probe req + * Bits 31-1: Reserved + */ + A_UINT32 flags; /* * 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 de089895ae7a..4972ce39ff40 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_ 1482 +#define __WMI_REVISION_ 1483 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From 63fb6de36ea96a6379c5b9ae466445173d961665 Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 16 May 2024 02:56:04 -0700 Subject: [PATCH 13/22] fw-api: CL 26661427 - update fw common interface files Change-Id: I642f33bf012856aba80c9270397c40dd8fff8c01 CRs-Fixed: 2262693 --- fw/wmi_services.h | 2 ++ fw/wmi_unified.h | 11 +++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index e4badf6d1967..5533050473cf 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -666,6 +666,8 @@ typedef enum { WMI_SERVICE_EPM = 412, /* FW supports enhanced power management */ WMI_SERVICE_CHIPSET_LOGGING_SUPPORT = 413, /* FW supports chipset logging feature */ WMI_SERVICE_SUPPORT_AP_SUSPEND_RESUME = 414, /* FW supports SAP suspend feature */ + WMI_SERVICE_STA_P2P_NDP_CONCURRENCY_SUPPORT = 415, /* FW supports STA + P2P + NAN concurrency */ + WMI_SERVICE_USE_STA_VDEV_FOR_P2P_DEVICE = 416, /* FW supports use of sta vdev to be repurposed for p2p device */ WMI_MAX_EXT2_SERVICE diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 844ba6b6ae7b..f7a2091db0c9 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -6141,6 +6141,7 @@ typedef enum { #define WMI_SCAN_FLAG_EXT_FAST_SCAN 0x00020000 #define WMI_SCAN_FLAG_EXT_LOW_POWER_SCAN 0x00040000 #define WMI_SCAN_FLAG_EXT_STOP_IF_BSSID_FOUND 0x00080000 +#define WMI_SCAN_FLAG_EXT_P2P_SCAN 0x00100000 /** @@ -6346,6 +6347,11 @@ enum wmi_scan_completion_reason { WMI_SCAN_REASON_MAX, }; +#define WMI_SCAN_EVT_IS_SCAN_TYPE_P2P_FLAG_SET(flag, value) \ + WMI_SET_BITS(flag, 0, 1, value) +#define WMI_SCAN_EVT_IS_SCAN_TYPE_P2P_FLAG_GET(flag) \ + WMI_GET_BITS(flag, 0, 1) + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_scan_event_fixed_param */ /** scan event (wmi_scan_event_type) */ @@ -6366,6 +6372,11 @@ typedef struct { * In case of STA not connected it will be the free running HW timer */ A_UINT32 tsf_timestamp; + /** flags: + * Bit[0] - indicate if scan type is for p2p + * Bit[1:31] - reserved + */ + A_UINT32 flags; } wmi_scan_event_fixed_param; /* WMI Diag event */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 4972ce39ff40..0404cc1d09f4 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_ 1483 +#define __WMI_REVISION_ 1484 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From 0be38c780416548abb450c5620dcf146acdacb26 Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 17 May 2024 06:02:21 -0700 Subject: [PATCH 14/22] fw-api: CL 26682404 - update fw common interface files Change-Id: If015c474eafeb9ca70bf179881d8aff0979bddb5 CRs-Fixed: 2262693 --- fw/wlan_module_ids.h | 1 + fw/wmi_services.h | 1 + fw/wmi_tlv_defs.h | 15 +++++++++++++++ fw/wmi_unified.h | 40 +++++++++++++++++++++++++++++++++++++++- fw/wmi_version.h | 2 +- 5 files changed, 57 insertions(+), 2 deletions(-) diff --git a/fw/wlan_module_ids.h b/fw/wlan_module_ids.h index af28e6db8700..5d4a2738b9bd 100644 --- a/fw/wlan_module_ids.h +++ b/fw/wlan_module_ids.h @@ -155,6 +155,7 @@ typedef enum { WLAN_MODULE_BRIDGE_PEER, /* 0x72 */ WLAN_MODULE_AUX_MAC_MGR, /* 0x73 */ WLAN_MODULE_TCAM, /* 0x74 */ + WLAN_MODULE_P2P_R2, /* 0x75 */ WLAN_MODULE_ID_MAX, WLAN_MODULE_ID_INVALID = WLAN_MODULE_ID_MAX, diff --git a/fw/wmi_services.h b/fw/wmi_services.h index 5533050473cf..7894ae17a00a 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -668,6 +668,7 @@ typedef enum { WMI_SERVICE_SUPPORT_AP_SUSPEND_RESUME = 414, /* FW supports SAP suspend feature */ WMI_SERVICE_STA_P2P_NDP_CONCURRENCY_SUPPORT = 415, /* FW supports STA + P2P + NAN concurrency */ WMI_SERVICE_USE_STA_VDEV_FOR_P2P_DEVICE = 416, /* FW supports use of sta vdev to be repurposed for p2p device */ + WMI_SERVICE_AP_ASSISTED_DFS_CHAN_P2P_SESSION = 417, /* FW supports P2P session on DFS chan enabled by DFS master AP */ WMI_MAX_EXT2_SERVICE diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 803e716caf51..2f81516289b1 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1438,6 +1438,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_ctrl_path_pdev_bcn_tx_stats_struct, WMITLV_TAG_STRUC_wmi_soc_tx_packet_custom_classify_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_set_ap_suspend_resume_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_p2p_cli_dfs_ap_bmiss_fixed_param, + WMITLV_TAG_STRUC_wmi_p2p_go_dfs_ap_config_fixed_param, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. @@ -1988,6 +1990,7 @@ typedef enum { OP(WMI_REQUEST_OPM_STATS_CMDID) \ OP(WMI_SOC_TX_PACKET_CUSTOM_CLASSIFY_CMDID) \ OP(WMI_SET_AP_SUSPEND_RESUME_CMDID) \ + OP(WMI_P2P_GO_DFS_AP_CONFIG_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -2312,6 +2315,7 @@ typedef enum { OP(WMI_MLO_LINK_INFO_SYNC_EVENTID) \ OP(WMI_PDEV_ENABLE_XLNA_EVENTID) \ OP(WMI_REG_CHAN_LIST_CC_EXT2_EVENTID) \ + OP(WMI_P2P_CLI_DFS_AP_BMISS_DETECTED_EVENTID) \ /* add new EVT_LIST elements above this line */ @@ -3905,6 +3909,13 @@ WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_MLO_CONFIG_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_bssid_disallow_list_config_param, bssid_disallow_list, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_DSM_FILTER_CMDID); +/* Add/remove DFS master AP configuration */ +#define WMITLV_TABLE_WMI_P2P_GO_DFS_AP_CONFIG_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_p2p_go_dfs_ap_config_fixed_param, wmi_p2p_go_dfs_ap_config_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_mac_addr, bssid, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_mac_addr, non_tx_bssid, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_P2P_GO_DFS_AP_CONFIG_CMDID); + #define WMITLV_TABLE_WMI_ROAM_BLACKLIST_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_blacklist_event_fixed_param, wmi_roam_blacklist_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_blacklist_with_timeout_tlv_param, blacklist_with_timeout, WMITLV_SIZE_VAR) @@ -6941,6 +6952,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_AUDIO_SYNC_START_STOP_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_audio_sync_q_master_slave_times, audio_sync_q_master_slave_times, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_AUDIO_SYNC_Q_MASTER_SLAVE_OFFSET_EVENTID); +#define WMITLV_TABLE_WMI_P2P_CLI_DFS_AP_BMISS_DETECTED_EVENTID(id, op , buf, len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_p2p_cli_dfs_ap_bmiss_fixed_param , wmi_p2p_cli_dfs_ap_bmiss_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_P2P_CLI_DFS_AP_BMISS_DETECTED_EVENTID); + /* Layout of WMI_REPORT_STATS_EVENTID message: * fixed_param; * wmi_chan_cca_stats chan_cca_stats[]; Array length is specified by num_chan_cca_stats diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index f7a2091db0c9..038905bcde79 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -994,6 +994,8 @@ typedef enum { WMI_P2P_LISTEN_OFFLOAD_START_CMDID, /** set listen offload stop related parameters */ WMI_P2P_LISTEN_OFFLOAD_STOP_CMDID, + /** set DFS master AP configuration */ + WMI_P2P_GO_DFS_AP_CONFIG_CMDID, /** AP power save specific config */ /** set AP power save specific param */ @@ -2090,6 +2092,9 @@ typedef enum { /** send p2p listen offload stopped event with different reason */ WMI_P2P_LISTEN_OFFLOAD_STOPPED_EVENTID, + /** send event to AP assisted P2P GO to change current DFS channel */ + WMI_P2P_CLI_DFS_AP_BMISS_DETECTED_EVENTID, + /** Send EGAP Info to host */ WMI_AP_PS_EGAP_INFO_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_AP_PS), @@ -17560,6 +17565,25 @@ typedef struct { A_UINT32 vdev_id; } wmi_vdev_delete_cmd_fixed_param; +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_p2p_go_dfs_ap_config_fixed_param */ + /** unique id identifying the VDEV, generated by the caller */ + A_UINT32 vdev_id; + /** "set" field: + * HOST to specify a non-zero value if DFS master AP config is to be added, + * or a zero value if it is to be removed. + */ + A_UINT32 set; + /* The TLVs follows this structure: + * wmi_mac_addr bssid; <-- bssid for P2P GO's STA's connected AP, + * STA's connected AP is DFS master + * optional TLV used for bssid + * wmi_mac_addr non_tx_bssid; <-- bssid for P2P GO's STA's connected AP, + * if connected to non TX VAP + * optional TLV used for bssid + */ +} wmi_p2p_go_dfs_ap_config_fixed_param; + enum WMI_VDEV_UP_FLAGS { /** EMA_MBSSID_AP * Valid only for STA VDEV. @@ -27345,7 +27369,6 @@ typedef struct A_UINT32 scan_req_id; } wmi_lpi_status_event_fixed_param; - typedef struct { A_UINT32 tlv_header; @@ -27355,6 +27378,7 @@ typedef struct A_UINT32 rssi; A_UINT32 vdev_id; } wmi_lpi_handoff_event_fixed_param; + typedef struct { A_UINT32 tlv_header; @@ -27363,6 +27387,19 @@ typedef struct A_UINT32 isLastResult; /*is this event a last event of the whole batch scan*/ } wmi_batch_scan_result_event_fixed_param; +typedef enum { + /** beacons not received from P2P GO */ + WMI_P2P_GO_BMISS = 0, + /** beacons not received from P2 GO's STA's connected AP */ + WMI_DFS_AP_BMISS = 1, +} wmi_dfs_ap_bmiss_reason; + +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_p2p_cli_dfs_ap_bmiss_fixed_param*/ + A_UINT32 vdev_id; + A_UINT32 reason_code; /* contains a wmi_dfs_ap_bmiss_reason value */ +} wmi_p2p_cli_dfs_ap_bmiss_fixed_param; + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_p2p_noa_event_fixed_param */ A_UINT32 vdev_id; @@ -37833,6 +37870,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_REQUEST_OPM_STATS_CMDID); WMI_RETURN_STRING(WMI_SOC_TX_PACKET_CUSTOM_CLASSIFY_CMDID); WMI_RETURN_STRING(WMI_SET_AP_SUSPEND_RESUME_CMDID); + WMI_RETURN_STRING(WMI_P2P_GO_DFS_AP_CONFIG_CMDID); } return (A_UINT8 *) "Invalid WMI cmd"; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 0404cc1d09f4..1229d1a4473a 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_ 1484 +#define __WMI_REVISION_ 1485 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From b0737ad0d52b5376d5325c2524bfafbda64deea5 Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 17 May 2024 06:08:48 -0700 Subject: [PATCH 15/22] fw-api: CL 26684651 - update fw common interface files Change-Id: I88f1420c3e7c0466ae36c1a8d96eb05c5be4b6e0 CRs-Fixed: 2262693 --- fw/htt_stats.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/fw/htt_stats.h b/fw/htt_stats.h index 50006666d4dc..f8010daefef6 100644 --- a/fw/htt_stats.h +++ b/fw/htt_stats.h @@ -5415,6 +5415,8 @@ typedef struct { HTT_TX_PDEV_STATS_NUM_EXTRA2_MCS_COUNTERS) #define HTT_TX_PDEV_STATS_NUM_PER_COUNTERS 101 +#define HTT_MAX_POWER_LEVEL 32 /* 0 to 32 dBm */ +#define HTT_MAX_NEGATIVE_POWER_LEVEL 10 /* 0 to -10 dBm */ /* * Introduce new TX counters to support 320MHz support and punctured modes @@ -9422,6 +9424,29 @@ typedef struct { * units = 0.25dBm */ A_INT32 max_reg_only_allowed_power[HTT_STATS_MAX_CHAINS]; + + /** number of PPDUs transmitted for each number of tx chains */ + A_UINT32 tx_num_chains[HTT_STATS_MAX_CHAINS]; + + /** tx_power: + * Number of PPDUs transmitted with each power level >= 0 dBm. + * tx_power[0]: number of PPDUs with tx power in the [0 dBm, 1 dBm) range + * tx_power[1]: number of PPDUs with tx power in the [1 dBm, 2 dBm) range + * ... + * tx_power[30]: number of PPDUs with tx power in the [30 dBm, 31 dBm) range + * tx_power[31]: number of PPDUs with tx power >= 31 dBm + */ + A_UINT32 tx_power[HTT_MAX_POWER_LEVEL]; + + /** tx_power_neg: + * Number of PPDUs transmitted with each power level < 0 dBm. + * tx_power_neg[0]: cnt of PPDUs with tx pwr in the [-1 dBm, 0 dBm) range + * tx_power_neg[1]: cnt of PPDUs with tx pwr in the [-2 dBm, -1 dBm) range + * ... + * tx_power_neg[8]: cnt of PPDUs with tx pwr in the [-9 dBm, -8 dBm) range + * tx_power_neg[9]: cnt of PPDUs with tx pwr < -9 dBm + */ + A_UINT32 tx_power_neg[HTT_MAX_NEGATIVE_POWER_LEVEL]; } htt_stats_phy_tpc_stats_tlv; /* preserve old name alias for new name consistent with the tag name */ typedef htt_stats_phy_tpc_stats_tlv htt_phy_tpc_stats_tlv; From 31b899be383031ce80bc60f949874a19eef14e21 Mon Sep 17 00:00:00 2001 From: Pragaspathi Thilagaraj Date: Sat, 18 May 2024 12:02:01 -0700 Subject: [PATCH 16/22] fw-api: CL 26690604 - update fw common interface files Change-Id: I1497278f5b07bbce07c6542bd98bb153a182c8bd CRs-Fixed: 2262693 --- fw/wmi_unified.h | 3 +++ fw/wmi_version.h | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 038905bcde79..4261de7f0b97 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -7339,6 +7339,9 @@ typedef struct { #define WMI_TX_SEND_FLAG_SET_IS_SA_QUERY 0x00000004 #define WMI_TX_SEND_FLAG_SET_IS_SA_QUERY_GET(tx_flags) WMI_GET_BITS(tx_flags, 2, 1) #define WMI_TX_SEND_FLAG_SET_IS_SA_QUERY_SET(tx_flags, value) WMI_SET_BITS(tx_flags, 2, 1, value) +#define WMI_TX_SEND_FLAG_SET_P2P_FRAME_ON_STA_VDEV 0x00000008 +#define WMI_TX_SEND_FLAG_SET_P2P_FRAME_ON_STA_VDEV_GET(tx_flags) WMI_GET_BITS(tx_flags, 3, 1) +#define WMI_TX_SEND_FLAG_SET_P2P_FRAME_ON_STA_VDEV_SET(tx_flags, value) WMI_SET_BITS(tx_flags, 3, 1, value) typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_tx_send_params */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 1229d1a4473a..609b7b3c03c0 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_ 1485 +#define __WMI_REVISION_ 1486 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From 66440565935ce72797b959cf9bb3b3240ef01ed3 Mon Sep 17 00:00:00 2001 From: Pragaspathi Thilagaraj Date: Sat, 18 May 2024 18:02:13 -0700 Subject: [PATCH 17/22] fw-api: CL 26692963 - update fw common interface files Change-Id: Idb472648136b10457220e265abc7402521e3a022 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 4261de7f0b97..3ccb23132a4c 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -17787,6 +17787,7 @@ typedef enum { /** NAN vdev config Feature flags */ #define WMI_VDEV_NAN_ALLOW_DW_CONFIG_CHANGE_IN_SYNC_ROLE 0x1 +#define WMI_VDEV_NAN_FORCE_CONGIG_WOW_DB_INTERVAL 0x2 /** the definition of different VDEV parameters */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 609b7b3c03c0..bb11b7481699 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_ 1486 +#define __WMI_REVISION_ 1487 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From ab7b37e1c8e7c46198adfa6f6af31d7eca6c641f Mon Sep 17 00:00:00 2001 From: Pragaspathi Thilagaraj Date: Tue, 21 May 2024 05:59:39 -0700 Subject: [PATCH 18/22] fw-api: CL 26705428 - update fw common interface files Change-Id: Iee5e45f8c994cc5b93c478386a03a80b97626a44 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 7894ae17a00a..fedf04744072 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -669,6 +669,7 @@ typedef enum { WMI_SERVICE_STA_P2P_NDP_CONCURRENCY_SUPPORT = 415, /* FW supports STA + P2P + NAN concurrency */ WMI_SERVICE_USE_STA_VDEV_FOR_P2P_DEVICE = 416, /* FW supports use of sta vdev to be repurposed for p2p device */ WMI_SERVICE_AP_ASSISTED_DFS_CHAN_P2P_SESSION = 417, /* FW supports P2P session on DFS chan enabled by DFS master AP */ + WMI_SERVICE_MLO_SAP_EMLSR_SUPPORT = 418, /* Indicates FW MLO SAP supports EMLSR Mode */ WMI_MAX_EXT2_SERVICE diff --git a/fw/wmi_version.h b/fw/wmi_version.h index bb11b7481699..5b37739c416d 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_ 1487 +#define __WMI_REVISION_ 1488 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From cf465da3268d631c7d53613d64c3c6b76877395d Mon Sep 17 00:00:00 2001 From: Pragaspathi Thilagaraj Date: Wed, 22 May 2024 00:36:13 -0700 Subject: [PATCH 19/22] fw-api: CL 26716443 - update fw common interface files Change-Id: Ie37580a2c6121f6e0fcc13996b87d630a56c5cb1 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 3ccb23132a4c..01d9f3d0bf98 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -18852,6 +18852,10 @@ typedef enum { /* Set HW CTS2SELF before DL OFDMA Sequence */ WMI_VDEV_PARAM_HWCTS2SELF_OFDMA, /* 0xC5 */ + /* Update TWT_UNAVAIL_MODE */ + WMI_VDEV_PARAM_TWT_UNAVAIL_MODE, /* 0xC6 */ + + /*=== ADD NEW VDEV PARAM TYPES ABOVE THIS LINE === * The below vdev param types are used for prototyping, and are * prone to change. diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 5b37739c416d..01c007891003 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_ 1488 +#define __WMI_REVISION_ 1489 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From c9f5cfef2eaddbc7b9294ec53ec0fe2048b653d2 Mon Sep 17 00:00:00 2001 From: Pragaspathi Thilagaraj Date: Wed, 29 May 2024 02:51:57 -0700 Subject: [PATCH 20/22] fw-api: CL 26772591 - update fw common interface files Change-Id: If40e5691004ef6501bf44368f0327e07b6ba86aa CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 7 +++++++ fw/wmi_unified.h | 18 ++++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 2f81516289b1..cba2b11f01a7 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1440,6 +1440,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_set_ap_suspend_resume_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_p2p_cli_dfs_ap_bmiss_fixed_param, WMITLV_TAG_STRUC_wmi_p2p_go_dfs_ap_config_fixed_param, + WMITLV_TAG_STRUC_wmi_twt_vdev_config_cmd_fixed_param, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. @@ -1810,6 +1811,7 @@ typedef enum { OP(WMI_TWT_DEL_DIALOG_CMDID) \ OP(WMI_TWT_PAUSE_DIALOG_CMDID) \ OP(WMI_TWT_RESUME_DIALOG_CMDID) \ + OP(WMI_TWT_VDEV_CONFIG_CMDID) \ OP(WMI_REQUEST_ROAM_SCAN_STATS_CMDID) \ OP(WMI_PEER_TID_CONFIGURATIONS_CMDID) \ OP(WMI_VDEV_SET_CUSTOM_SW_RETRY_TH_CMDID) \ @@ -4934,6 +4936,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_TWT_ENABLE_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_twt_disable_cmd_fixed_param, wmi_twt_disable_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_TWT_DISABLE_CMDID); +/* TWT config vdev cmd */ +#define WMITLV_TABLE_WMI_TWT_VDEV_CONFIG_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_twt_vdev_config_cmd_fixed_param, wmi_twt_vdev_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_TWT_VDEV_CONFIG_CMDID); + /* TWT add dialog cmd */ #define WMITLV_TABLE_WMI_TWT_ADD_DIALOG_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_twt_add_dialog_cmd_fixed_param, wmi_twt_add_dialog_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 01d9f3d0bf98..81e2c8545a8d 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -1578,6 +1578,7 @@ typedef enum { WMI_TWT_NUDGE_DIALOG_CMDID, WMI_VDEV_SET_TWT_EDCA_PARAMS_CMDID, /* XPAN TWT */ WMI_VDEV_GET_TWT_SESSION_STATS_INFO_CMDID, + WMI_TWT_VDEV_CONFIG_CMDID, /** WMI commands related to motion detection **/ WMI_MOTION_DET_CONFIG_PARAM_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_MOTION_DET), @@ -37689,6 +37690,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_TWT_DEL_DIALOG_CMDID); WMI_RETURN_STRING(WMI_TWT_PAUSE_DIALOG_CMDID); WMI_RETURN_STRING(WMI_TWT_RESUME_DIALOG_CMDID); + WMI_RETURN_STRING(WMI_TWT_VDEV_CONFIG_CMDID); WMI_RETURN_STRING(WMI_REQUEST_ROAM_SCAN_STATS_CMDID); WMI_RETURN_STRING(WMI_PEER_TID_CONFIGURATIONS_CMDID); WMI_RETURN_STRING(WMI_VDEV_SET_CUSTOM_SW_RETRY_TH_CMDID); @@ -39394,6 +39396,22 @@ typedef struct { A_UINT32 status; /* refer to WMI_DISABLE_TWT_STATUS_T enum */ } wmi_twt_disable_complete_event_fixed_param; +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_twt_vdev_config_cmd_fixed_param */ + /** pdev_id for identifying the MAC. + * See macros starting with WMI_PDEV_ID_ for values. + */ + A_UINT32 pdev_id; + A_UINT32 vdev_id; + /* TWT support flag to be applied to the vdev + * 0 = ITWT, BTWT and RTWT are disabled. + * 1 = ITWT is enabled + * 2 = ITWT and BTWT are enabled + * 3 = ITWT, BTWT and RTWT are enabled + */ + A_UINT32 twt_support; +} wmi_twt_vdev_config_cmd_fixed_param; + /* status code of TWT Disable */ typedef enum _WMI_DISABLE_TWT_STATUS_T { WMI_DISABLE_TWT_STATUS_OK, /* Disabling TWT successfully completed */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 01c007891003..7d8d68816ff1 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_ 1489 +#define __WMI_REVISION_ 1490 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From f08b885f7e68deb953de8d81c84da9d079c51883 Mon Sep 17 00:00:00 2001 From: Pragaspathi Thilagaraj Date: Wed, 29 May 2024 02:57:34 -0700 Subject: [PATCH 21/22] fw-api: CL 26775343 - update fw common interface files Change-Id: Ia0a2abcd47fe682f7a8a47fec5293ac04cfae080 CRs-Fixed: 2262693 --- fw/htt.h | 177 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 147 insertions(+), 30 deletions(-) diff --git a/fw/htt.h b/fw/htt.h index ed1862aea67b..34871a8ce069 100644 --- a/fw/htt.h +++ b/fw/htt.h @@ -5790,38 +5790,39 @@ enum htt_srng_ring_id { * * The message would appear as follows: * - * |31 28|27|26|25|24|23|22|21 19|18 16|15 | 11| 10|9 8|7 0| - * |-----+--+--+--+--+-----------------+----+---+---+---+---------------| - * |rsvd1|DT|OV|PS|SS| ring_id | pdev_id | msg_type | - * |-----------------------+-----+-----+--------------------------------| - * |rsvd2|RX|RXHDL| CLD | CLC | CLM | ring_buffer_size | - * |--------------------------------------------------------------------| - * | packet_type_enable_flags_0 | - * |--------------------------------------------------------------------| - * | packet_type_enable_flags_1 | - * |--------------------------------------------------------------------| - * | packet_type_enable_flags_2 | - * |--------------------------------------------------------------------| - * | packet_type_enable_flags_3 | - * |--------------------------------------------------------------------| - * | tlv_filter_in_flags | - * |-----------------------------------+--------------------------------| - * | rx_header_offset | rx_packet_offset | - * |-----------------------------------+--------------------------------| - * | rx_mpdu_start_offset | rx_mpdu_end_offset | - * |-----------------------------------+--------------------------------| - * | rx_msdu_start_offset | rx_msdu_end_offset | - * |-----------------------------------+--------------------------------| - * | rsvd3 | rx_attention_offset | - * |--------------------------------------------------------------------| - * | rsvd4 | mo| fp| rx_drop_threshold | - * | |ndp|ndp| | - * |--------------------------------------------------------------------| + * |31 29|28|27|26|25|24|23|22|21 19|18 16|15 | 11| 10|9 8|7 0| + * |-----+--+--+--+--+--+-----------------+----+---+---+---+---------------| + * |rsvd1|ED|DT|OV|PS|SS| ring_id | pdev_id | msg_type | + * |--------------------------+-----+-----+--------------------------------| + * | rsvd2 |RX|RXHDL| CLD | CLC | CLM | ring_buffer_size | + * |-----------------------------------------------------------------------| + * | packet_type_enable_flags_0 | + * |-----------------------------------------------------------------------| + * | packet_type_enable_flags_1 | + * |-----------------------------------------------------------------------| + * | packet_type_enable_flags_2 | + * |-----------------------------------------------------------------------| + * | packet_type_enable_flags_3 | + * |-----------------------------------------------------------------------| + * | tlv_filter_in_flags | + * |--------------------------------------+--------------------------------| + * | rx_header_offset | rx_packet_offset | + * |--------------------------------------+--------------------------------| + * | rx_mpdu_start_offset | rx_mpdu_end_offset | + * |--------------------------------------+--------------------------------| + * | rx_msdu_start_offset | rx_msdu_end_offset | + * |--------------------------------------+--------------------------------| + * | rsvd3 | rx_attention_offset | + * |-----------------------------------------------------------------------| + * | rsvd4 | mo| fp| rx_drop_threshold | + * | |ndp|ndp| | + * |-----------------------------------------------------------------------| * Where: * PS = pkt_swap * SS = status_swap * OV = rx_offsets_valid * DT = drop_thresh_valid + * ED = packet type enable data flags fields present / valid * CLM = config_length_mgmt * CLC = config_length_ctrl * CLD = config_length_data @@ -5846,8 +5847,12 @@ enum htt_srng_ring_id { * b'27 - drop_thresh_valid (DT): flag to indicate if the * rx_drop_threshold field is valid * b'28 - rx_mon_global_en: Enable/Disable global register - 8 configuration in Rx monitor module. - * b'29:31 - rsvd1: reserved for future use + * configuration in Rx monitor module. + * b'29 - packet_type_enable_data: flag to indicate whether + * newer packet_type_enable_data_flags_* are valid or not + * If not set, will use pkt_type_enable_flags for both status + * and full pkt buffer configuration. + * b'30:31 - rsvd1: reserved for future use * dword1 - b'0:15 - ring_buffer_size: size of bufferes referenced by rx ring, * in byte units. * Valid only for HW_TO_SW_RING and SW_TO_HW_RING @@ -6011,6 +6016,32 @@ enum htt_srng_ring_id { * 1: RX_PKT TLV logging at specified offset for the * subsequent buffer * b`15:1 - rx_pkt_tlv_offset: Qword offset for rx_packet TLVs. + * dword18- b'0:19 - rx_mpdu_start_wmask_v2 - wmask address for rx mpdu start + * b'20-27 - rx_mpdu_end_wmask_v2 - wmask addr for rx mpdu end tlv addr + * b'28-31 - reserved + * dword19- b'0-19 - rx_msdu_end_wmask_v2 + * b'20-31 - reserved + * dword20- b'0:19 - rx_ppdu_end_user_stats_wmask_v2 + * offset for ppdu_end_user_stats tlv + * b'20-31 - reserved + * dword21- b'0-31 - packet_type_enable_fpmo_flags_0 - filter bmap for each + * mode mgmt/ctrl type/subtype for fpmo mode + * dword22- b'0-31 - packet_type_enable_fpmo_flags_1 - filter bmap for each + * mode ctrl/data type/subtype for fpmo mode + * dword23- b'0-31 - packet_type_enable_data_flags_0 - filter bmap for full + * pkt buffer each mode MGMT type/subtype + * dword24- b'0-31 - packet_type_enable_data_flags_0 - filter bmap for full + * pkt buffer each mode MGMT type/subtype + * dword25- b'0-31 - packet_type_enable_data_flags_0 - filter bmap for full + * pkt buffer each mode CTRL type/subtype + * dword26- b'0-31 - packet_type_enable_data_flags_0 - filter bmap for full + * pkt buffer each mode CTRL/DATA type/subtype + * dword27- b'0-31 - packet_type_enable_data_fpmo_flags_0 - filter bmap for + * full pkt buffer each mode mgmt/ctrl type/subtype for + * fpmo mode + * dword28- b'0-31 - packet_type_enable_data_fpmo_flags_1 - filter bmap for + * full pkt buffer each mode ctrl/data type/subtype for + * fpmo mode */ PREPACK struct htt_rx_ring_selection_cfg_t { A_UINT32 msg_type: 8, @@ -6021,7 +6052,8 @@ PREPACK struct htt_rx_ring_selection_cfg_t { rx_offsets_valid: 1, drop_thresh_valid: 1, rx_mon_global_en: 1, - rsvd1: 3; + packet_type_enable_data: 1, + rsvd1: 2; A_UINT32 ring_buffer_size: 16, config_length_mgmt:3, config_length_ctrl:3, @@ -6075,6 +6107,12 @@ PREPACK struct htt_rx_ring_selection_cfg_t { rsvd10: 12; A_UINT32 packet_type_enable_fpmo_flags0; A_UINT32 packet_type_enable_fpmo_flags1; + A_UINT32 packet_type_enable_data_flags_0; + A_UINT32 packet_type_enable_data_flags_1; + A_UINT32 packet_type_enable_data_flags_2; + A_UINT32 packet_type_enable_data_flags_3; + A_UINT32 packet_type_enable_data_fpmo_flags0; + A_UINT32 packet_type_enable_data_fpmo_flags1; } POSTPACK; #define HTT_RX_RING_SELECTION_CFG_SZ (sizeof(struct htt_rx_ring_selection_cfg_t)) @@ -6156,6 +6194,17 @@ PREPACK struct htt_rx_ring_selection_cfg_t { ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_RX_MON_GLOBAL_EN_S)); \ } while (0) +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_M 0x20000000 +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_S 29 +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_GET(_var) \ + (((_var) & HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_M) >> \ + HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_S) +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_SET(_var, _val) \ + do { \ + HTT_CHECK_SET_VAL(HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA, _val); \ + ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_S)); \ + } while (0) + #define HTT_RX_RING_SELECTION_CFG_RING_BUFFER_SIZE_M 0x0000ffff #define HTT_RX_RING_SELECTION_CFG_RING_BUFFER_SIZE_S 0 #define HTT_RX_RING_SELECTION_CFG_RING_BUFFER_SIZE_GET(_var) \ @@ -6644,6 +6693,74 @@ PREPACK struct htt_rx_ring_selection_cfg_t { ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_FPMO_FLAGS1_S)); \ } while (0) +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_0_M 0xffffffff +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_0_S 0 +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_0_GET(_var) \ + (((_var) & HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_0_M) >> \ + HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_0_S) +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_0_SET(_var, _val) \ + do { \ + HTT_CHECK_SET_VAL(HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_0, _val); \ + ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_0_S)); \ + } while (0) + +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_1_M 0xffffffff +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_1_S 0 +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_1_GET(_var) \ + (((_var) & HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_1_M) >> \ + HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_1_S) +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_1_SET(_var, _val) \ + do { \ + HTT_CHECK_SET_VAL(HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_1, _val); \ + ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_1_S)); \ + } while (0) + +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_2_M 0xffffffff +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_2_S 0 +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_2_GET(_var) \ + (((_var) & HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_2_M) >> \ + HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_2_S) +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_2_SET(_var, _val) \ + do { \ + HTT_CHECK_SET_VAL(HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_2, _val); \ + ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_2_S)); \ + } while (0) + +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_3_M 0xffffffff +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_3_S 0 +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_3_GET(_var) \ + (((_var) & HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_3_M) >> \ + HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_3_S) +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_3_SET(_var, _val) \ + do { \ + HTT_CHECK_SET_VAL(HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_3, _val); \ + ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_3_S)); \ + } while (0) + + +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS0_M 0xFFFFFFFF +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS0_S 0 +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS0_GET(_var) \ + (((_var) & HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS0_M)>> \ + HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS0_S) +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS0_SET(_var, _val) \ + do { \ + HTT_CHECK_SET_VAL(HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS0, _val); \ + ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS0_S)); \ + } while (0) + +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS1_M 0xFFFFFFFF +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS1_S 0 +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS1_GET(_var) \ + (((_var) & HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS1_M)>> \ + HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS1_S) +#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS1_SET(_var, _val) \ + do { \ + HTT_CHECK_SET_VAL(HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS1, _val); \ + ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS1_S)); \ + } while (0) + + /* * Subtype based MGMT frames enable bits. * FP: Filter_Pass, MD: Monitor_Direct MO: Monitor_Other From 51c64ab0e1edc893e44e02d5ee5cb0a83d58a595 Mon Sep 17 00:00:00 2001 From: Pragaspathi Thilagaraj Date: Thu, 30 May 2024 06:01:54 -0700 Subject: [PATCH 22/22] fw-api: CL 26789113 - update fw common interface files Change-Id: I2d025e6d897646c4a3196e3ab7a1d26f07b40c50 CRs-Fixed: 2262693 --- fw/htt.h | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/fw/htt.h b/fw/htt.h index 34871a8ce069..529691e99fd8 100644 --- a/fw/htt.h +++ b/fw/htt.h @@ -260,9 +260,11 @@ * msg defs. * 3.131 Add H2T TYPE_MSDUQ_RECFG_REQ + T2H MSDUQ_CFG_IND msg defs. * 3.132 Add flow_classification_3_tuple_field_enable in H2T 3_TUPLE_HASH_CFG. + * 3.133 Add packet_type_enable_data_flags fields in rx_ring_selection_cfg. + * 3.134 Add qdata_refill flag in rx_peer_metadata_v1a. */ #define HTT_CURRENT_VERSION_MAJOR 3 -#define HTT_CURRENT_VERSION_MINOR 132 +#define HTT_CURRENT_VERSION_MINOR 134 #define HTT_NUM_TX_FRAG_DESC 1024 @@ -20726,7 +20728,8 @@ PREPACK struct htt_rx_peer_metadata_v1a { vdev_id: 8, logical_link_id: 4, chip_id: 3, - reserved2: 3; + qdata_refill: 1, + reserved2: 2; } POSTPACK; #define HTT_RX_PEER_META_DATA_V1A_PEER_ID_S 0 @@ -20784,6 +20787,17 @@ PREPACK struct htt_rx_peer_metadata_v1a { ((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V1A_CHIP_ID_S)); \ } while (0) +#define HTT_RX_PEER_META_DATA_V1A_QDATA_REFILL_S 29 +#define HTT_RX_PEER_META_DATA_V1A_QDATA_REFILL_M 0x20000000 +#define HTT_RX_PEER_META_DATA_V1A_QDATA_REFILL_GET(_var) \ + (((_var) & HTT_RX_PEER_META_DATA_V1A_QDATA_REFILL_M) >> HTT_RX_PEER_META_DATA_V1A_QDATA_REFILL_S) + +#define HTT_RX_PEER_META_DATA_V1A_QDATA_REFILL_SET(_var, _val) \ + do { \ + HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V1A_QDATA_REFILL, _val); \ + ((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V1A_QDATA_REFILL_S)); \ + } while (0) + /** * @brief target -> RX PEER METADATA V1B format