qcacld-3.0: Send VHT TXBF caps after vdev start

After creating the vdev, send the VHT beamforming capabalities.

Change-Id: I9c989a51dab4e239b31d0e8e25f5cf471e6aa0a6
CRs-fixed: 2902912
This commit is contained in:
Lincoln Tran
2021-03-18 10:16:36 -07:00
committed by snandini
parent e82b9815fa
commit ab9679a5eb
3 changed files with 31 additions and 0 deletions

View File

@@ -963,6 +963,15 @@ enum tx_rate_info wma_get_ht_rate_flags(enum phy_ch_width ch_width);
*/
enum tx_rate_info wma_get_he_rate_flags(enum phy_ch_width ch_width);
/**
* wma_set_vht_txbf_cfg() - set VHT Tx beamforming capability to FW
* @mac: Global MAC context
* @vdev_id: VDEV id
*
* Return: None
*/
void wma_set_vht_txbf_cfg(struct mac_context *mac, uint8_t vdev_id);
int32_t wmi_unified_send_txbf(tp_wma_handle wma, tpAddStaParams params);
/**

View File

@@ -886,6 +886,27 @@ void wma_set_bss_rate_flags(tp_wma_handle wma, uint8_t vdev_id,
wma_cp_stats_set_rate_flag(wma, vdev_id);
}
void wma_set_vht_txbf_cfg(struct mac_context *mac, uint8_t vdev_id)
{
wmi_vdev_txbf_en txbf_en = {0};
QDF_STATUS status;
tp_wma_handle wma = cds_get_context(QDF_MODULE_ID_WMA);
if (!wma)
return;
txbf_en.sutxbfee = mac->mlme_cfg->vht_caps.vht_cap_info.su_bformee;
txbf_en.mutxbfee =
mac->mlme_cfg->vht_caps.vht_cap_info.enable_mu_bformee;
txbf_en.sutxbfer = mac->mlme_cfg->vht_caps.vht_cap_info.su_bformer;
status = wma_vdev_set_param(wma->wmi_handle, vdev_id,
WMI_VDEV_PARAM_TXBF,
*((A_UINT8 *)&txbf_en));
if (QDF_IS_STATUS_ERROR(status))
wma_err("failed to set VHT TXBF(status = %d)", status);
}
/**
* wmi_unified_send_txbf() - set txbf parameter to fw
* @wma: wma handle

View File

@@ -2690,6 +2690,7 @@ QDF_STATUS wma_post_vdev_create_setup(struct wlan_objmgr_vdev *vdev)
wma_set_vdev_mgmt_rate(wma_handle, vdev_id);
if (IS_FEATURE_SUPPORTED_BY_FW(DOT11AX))
wma_set_he_txbf_cfg(mac, vdev_id);
wma_set_vht_txbf_cfg(mac, vdev_id);
/* Initialize roaming offload state */
if (vdev_mlme->mgmt.generic.type == WMI_VDEV_TYPE_STA &&