Commit 3b24716f authored by Zhu Yi's avatar Zhu Yi Committed by John W. Linville

iwlwifi: cleanup HT40 extension channels setup

The patch cleans up the HT40 extension channels setup for EEPROM
band 6 and 7 to make it more readable.
Signed-off-by: default avatarZhu Yi <yi.zhu@intel.com>
Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 7869b0ea
...@@ -484,14 +484,14 @@ static void iwl_init_band_reference(const struct iwl_priv *priv, ...@@ -484,14 +484,14 @@ static void iwl_init_band_reference(const struct iwl_priv *priv,
? # x " " : "") ? # x " " : "")
/** /**
* iwl_set_ht40_chan_info - Copy ht40 channel info into driver's priv. * iwl_mod_ht40_chan_info - Copy ht40 channel info into driver's priv.
* *
* Does not set up a command, or touch hardware. * Does not set up a command, or touch hardware.
*/ */
static int iwl_set_ht40_chan_info(struct iwl_priv *priv, static int iwl_mod_ht40_chan_info(struct iwl_priv *priv,
enum ieee80211_band band, u16 channel, enum ieee80211_band band, u16 channel,
const struct iwl_eeprom_channel *eeprom_ch, const struct iwl_eeprom_channel *eeprom_ch,
u8 ht40_extension_channel) u8 clear_ht40_extension_channel)
{ {
struct iwl_channel_info *ch_info; struct iwl_channel_info *ch_info;
...@@ -523,7 +523,7 @@ static int iwl_set_ht40_chan_info(struct iwl_priv *priv, ...@@ -523,7 +523,7 @@ static int iwl_set_ht40_chan_info(struct iwl_priv *priv,
ch_info->ht40_min_power = 0; ch_info->ht40_min_power = 0;
ch_info->ht40_scan_power = eeprom_ch->max_power_avg; ch_info->ht40_scan_power = eeprom_ch->max_power_avg;
ch_info->ht40_flags = eeprom_ch->flags; ch_info->ht40_flags = eeprom_ch->flags;
ch_info->ht40_extension_channel = ht40_extension_channel; ch_info->ht40_extension_channel &= ~clear_ht40_extension_channel;
return 0; return 0;
} }
...@@ -592,8 +592,7 @@ int iwl_init_channel_map(struct iwl_priv *priv) ...@@ -592,8 +592,7 @@ int iwl_init_channel_map(struct iwl_priv *priv)
/* First write that ht40 is not enabled, and then enable /* First write that ht40 is not enabled, and then enable
* one by one */ * one by one */
ch_info->ht40_extension_channel = ch_info->ht40_extension_channel =
(IEEE80211_CHAN_NO_HT40PLUS | IEEE80211_CHAN_NO_HT40;
IEEE80211_CHAN_NO_HT40MINUS);
if (!(is_channel_valid(ch_info))) { if (!(is_channel_valid(ch_info))) {
IWL_DEBUG_INFO(priv, "Ch. %d Flags %x [%sGHz] - " IWL_DEBUG_INFO(priv, "Ch. %d Flags %x [%sGHz] - "
...@@ -652,7 +651,6 @@ int iwl_init_channel_map(struct iwl_priv *priv) ...@@ -652,7 +651,6 @@ int iwl_init_channel_map(struct iwl_priv *priv)
/* Two additional EEPROM bands for 2.4 and 5 GHz HT40 channels */ /* Two additional EEPROM bands for 2.4 and 5 GHz HT40 channels */
for (band = 6; band <= 7; band++) { for (band = 6; band <= 7; band++) {
enum ieee80211_band ieeeband; enum ieee80211_band ieeeband;
u8 ht40_extension_chan;
iwl_init_band_reference(priv, band, &eeprom_ch_count, iwl_init_band_reference(priv, band, &eeprom_ch_count,
&eeprom_ch_info, &eeprom_ch_index); &eeprom_ch_info, &eeprom_ch_index);
...@@ -663,28 +661,17 @@ int iwl_init_channel_map(struct iwl_priv *priv) ...@@ -663,28 +661,17 @@ int iwl_init_channel_map(struct iwl_priv *priv)
/* Loop through each band adding each of the channels */ /* Loop through each band adding each of the channels */
for (ch = 0; ch < eeprom_ch_count; ch++) { for (ch = 0; ch < eeprom_ch_count; ch++) {
if ((band == 6) &&
((eeprom_ch_index[ch] == 5) ||
(eeprom_ch_index[ch] == 6) ||
(eeprom_ch_index[ch] == 7)))
/* both are allowed: above and below */
ht40_extension_chan = 0;
else
ht40_extension_chan =
IEEE80211_CHAN_NO_HT40MINUS;
/* Set up driver's info for lower half */ /* Set up driver's info for lower half */
iwl_set_ht40_chan_info(priv, ieeeband, iwl_mod_ht40_chan_info(priv, ieeeband,
eeprom_ch_index[ch], eeprom_ch_index[ch],
&(eeprom_ch_info[ch]), &eeprom_ch_info[ch],
ht40_extension_chan); IEEE80211_CHAN_NO_HT40PLUS);
/* Set up driver's info for upper half */ /* Set up driver's info for upper half */
iwl_set_ht40_chan_info(priv, ieeeband, iwl_mod_ht40_chan_info(priv, ieeeband,
(eeprom_ch_index[ch] + 4), eeprom_ch_index[ch] + 4,
&(eeprom_ch_info[ch]), &eeprom_ch_info[ch],
IEEE80211_CHAN_NO_HT40PLUS); IEEE80211_CHAN_NO_HT40MINUS);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment