qcacld-3.0: Define new_ch_width in csa_offload_params as phy_ch_width
Currently sme_switch_channel set new_ch_width as phy_ch_width, while wma_csa_offload_handler set new_ch_width as raw bit in wide bandwidth channel switch IE. Clean up the code. Define new_ch_width in csa_offload_params as phy_ch_width. Change-Id: Iadecc7693bf4ffd9f9562405ef18ea9d25d45c9e CRs-Fixed: 3324762
这个提交包含在:
@@ -1050,6 +1050,17 @@ QDF_STATUS mlme_update_tgt_he_caps_in_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
struct wma_tgt_cfg *cfg);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* wlan_mlme_convert_vht_op_bw_to_phy_ch_width() - convert channel width in VHT
|
||||
* operation IE to phy_ch_width
|
||||
* @channel_width: channel width in VHT operation IE. If it is 0, please use HT
|
||||
* information IE to check whether it is 20MHz or 40MHz.
|
||||
*
|
||||
* Return: phy_ch_width
|
||||
*/
|
||||
enum phy_ch_width wlan_mlme_convert_vht_op_bw_to_phy_ch_width(
|
||||
uint8_t channel_width);
|
||||
|
||||
#ifdef WLAN_FEATURE_11BE
|
||||
/**
|
||||
* mlme_update_tgt_eht_caps_in_cfg() - Update tgt eht cap in mlme component
|
||||
|
@@ -6359,3 +6359,18 @@ void wlan_mlme_get_feature_info(struct wlan_objmgr_psoc *psoc,
|
||||
wlan_mlme_get_vht_enable2x2(psoc, &mlme_feature_set->enable2x2);
|
||||
}
|
||||
#endif
|
||||
|
||||
enum phy_ch_width wlan_mlme_convert_vht_op_bw_to_phy_ch_width(
|
||||
uint8_t channel_width)
|
||||
{
|
||||
enum phy_ch_width phy_bw = CH_WIDTH_40MHZ;
|
||||
|
||||
if (channel_width == WLAN_VHTOP_CHWIDTH_80)
|
||||
phy_bw = CH_WIDTH_80MHZ;
|
||||
else if (channel_width == WLAN_VHTOP_CHWIDTH_160)
|
||||
phy_bw = CH_WIDTH_160MHZ;
|
||||
else if (channel_width == WLAN_VHTOP_CHWIDTH_80_80)
|
||||
phy_bw = CH_WIDTH_80P80MHZ;
|
||||
|
||||
return phy_bw;
|
||||
}
|
||||
|
@@ -1544,13 +1544,13 @@ static QDF_STATUS lim_process_csa_wbw_ie(struct mac_context *mac_ctx,
|
||||
struct pe_session *session_entry)
|
||||
{
|
||||
struct ch_params ch_params = {0};
|
||||
uint8_t ap_new_ch_width;
|
||||
enum phy_ch_width ap_new_ch_width;
|
||||
uint8_t center_freq_diff;
|
||||
uint32_t fw_vht_ch_wd = wma_get_vht_ch_width() + 1;
|
||||
uint32_t cent_freq1, cent_freq2;
|
||||
uint32_t csa_cent_freq, csa_cent_freq1 = 0, csa_cent_freq2 = 0;
|
||||
|
||||
ap_new_ch_width = csa_params->new_ch_width + 1;
|
||||
ap_new_ch_width = csa_params->new_ch_width;
|
||||
|
||||
if (!csa_params->new_ch_freq_seg1 && !csa_params->new_ch_freq_seg2) {
|
||||
pe_err("CSA wide BW IE has invalid center freq");
|
||||
|
@@ -16158,7 +16158,7 @@ QDF_STATUS sme_switch_channel(mac_handle_t mac_handle,
|
||||
|
||||
qdf_copy_macaddr(&csa_offload_event->bssid, bssid);
|
||||
csa_offload_event->csa_chan_freq = (uint32_t)chan_freq;
|
||||
csa_offload_event->new_ch_width = (uint8_t)chan_width;
|
||||
csa_offload_event->new_ch_width = chan_width;
|
||||
csa_offload_event->channel =
|
||||
wlan_reg_freq_to_chan(mac_ctx->pdev,
|
||||
csa_offload_event->csa_chan_freq);
|
||||
|
@@ -1455,7 +1455,9 @@ int wma_csa_offload_handler(void *handle, uint8_t *event, uint32_t len)
|
||||
if (csa_event->ies_present_flag & WMI_WBW_IE_PRESENT) {
|
||||
wb_ie = (struct ieee80211_ie_wide_bw_switch *)
|
||||
(&csa_event->wb_ie[0]);
|
||||
csa_offload_event->new_ch_width = wb_ie->new_ch_width;
|
||||
csa_offload_event->new_ch_width =
|
||||
wlan_mlme_convert_vht_op_bw_to_phy_ch_width(
|
||||
wb_ie->new_ch_width);
|
||||
csa_offload_event->new_ch_freq_seg1 = wb_ie->new_ch_freq_seg1;
|
||||
csa_offload_event->new_ch_freq_seg2 = wb_ie->new_ch_freq_seg2;
|
||||
csa_offload_event->ies_present_flag |= MLME_WBW_IE_PRESENT;
|
||||
@@ -1466,7 +1468,9 @@ int wma_csa_offload_handler(void *handle, uint8_t *event, uint32_t len)
|
||||
(uint8_t *)&csa_event->cswrap_ie_extended,
|
||||
WLAN_ELEMID_WIDE_BAND_CHAN_SWITCH);
|
||||
if (wb_ie) {
|
||||
csa_offload_event->new_ch_width = wb_ie->new_ch_width;
|
||||
csa_offload_event->new_ch_width =
|
||||
wlan_mlme_convert_vht_op_bw_to_phy_ch_width(
|
||||
wb_ie->new_ch_width);
|
||||
csa_offload_event->new_ch_freq_seg1 =
|
||||
wb_ie->new_ch_freq_seg1;
|
||||
csa_offload_event->new_ch_freq_seg2 =
|
||||
|
在新工单中引用
屏蔽一个用户