Commit 7aafef1c authored by Wey-Yi Guy's avatar Wey-Yi Guy Committed by John W. Linville

iwlwifi: name changed from "fat" to "ht40"

Rename "fat" to "ht40"
The term "fat channel" is deprecated in favor of "HT40"
Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 3d816c77
...@@ -117,8 +117,8 @@ static struct iwl_lib_ops iwl1000_lib = { ...@@ -117,8 +117,8 @@ static struct iwl_lib_ops iwl1000_lib = {
EEPROM_5000_REG_BAND_3_CHANNELS, EEPROM_5000_REG_BAND_3_CHANNELS,
EEPROM_5000_REG_BAND_4_CHANNELS, EEPROM_5000_REG_BAND_4_CHANNELS,
EEPROM_5000_REG_BAND_5_CHANNELS, EEPROM_5000_REG_BAND_5_CHANNELS,
EEPROM_5000_REG_BAND_24_FAT_CHANNELS, EEPROM_5000_REG_BAND_24_HT40_CHANNELS,
EEPROM_5000_REG_BAND_52_FAT_CHANNELS EEPROM_5000_REG_BAND_52_HT40_CHANNELS
}, },
.verify_signature = iwlcore_eeprom_verify_signature, .verify_signature = iwlcore_eeprom_verify_signature,
.acquire_semaphore = iwlcore_eeprom_acquire_semaphore, .acquire_semaphore = iwlcore_eeprom_acquire_semaphore,
......
...@@ -176,7 +176,7 @@ struct iwl3945_eeprom { ...@@ -176,7 +176,7 @@ struct iwl3945_eeprom {
* in EEPROM containing EEPROM_CHANNEL_* usage flags (LSB) and max regulatory * in EEPROM containing EEPROM_CHANNEL_* usage flags (LSB) and max regulatory
* txpower (MSB). * txpower (MSB).
* *
* Entries immediately below are for 20 MHz channel width. FAT (40 MHz) * Entries immediately below are for 20 MHz channel width. HT40 (40 MHz)
* channels (only for 4965, not supported by 3945) appear later in the EEPROM. * channels (only for 4965, not supported by 3945) appear later in the EEPROM.
* *
* 2.4 GHz channels 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 * 2.4 GHz channels 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
......
...@@ -2851,8 +2851,8 @@ static struct iwl_lib_ops iwl3945_lib = { ...@@ -2851,8 +2851,8 @@ static struct iwl_lib_ops iwl3945_lib = {
EEPROM_REGULATORY_BAND_3_CHANNELS, EEPROM_REGULATORY_BAND_3_CHANNELS,
EEPROM_REGULATORY_BAND_4_CHANNELS, EEPROM_REGULATORY_BAND_4_CHANNELS,
EEPROM_REGULATORY_BAND_5_CHANNELS, EEPROM_REGULATORY_BAND_5_CHANNELS,
EEPROM_REGULATORY_BAND_NO_FAT, EEPROM_REGULATORY_BAND_NO_HT40,
EEPROM_REGULATORY_BAND_NO_FAT, EEPROM_REGULATORY_BAND_NO_HT40,
}, },
.verify_signature = iwlcore_eeprom_verify_signature, .verify_signature = iwlcore_eeprom_verify_signature,
.acquire_semaphore = iwl3945_eeprom_acquire_semaphore, .acquire_semaphore = iwl3945_eeprom_acquire_semaphore,
......
...@@ -188,7 +188,7 @@ static inline int iwl4965_hw_valid_rtc_data_addr(u32 addr) ...@@ -188,7 +188,7 @@ static inline int iwl4965_hw_valid_rtc_data_addr(u32 addr)
* *
* 1) Regulatory information (max txpower and channel usage flags) is provided * 1) Regulatory information (max txpower and channel usage flags) is provided
* separately for each channel that can possibly supported by 4965. * separately for each channel that can possibly supported by 4965.
* 40 MHz wide (.11n fat) channels are listed separately from 20 MHz * 40 MHz wide (.11n HT40) channels are listed separately from 20 MHz
* (legacy) channels. * (legacy) channels.
* *
* See struct iwl4965_eeprom_channel for format, and struct iwl4965_eeprom * See struct iwl4965_eeprom_channel for format, and struct iwl4965_eeprom
...@@ -251,8 +251,8 @@ static inline int iwl4965_hw_valid_rtc_data_addr(u32 addr) ...@@ -251,8 +251,8 @@ static inline int iwl4965_hw_valid_rtc_data_addr(u32 addr)
* no reduction (such as with regulatory txpower limits) is required. * no reduction (such as with regulatory txpower limits) is required.
* *
* Saturation and Backoff values apply equally to 20 Mhz (legacy) channel * Saturation and Backoff values apply equally to 20 Mhz (legacy) channel
* widths and 40 Mhz (.11n fat) channel widths; there is no separate * widths and 40 Mhz (.11n HT40) channel widths; there is no separate
* factory measurement for fat channels. * factory measurement for ht40 channels.
* *
* The result of this step is the final target txpower. The rest of * The result of this step is the final target txpower. The rest of
* the steps figure out the proper settings for the device to achieve * the steps figure out the proper settings for the device to achieve
......
...@@ -317,7 +317,7 @@ static void iwl4965_init_alive_start(struct iwl_priv *priv) ...@@ -317,7 +317,7 @@ static void iwl4965_init_alive_start(struct iwl_priv *priv)
queue_work(priv->workqueue, &priv->restart); queue_work(priv->workqueue, &priv->restart);
} }
static bool is_fat_channel(__le32 rxon_flags) static bool is_ht40_channel(__le32 rxon_flags)
{ {
int chan_mod = le32_to_cpu(rxon_flags & RXON_FLG_CHANNEL_MODE_MSK) int chan_mod = le32_to_cpu(rxon_flags & RXON_FLG_CHANNEL_MODE_MSK)
>> RXON_FLG_CHANNEL_MODE_POS; >> RXON_FLG_CHANNEL_MODE_POS;
...@@ -806,7 +806,7 @@ static int iwl4965_hw_set_hw_params(struct iwl_priv *priv) ...@@ -806,7 +806,7 @@ static int iwl4965_hw_set_hw_params(struct iwl_priv *priv)
priv->hw_params.max_data_size = IWL49_RTC_DATA_SIZE; priv->hw_params.max_data_size = IWL49_RTC_DATA_SIZE;
priv->hw_params.max_inst_size = IWL49_RTC_INST_SIZE; priv->hw_params.max_inst_size = IWL49_RTC_INST_SIZE;
priv->hw_params.max_bsm_size = BSM_SRAM_SIZE; priv->hw_params.max_bsm_size = BSM_SRAM_SIZE;
priv->hw_params.fat_channel = BIT(IEEE80211_BAND_5GHZ); priv->hw_params.ht40_channel = BIT(IEEE80211_BAND_5GHZ);
priv->hw_params.rx_wrt_ptr_reg = FH_RSCSR_CHNL0_WPTR; priv->hw_params.rx_wrt_ptr_reg = FH_RSCSR_CHNL0_WPTR;
...@@ -1266,7 +1266,7 @@ static const struct gain_entry gain_table[2][108] = { ...@@ -1266,7 +1266,7 @@ static const struct gain_entry gain_table[2][108] = {
}; };
static int iwl4965_fill_txpower_tbl(struct iwl_priv *priv, u8 band, u16 channel, static int iwl4965_fill_txpower_tbl(struct iwl_priv *priv, u8 band, u16 channel,
u8 is_fat, u8 ctrl_chan_high, u8 is_ht40, u8 ctrl_chan_high,
struct iwl4965_tx_power_db *tx_power_tbl) struct iwl4965_tx_power_db *tx_power_tbl)
{ {
u8 saturation_power; u8 saturation_power;
...@@ -1298,8 +1298,8 @@ static int iwl4965_fill_txpower_tbl(struct iwl_priv *priv, u8 band, u16 channel, ...@@ -1298,8 +1298,8 @@ static int iwl4965_fill_txpower_tbl(struct iwl_priv *priv, u8 band, u16 channel,
user_target_power = 2 * priv->tx_power_user_lmt; user_target_power = 2 * priv->tx_power_user_lmt;
/* Get current (RXON) channel, band, width */ /* Get current (RXON) channel, band, width */
IWL_DEBUG_TXPOWER(priv, "chan %d band %d is_fat %d\n", channel, band, IWL_DEBUG_TXPOWER(priv, "chan %d band %d is_ht40 %d\n", channel, band,
is_fat); is_ht40);
ch_info = iwl_get_channel_info(priv, priv->band, channel); ch_info = iwl_get_channel_info(priv, priv->band, channel);
...@@ -1318,7 +1318,7 @@ static int iwl4965_fill_txpower_tbl(struct iwl_priv *priv, u8 band, u16 channel, ...@@ -1318,7 +1318,7 @@ static int iwl4965_fill_txpower_tbl(struct iwl_priv *priv, u8 band, u16 channel,
IWL_DEBUG_TXPOWER(priv, "channel %d belongs to txatten group %d\n", IWL_DEBUG_TXPOWER(priv, "channel %d belongs to txatten group %d\n",
channel, txatten_grp); channel, txatten_grp);
if (is_fat) { if (is_ht40) {
if (ctrl_chan_high) if (ctrl_chan_high)
channel -= 2; channel -= 2;
else else
...@@ -1342,8 +1342,8 @@ static int iwl4965_fill_txpower_tbl(struct iwl_priv *priv, u8 band, u16 channel, ...@@ -1342,8 +1342,8 @@ static int iwl4965_fill_txpower_tbl(struct iwl_priv *priv, u8 band, u16 channel,
/* regulatory txpower limits ... reg_limit values are in half-dBm, /* regulatory txpower limits ... reg_limit values are in half-dBm,
* max_power_avg values are in dBm, convert * 2 */ * max_power_avg values are in dBm, convert * 2 */
if (is_fat) if (is_ht40)
reg_limit = ch_info->fat_max_power_avg * 2; reg_limit = ch_info->ht40_max_power_avg * 2;
else else
reg_limit = ch_info->max_power_avg * 2; reg_limit = ch_info->max_power_avg * 2;
...@@ -1509,7 +1509,7 @@ static int iwl4965_fill_txpower_tbl(struct iwl_priv *priv, u8 band, u16 channel, ...@@ -1509,7 +1509,7 @@ static int iwl4965_fill_txpower_tbl(struct iwl_priv *priv, u8 band, u16 channel,
/** /**
* iwl4965_send_tx_power - Configure the TXPOWER level user limit * iwl4965_send_tx_power - Configure the TXPOWER level user limit
* *
* Uses the active RXON for channel, band, and characteristics (fat, high) * Uses the active RXON for channel, band, and characteristics (ht40, high)
* The power limit is taken from priv->tx_power_user_lmt. * The power limit is taken from priv->tx_power_user_lmt.
*/ */
static int iwl4965_send_tx_power(struct iwl_priv *priv) static int iwl4965_send_tx_power(struct iwl_priv *priv)
...@@ -1517,7 +1517,7 @@ static int iwl4965_send_tx_power(struct iwl_priv *priv) ...@@ -1517,7 +1517,7 @@ static int iwl4965_send_tx_power(struct iwl_priv *priv)
struct iwl4965_txpowertable_cmd cmd = { 0 }; struct iwl4965_txpowertable_cmd cmd = { 0 };
int ret; int ret;
u8 band = 0; u8 band = 0;
bool is_fat = false; bool is_ht40 = false;
u8 ctrl_chan_high = 0; u8 ctrl_chan_high = 0;
if (test_bit(STATUS_SCANNING, &priv->status)) { if (test_bit(STATUS_SCANNING, &priv->status)) {
...@@ -1530,9 +1530,9 @@ static int iwl4965_send_tx_power(struct iwl_priv *priv) ...@@ -1530,9 +1530,9 @@ static int iwl4965_send_tx_power(struct iwl_priv *priv)
band = priv->band == IEEE80211_BAND_2GHZ; band = priv->band == IEEE80211_BAND_2GHZ;
is_fat = is_fat_channel(priv->active_rxon.flags); is_ht40 = is_ht40_channel(priv->active_rxon.flags);
if (is_fat && if (is_ht40 &&
(priv->active_rxon.flags & RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK)) (priv->active_rxon.flags & RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK))
ctrl_chan_high = 1; ctrl_chan_high = 1;
...@@ -1541,7 +1541,7 @@ static int iwl4965_send_tx_power(struct iwl_priv *priv) ...@@ -1541,7 +1541,7 @@ static int iwl4965_send_tx_power(struct iwl_priv *priv)
ret = iwl4965_fill_txpower_tbl(priv, band, ret = iwl4965_fill_txpower_tbl(priv, band,
le16_to_cpu(priv->active_rxon.channel), le16_to_cpu(priv->active_rxon.channel),
is_fat, ctrl_chan_high, &cmd.tx_power); is_ht40, ctrl_chan_high, &cmd.tx_power);
if (ret) if (ret)
goto out; goto out;
...@@ -1595,7 +1595,7 @@ static int iwl4965_hw_channel_switch(struct iwl_priv *priv, u16 channel) ...@@ -1595,7 +1595,7 @@ static int iwl4965_hw_channel_switch(struct iwl_priv *priv, u16 channel)
{ {
int rc; int rc;
u8 band = 0; u8 band = 0;
bool is_fat = false; bool is_ht40 = false;
u8 ctrl_chan_high = 0; u8 ctrl_chan_high = 0;
struct iwl4965_channel_switch_cmd cmd = { 0 }; struct iwl4965_channel_switch_cmd cmd = { 0 };
const struct iwl_channel_info *ch_info; const struct iwl_channel_info *ch_info;
...@@ -1604,9 +1604,9 @@ static int iwl4965_hw_channel_switch(struct iwl_priv *priv, u16 channel) ...@@ -1604,9 +1604,9 @@ static int iwl4965_hw_channel_switch(struct iwl_priv *priv, u16 channel)
ch_info = iwl_get_channel_info(priv, priv->band, channel); ch_info = iwl_get_channel_info(priv, priv->band, channel);
is_fat = is_fat_channel(priv->staging_rxon.flags); is_ht40 = is_ht40_channel(priv->staging_rxon.flags);
if (is_fat && if (is_ht40 &&
(priv->active_rxon.flags & RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK)) (priv->active_rxon.flags & RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK))
ctrl_chan_high = 1; ctrl_chan_high = 1;
...@@ -1621,7 +1621,7 @@ static int iwl4965_hw_channel_switch(struct iwl_priv *priv, u16 channel) ...@@ -1621,7 +1621,7 @@ static int iwl4965_hw_channel_switch(struct iwl_priv *priv, u16 channel)
else else
cmd.expect_beacon = 1; cmd.expect_beacon = 1;
rc = iwl4965_fill_txpower_tbl(priv, band, channel, is_fat, rc = iwl4965_fill_txpower_tbl(priv, band, channel, is_ht40,
ctrl_chan_high, &cmd.tx_power); ctrl_chan_high, &cmd.tx_power);
if (rc) { if (rc) {
IWL_DEBUG_11H(priv, "error:%d fill txpower_tbl\n", rc); IWL_DEBUG_11H(priv, "error:%d fill txpower_tbl\n", rc);
...@@ -1688,8 +1688,8 @@ static int iwl4965_hw_get_temperature(struct iwl_priv *priv) ...@@ -1688,8 +1688,8 @@ static int iwl4965_hw_get_temperature(struct iwl_priv *priv)
u32 R4; u32 R4;
if (test_bit(STATUS_TEMPERATURE, &priv->status) && if (test_bit(STATUS_TEMPERATURE, &priv->status) &&
(priv->statistics.flag & STATISTICS_REPLY_FLG_FAT_MODE_MSK)) { (priv->statistics.flag & STATISTICS_REPLY_FLG_HT40_MODE_MSK)) {
IWL_DEBUG_TEMP(priv, "Running FAT temperature calibration\n"); IWL_DEBUG_TEMP(priv, "Running HT40 temperature calibration\n");
R1 = (s32)le32_to_cpu(priv->card_alive_init.therm_r1[1]); R1 = (s32)le32_to_cpu(priv->card_alive_init.therm_r1[1]);
R2 = (s32)le32_to_cpu(priv->card_alive_init.therm_r2[1]); R2 = (s32)le32_to_cpu(priv->card_alive_init.therm_r2[1]);
R3 = (s32)le32_to_cpu(priv->card_alive_init.therm_r3[1]); R3 = (s32)le32_to_cpu(priv->card_alive_init.therm_r3[1]);
...@@ -2330,8 +2330,8 @@ static struct iwl_lib_ops iwl4965_lib = { ...@@ -2330,8 +2330,8 @@ static struct iwl_lib_ops iwl4965_lib = {
EEPROM_REGULATORY_BAND_3_CHANNELS, EEPROM_REGULATORY_BAND_3_CHANNELS,
EEPROM_REGULATORY_BAND_4_CHANNELS, EEPROM_REGULATORY_BAND_4_CHANNELS,
EEPROM_REGULATORY_BAND_5_CHANNELS, EEPROM_REGULATORY_BAND_5_CHANNELS,
EEPROM_4965_REGULATORY_BAND_24_FAT_CHANNELS, EEPROM_4965_REGULATORY_BAND_24_HT40_CHANNELS,
EEPROM_4965_REGULATORY_BAND_52_FAT_CHANNELS EEPROM_4965_REGULATORY_BAND_52_HT40_CHANNELS
}, },
.verify_signature = iwlcore_eeprom_verify_signature, .verify_signature = iwlcore_eeprom_verify_signature,
.acquire_semaphore = iwlcore_eeprom_acquire_semaphore, .acquire_semaphore = iwlcore_eeprom_acquire_semaphore,
......
...@@ -845,7 +845,7 @@ int iwl5000_hw_set_hw_params(struct iwl_priv *priv) ...@@ -845,7 +845,7 @@ int iwl5000_hw_set_hw_params(struct iwl_priv *priv)
} }
priv->hw_params.max_bsm_size = 0; priv->hw_params.max_bsm_size = 0;
priv->hw_params.fat_channel = BIT(IEEE80211_BAND_2GHZ) | priv->hw_params.ht40_channel = BIT(IEEE80211_BAND_2GHZ) |
BIT(IEEE80211_BAND_5GHZ); BIT(IEEE80211_BAND_5GHZ);
priv->hw_params.rx_wrt_ptr_reg = FH_RSCSR_CHNL0_WPTR; priv->hw_params.rx_wrt_ptr_reg = FH_RSCSR_CHNL0_WPTR;
...@@ -1547,8 +1547,8 @@ struct iwl_lib_ops iwl5000_lib = { ...@@ -1547,8 +1547,8 @@ struct iwl_lib_ops iwl5000_lib = {
EEPROM_5000_REG_BAND_3_CHANNELS, EEPROM_5000_REG_BAND_3_CHANNELS,
EEPROM_5000_REG_BAND_4_CHANNELS, EEPROM_5000_REG_BAND_4_CHANNELS,
EEPROM_5000_REG_BAND_5_CHANNELS, EEPROM_5000_REG_BAND_5_CHANNELS,
EEPROM_5000_REG_BAND_24_FAT_CHANNELS, EEPROM_5000_REG_BAND_24_HT40_CHANNELS,
EEPROM_5000_REG_BAND_52_FAT_CHANNELS EEPROM_5000_REG_BAND_52_HT40_CHANNELS
}, },
.verify_signature = iwlcore_eeprom_verify_signature, .verify_signature = iwlcore_eeprom_verify_signature,
.acquire_semaphore = iwlcore_eeprom_acquire_semaphore, .acquire_semaphore = iwlcore_eeprom_acquire_semaphore,
...@@ -1597,8 +1597,8 @@ static struct iwl_lib_ops iwl5150_lib = { ...@@ -1597,8 +1597,8 @@ static struct iwl_lib_ops iwl5150_lib = {
EEPROM_5000_REG_BAND_3_CHANNELS, EEPROM_5000_REG_BAND_3_CHANNELS,
EEPROM_5000_REG_BAND_4_CHANNELS, EEPROM_5000_REG_BAND_4_CHANNELS,
EEPROM_5000_REG_BAND_5_CHANNELS, EEPROM_5000_REG_BAND_5_CHANNELS,
EEPROM_5000_REG_BAND_24_FAT_CHANNELS, EEPROM_5000_REG_BAND_24_HT40_CHANNELS,
EEPROM_5000_REG_BAND_52_FAT_CHANNELS EEPROM_5000_REG_BAND_52_HT40_CHANNELS
}, },
.verify_signature = iwlcore_eeprom_verify_signature, .verify_signature = iwlcore_eeprom_verify_signature,
.acquire_semaphore = iwlcore_eeprom_acquire_semaphore, .acquire_semaphore = iwlcore_eeprom_acquire_semaphore,
......
...@@ -118,8 +118,8 @@ static struct iwl_lib_ops iwl6000_lib = { ...@@ -118,8 +118,8 @@ static struct iwl_lib_ops iwl6000_lib = {
EEPROM_5000_REG_BAND_3_CHANNELS, EEPROM_5000_REG_BAND_3_CHANNELS,
EEPROM_5000_REG_BAND_4_CHANNELS, EEPROM_5000_REG_BAND_4_CHANNELS,
EEPROM_5000_REG_BAND_5_CHANNELS, EEPROM_5000_REG_BAND_5_CHANNELS,
EEPROM_5000_REG_BAND_24_FAT_CHANNELS, EEPROM_5000_REG_BAND_24_HT40_CHANNELS,
EEPROM_5000_REG_BAND_52_FAT_CHANNELS EEPROM_5000_REG_BAND_52_HT40_CHANNELS
}, },
.verify_signature = iwlcore_eeprom_verify_signature, .verify_signature = iwlcore_eeprom_verify_signature,
.acquire_semaphore = iwlcore_eeprom_acquire_semaphore, .acquire_semaphore = iwlcore_eeprom_acquire_semaphore,
......
...@@ -97,7 +97,7 @@ struct iwl_scale_tbl_info { ...@@ -97,7 +97,7 @@ struct iwl_scale_tbl_info {
enum iwl_table_type lq_type; enum iwl_table_type lq_type;
u8 ant_type; u8 ant_type;
u8 is_SGI; /* 1 = short guard interval */ u8 is_SGI; /* 1 = short guard interval */
u8 is_fat; /* 1 = 40 MHz channel width */ u8 is_ht40; /* 1 = 40 MHz channel width */
u8 is_dup; /* 1 = duplicated data streams */ u8 is_dup; /* 1 = duplicated data streams */
u8 action; /* change modulation; IWL_[LEGACY/SISO/MIMO]_SWITCH_* */ u8 action; /* change modulation; IWL_[LEGACY/SISO/MIMO]_SWITCH_* */
u8 max_search; /* maximun number of tables we can search */ u8 max_search; /* maximun number of tables we can search */
...@@ -539,11 +539,11 @@ static u32 rate_n_flags_from_tbl(struct iwl_priv *priv, ...@@ -539,11 +539,11 @@ static u32 rate_n_flags_from_tbl(struct iwl_priv *priv,
RATE_MCS_ANT_ABC_MSK); RATE_MCS_ANT_ABC_MSK);
if (is_Ht(tbl->lq_type)) { if (is_Ht(tbl->lq_type)) {
if (tbl->is_fat) { if (tbl->is_ht40) {
if (tbl->is_dup) if (tbl->is_dup)
rate_n_flags |= RATE_MCS_DUP_MSK; rate_n_flags |= RATE_MCS_DUP_MSK;
else else
rate_n_flags |= RATE_MCS_FAT_MSK; rate_n_flags |= RATE_MCS_HT40_MSK;
} }
if (tbl->is_SGI) if (tbl->is_SGI)
rate_n_flags |= RATE_MCS_SGI_MSK; rate_n_flags |= RATE_MCS_SGI_MSK;
...@@ -579,7 +579,7 @@ static int rs_get_tbl_info_from_mcs(const u32 rate_n_flags, ...@@ -579,7 +579,7 @@ static int rs_get_tbl_info_from_mcs(const u32 rate_n_flags,
return -EINVAL; return -EINVAL;
} }
tbl->is_SGI = 0; /* default legacy setup */ tbl->is_SGI = 0; /* default legacy setup */
tbl->is_fat = 0; tbl->is_ht40 = 0;
tbl->is_dup = 0; tbl->is_dup = 0;
tbl->ant_type = (ant_msk >> RATE_MCS_ANT_POS); tbl->ant_type = (ant_msk >> RATE_MCS_ANT_POS);
tbl->lq_type = LQ_NONE; tbl->lq_type = LQ_NONE;
...@@ -598,9 +598,9 @@ static int rs_get_tbl_info_from_mcs(const u32 rate_n_flags, ...@@ -598,9 +598,9 @@ static int rs_get_tbl_info_from_mcs(const u32 rate_n_flags,
if (rate_n_flags & RATE_MCS_SGI_MSK) if (rate_n_flags & RATE_MCS_SGI_MSK)
tbl->is_SGI = 1; tbl->is_SGI = 1;
if ((rate_n_flags & RATE_MCS_FAT_MSK) || if ((rate_n_flags & RATE_MCS_HT40_MSK) ||
(rate_n_flags & RATE_MCS_DUP_MSK)) (rate_n_flags & RATE_MCS_DUP_MSK))
tbl->is_fat = 1; tbl->is_ht40 = 1;
if (rate_n_flags & RATE_MCS_DUP_MSK) if (rate_n_flags & RATE_MCS_DUP_MSK)
tbl->is_dup = 1; tbl->is_dup = 1;
...@@ -776,7 +776,7 @@ static u32 rs_get_lower_rate(struct iwl_lq_sta *lq_sta, ...@@ -776,7 +776,7 @@ static u32 rs_get_lower_rate(struct iwl_lq_sta *lq_sta,
if (num_of_ant(tbl->ant_type) > 1) if (num_of_ant(tbl->ant_type) > 1)
tbl->ant_type = ANT_A;/*FIXME:RS*/ tbl->ant_type = ANT_A;/*FIXME:RS*/
tbl->is_fat = 0; tbl->is_ht40 = 0;
tbl->is_SGI = 0; tbl->is_SGI = 0;
tbl->max_search = IWL_MAX_SEARCH; tbl->max_search = IWL_MAX_SEARCH;
} }
...@@ -880,7 +880,7 @@ static void rs_tx_status(void *priv_r, struct ieee80211_supported_band *sband, ...@@ -880,7 +880,7 @@ static void rs_tx_status(void *priv_r, struct ieee80211_supported_band *sband,
if ((info->status.rates[0].idx < 0) || if ((info->status.rates[0].idx < 0) ||
(tbl_type.is_SGI != !!(info->status.rates[0].flags & IEEE80211_TX_RC_SHORT_GI)) || (tbl_type.is_SGI != !!(info->status.rates[0].flags & IEEE80211_TX_RC_SHORT_GI)) ||
(tbl_type.is_fat != !!(info->status.rates[0].flags & IEEE80211_TX_RC_40_MHZ_WIDTH)) || (tbl_type.is_ht40 != !!(info->status.rates[0].flags & IEEE80211_TX_RC_40_MHZ_WIDTH)) ||
(tbl_type.is_dup != !!(info->status.rates[0].flags & IEEE80211_TX_RC_DUP_DATA)) || (tbl_type.is_dup != !!(info->status.rates[0].flags & IEEE80211_TX_RC_DUP_DATA)) ||
(tbl_type.ant_type != info->antenna_sel_tx) || (tbl_type.ant_type != info->antenna_sel_tx) ||
(!!(tx_rate & RATE_MCS_HT_MSK) != !!(info->status.rates[0].flags & IEEE80211_TX_RC_MCS)) || (!!(tx_rate & RATE_MCS_HT_MSK) != !!(info->status.rates[0].flags & IEEE80211_TX_RC_MCS)) ||
...@@ -1049,7 +1049,7 @@ static void rs_set_expected_tpt_table(struct iwl_lq_sta *lq_sta, ...@@ -1049,7 +1049,7 @@ static void rs_set_expected_tpt_table(struct iwl_lq_sta *lq_sta,
else else
tbl->expected_tpt = expected_tpt_A; tbl->expected_tpt = expected_tpt_A;
} else if (is_siso(tbl->lq_type)) { } else if (is_siso(tbl->lq_type)) {
if (tbl->is_fat && !lq_sta->is_dup) if (tbl->is_ht40 && !lq_sta->is_dup)
if (tbl->is_SGI) if (tbl->is_SGI)
tbl->expected_tpt = expected_tpt_siso40MHzSGI; tbl->expected_tpt = expected_tpt_siso40MHzSGI;
else else
...@@ -1059,7 +1059,7 @@ static void rs_set_expected_tpt_table(struct iwl_lq_sta *lq_sta, ...@@ -1059,7 +1059,7 @@ static void rs_set_expected_tpt_table(struct iwl_lq_sta *lq_sta,
else else
tbl->expected_tpt = expected_tpt_siso20MHz; tbl->expected_tpt = expected_tpt_siso20MHz;
} else if (is_mimo2(tbl->lq_type)) { } else if (is_mimo2(tbl->lq_type)) {
if (tbl->is_fat && !lq_sta->is_dup) if (tbl->is_ht40 && !lq_sta->is_dup)
if (tbl->is_SGI) if (tbl->is_SGI)
tbl->expected_tpt = expected_tpt_mimo2_40MHzSGI; tbl->expected_tpt = expected_tpt_mimo2_40MHzSGI;
else else
...@@ -1069,7 +1069,7 @@ static void rs_set_expected_tpt_table(struct iwl_lq_sta *lq_sta, ...@@ -1069,7 +1069,7 @@ static void rs_set_expected_tpt_table(struct iwl_lq_sta *lq_sta,
else else
tbl->expected_tpt = expected_tpt_mimo2_20MHz; tbl->expected_tpt = expected_tpt_mimo2_20MHz;
} else if (is_mimo3(tbl->lq_type)) { } else if (is_mimo3(tbl->lq_type)) {
if (tbl->is_fat && !lq_sta->is_dup) if (tbl->is_ht40 && !lq_sta->is_dup)
if (tbl->is_SGI) if (tbl->is_SGI)
tbl->expected_tpt = expected_tpt_mimo3_40MHzSGI; tbl->expected_tpt = expected_tpt_mimo3_40MHzSGI;
else else
...@@ -1217,13 +1217,13 @@ static int rs_switch_to_mimo2(struct iwl_priv *priv, ...@@ -1217,13 +1217,13 @@ static int rs_switch_to_mimo2(struct iwl_priv *priv,
tbl->max_search = IWL_MAX_SEARCH; tbl->max_search = IWL_MAX_SEARCH;
rate_mask = lq_sta->active_mimo2_rate; rate_mask = lq_sta->active_mimo2_rate;
if (iwl_is_fat_tx_allowed(priv, &sta->ht_cap)) if (iwl_is_ht40_tx_allowed(priv, &sta->ht_cap))
tbl->is_fat = 1; tbl->is_ht40 = 1;
else else
tbl->is_fat = 0; tbl->is_ht40 = 0;
/* FIXME: - don't toggle SGI here /* FIXME: - don't toggle SGI here
if (tbl->is_fat) { if (tbl->is_ht40) {
if (priv->current_ht_config.sgf & HT_SHORT_GI_40MHZ_ONLY) if (priv->current_ht_config.sgf & HT_SHORT_GI_40MHZ_ONLY)
tbl->is_SGI = 1; tbl->is_SGI = 1;
else else
...@@ -1283,13 +1283,13 @@ static int rs_switch_to_mimo3(struct iwl_priv *priv, ...@@ -1283,13 +1283,13 @@ static int rs_switch_to_mimo3(struct iwl_priv *priv,
tbl->max_search = IWL_MAX_11N_MIMO3_SEARCH; tbl->max_search = IWL_MAX_11N_MIMO3_SEARCH;
rate_mask = lq_sta->active_mimo3_rate; rate_mask = lq_sta->active_mimo3_rate;
if (iwl_is_fat_tx_allowed(priv, &sta->ht_cap)) if (iwl_is_ht40_tx_allowed(priv, &sta->ht_cap))
tbl->is_fat = 1; tbl->is_ht40 = 1;
else else
tbl->is_fat = 0; tbl->is_ht40 = 0;
/* FIXME: - don't toggle SGI here /* FIXME: - don't toggle SGI here
if (tbl->is_fat) { if (tbl->is_ht40) {
if (priv->current_ht_config.sgf & HT_SHORT_GI_40MHZ_ONLY) if (priv->current_ht_config.sgf & HT_SHORT_GI_40MHZ_ONLY)
tbl->is_SGI = 1; tbl->is_SGI = 1;
else else
...@@ -1342,13 +1342,13 @@ static int rs_switch_to_siso(struct iwl_priv *priv, ...@@ -1342,13 +1342,13 @@ static int rs_switch_to_siso(struct iwl_priv *priv,
tbl->max_search = IWL_MAX_SEARCH; tbl->max_search = IWL_MAX_SEARCH;
rate_mask = lq_sta->active_siso_rate; rate_mask = lq_sta->active_siso_rate;
if (iwl_is_fat_tx_allowed(priv, &sta->ht_cap)) if (iwl_is_ht40_tx_allowed(priv, &sta->ht_cap))
tbl->is_fat = 1; tbl->is_ht40 = 1;
else else
tbl->is_fat = 0; tbl->is_ht40 = 0;
/* FIXME: - don't toggle SGI here /* FIXME: - don't toggle SGI here
if (tbl->is_fat) { if (tbl->is_ht40) {
if (priv->current_ht_config.sgf & HT_SHORT_GI_40MHZ_ONLY) if (priv->current_ht_config.sgf & HT_SHORT_GI_40MHZ_ONLY)
tbl->is_SGI = 1; tbl->is_SGI = 1;
else else
...@@ -1586,11 +1586,11 @@ static int rs_move_siso_to_other(struct iwl_priv *priv, ...@@ -1586,11 +1586,11 @@ static int rs_move_siso_to_other(struct iwl_priv *priv,
goto out; goto out;
break; break;
case IWL_SISO_SWITCH_GI: case IWL_SISO_SWITCH_GI:
if (!tbl->is_fat && if (!tbl->is_ht40 &&
!(priv->current_ht_config.sgf & !(priv->current_ht_config.sgf &
HT_SHORT_GI_20MHZ)) HT_SHORT_GI_20MHZ))
break; break;
if (tbl->is_fat && if (tbl->is_ht40 &&
!(priv->current_ht_config.sgf & !(priv->current_ht_config.sgf &
HT_SHORT_GI_40MHZ)) HT_SHORT_GI_40MHZ))
break; break;
...@@ -1726,11 +1726,11 @@ static int rs_move_mimo2_to_other(struct iwl_priv *priv, ...@@ -1726,11 +1726,11 @@ static int rs_move_mimo2_to_other(struct iwl_priv *priv,
break; break;
case IWL_MIMO2_SWITCH_GI: case IWL_MIMO2_SWITCH_GI:
if (!tbl->is_fat && if (!tbl->is_ht40 &&
!(priv->current_ht_config.sgf & !(priv->current_ht_config.sgf &
HT_SHORT_GI_20MHZ)) HT_SHORT_GI_20MHZ))
break; break;
if (tbl->is_fat && if (tbl->is_ht40 &&
!(priv->current_ht_config.sgf & !(priv->current_ht_config.sgf &
HT_SHORT_GI_40MHZ)) HT_SHORT_GI_40MHZ))
break; break;
...@@ -1890,11 +1890,11 @@ static int rs_move_mimo3_to_other(struct iwl_priv *priv, ...@@ -1890,11 +1890,11 @@ static int rs_move_mimo3_to_other(struct iwl_priv *priv,
break; break;
case IWL_MIMO3_SWITCH_GI: case IWL_MIMO3_SWITCH_GI:
if (!tbl->is_fat && if (!tbl->is_ht40 &&
!(priv->current_ht_config.sgf & !(priv->current_ht_config.sgf &
HT_SHORT_GI_20MHZ)) HT_SHORT_GI_20MHZ))
break; break;
if (tbl->is_fat && if (tbl->is_ht40 &&
!(priv->current_ht_config.sgf & !(priv->current_ht_config.sgf &
HT_SHORT_GI_40MHZ)) HT_SHORT_GI_40MHZ))
break; break;
...@@ -2576,7 +2576,7 @@ static void rs_get_rate(void *priv_r, struct ieee80211_sta *sta, void *priv_sta, ...@@ -2576,7 +2576,7 @@ static void rs_get_rate(void *priv_r, struct ieee80211_sta *sta, void *priv_sta,
info->control.rates[0].flags |= IEEE80211_TX_RC_SHORT_GI; info->control.rates[0].flags |= IEEE80211_TX_RC_SHORT_GI;
if (lq_sta->last_rate_n_flags & RATE_MCS_DUP_MSK) if (lq_sta->last_rate_n_flags & RATE_MCS_DUP_MSK)
info->control.rates[0].flags |= IEEE80211_TX_RC_DUP_DATA; info->control.rates[0].flags |= IEEE80211_TX_RC_DUP_DATA;
if (lq_sta->last_rate_n_flags & RATE_MCS_FAT_MSK) if (lq_sta->last_rate_n_flags & RATE_MCS_HT40_MSK)
info->control.rates[0].flags |= IEEE80211_TX_RC_40_MHZ_WIDTH; info->control.rates[0].flags |= IEEE80211_TX_RC_40_MHZ_WIDTH;
if (lq_sta->last_rate_n_flags & RATE_MCS_GF_MSK) if (lq_sta->last_rate_n_flags & RATE_MCS_GF_MSK)
info->control.rates[0].flags |= IEEE80211_TX_RC_GREEN_FIELD; info->control.rates[0].flags |= IEEE80211_TX_RC_GREEN_FIELD;
...@@ -2963,7 +2963,7 @@ static ssize_t rs_sta_dbgfs_scale_table_read(struct file *file, ...@@ -2963,7 +2963,7 @@ static ssize_t rs_sta_dbgfs_scale_table_read(struct file *file,
(is_siso(tbl->lq_type)) ? "SISO" : (is_siso(tbl->lq_type)) ? "SISO" :
((is_mimo2(tbl->lq_type)) ? "MIMO2" : "MIMO3")); ((is_mimo2(tbl->lq_type)) ? "MIMO2" : "MIMO3"));
desc += sprintf(buff+desc, " %s", desc += sprintf(buff+desc, " %s",
(tbl->is_fat) ? "40MHz" : "20MHz"); (tbl->is_ht40) ? "40MHz" : "20MHz");
desc += sprintf(buff+desc, " %s %s\n", (tbl->is_SGI) ? "SGI" : "", desc += sprintf(buff+desc, " %s %s\n", (tbl->is_SGI) ? "SGI" : "",
(lq_sta->is_green) ? "GF enabled" : ""); (lq_sta->is_green) ? "GF enabled" : "");
} }
...@@ -3028,12 +3028,13 @@ static ssize_t rs_sta_dbgfs_stats_table_read(struct file *file, ...@@ -3028,12 +3028,13 @@ static ssize_t rs_sta_dbgfs_stats_table_read(struct file *file,
return -ENOMEM; return -ENOMEM;
for (i = 0; i < LQ_SIZE; i++) { for (i = 0; i < LQ_SIZE; i++) {
desc += sprintf(buff+desc, "%s type=%d SGI=%d FAT=%d DUP=%d GF=%d\n" desc += sprintf(buff+desc,
"%s type=%d SGI=%d HT40=%d DUP=%d GF=%d\n"
"rate=0x%X\n", "rate=0x%X\n",
lq_sta->active_tbl == i ? "*" : "x", lq_sta->active_tbl == i ? "*" : "x",
lq_sta->lq_info[i].lq_type, lq_sta->lq_info[i].lq_type,
lq_sta->lq_info[i].is_SGI, lq_sta->lq_info[i].is_SGI,
lq_sta->lq_info[i].is_fat, lq_sta->lq_info[i].is_ht40,
lq_sta->lq_info[i].is_dup, lq_sta->lq_info[i].is_dup,
lq_sta->is_green, lq_sta->is_green,
lq_sta->lq_info[i].current_rate); lq_sta->lq_info[i].current_rate);
......
...@@ -283,7 +283,7 @@ struct iwl3945_power_per_rate { ...@@ -283,7 +283,7 @@ struct iwl3945_power_per_rate {
* 1) Dual stream (MIMO) * 1) Dual stream (MIMO)
* 2) Triple stream (MIMO) * 2) Triple stream (MIMO)
* *
* 5: Value of 0x20 in bits 7:0 indicates 6 Mbps FAT duplicate data * 5: Value of 0x20 in bits 7:0 indicates 6 Mbps HT40 duplicate data
* *
* Legacy OFDM rate format for bits 7:0 (bit 8 must be "0", bit 9 "0"): * Legacy OFDM rate format for bits 7:0 (bit 8 must be "0", bit 9 "0"):
* 3-0: 0xD) 6 Mbps * 3-0: 0xD) 6 Mbps
...@@ -320,11 +320,11 @@ struct iwl3945_power_per_rate { ...@@ -320,11 +320,11 @@ struct iwl3945_power_per_rate {
#define RATE_MCS_GF_POS 10 #define RATE_MCS_GF_POS 10
#define RATE_MCS_GF_MSK 0x400 #define RATE_MCS_GF_MSK 0x400
/* Bit 11: (1) Use 40Mhz FAT chnl width, (0) use 20 MHz legacy chnl width */ /* Bit 11: (1) Use 40Mhz HT40 chnl width, (0) use 20 MHz legacy chnl width */
#define RATE_MCS_FAT_POS 11 #define RATE_MCS_HT40_POS 11
#define RATE_MCS_FAT_MSK 0x800 #define RATE_MCS_HT40_MSK 0x800
/* Bit 12: (1) Duplicate data on both 20MHz chnls. FAT (bit 11) must be set. */ /* Bit 12: (1) Duplicate data on both 20MHz chnls. HT40 (bit 11) must be set. */
#define RATE_MCS_DUP_POS 12 #define RATE_MCS_DUP_POS 12
#define RATE_MCS_DUP_MSK 0x1000 #define RATE_MCS_DUP_MSK 0x1000
...@@ -459,7 +459,7 @@ struct iwl_init_alive_resp { ...@@ -459,7 +459,7 @@ struct iwl_init_alive_resp {
/* calibration values from "initialize" uCode */ /* calibration values from "initialize" uCode */
__le32 voltage; /* signed, higher value is lower voltage */ __le32 voltage; /* signed, higher value is lower voltage */
__le32 therm_r1[2]; /* signed, 1st for normal, 2nd for FAT channel*/ __le32 therm_r1[2]; /* signed, 1st for normal, 2nd for HT40 */
__le32 therm_r2[2]; /* signed */ __le32 therm_r2[2]; /* signed */
__le32 therm_r3[2]; /* signed */ __le32 therm_r3[2]; /* signed */
__le32 therm_r4[2]; /* signed */ __le32 therm_r4[2]; /* signed */
...@@ -610,7 +610,7 @@ enum { ...@@ -610,7 +610,7 @@ enum {
#define RXON_FLG_HT_OPERATING_MODE_POS (23) #define RXON_FLG_HT_OPERATING_MODE_POS (23)
#define RXON_FLG_HT_PROT_MSK cpu_to_le32(0x1 << 23) #define RXON_FLG_HT_PROT_MSK cpu_to_le32(0x1 << 23)
#define RXON_FLG_FAT_PROT_MSK cpu_to_le32(0x2 << 23) #define RXON_FLG_HT40_PROT_MSK cpu_to_le32(0x2 << 23)
#define RXON_FLG_CHANNEL_MODE_POS (25) #define RXON_FLG_CHANNEL_MODE_POS (25)
#define RXON_FLG_CHANNEL_MODE_MSK cpu_to_le32(0x3 << 25) #define RXON_FLG_CHANNEL_MODE_MSK cpu_to_le32(0x3 << 25)
...@@ -891,7 +891,7 @@ struct iwl_qosparam_cmd { ...@@ -891,7 +891,7 @@ struct iwl_qosparam_cmd {
#define STA_FLG_AGG_MPDU_8US_MSK cpu_to_le32(1 << 18) #define STA_FLG_AGG_MPDU_8US_MSK cpu_to_le32(1 << 18)
#define STA_FLG_MAX_AGG_SIZE_POS (19) #define STA_FLG_MAX_AGG_SIZE_POS (19)
#define STA_FLG_MAX_AGG_SIZE_MSK cpu_to_le32(3 << 19) #define STA_FLG_MAX_AGG_SIZE_MSK cpu_to_le32(3 << 19)
#define STA_FLG_FAT_EN_MSK cpu_to_le32(1 << 21) #define STA_FLG_HT40_EN_MSK cpu_to_le32(1 << 21)
#define STA_FLG_MIMO_DIS_MSK cpu_to_le32(1 << 22) #define STA_FLG_MIMO_DIS_MSK cpu_to_le32(1 << 22)
#define STA_FLG_AGG_MPDU_DENSITY_POS (23) #define STA_FLG_AGG_MPDU_DENSITY_POS (23)
#define STA_FLG_AGG_MPDU_DENSITY_MSK cpu_to_le32(7 << 23) #define STA_FLG_AGG_MPDU_DENSITY_MSK cpu_to_le32(7 << 23)
...@@ -1984,10 +1984,10 @@ struct iwl_link_qual_agg_params { ...@@ -1984,10 +1984,10 @@ struct iwl_link_qual_agg_params {
* a) Use this same initial rate for first 3 entries. * a) Use this same initial rate for first 3 entries.
* b) Find next lower available rate using same mode (SISO or MIMO), * b) Find next lower available rate using same mode (SISO or MIMO),
* use for next 3 entries. If no lower rate available, switch to * use for next 3 entries. If no lower rate available, switch to
* legacy mode (no FAT channel, no MIMO, no short guard interval). * legacy mode (no HT40 channel, no MIMO, no short guard interval).
* c) If using MIMO, set command's mimo_delimiter to number of entries * c) If using MIMO, set command's mimo_delimiter to number of entries
* using MIMO (3 or 6). * using MIMO (3 or 6).
* d) After trying 2 HT rates, switch to legacy mode (no FAT channel, * d) After trying 2 HT rates, switch to legacy mode (no HT40 channel,
* no MIMO, no short guard interval), at the next lower bit rate * no MIMO, no short guard interval), at the next lower bit rate
* (e.g. if second HT bit rate was 54, try 48 legacy), and follow * (e.g. if second HT bit rate was 54, try 48 legacy), and follow
* legacy procedure for remaining table entries. * legacy procedure for remaining table entries.
...@@ -3017,7 +3017,7 @@ struct iwl_statistics_cmd { ...@@ -3017,7 +3017,7 @@ struct iwl_statistics_cmd {
* one channel that has just been scanned. * one channel that has just been scanned.
*/ */
#define STATISTICS_REPLY_FLG_BAND_24G_MSK cpu_to_le32(0x2) #define STATISTICS_REPLY_FLG_BAND_24G_MSK cpu_to_le32(0x2)
#define STATISTICS_REPLY_FLG_FAT_MODE_MSK cpu_to_le32(0x8) #define STATISTICS_REPLY_FLG_HT40_MODE_MSK cpu_to_le32(0x8)
struct iwl3945_notif_statistics { struct iwl3945_notif_statistics {
__le32 flag; __le32 flag;
......
...@@ -105,7 +105,7 @@ void iwl_hwrate_to_tx_control(struct iwl_priv *priv, u32 rate_n_flags, ...@@ -105,7 +105,7 @@ void iwl_hwrate_to_tx_control(struct iwl_priv *priv, u32 rate_n_flags,
r->flags |= IEEE80211_TX_RC_MCS; r->flags |= IEEE80211_TX_RC_MCS;
if (rate_n_flags & RATE_MCS_GF_MSK) if (rate_n_flags & RATE_MCS_GF_MSK)
r->flags |= IEEE80211_TX_RC_GREEN_FIELD; r->flags |= IEEE80211_TX_RC_GREEN_FIELD;
if (rate_n_flags & RATE_MCS_FAT_MSK) if (rate_n_flags & RATE_MCS_HT40_MSK)
r->flags |= IEEE80211_TX_RC_40_MHZ_WIDTH; r->flags |= IEEE80211_TX_RC_40_MHZ_WIDTH;
if (rate_n_flags & RATE_MCS_DUP_MSK) if (rate_n_flags & RATE_MCS_DUP_MSK)
r->flags |= IEEE80211_TX_RC_DUP_DATA; r->flags |= IEEE80211_TX_RC_DUP_DATA;
...@@ -400,7 +400,7 @@ static void iwlcore_init_ht_hw_capab(const struct iwl_priv *priv, ...@@ -400,7 +400,7 @@ static void iwlcore_init_ht_hw_capab(const struct iwl_priv *priv,
(WLAN_HT_CAP_SM_PS_DISABLED << 2)); (WLAN_HT_CAP_SM_PS_DISABLED << 2));
max_bit_rate = MAX_BIT_RATE_20_MHZ; max_bit_rate = MAX_BIT_RATE_20_MHZ;
if (priv->hw_params.fat_channel & BIT(band)) { if (priv->hw_params.ht40_channel & BIT(band)) {
ht_info->cap |= IEEE80211_HT_CAP_SUP_WIDTH_20_40; ht_info->cap |= IEEE80211_HT_CAP_SUP_WIDTH_20_40;
ht_info->cap |= IEEE80211_HT_CAP_SGI_40; ht_info->cap |= IEEE80211_HT_CAP_SGI_40;
ht_info->mcs.rx_mask[4] = 0x01; ht_info->mcs.rx_mask[4] = 0x01;
...@@ -540,7 +540,7 @@ int iwlcore_init_geos(struct iwl_priv *priv) ...@@ -540,7 +540,7 @@ int iwlcore_init_geos(struct iwl_priv *priv)
if (ch->flags & EEPROM_CHANNEL_RADAR) if (ch->flags & EEPROM_CHANNEL_RADAR)
geo_ch->flags |= IEEE80211_CHAN_RADAR; geo_ch->flags |= IEEE80211_CHAN_RADAR;
geo_ch->flags |= ch->fat_extension_channel; geo_ch->flags |= ch->ht40_extension_channel;
if (ch->max_power_avg > priv->tx_power_channel_lmt) if (ch->max_power_avg > priv->tx_power_channel_lmt)
priv->tx_power_channel_lmt = ch->max_power_avg; priv->tx_power_channel_lmt = ch->max_power_avg;
...@@ -604,16 +604,16 @@ static u8 iwl_is_channel_extension(struct iwl_priv *priv, ...@@ -604,16 +604,16 @@ static u8 iwl_is_channel_extension(struct iwl_priv *priv,
return 0; return 0;
if (extension_chan_offset == IEEE80211_HT_PARAM_CHA_SEC_ABOVE) if (extension_chan_offset == IEEE80211_HT_PARAM_CHA_SEC_ABOVE)
return !(ch_info->fat_extension_channel & return !(ch_info->ht40_extension_channel &
IEEE80211_CHAN_NO_HT40PLUS); IEEE80211_CHAN_NO_HT40PLUS);
else if (extension_chan_offset == IEEE80211_HT_PARAM_CHA_SEC_BELOW) else if (extension_chan_offset == IEEE80211_HT_PARAM_CHA_SEC_BELOW)
return !(ch_info->fat_extension_channel & return !(ch_info->ht40_extension_channel &
IEEE80211_CHAN_NO_HT40MINUS); IEEE80211_CHAN_NO_HT40MINUS);
return 0; return 0;
} }
u8 iwl_is_fat_tx_allowed(struct iwl_priv *priv, u8 iwl_is_ht40_tx_allowed(struct iwl_priv *priv,
struct ieee80211_sta_ht_cap *sta_ht_inf) struct ieee80211_sta_ht_cap *sta_ht_inf)
{ {
struct iwl_ht_info *iwl_ht_conf = &priv->current_ht_config; struct iwl_ht_info *iwl_ht_conf = &priv->current_ht_config;
...@@ -637,7 +637,7 @@ u8 iwl_is_fat_tx_allowed(struct iwl_priv *priv, ...@@ -637,7 +637,7 @@ u8 iwl_is_fat_tx_allowed(struct iwl_priv *priv,
le16_to_cpu(priv->staging_rxon.channel), le16_to_cpu(priv->staging_rxon.channel),
iwl_ht_conf->extension_chan_offset); iwl_ht_conf->extension_chan_offset);
} }
EXPORT_SYMBOL(iwl_is_fat_tx_allowed); EXPORT_SYMBOL(iwl_is_ht40_tx_allowed);
static u16 iwl_adjust_beacon_interval(u16 beacon_val, u16 max_beacon_val) static u16 iwl_adjust_beacon_interval(u16 beacon_val, u16 max_beacon_val)
{ {
...@@ -866,7 +866,7 @@ void iwl_set_rxon_ht(struct iwl_priv *priv, struct iwl_ht_info *ht_info) ...@@ -866,7 +866,7 @@ void iwl_set_rxon_ht(struct iwl_priv *priv, struct iwl_ht_info *ht_info)
if (!ht_info->is_ht) { if (!ht_info->is_ht) {
rxon->flags &= ~(RXON_FLG_CHANNEL_MODE_MSK | rxon->flags &= ~(RXON_FLG_CHANNEL_MODE_MSK |
RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK | RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK |
RXON_FLG_FAT_PROT_MSK | RXON_FLG_HT40_PROT_MSK |
RXON_FLG_HT_PROT_MSK); RXON_FLG_HT_PROT_MSK);
return; return;
} }
...@@ -877,12 +877,12 @@ void iwl_set_rxon_ht(struct iwl_priv *priv, struct iwl_ht_info *ht_info) ...@@ -877,12 +877,12 @@ void iwl_set_rxon_ht(struct iwl_priv *priv, struct iwl_ht_info *ht_info)
rxon->flags |= cpu_to_le32(ht_info->ht_protection << RXON_FLG_HT_OPERATING_MODE_POS); rxon->flags |= cpu_to_le32(ht_info->ht_protection << RXON_FLG_HT_OPERATING_MODE_POS);
/* Set up channel bandwidth: /* Set up channel bandwidth:
* 20 MHz only, 20/40 mixed or pure 40 if fat ok */ * 20 MHz only, 20/40 mixed or pure 40 if ht40 ok */
/* clear the HT channel mode before set the mode */ /* clear the HT channel mode before set the mode */
rxon->flags &= ~(RXON_FLG_CHANNEL_MODE_MSK | rxon->flags &= ~(RXON_FLG_CHANNEL_MODE_MSK |
RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK); RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK);
if (iwl_is_fat_tx_allowed(priv, NULL)) { if (iwl_is_ht40_tx_allowed(priv, NULL)) {
/* pure 40 fat */ /* pure ht40 */
if (ht_info->ht_protection == IEEE80211_HT_OP_MODE_PROTECTION_20MHZ) { if (ht_info->ht_protection == IEEE80211_HT_OP_MODE_PROTECTION_20MHZ) {
rxon->flags |= RXON_FLG_CHANNEL_MODE_PURE_40; rxon->flags |= RXON_FLG_CHANNEL_MODE_PURE_40;
/* Note: control channel is opposite of extension channel */ /* Note: control channel is opposite of extension channel */
...@@ -2428,7 +2428,7 @@ static void iwl_ht_conf(struct iwl_priv *priv, ...@@ -2428,7 +2428,7 @@ static void iwl_ht_conf(struct iwl_priv *priv,
else if (conf_is_ht40_plus(&priv->hw->conf)) else if (conf_is_ht40_plus(&priv->hw->conf))
iwl_conf->extension_chan_offset = IEEE80211_HT_PARAM_CHA_SEC_ABOVE; iwl_conf->extension_chan_offset = IEEE80211_HT_PARAM_CHA_SEC_ABOVE;
/* If no above or below channel supplied disable FAT channel */ /* If no above or below channel supplied disable HT40 channel */
if (iwl_conf->extension_chan_offset != IEEE80211_HT_PARAM_CHA_SEC_ABOVE && if (iwl_conf->extension_chan_offset != IEEE80211_HT_PARAM_CHA_SEC_ABOVE &&
iwl_conf->extension_chan_offset != IEEE80211_HT_PARAM_CHA_SEC_BELOW) iwl_conf->extension_chan_offset != IEEE80211_HT_PARAM_CHA_SEC_BELOW)
iwl_conf->supported_chan_width = 0; iwl_conf->supported_chan_width = 0;
......
...@@ -264,7 +264,7 @@ int iwl_full_rxon_required(struct iwl_priv *priv); ...@@ -264,7 +264,7 @@ int iwl_full_rxon_required(struct iwl_priv *priv);
void iwl_set_rxon_chain(struct iwl_priv *priv); void iwl_set_rxon_chain(struct iwl_priv *priv);
int iwl_set_rxon_channel(struct iwl_priv *priv, struct ieee80211_channel *ch); int iwl_set_rxon_channel(struct iwl_priv *priv, struct ieee80211_channel *ch);
void iwl_set_rxon_ht(struct iwl_priv *priv, struct iwl_ht_info *ht_info); void iwl_set_rxon_ht(struct iwl_priv *priv, struct iwl_ht_info *ht_info);
u8 iwl_is_fat_tx_allowed(struct iwl_priv *priv, u8 iwl_is_ht40_tx_allowed(struct iwl_priv *priv,
struct ieee80211_sta_ht_cap *sta_ht_inf); struct ieee80211_sta_ht_cap *sta_ht_inf);
void iwl_set_flags_for_band(struct iwl_priv *priv, enum ieee80211_band band); void iwl_set_flags_for_band(struct iwl_priv *priv, enum ieee80211_band band);
void iwl_connection_init_rx_config(struct iwl_priv *priv, int mode); void iwl_connection_init_rx_config(struct iwl_priv *priv, int mode);
......
...@@ -277,8 +277,8 @@ struct iwl_channel_info { ...@@ -277,8 +277,8 @@ struct iwl_channel_info {
struct iwl4965_channel_tgd_info tgd; struct iwl4965_channel_tgd_info tgd;
struct iwl4965_channel_tgh_info tgh; struct iwl4965_channel_tgh_info tgh;
struct iwl_eeprom_channel eeprom; /* EEPROM regulatory limit */ struct iwl_eeprom_channel eeprom; /* EEPROM regulatory limit */
struct iwl_eeprom_channel fat_eeprom; /* EEPROM regulatory limit for struct iwl_eeprom_channel ht40_eeprom; /* EEPROM regulatory limit for
* FAT channel */ * HT40 channel */
u8 channel; /* channel number */ u8 channel; /* channel number */
u8 flags; /* flags copied from EEPROM */ u8 flags; /* flags copied from EEPROM */
...@@ -291,13 +291,13 @@ struct iwl_channel_info { ...@@ -291,13 +291,13 @@ struct iwl_channel_info {
u8 band_index; /* 0-4, maps channel to band1/2/3/4/5 */ u8 band_index; /* 0-4, maps channel to band1/2/3/4/5 */
enum ieee80211_band band; enum ieee80211_band band;
/* FAT channel info */ /* HT40 channel info */
s8 fat_max_power_avg; /* (dBm) regul. eeprom, normal Tx, any rate */ s8 ht40_max_power_avg; /* (dBm) regul. eeprom, normal Tx, any rate */
s8 fat_curr_txpow; /* (dBm) regulatory/spectrum/user (not h/w) */ s8 ht40_curr_txpow; /* (dBm) regulatory/spectrum/user (not h/w) */
s8 fat_min_power; /* always 0 */ s8 ht40_min_power; /* always 0 */
s8 fat_scan_power; /* (dBm) eeprom, direct scans, any rate */ s8 ht40_scan_power; /* (dBm) eeprom, direct scans, any rate */
u8 fat_flags; /* flags copied from EEPROM */ u8 ht40_flags; /* flags copied from EEPROM */
u8 fat_extension_channel; /* HT_IE_EXT_CHANNEL_* */ u8 ht40_extension_channel; /* HT_IE_EXT_CHANNEL_* */
/* Radio/DSP gain settings for each "normal" data Tx rate. /* Radio/DSP gain settings for each "normal" data Tx rate.
* These include, in addition to RF and DSP gain, a few fields for * These include, in addition to RF and DSP gain, a few fields for
...@@ -649,7 +649,7 @@ struct iwl_sensitivity_ranges { ...@@ -649,7 +649,7 @@ struct iwl_sensitivity_ranges {
* @rx_wrt_ptr_reg: FH{39}_RSCSR_CHNL0_WPTR * @rx_wrt_ptr_reg: FH{39}_RSCSR_CHNL0_WPTR
* @max_stations: * @max_stations:
* @bcast_sta_id: * @bcast_sta_id:
* @fat_channel: is 40MHz width possible in band 2.4 * @ht40_channel: is 40MHz width possible in band 2.4
* BIT(IEEE80211_BAND_5GHZ) BIT(IEEE80211_BAND_5GHZ) * BIT(IEEE80211_BAND_5GHZ) BIT(IEEE80211_BAND_5GHZ)
* @sw_crypto: 0 for hw, 1 for sw * @sw_crypto: 0 for hw, 1 for sw
* @max_xxx_size: for ucode uses * @max_xxx_size: for ucode uses
...@@ -673,7 +673,7 @@ struct iwl_hw_params { ...@@ -673,7 +673,7 @@ struct iwl_hw_params {
u32 max_pkt_size; u32 max_pkt_size;
u8 max_stations; u8 max_stations;
u8 bcast_sta_id; u8 bcast_sta_id;
u8 fat_channel; u8 ht40_channel;
u8 max_beacon_itrvl; /* in 1024 ms */ u8 max_beacon_itrvl; /* in 1024 ms */
u32 max_inst_size; u32 max_inst_size;
u32 max_data_size; u32 max_data_size;
......
...@@ -127,11 +127,11 @@ static const u8 iwl_eeprom_band_5[] = { /* 5725-5825MHz */ ...@@ -127,11 +127,11 @@ static const u8 iwl_eeprom_band_5[] = { /* 5725-5825MHz */
145, 149, 153, 157, 161, 165 145, 149, 153, 157, 161, 165
}; };
static const u8 iwl_eeprom_band_6[] = { /* 2.4 FAT channel */ static const u8 iwl_eeprom_band_6[] = { /* 2.4 ht40 channel */
1, 2, 3, 4, 5, 6, 7 1, 2, 3, 4, 5, 6, 7
}; };
static const u8 iwl_eeprom_band_7[] = { /* 5.2 FAT channel */ static const u8 iwl_eeprom_band_7[] = { /* 5.2 ht40 channel */
36, 44, 52, 60, 100, 108, 116, 124, 132, 149, 157 36, 44, 52, 60, 100, 108, 116, 124, 132, 149, 157
}; };
...@@ -462,13 +462,13 @@ static void iwl_init_band_reference(const struct iwl_priv *priv, ...@@ -462,13 +462,13 @@ static void iwl_init_band_reference(const struct iwl_priv *priv,
iwl_eeprom_query_addr(priv, offset); iwl_eeprom_query_addr(priv, offset);
*eeprom_ch_index = iwl_eeprom_band_5; *eeprom_ch_index = iwl_eeprom_band_5;
break; break;
case 6: /* 2.4GHz FAT channels */ case 6: /* 2.4GHz ht40 channels */
*eeprom_ch_count = ARRAY_SIZE(iwl_eeprom_band_6); *eeprom_ch_count = ARRAY_SIZE(iwl_eeprom_band_6);
*eeprom_ch_info = (struct iwl_eeprom_channel *) *eeprom_ch_info = (struct iwl_eeprom_channel *)
iwl_eeprom_query_addr(priv, offset); iwl_eeprom_query_addr(priv, offset);
*eeprom_ch_index = iwl_eeprom_band_6; *eeprom_ch_index = iwl_eeprom_band_6;
break; break;
case 7: /* 5 GHz FAT channels */ case 7: /* 5 GHz ht40 channels */
*eeprom_ch_count = ARRAY_SIZE(iwl_eeprom_band_7); *eeprom_ch_count = ARRAY_SIZE(iwl_eeprom_band_7);
*eeprom_ch_info = (struct iwl_eeprom_channel *) *eeprom_ch_info = (struct iwl_eeprom_channel *)
iwl_eeprom_query_addr(priv, offset); iwl_eeprom_query_addr(priv, offset);
...@@ -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_fat_chan_info - Copy fat channel info into driver's priv. * iwl_set_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_fat_chan_info(struct iwl_priv *priv, static int iwl_set_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 fat_extension_channel) u8 ht40_extension_channel)
{ {
struct iwl_channel_info *ch_info; struct iwl_channel_info *ch_info;
...@@ -501,7 +501,7 @@ static int iwl_set_fat_chan_info(struct iwl_priv *priv, ...@@ -501,7 +501,7 @@ static int iwl_set_fat_chan_info(struct iwl_priv *priv,
if (!is_channel_valid(ch_info)) if (!is_channel_valid(ch_info))
return -1; return -1;
IWL_DEBUG_INFO(priv, "FAT Ch. %d [%sGHz] %s%s%s%s%s(0x%02x %ddBm):" IWL_DEBUG_INFO(priv, "HT40 Ch. %d [%sGHz] %s%s%s%s%s(0x%02x %ddBm):"
" Ad-Hoc %ssupported\n", " Ad-Hoc %ssupported\n",
ch_info->channel, ch_info->channel,
is_channel_a_band(ch_info) ? is_channel_a_band(ch_info) ?
...@@ -517,13 +517,13 @@ static int iwl_set_fat_chan_info(struct iwl_priv *priv, ...@@ -517,13 +517,13 @@ static int iwl_set_fat_chan_info(struct iwl_priv *priv,
&& !(eeprom_ch->flags & EEPROM_CHANNEL_RADAR)) ? && !(eeprom_ch->flags & EEPROM_CHANNEL_RADAR)) ?
"" : "not "); "" : "not ");
ch_info->fat_eeprom = *eeprom_ch; ch_info->ht40_eeprom = *eeprom_ch;
ch_info->fat_max_power_avg = eeprom_ch->max_power_avg; ch_info->ht40_max_power_avg = eeprom_ch->max_power_avg;
ch_info->fat_curr_txpow = eeprom_ch->max_power_avg; ch_info->ht40_curr_txpow = eeprom_ch->max_power_avg;
ch_info->fat_min_power = 0; ch_info->ht40_min_power = 0;
ch_info->fat_scan_power = eeprom_ch->max_power_avg; ch_info->ht40_scan_power = eeprom_ch->max_power_avg;
ch_info->fat_flags = eeprom_ch->flags; ch_info->ht40_flags = eeprom_ch->flags;
ch_info->fat_extension_channel = fat_extension_channel; ch_info->ht40_extension_channel = ht40_extension_channel;
return 0; return 0;
} }
...@@ -589,9 +589,9 @@ int iwl_init_channel_map(struct iwl_priv *priv) ...@@ -589,9 +589,9 @@ int iwl_init_channel_map(struct iwl_priv *priv)
/* Copy the run-time flags so they are there even on /* Copy the run-time flags so they are there even on
* invalid channels */ * invalid channels */
ch_info->flags = eeprom_ch_info[ch].flags; ch_info->flags = eeprom_ch_info[ch].flags;
/* First write that fat is not enabled, and then enable /* First write that ht40 is not enabled, and then enable
* one by one */ * one by one */
ch_info->fat_extension_channel = ch_info->ht40_extension_channel =
(IEEE80211_CHAN_NO_HT40PLUS | (IEEE80211_CHAN_NO_HT40PLUS |
IEEE80211_CHAN_NO_HT40MINUS); IEEE80211_CHAN_NO_HT40MINUS);
...@@ -642,17 +642,17 @@ int iwl_init_channel_map(struct iwl_priv *priv) ...@@ -642,17 +642,17 @@ int iwl_init_channel_map(struct iwl_priv *priv)
} }
} }
/* Check if we do have FAT channels */ /* Check if we do have HT40 channels */
if (priv->cfg->ops->lib->eeprom_ops.regulatory_bands[5] == if (priv->cfg->ops->lib->eeprom_ops.regulatory_bands[5] ==
EEPROM_REGULATORY_BAND_NO_FAT && EEPROM_REGULATORY_BAND_NO_HT40 &&
priv->cfg->ops->lib->eeprom_ops.regulatory_bands[6] == priv->cfg->ops->lib->eeprom_ops.regulatory_bands[6] ==
EEPROM_REGULATORY_BAND_NO_FAT) EEPROM_REGULATORY_BAND_NO_HT40)
return 0; return 0;
/* Two additional EEPROM bands for 2.4 and 5 GHz FAT 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 fat_extension_chan; 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);
...@@ -669,19 +669,19 @@ int iwl_init_channel_map(struct iwl_priv *priv) ...@@ -669,19 +669,19 @@ int iwl_init_channel_map(struct iwl_priv *priv)
(eeprom_ch_index[ch] == 6) || (eeprom_ch_index[ch] == 6) ||
(eeprom_ch_index[ch] == 7))) (eeprom_ch_index[ch] == 7)))
/* both are allowed: above and below */ /* both are allowed: above and below */
fat_extension_chan = 0; ht40_extension_chan = 0;
else else
fat_extension_chan = ht40_extension_chan =
IEEE80211_CHAN_NO_HT40MINUS; IEEE80211_CHAN_NO_HT40MINUS;
/* Set up driver's info for lower half */ /* Set up driver's info for lower half */
iwl_set_fat_chan_info(priv, ieeeband, iwl_set_ht40_chan_info(priv, ieeeband,
eeprom_ch_index[ch], eeprom_ch_index[ch],
&(eeprom_ch_info[ch]), &(eeprom_ch_info[ch]),
fat_extension_chan); ht40_extension_chan);
/* Set up driver's info for upper half */ /* Set up driver's info for upper half */
iwl_set_fat_chan_info(priv, ieeeband, iwl_set_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_HT40PLUS);
......
...@@ -88,10 +88,10 @@ struct iwl_priv; ...@@ -88,10 +88,10 @@ struct iwl_priv;
* requirement for establishing a new network for legal operation on channels * requirement for establishing a new network for legal operation on channels
* requiring RADAR detection or restricting ACTIVE scanning. * requiring RADAR detection or restricting ACTIVE scanning.
* *
* NOTE: "WIDE" flag does not indicate anything about "FAT" 40 MHz channels. * NOTE: "WIDE" flag does not indicate anything about "HT40" 40 MHz channels.
* It only indicates that 20 MHz channel use is supported; FAT channel * It only indicates that 20 MHz channel use is supported; HT40 channel
* usage is indicated by a separate set of regulatory flags for each * usage is indicated by a separate set of regulatory flags for each
* FAT channel pair. * HT40 channel pair.
* *
* NOTE: Using a channel inappropriately will result in a uCode error! * NOTE: Using a channel inappropriately will result in a uCode error!
*/ */
...@@ -112,7 +112,7 @@ enum { ...@@ -112,7 +112,7 @@ enum {
#define EEPROM_SKU_CAP_HW_RF_KILL_ENABLE (1 << 1) #define EEPROM_SKU_CAP_HW_RF_KILL_ENABLE (1 << 1)
/* *regulatory* channel data format in eeprom, one for each channel. /* *regulatory* channel data format in eeprom, one for each channel.
* There are separate entries for FAT (40 MHz) vs. normal (20 MHz) channels. */ * There are separate entries for HT40 (40 MHz) vs. normal (20 MHz) channels. */
struct iwl_eeprom_channel { struct iwl_eeprom_channel {
u8 flags; /* EEPROM_CHANNEL_* flags copied from EEPROM */ u8 flags; /* EEPROM_CHANNEL_* flags copied from EEPROM */
s8 max_power_avg; /* max power (dBm) on this chnl, limit 31 */ s8 max_power_avg; /* max power (dBm) on this chnl, limit 31 */
...@@ -170,9 +170,9 @@ struct iwl_eeprom_channel { ...@@ -170,9 +170,9 @@ struct iwl_eeprom_channel {
| INDIRECT_ADDRESS | INDIRECT_REGULATORY) /* 22 bytes */ | INDIRECT_ADDRESS | INDIRECT_REGULATORY) /* 22 bytes */
#define EEPROM_5000_REG_BAND_5_CHANNELS ((0x74)\ #define EEPROM_5000_REG_BAND_5_CHANNELS ((0x74)\
| INDIRECT_ADDRESS | INDIRECT_REGULATORY) /* 12 bytes */ | INDIRECT_ADDRESS | INDIRECT_REGULATORY) /* 12 bytes */
#define EEPROM_5000_REG_BAND_24_FAT_CHANNELS ((0x82)\ #define EEPROM_5000_REG_BAND_24_HT40_CHANNELS ((0x82)\
| INDIRECT_ADDRESS | INDIRECT_REGULATORY) /* 14 bytes */ | INDIRECT_ADDRESS | INDIRECT_REGULATORY) /* 14 bytes */
#define EEPROM_5000_REG_BAND_52_FAT_CHANNELS ((0x92)\ #define EEPROM_5000_REG_BAND_52_HT40_CHANNELS ((0x92)\
| INDIRECT_ADDRESS | INDIRECT_REGULATORY) /* 22 bytes */ | INDIRECT_ADDRESS | INDIRECT_REGULATORY) /* 22 bytes */
/* 5050 Specific */ /* 5050 Specific */
...@@ -313,7 +313,7 @@ struct iwl_eeprom_calib_info { ...@@ -313,7 +313,7 @@ struct iwl_eeprom_calib_info {
* in EEPROM containing EEPROM_CHANNEL_* usage flags (LSB) and max regulatory * in EEPROM containing EEPROM_CHANNEL_* usage flags (LSB) and max regulatory
* txpower (MSB). * txpower (MSB).
* *
* Entries immediately below are for 20 MHz channel width. FAT (40 MHz) * Entries immediately below are for 20 MHz channel width. HT40 (40 MHz)
* channels (only for 4965, not supported by 3945) appear later in the EEPROM. * channels (only for 4965, not supported by 3945) appear later in the EEPROM.
* *
* 2.4 GHz channels 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 * 2.4 GHz channels 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
...@@ -352,29 +352,29 @@ struct iwl_eeprom_calib_info { ...@@ -352,29 +352,29 @@ struct iwl_eeprom_calib_info {
#define EEPROM_REGULATORY_BAND_5_CHANNELS (2*0x99) /* 12 bytes */ #define EEPROM_REGULATORY_BAND_5_CHANNELS (2*0x99) /* 12 bytes */
/* /*
* 2.4 GHz FAT channels 1 (5), 2 (6), 3 (7), 4 (8), 5 (9), 6 (10), 7 (11) * 2.4 GHz HT40 channels 1 (5), 2 (6), 3 (7), 4 (8), 5 (9), 6 (10), 7 (11)
* *
* The channel listed is the center of the lower 20 MHz half of the channel. * The channel listed is the center of the lower 20 MHz half of the channel.
* The overall center frequency is actually 2 channels (10 MHz) above that, * The overall center frequency is actually 2 channels (10 MHz) above that,
* and the upper half of each FAT channel is centered 4 channels (20 MHz) away * and the upper half of each HT40 channel is centered 4 channels (20 MHz) away
* from the lower half; e.g. the upper half of FAT channel 1 is channel 5, * from the lower half; e.g. the upper half of HT40 channel 1 is channel 5,
* and the overall FAT channel width centers on channel 3. * and the overall HT40 channel width centers on channel 3.
* *
* NOTE: The RXON command uses 20 MHz channel numbers to specify the * NOTE: The RXON command uses 20 MHz channel numbers to specify the
* control channel to which to tune. RXON also specifies whether the * control channel to which to tune. RXON also specifies whether the
* control channel is the upper or lower half of a FAT channel. * control channel is the upper or lower half of a HT40 channel.
* *
* NOTE: 4965 does not support FAT channels on 2.4 GHz. * NOTE: 4965 does not support HT40 channels on 2.4 GHz.
*/ */
#define EEPROM_4965_REGULATORY_BAND_24_FAT_CHANNELS (2*0xA0) /* 14 bytes */ #define EEPROM_4965_REGULATORY_BAND_24_HT40_CHANNELS (2*0xA0) /* 14 bytes */
/* /*
* 5.2 GHz FAT channels 36 (40), 44 (48), 52 (56), 60 (64), * 5.2 GHz HT40 channels 36 (40), 44 (48), 52 (56), 60 (64),
* 100 (104), 108 (112), 116 (120), 124 (128), 132 (136), 149 (153), 157 (161) * 100 (104), 108 (112), 116 (120), 124 (128), 132 (136), 149 (153), 157 (161)
*/ */
#define EEPROM_4965_REGULATORY_BAND_52_FAT_CHANNELS (2*0xA8) /* 22 bytes */ #define EEPROM_4965_REGULATORY_BAND_52_HT40_CHANNELS (2*0xA8) /* 22 bytes */
#define EEPROM_REGULATORY_BAND_NO_FAT (0) #define EEPROM_REGULATORY_BAND_NO_HT40 (0)
struct iwl_eeprom_ops { struct iwl_eeprom_ops {
const u32 regulatory_bands[7]; const u32 regulatory_bands[7];
......
...@@ -583,7 +583,7 @@ static void iwl_advance_tt_handler(struct iwl_priv *priv, s32 temp) ...@@ -583,7 +583,7 @@ static void iwl_advance_tt_handler(struct iwl_priv *priv, s32 temp)
/* disable HT */ /* disable HT */
rxon->flags &= ~(RXON_FLG_CHANNEL_MODE_MSK | rxon->flags &= ~(RXON_FLG_CHANNEL_MODE_MSK |
RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK | RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK |
RXON_FLG_FAT_PROT_MSK | RXON_FLG_HT40_PROT_MSK |
RXON_FLG_HT_PROT_MSK); RXON_FLG_HT_PROT_MSK);
else { else {
/* check HT capability and set /* check HT capability and set
......
...@@ -544,8 +544,8 @@ void iwl_rx_statistics(struct iwl_priv *priv, ...@@ -544,8 +544,8 @@ void iwl_rx_statistics(struct iwl_priv *priv,
change = ((priv->statistics.general.temperature != change = ((priv->statistics.general.temperature !=
pkt->u.stats.general.temperature) || pkt->u.stats.general.temperature) ||
((priv->statistics.flag & ((priv->statistics.flag &
STATISTICS_REPLY_FLG_FAT_MODE_MSK) != STATISTICS_REPLY_FLG_HT40_MODE_MSK) !=
(pkt->u.stats.flag & STATISTICS_REPLY_FLG_FAT_MODE_MSK))); (pkt->u.stats.flag & STATISTICS_REPLY_FLG_HT40_MODE_MSK)));
memcpy(&priv->statistics, &pkt->u.stats, sizeof(priv->statistics)); memcpy(&priv->statistics, &pkt->u.stats, sizeof(priv->statistics));
......
...@@ -214,10 +214,10 @@ static void iwl_set_ht_add_station(struct iwl_priv *priv, u8 index, ...@@ -214,10 +214,10 @@ static void iwl_set_ht_add_station(struct iwl_priv *priv, u8 index,
sta_flags |= cpu_to_le32( sta_flags |= cpu_to_le32(
(u32)sta_ht_inf->ampdu_density << STA_FLG_AGG_MPDU_DENSITY_POS); (u32)sta_ht_inf->ampdu_density << STA_FLG_AGG_MPDU_DENSITY_POS);
if (iwl_is_fat_tx_allowed(priv, sta_ht_inf)) if (iwl_is_ht40_tx_allowed(priv, sta_ht_inf))
sta_flags |= STA_FLG_FAT_EN_MSK; sta_flags |= STA_FLG_HT40_EN_MSK;
else else
sta_flags &= ~STA_FLG_FAT_EN_MSK; sta_flags &= ~STA_FLG_HT40_EN_MSK;
priv->stations[index].sta.station_flags = sta_flags; priv->stations[index].sta.station_flags = sta_flags;
done: done:
......
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