|
@@ -8683,13 +8683,48 @@ QDF_STATUS lim_pre_vdev_start(struct mac_context *mac,
|
|
|
struct pe_session *session)
|
|
|
{
|
|
|
struct wlan_channel *des_chan;
|
|
|
+ enum reg_wifi_band band;
|
|
|
+ uint8_t band_mask;
|
|
|
+ struct ch_params ch_params = {0};
|
|
|
+
|
|
|
+ band = wlan_reg_freq_to_band(session->curr_op_freq);
|
|
|
+ band_mask = 1 << band;
|
|
|
+
|
|
|
+ ch_params.ch_width = session->ch_width;
|
|
|
+ ch_params.mhz_freq_seg0 =
|
|
|
+ wlan_reg_chan_band_to_freq(mac->pdev,
|
|
|
+ session->ch_center_freq_seg0,
|
|
|
+ band_mask);
|
|
|
+
|
|
|
+ ch_params.mhz_freq_seg1 =
|
|
|
+ wlan_reg_chan_band_to_freq(mac->pdev,
|
|
|
+ session->ch_center_freq_seg1,
|
|
|
+ band_mask);
|
|
|
+
|
|
|
+ wlan_reg_set_channel_params_for_freq(mac->pdev, session->curr_op_freq,
|
|
|
+ 0, &ch_params);
|
|
|
+
|
|
|
+ pe_debug("vdev id %d freq %d seg0 %d seg1 %d ch_width %d cac_duration_ms %d beacon_interval %d hidden_ssid: %d dtimPeriod %d slot_time %d bcn tx rate %d mhz seg0 %d mhz seg1 %d",
|
|
|
+ session->vdev_id, session->curr_op_freq,
|
|
|
+ ch_params.center_freq_seg0,
|
|
|
+ ch_params.center_freq_seg1, ch_params.ch_width,
|
|
|
+ session->cac_duration_ms,
|
|
|
+ session->beaconParams.beaconInterval,
|
|
|
+ session->ssidHidden, session->dtimPeriod,
|
|
|
+ session->shortSlotTimeSupported,
|
|
|
+ session->beacon_tx_rate,
|
|
|
+ ch_params.mhz_freq_seg0,
|
|
|
+ ch_params.mhz_freq_seg1);
|
|
|
|
|
|
des_chan = mlme_obj->vdev->vdev_mlme.des_chan;
|
|
|
des_chan->ch_freq = session->curr_op_freq;
|
|
|
- des_chan->ch_width = session->ch_width;
|
|
|
- des_chan->ch_freq_seg1 = session->ch_center_freq_seg0;
|
|
|
- des_chan->ch_freq_seg2 = session->ch_center_freq_seg1;
|
|
|
+ des_chan->ch_width = ch_params.ch_width;
|
|
|
+ des_chan->ch_freq_seg1 = ch_params.center_freq_seg0;
|
|
|
+ des_chan->ch_freq_seg2 = ch_params.center_freq_seg1;
|
|
|
des_chan->ch_ieee = wlan_reg_freq_to_chan(mac->pdev, des_chan->ch_freq);
|
|
|
+ session->ch_width = ch_params.ch_width;
|
|
|
+ session->ch_center_freq_seg0 = ch_params.center_freq_seg0;
|
|
|
+ session->ch_center_freq_seg1 = ch_params.center_freq_seg1;
|
|
|
|
|
|
mlme_obj->mgmt.generic.maxregpower = session->maxTxPower;
|
|
|
mlme_obj->proto.generic.beacon_interval =
|
|
@@ -8702,11 +8737,6 @@ QDF_STATUS lim_pre_vdev_start(struct mac_context *mac,
|
|
|
mlme_obj->proto.generic.slot_time = session->shortSlotTimeSupported;
|
|
|
mlme_obj->mgmt.rate_info.bcn_tx_rate = session->beacon_tx_rate;
|
|
|
|
|
|
- pe_debug("cac_duration_ms %d beacon_interval %d hidden_ssid: %d dtimPeriod %d slot_time %d bcn tx rate %d",
|
|
|
- session->cac_duration_ms, session->beaconParams.beaconInterval,
|
|
|
- session->ssidHidden, session->dtimPeriod,
|
|
|
- mlme_obj->proto.generic.slot_time, session->beacon_tx_rate);
|
|
|
-
|
|
|
mlme_obj->proto.ht_info.allow_ht = !!session->htCapability;
|
|
|
mlme_obj->proto.vht_info.allow_vht = !!session->vhtCapability;
|
|
|
|