From 916af9ba1f1f6517f323aabbf2e737f79e91882b Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 6 Sep 2024 07:47:58 -0700 Subject: [PATCH] fw-api: CL 27586781 - update fw common interface files Change-Id: I3c80f4314e19ea6f3dfe970883b7866bf94e604a CRs-Fixed: 3830439 --- fw/wmi_tlv_defs.h | 7 +++++++ fw/wmi_unified.h | 53 ++++++++++++++++++++++++++++++++++++++++++++++- fw/wmi_version.h | 2 +- 3 files changed, 60 insertions(+), 2 deletions(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 335352c4feb6..161bb7c6f756 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1450,6 +1450,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_usd_service_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_usd_service_event_fixed_param, WMITLV_TAG_STRUC_wmi_vdev_create_wfdr2_mode_params, + WMITLV_TAG_STRUC_wmi_pdev_power_boost_event_fixed_param, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. @@ -2332,6 +2333,7 @@ typedef enum { OP(WMI_MLO_TLT_SELECTION_FOR_TID_SPRAY_EVENTID) \ OP(WMI_MLO_PEER_TID_TO_LINK_MAP_EVENTID) \ OP(WMI_USD_SERVICE_EVENTID) \ + OP(WMI_PDEV_POWER_BOOST_EVENTID) \ /* add new EVT_LIST elements above this line */ @@ -7734,6 +7736,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MLO_PEER_TID_TO_LINK_MAP_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_usd_service_event_fixed_param, wmi_usd_service_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_USD_SERVICE_EVENTID); +/* WMI Event used to send Power Boost status update */ +#define WMITLV_TABLE_WMI_PDEV_POWER_BOOST_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_power_boost_event_fixed_param, wmi_pdev_power_boost_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_POWER_BOOST_EVENTID); + #ifdef __cplusplus } diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index ad108db2b5c0..b3d6e22887ac 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -1878,6 +1878,10 @@ typedef enum { /* Event to indicate xLNA is enabled */ WMI_PDEV_ENABLE_XLNA_EVENTID, + /* Event to indicate ANN Power Boost update status from Target */ + WMI_PDEV_POWER_BOOST_EVENTID, + + /* VDEV specific events */ /** VDEV started event in response to VDEV_START request */ WMI_VDEV_START_RESP_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_VDEV), @@ -3525,6 +3529,11 @@ typedef struct { #define WMI_TARGET_CAP_MPDU_STATS_PER_TX_NSS_SUPPORT_SET(target_cap_flags, value)\ WMI_SET_BITS(target_cap_flags, 16, 1, value) +#define WMI_TARGET_CAP_POWER_BOOST_SUPPORT_GET(target_cap_flags) \ + WMI_GET_BITS(target_cap_flags, 17, 1) +#define WMI_TARGET_CAP_POWER_BOOST_SUPPORT_SET(target_cap_flags) \ + WMI_SET_BITS(target_cap_flags, 17, 1, value) + /* * wmi_htt_msdu_idx_to_htt_msdu_qtype GET/SET APIs @@ -3672,7 +3681,8 @@ typedef struct { * Bit 14 - Support for ML monitor mode * Bit 15 - Support for Qdata Tx LCE filter installation * Bit 16 - Support for MPDU stats per tx Nss capability - * Bits 31:17 - Reserved + * Bit 17 - Support for Power Boost capability + * Bits 31:18 - Reserved */ A_UINT32 target_cap_flags; @@ -48969,6 +48979,47 @@ typedef struct { A_UINT32 vdev_id; } wmi_mlo_peer_tid_to_link_map_event_fixed_param; +typedef enum { + WMI_EVENT_POWER_BOOST_START_TRAINING = 0, + WMI_EVENT_POWER_BOOST_ABORT, + WMI_EVENT_POWER_BOOST_COMPLETE, + + WMI_EVENT_POWER_BOOST_MAX +} wmi_pdev_power_boost_event_type; + +typedef struct { + /* WMITLV_TAG_STRUC_wmi_pdev_power_boost_event_fixed_param */ + A_UINT32 tlv_header; + /* to identify for which pdev the event is sent */ + A_UINT32 pdev_id; + /* enum wmi_pdev_power_boost_event_type to update the power boost status */ + A_UINT32 status; + /* training_stage: + * The training stage such as 1st, 2nd for which the I/Q samples are + * updated in DDR. + */ + A_UINT32 training_stage; + /* MCS value for which the current DPD training has been done */ + A_UINT32 mcs; + /* bandwidth: + * Bandwidth value in Mhz for which the current DPD training has been done + */ + A_UINT32 bandwidth; + /* current target temperature while training the DPD packet in degree C */ + A_INT32 temperature_degreeC; + /* primary channel frequency in MHz for which DPD training is done */ + A_UINT32 primary_chan_mhz; + /** Center frequency 1 in MHz */ + A_UINT32 band_center_freq1; + /** Center frequency 2 in MHz - valid only for 11ac/VHT 80+80 mode */ + A_UINT32 band_center_freq2; + /* phy_mode: + * PHY mode as listed by enum WLAN_PHY_MODE, for which the current DPD + * training has been done + */ + A_UINT32 phy_mode; +} wmi_pdev_power_boost_event_fixed_param; + /* ADD NEW DEFS HERE */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 4a0553fa8530..201e4f2fa8a8 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_ 1520 +#define __WMI_REVISION_ 1521 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work