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

WMI: add PDEV_SET_CUSTOM_TX_POWER_PER_MCS cmd msg def
Change-Id: I5c6d418cd4a3675d7a42a72bc6b228b32828d0b0
CRs-Fixed: 2262693
This commit is contained in:
spuligil
2024-02-10 01:15:28 -08:00
committed by Ravindra Konda
parent 1bff3b1aa0
commit b09d9c5097
3 changed files with 99 additions and 1 deletions

View File

@@ -1431,6 +1431,7 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_pdev_enable_xlna_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_pdev_enable_xlna_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_enable_xlna_event_fixed_param, WMITLV_TAG_STRUC_wmi_pdev_enable_xlna_event_fixed_param,
WMITLV_TAG_STRUC_wmi_reg_chan_list_cc_event_ext2_fixed_param, WMITLV_TAG_STRUC_wmi_reg_chan_list_cc_event_ext2_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_set_custom_tx_power_per_mcs_cmd_fixed_param,
} WMITLV_TAG_ID; } WMITLV_TAG_ID;
/* /*
* IMPORTANT: Please add _ALL_ WMI Commands Here. * IMPORTANT: Please add _ALL_ WMI Commands Here.
@@ -1976,6 +1977,7 @@ typedef enum {
OP(WMI_VDEV_GET_TWT_SESSION_STATS_INFO_CMDID) \ OP(WMI_VDEV_GET_TWT_SESSION_STATS_INFO_CMDID) \
OP(WMI_PDEV_ENABLE_WIFI_RADAR_CMDID) \ OP(WMI_PDEV_ENABLE_WIFI_RADAR_CMDID) \
OP(WMI_PDEV_ENABLE_XLNA_CMDID) \ OP(WMI_PDEV_ENABLE_XLNA_CMDID) \
OP(WMI_PDEV_SET_CUSTOM_TX_POWER_PER_MCS_CMDID) \
/* add new CMD_LIST elements above this line */ /* add new CMD_LIST elements above this line */
@@ -5583,6 +5585,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_ENABLE_WIFI_RADAR_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_enable_xlna_cmd_fixed_param, wmi_pdev_enable_xlna_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_enable_xlna_cmd_fixed_param, wmi_pdev_enable_xlna_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_ENABLE_XLNA_CMDID); WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_ENABLE_XLNA_CMDID);
/* WMI cmd to set custom TX power backoff value per band/chain/mcs to PHY */
#define WMITLV_TABLE_WMI_PDEV_SET_CUSTOM_TX_POWER_PER_MCS_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_set_custom_tx_power_per_mcs_cmd_fixed_param, wmi_pdev_set_custom_tx_power_per_mcs_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, txpower_bkoff_array, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_CUSTOM_TX_POWER_PER_MCS_CMDID);
/************************** TLV definitions of WMI events *******************************/ /************************** TLV definitions of WMI events *******************************/

View File

