qcacld-3.0: Replace channel with frequency in sSirUpdateChanParam
Replace channel ID with frequency in struct sSirUpdateChanParam. Change-Id: I5b4b355b154ed94980aa54a2beacc436cf2e0c17 CRs-Fixed: 2491919
This commit is contained in:

committed by
nshrivas

parent
954840d5fe
commit
41668c648e
@@ -2493,14 +2493,14 @@ typedef struct sSirScanOffloadEvent {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* struct sSirUpdateChanParam - channel parameters
|
* struct sSirUpdateChanParam - channel parameters
|
||||||
* @chanId: ID of the channel
|
* @freq: Frequency of the channel
|
||||||
* @pwr: power level
|
* @pwr: power level
|
||||||
* @dfsSet: is dfs supported or not
|
* @dfsSet: is dfs supported or not
|
||||||
* @half_rate: is the channel operating at 10MHz
|
* @half_rate: is the channel operating at 10MHz
|
||||||
* @quarter_rate: is the channel operating at 5MHz
|
* @quarter_rate: is the channel operating at 5MHz
|
||||||
*/
|
*/
|
||||||
typedef struct sSirUpdateChanParam {
|
typedef struct sSirUpdateChanParam {
|
||||||
uint8_t chanId;
|
uint32_t freq;
|
||||||
uint8_t pwr;
|
uint8_t pwr;
|
||||||
bool dfsSet;
|
bool dfsSet;
|
||||||
bool half_rate;
|
bool half_rate;
|
||||||
|
@@ -672,39 +672,40 @@ static void csr_roam_arrange_ch_list(struct mac_context *mac_ctx,
|
|||||||
|
|
||||||
/* Fist copy Non-DFS 5g channels */
|
/* Fist copy Non-DFS 5g channels */
|
||||||
for (i = 0; i < num_channel; i++) {
|
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,
|
!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++],
|
qdf_mem_copy(&tmp_list[j++],
|
||||||
&chan_list[i], sizeof(tSirUpdateChanParam));
|
&chan_list[i], sizeof(tSirUpdateChanParam));
|
||||||
chan_list[i].chanId = INVALID_CHANNEL_ID;
|
chan_list[i].freq = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (prefer_dfs) {
|
if (prefer_dfs) {
|
||||||
/* next copy DFS channels (remaining channels in 5G) */
|
/* next copy DFS channels (remaining channels in 5G) */
|
||||||
for (i = 0; i < num_channel; i++) {
|
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],
|
qdf_mem_copy(&tmp_list[j++], &chan_list[i],
|
||||||
sizeof(tSirUpdateChanParam));
|
sizeof(tSirUpdateChanParam));
|
||||||
chan_list[i].chanId = INVALID_CHANNEL_ID;
|
chan_list[i].freq = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/* next copy 2G channels */
|
/* next copy 2G channels */
|
||||||
for (i = 0; i < num_channel; i++) {
|
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],
|
qdf_mem_copy(&tmp_list[j++], &chan_list[i],
|
||||||
sizeof(tSirUpdateChanParam));
|
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 */
|
/* copy rest of the channels in same order to tmp list */
|
||||||
for (i = 0; i < num_channel; i++) {
|
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],
|
qdf_mem_copy(&tmp_list[j++], &chan_list[i],
|
||||||
sizeof(tSirUpdateChanParam));
|
sizeof(tSirUpdateChanParam));
|
||||||
chan_list[i].chanId = INVALID_CHANNEL_ID;
|
chan_list[i].freq = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* copy tmp list to original channel list buffer */
|
/* 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 (i = 0; i < num_channel; i++) {
|
||||||
for (j = 0; j < num_fixed_greedy_chan; j++) {
|
for (j = 0; j < num_fixed_greedy_chan; j++) {
|
||||||
if (chan_list->chanParam[i].chanId ==
|
if (chan_list->chanParam[i].freq ==
|
||||||
fixed_greedy_chan_list[j]) {
|
wlan_reg_chan_to_freq
|
||||||
|
(mac_ctx->pdev,
|
||||||
|
fixed_greedy_chan_list[j])) {
|
||||||
match_found = true;
|
match_found = true;
|
||||||
break;
|
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 (i = 0; i < num_fixed_greedy_chan; i++) {
|
||||||
for (j = 0; j < num_channel; j++) {
|
for (j = 0; j < num_channel; j++) {
|
||||||
if (fixed_greedy_chan_list[i] ==
|
if (wlan_reg_chan_to_freq(mac_ctx->pdev,
|
||||||
chan_list->chanParam[j].chanId) {
|
fixed_greedy_chan_list[i]) ==
|
||||||
|
chan_list->chanParam[j].freq) {
|
||||||
qdf_mem_copy(
|
qdf_mem_copy(
|
||||||
&chan_list_greedy->chanParam[num_greedy_chan],
|
&chan_list_greedy->chanParam[num_greedy_chan],
|
||||||
&chan_list->chanParam[j],
|
&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,
|
if (wlan_reg_get_channel_state(mac->pdev,
|
||||||
social_channel[i]) != CHANNEL_STATE_ENABLE)
|
social_channel[i]) != CHANNEL_STATE_ENABLE)
|
||||||
continue;
|
continue;
|
||||||
chan_list->chanParam[no_chan].chanId =
|
chan_list->chanParam[no_chan].freq =
|
||||||
social_channel[i];
|
wlan_reg_chan_to_freq(mac->pdev,
|
||||||
|
social_channel[i]);
|
||||||
chan_list->chanParam[no_chan].pwr =
|
chan_list->chanParam[no_chan].pwr =
|
||||||
csr_find_channel_pwr(pScan->defaultPowerTable,
|
csr_find_channel_pwr(pScan->defaultPowerTable,
|
||||||
social_channel[i]);
|
social_channel[i]);
|
||||||
@@ -1021,15 +1026,18 @@ QDF_STATUS csr_update_channel_list(struct mac_context *mac)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
pChanList->chanParam[num_channel].chanId =
|
pChanList->chanParam[num_channel].freq =
|
||||||
pScan->base_channels.channelList[i];
|
wlan_reg_chan_to_freq
|
||||||
|
(mac->pdev,
|
||||||
|
pScan->base_channels.channelList[i]);
|
||||||
pChanList->chanParam[num_channel].pwr =
|
pChanList->chanParam[num_channel].pwr =
|
||||||
csr_find_channel_pwr(pScan->defaultPowerTable,
|
csr_find_channel_pwr
|
||||||
pChanList->chanParam[num_channel].chanId);
|
(pScan->defaultPowerTable,
|
||||||
|
pScan->base_channels.channelList[i]);
|
||||||
|
|
||||||
if (pScan->fcc_constraint) {
|
if (pScan->fcc_constraint) {
|
||||||
if (12 == pChanList->chanParam[num_channel].
|
if (12 ==
|
||||||
chanId) {
|
pScan->base_channels.channelList[i]) {
|
||||||
pChanList->chanParam[num_channel].pwr =
|
pChanList->chanParam[num_channel].pwr =
|
||||||
MAX_PWR_FCC_CHAN_12;
|
MAX_PWR_FCC_CHAN_12;
|
||||||
QDF_TRACE(QDF_MODULE_ID_SME,
|
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",
|
"txpow for channel 12 is %d",
|
||||||
MAX_PWR_FCC_CHAN_12);
|
MAX_PWR_FCC_CHAN_12);
|
||||||
}
|
}
|
||||||
if (13 == pChanList->chanParam[num_channel].
|
if (13 ==
|
||||||
chanId) {
|
pScan->base_channels.channelList[i]) {
|
||||||
pChanList->chanParam[num_channel].pwr =
|
pChanList->chanParam[num_channel].pwr =
|
||||||
MAX_PWR_FCC_CHAN_13;
|
MAX_PWR_FCC_CHAN_13;
|
||||||
QDF_TRACE(QDF_MODULE_ID_SME,
|
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())
|
else if (cds_is_10_mhz_enabled())
|
||||||
pChanList->chanParam[num_channel].half_rate = 1;
|
pChanList->chanParam[num_channel].half_rate = 1;
|
||||||
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
||||||
"channel:%d, pwr=%d, DFS=%d qrate %d hrate %d ",
|
"Freq:%d, pwr=%d, DFS=%d qrate %d hrate %d ",
|
||||||
pChanList->chanParam[num_channel].chanId,
|
pChanList->chanParam[num_channel].freq,
|
||||||
pChanList->chanParam[num_channel].pwr,
|
pChanList->chanParam[num_channel].pwr,
|
||||||
pChanList->chanParam[num_channel].dfsSet,
|
pChanList->chanParam[num_channel].dfsSet,
|
||||||
pChanList->chanParam[num_channel].quarter_rate,
|
pChanList->chanParam[num_channel].quarter_rate,
|
||||||
|
@@ -121,16 +121,15 @@ QDF_STATUS wma_update_channel_list(WMA_HANDLE handle,
|
|||||||
chan_list->vht_en, chan_list->vht_24_en);
|
chan_list->vht_en, chan_list->vht_24_en);
|
||||||
|
|
||||||
for (i = 0; i < chan_list->numChan; ++i) {
|
for (i = 0; i < chan_list->numChan; ++i) {
|
||||||
chan_p->mhz =
|
chan_p->mhz = chan_list->chanParam[i].freq;
|
||||||
cds_chan_to_freq(chan_list->chanParam[i].chanId);
|
|
||||||
chan_p->cfreq1 = chan_p->mhz;
|
chan_p->cfreq1 = chan_p->mhz;
|
||||||
chan_p->cfreq2 = 0;
|
chan_p->cfreq2 = 0;
|
||||||
wma_handle->saved_chan.channel_list[i] =
|
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,
|
i, chan_p->mhz,
|
||||||
chan_list->chanParam[i].chanId,
|
|
||||||
chan_list->chanParam[i].dfsSet,
|
chan_list->chanParam[i].dfsSet,
|
||||||
chan_list->chanParam[i].pwr);
|
chan_list->chanParam[i].pwr);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user