summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wmi/inc/wmi_unified_param.h20
-rw-r--r--wmi/src/wmi_unified_tlv.c4
2 files changed, 24 insertions, 0 deletions
diff --git a/wmi/inc/wmi_unified_param.h b/wmi/inc/wmi_unified_param.h
index 56475346548b..a0b738692a3b 100644
--- a/wmi/inc/wmi_unified_param.h
+++ b/wmi/inc/wmi_unified_param.h
@@ -426,6 +426,24 @@ struct mac_ssid {
} qdf_packed;
/**
+ * enum wmi_bcn_tx_rate_code - beacon tx rate code
+ */
+enum wmi_bcn_tx_rate_code {
+ WMI_BCN_TX_RATE_CODE_1_M = 0x43,
+ WMI_BCN_TX_RATE_CODE_2_M = 0x42,
+ WMI_BCN_TX_RATE_CODE_5_5_M = 0x41,
+ WMI_BCN_TX_RATE_CODE_6_M = 0x03,
+ WMI_BCN_TX_RATE_CODE_9_M = 0x07,
+ WMI_BCN_TX_RATE_CODE_11M = 0x40,
+ WMI_BCN_TX_RATE_CODE_12_M = 0x02,
+ WMI_BCN_TX_RATE_CODE_18_M = 0x06,
+ WMI_BCN_TX_RATE_CODE_24_M = 0x01,
+ WMI_BCN_TX_RATE_CODE_36_M = 0x05,
+ WMI_BCN_TX_RATE_CODE_48_M = 0x00,
+ WMI_BCN_TX_RATE_CODE_54_M = 0x04,
+};
+
+/**
* struct vdev_start_params - vdev start cmd parameter
* @vdev_id: vdev id
* @chan_freq: channel frequency
@@ -457,6 +475,7 @@ struct mac_ssid {
* @dot11_mode: Phy mode (VHT20/VHT80...)
* @disable_hw_ack: Disable hw ack if chan is dfs channel for cac
* @channel_param: Channel params required by target.
+ * @bcn_tx_rate_code: Beacon tx rate code.
*/
struct vdev_start_params {
uint8_t vdev_id;
@@ -487,6 +506,7 @@ struct vdev_start_params {
uint8_t disable_hw_ack;
struct channel_param channel;
#endif
+ enum wmi_bcn_tx_rate_code bcn_tx_rate_code;
bool ldpc_rx_enabled;
};
diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c
index ed951c9b8f69..f48444e283e5 100644
--- a/wmi/src/wmi_unified_tlv.c
+++ b/wmi/src/wmi_unified_tlv.c
@@ -266,6 +266,10 @@ QDF_STATUS send_vdev_start_cmd_tlv(wmi_unified_t wmi_handle,
WMI_SET_CHANNEL_REG_POWER(chan, req->max_txpow);
WMI_SET_CHANNEL_MAX_TX_POWER(chan, req->max_txpow);
+ cmd->bcn_tx_rate = req->bcn_tx_rate_code;
+ if (req->bcn_tx_rate_code)
+ cmd->flags |= WMI_UNIFIED_VDEV_START_BCN_TX_RATE_PRESENT;
+
if (!req->is_restart) {
cmd->beacon_interval = req->beacon_intval;
cmd->dtim_period = req->dtim_period;