@@ -563,6 +563,10 @@ typedef enum {
WMI_PDEV_ENABLE_WIFI_RADAR_CMDID, WMI_PDEV_ENABLE_WIFI_RADAR_CMDID,
/* WMI Command to enable xLNA */ /* WMI Command to enable xLNA */
WMI_PDEV_ENABLE_XLNA_CMDID, WMI_PDEV_ENABLE_XLNA_CMDID,
/**
* WMI cmd to set custom TX power backoff value per band/chain/MCS to PHY.
*/
WMI_PDEV_SET_CUSTOM_TX_POWER_PER_MCS_CMDID,
/* VDEV (virtual device) specific commands */ /* VDEV (virtual device) specific commands */
@@ -37446,6 +37450,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
WMI_RETURN_STRING(WMI_PDEV_ENABLE_WIFI_RADAR_CMDID); WMI_RETURN_STRING(WMI_PDEV_ENABLE_WIFI_RADAR_CMDID);
WMI_RETURN_STRING(WMI_VDEV_GET_TWT_SESSION_STATS_INFO_CMDID); WMI_RETURN_STRING(WMI_VDEV_GET_TWT_SESSION_STATS_INFO_CMDID);
WMI_RETURN_STRING(WMI_PDEV_ENABLE_XLNA_CMDID); WMI_RETURN_STRING(WMI_PDEV_ENABLE_XLNA_CMDID);
WMI_RETURN_STRING(WMI_PDEV_SET_CUSTOM_TX_POWER_PER_MCS_CMDID);
} }
return (A_UINT8 *) "Invalid WMI cmd"; return (A_UINT8 *) "Invalid WMI cmd";
@@ -46930,6 +46935,91 @@ typedef struct {
A_UINT32 pdev_id; /* to identify for which pdev the response is received */ A_UINT32 pdev_id; /* to identify for which pdev the response is received */
} wmi_pdev_set_tgtr2p_table_event_fixed_param; } wmi_pdev_set_tgtr2p_table_event_fixed_param;
#define WMI_PDEV_SET_CUSTOM_TX_PWR_MAX_CHAIN_NUM 4
#define WMI_PDEV_SET_CUSTOM_TX_PWR_MAX_2G_RATE_NUM 18
#define WMI_PDEV_SET_CUSTOM_TX_PWR_MAX_5G_6G_RATE_NUM 24
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_set_custom_tx_power_per_mcs_cmd_fixed_param */
A_UINT32 pdev_id;
/* Every band's bitmap is per chain per mcs, the bit set indicate the txpower value existed
* in txpower_array, otherwise, it means no setting from up-layer and need treat the setting
* txpower as zero
*/
/* currently 2GHz band has 2 chains (though space is allocated for up
* to 4 chains) and each chain has 18 rates.
* bitmap_of_2GHz_band[0] -> chain 0 bitmap:
* |bit 0|bit 1|......|bit 17|
* |rate 0|rate 1|......|rate 17|
*
* bitmap_of_2GHz_band[1] -> chain 1 bitmap:
* |bit 0|bit 1|......|bit 17|
* |rate 0|rate 1|......|rate 17|
*
* bitmap_of_2GHz_band[2] -> reserved
* bitmap_of_2GHz_band[3] -> reserved
*/
A_UINT32 bitmap_of_2GHz_band[WMI_PDEV_SET_CUSTOM_TX_PWR_MAX_CHAIN_NUM];
/* 5GHz band has 4 chains and each chain has 24 rates.
* bitmap_of_5GHz_band[0] -> chain 0 bitmap:
* |bit 0|bit 1|......|bit 23|
* |rate 0|rate 1|......|rate 23|
*
* bitmap_of_5GHz_band[1] -> chain 1 bitmap:
* |bit 0|bit 1|......|bit 23|
* |rate 0|rate 1|......|rate 23|
*
* bitmap_of_5GHz_band[2] -> chain 2 bitmap:
* |bit 0|bit 1|......|bit 23|
* |rate 0|rate 1|......|rate 23|
*
* bitmap_of_5GHz_band[3] -> chain 3 bitmap:
* |bit 0|bit 1|......|bit 23|
* |rate 0|rate 1|......|rate 23|
*/
A_UINT32 bitmap_of_5GHz_band[WMI_PDEV_SET_CUSTOM_TX_PWR_MAX_CHAIN_NUM];
/* 6GHz band has 4 chains and each chain has 24 rates.
* bitmap_of_6GHz_band[0] -> chain 0 bitmap:
* |bit 0|bit 1|......|bit 23|
* |rate 0|rate 1|......|rate 23|
*
* bitmap_of_6GHz_band[1] -> chain 1 bitmap:
* |bit 0|bit 1|......|bit 23|
* |rate 0|rate 1|......|rate 23|
*
* bitmap_of_6GHz_band[2] -> chain 2 bitmap:
* |bit 0|bit 1|......|bit 23|
* |rate 0|rate 1|......|rate 23|
*
* bitmap_of_6GHz_band[3] -> chain 3 bitmap:
* |bit 0|bit 1|......|bit 23|
* |rate 0|rate 1|......|rate 23|
*/
A_UINT32 bitmap_of_6GHz_band[WMI_PDEV_SET_CUSTOM_TX_PWR_MAX_CHAIN_NUM];
A_UINT32 txpower_array_len;
/* This TLV is followed by array of bytes:
* A_UINT8 txpower_bkoff_array[]:
* The txpower backoff value for each bit set within the per-band bitmaps
* above, in dB units.
* The elements from the 2GHz band occur first, then the elements from the
* 5GHz band, then the elements from the 6GHz band.
* Within each band, the elements from the lower chain numbers (i.e. the
* lower words within the bitmap array) occur first.
* Within each chain of each band, the element from the lower rate indices
* (i.e. the least significant bits within the bitmap word) occur first.
*/
} wmi_pdev_set_custom_tx_power_per_mcs_cmd_fixed_param;
typedef struct { typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mlo_vdev_get_link_info_cmd_fixed_param */ A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mlo_vdev_get_link_info_cmd_fixed_param */
A_UINT32 vdev_id; A_UINT32 vdev_id;

View File

@@ -37,7 +37,7 @@
#define __WMI_VER_MINOR_ 0 #define __WMI_VER_MINOR_ 0
/** WMI revision number has to be incremented when there is a /** WMI revision number has to be incremented when there is a
* change that may or may not break compatibility. */ * change that may or may not break compatibility. */
#define __WMI_REVISION_ 1450 #define __WMI_REVISION_ 1451
/** The Version Namespace should not be normally changed. Only /** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work * host and firmware of the same WMI namespace will work