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
Cette révision appartient à :
spuligil
2024-02-10 01:15:28 -08:00
révisé par Ravindra Konda
Parent 1bff3b1aa0
révision b09d9c5097
3 fichiers modifiés avec 99 ajouts et 1 suppressions

Voir le fichier

@@ -563,6 +563,10 @@ typedef enum {
WMI_PDEV_ENABLE_WIFI_RADAR_CMDID,
/* WMI Command to enable xLNA */
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 */
@@ -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_VDEV_GET_TWT_SESSION_STATS_INFO_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";
@@ -46930,6 +46935,91 @@ typedef struct {
A_UINT32 pdev_id; /* to identify for which pdev the response is received */
} 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 {
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;