qcacld-3.0: Replace channel with frequency in sSirUpdateChanParam

Replace channel ID with frequency in struct sSirUpdateChanParam.

Change-Id: I5b4b355b154ed94980aa54a2beacc436cf2e0c17
CRs-Fixed: 2491919
Dieser Commit ist enthalten in:
Tushnim Bhattacharyya
2019-07-17 11:44:03 -07:00
committet von nshrivas
Ursprung 954840d5fe
Commit 41668c648e
3 geänderte Dateien mit 39 neuen und 32 gelöschten Zeilen

Datei anzeigen

@@ -2493,14 +2493,14 @@ typedef struct sSirScanOffloadEvent {
/**
* struct sSirUpdateChanParam - channel parameters
* @chanId: ID of the channel
* @freq: Frequency of the channel
* @pwr: power level
* @dfsSet: is dfs supported or not
* @half_rate: is the channel operating at 10MHz
* @quarter_rate: is the channel operating at 5MHz
*/
typedef struct sSirUpdateChanParam {
uint8_t chanId;
uint32_t freq;
uint8_t pwr;
bool dfsSet;
bool half_rate;

Datei anzeigen

@@ -672,39 +672,40 @@ static void csr_roam_arrange_ch_list(struct mac_context *mac_ctx,
/* Fist copy Non-DFS 5g channels */
for (i = 0; i < num_channel; i++) {
if (WLAN_REG_IS_5GHZ_CH(chan_list[i].chanId) &&
if (WLAN_REG_IS_5GHZ_CH_FREQ(chan_list[i].freq) &&
!wlan_reg_is_dfs_ch(mac_ctx->pdev,
chan_list[i].chanId)) {
wlan_reg_freq_to_chan
(mac_ctx->pdev, chan_list[i].freq))) {
qdf_mem_copy(&tmp_list[j++],
&chan_list[i], sizeof(tSirUpdateChanParam));
chan_list[i].chanId = INVALID_CHANNEL_ID;
chan_list[i].freq = 0;
}
}
if (prefer_dfs) {
/* next copy DFS channels (remaining channels in 5G) */
for (i = 0; i < num_channel; i++) {
if (WLAN_REG_IS_5GHZ_CH(chan_list[i].chanId)) {
if (WLAN_REG_IS_5GHZ_CH_FREQ(chan_list[i].freq)) {
qdf_mem_copy(&tmp_list[j++], &chan_list[i],
sizeof(tSirUpdateChanParam));
chan_list[i].chanId = INVALID_CHANNEL_ID;
chan_list[i].freq = 0;
}
}
} else {
/* next copy 2G channels */
for (i = 0; i < num_channel; i++) {
if (WLAN_REG_IS_24GHZ_CH(chan_list[i].chanId)) {
if (WLAN_REG_IS_24GHZ_CH_FREQ(chan_list[i].freq)) {
qdf_mem_copy(&tmp_list[j++], &chan_list[i],
sizeof(tSirUpdateChanParam));
chan_list[i].chanId = INVALID_CHANNEL_ID;
chan_list[i].freq = 0;
}
}
}
/* copy rest of the channels in same order to tmp list */
for (i = 0; i < num_channel; i++) {
if (chan_list[i].chanId != INVALID_CHANNEL_ID) {
if (chan_list[i].freq) {
qdf_mem_copy(&tmp_list[j++], &chan_list[i],
sizeof(tSirUpdateChanParam));
chan_list[i].chanId = INVALID_CHANNEL_ID;
chan_list[i].freq = 0;
}
}
/* copy tmp list to original channel list buffer */
@@ -767,8 +768,10 @@ static void csr_roam_sort_channel_for_early_stop(struct mac_context *mac_ctx,
*/
for (i = 0; i < num_channel; i++) {
for (j = 0; j < num_fixed_greedy_chan; j++) {
if (chan_list->chanParam[i].chanId ==
fixed_greedy_chan_list[j]) {
if (chan_list->chanParam[i].freq ==
wlan_reg_chan_to_freq
(mac_ctx->pdev,
fixed_greedy_chan_list[j])) {
match_found = true;
break;
}
@@ -790,8 +793,9 @@ static void csr_roam_sort_channel_for_early_stop(struct mac_context *mac_ctx,
*/
for (i = 0; i < num_fixed_greedy_chan; i++) {
for (j = 0; j < num_channel; j++) {
if (fixed_greedy_chan_list[i] ==
chan_list->chanParam[j].chanId) {
if (wlan_reg_chan_to_freq(mac_ctx->pdev,
fixed_greedy_chan_list[i]) ==
chan_list->chanParam[j].freq) {
qdf_mem_copy(
&chan_list_greedy->chanParam[num_greedy_chan],
&chan_list->chanParam[j],
@@ -903,8 +907,9 @@ static void csr_add_social_channels(struct mac_context *mac,
if (wlan_reg_get_channel_state(mac->pdev,
social_channel[i]) != CHANNEL_STATE_ENABLE)
continue;
chan_list->chanParam[no_chan].chanId =
social_channel[i];
chan_list->chanParam[no_chan].freq =
wlan_reg_chan_to_freq(mac->pdev,
social_channel[i]);
chan_list->chanParam[no_chan].pwr =
csr_find_channel_pwr(pScan->defaultPowerTable,
social_channel[i]);
@@ -1021,15 +1026,18 @@ QDF_STATUS csr_update_channel_list(struct mac_context *mac)
continue;
}
}
pChanList->chanParam[num_channel].chanId =
pScan->base_channels.channelList[i];
pChanList->chanParam[num_channel].freq =
wlan_reg_chan_to_freq
(mac->pdev,
pScan->base_channels.channelList[i]);
pChanList->chanParam[num_channel].pwr =
csr_find_channel_pwr(pScan->defaultPowerTable,
pChanList->chanParam[num_channel].chanId);
csr_find_channel_pwr
(pScan->defaultPowerTable,
pScan->base_channels.channelList[i]);
if (pScan->fcc_constraint) {
if (12 == pChanList->chanParam[num_channel].
chanId) {
if (12 ==
pScan->base_channels.channelList[i]) {
pChanList->chanParam[num_channel].pwr =
MAX_PWR_FCC_CHAN_12;
QDF_TRACE(QDF_MODULE_ID_SME,
@@ -1037,8 +1045,8 @@ QDF_STATUS csr_update_channel_list(struct mac_context *mac)
"txpow for channel 12 is %d",
MAX_PWR_FCC_CHAN_12);
}
if (13 == pChanList->chanParam[num_channel].
chanId) {
if (13 ==
pScan->base_channels.channelList[i]) {
pChanList->chanParam[num_channel].pwr =
MAX_PWR_FCC_CHAN_13;
QDF_TRACE(QDF_MODULE_ID_SME,
@@ -1061,8 +1069,8 @@ QDF_STATUS csr_update_channel_list(struct mac_context *mac)
else if (cds_is_10_mhz_enabled())
pChanList->chanParam[num_channel].half_rate = 1;
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
"channel:%d, pwr=%d, DFS=%d qrate %d hrate %d ",
pChanList->chanParam[num_channel].chanId,
"Freq:%d, pwr=%d, DFS=%d qrate %d hrate %d ",
pChanList->chanParam[num_channel].freq,
pChanList->chanParam[num_channel].pwr,
pChanList->chanParam[num_channel].dfsSet,
pChanList->chanParam[num_channel].quarter_rate,

Datei anzeigen

@@ -121,16 +121,15 @@ QDF_STATUS wma_update_channel_list(WMA_HANDLE handle,
chan_list->vht_en, chan_list->vht_24_en);
for (i = 0; i < chan_list->numChan; ++i) {
chan_p->mhz =
cds_chan_to_freq(chan_list->chanParam[i].chanId);
chan_p->mhz = chan_list->chanParam[i].freq;
chan_p->cfreq1 = chan_p->mhz;
chan_p->cfreq2 = 0;
wma_handle->saved_chan.channel_list[i] =
chan_list->chanParam[i].chanId;
wlan_reg_freq_to_chan(wma_handle->pdev,
chan_list->chanParam[i].freq);
WMA_LOGD("chan[%d] = freq:%u chan:%d DFS:%d tx power:%d",
WMA_LOGD("chan[%d] = freq:%u DFS:%d tx power:%d",
i, chan_p->mhz,
chan_list->chanParam[i].chanId,
chan_list->chanParam[i].dfsSet,
chan_list->chanParam[i].pwr);