diff options
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-1000.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-3945-hw.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-3945.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-4965-hw.h | 6 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-4965.c | 42 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-5000.c | 10 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-6000.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn-rs.c | 67 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-commands.h | 22 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-core.c | 24 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-core.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-dev.h | 22 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-eeprom.c | 54 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-eeprom.h | 34 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-power.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-rx.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-sta.c | 6 |
17 files changed, 155 insertions, 154 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-1000.c b/drivers/net/wireless/iwlwifi/iwl-1000.c index cf3fbc6b98ef..191718a0c545 100644 --- a/drivers/net/wireless/iwlwifi/iwl-1000.c +++ b/drivers/net/wireless/iwlwifi/iwl-1000.c | |||
@@ -117,8 +117,8 @@ static struct iwl_lib_ops iwl1000_lib = { | |||
117 | EEPROM_5000_REG_BAND_3_CHANNELS, | 117 | EEPROM_5000_REG_BAND_3_CHANNELS, |
118 | EEPROM_5000_REG_BAND_4_CHANNELS, | 118 | EEPROM_5000_REG_BAND_4_CHANNELS, |
119 | EEPROM_5000_REG_BAND_5_CHANNELS, | 119 | EEPROM_5000_REG_BAND_5_CHANNELS, |
120 | EEPROM_5000_REG_BAND_24_FAT_CHANNELS, | 120 | EEPROM_5000_REG_BAND_24_HT40_CHANNELS, |
121 | EEPROM_5000_REG_BAND_52_FAT_CHANNELS | 121 | EEPROM_5000_REG_BAND_52_HT40_CHANNELS |
122 | }, | 122 | }, |
123 | .verify_signature = iwlcore_eeprom_verify_signature, | 123 | .verify_signature = iwlcore_eeprom_verify_signature, |
124 | .acquire_semaphore = iwlcore_eeprom_acquire_semaphore, | 124 | .acquire_semaphore = iwlcore_eeprom_acquire_semaphore, |
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945-hw.h b/drivers/net/wireless/iwlwifi/iwl-3945-hw.h index b569c6f38e5c..16772780c5b0 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945-hw.h +++ b/drivers/net/wireless/iwlwifi/iwl-3945-hw.h | |||
@@ -176,7 +176,7 @@ struct iwl3945_eeprom { | |||
176 | * in EEPROM containing EEPROM_CHANNEL_* usage flags (LSB) and max regulatory | 176 | * in EEPROM containing EEPROM_CHANNEL_* usage flags (LSB) and max regulatory |
177 | * txpower (MSB). | 177 | * txpower (MSB). |
178 | * | 178 | * |
179 | * Entries immediately below are for 20 MHz channel width. FAT (40 MHz) | 179 | * Entries immediately below are for 20 MHz channel width. HT40 (40 MHz) |
180 | * channels (only for 4965, not supported by 3945) appear later in the EEPROM. | 180 | * channels (only for 4965, not supported by 3945) appear later in the EEPROM. |
181 | * | 181 | * |
182 | * 2.4 GHz channels 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 | 182 | * 2.4 GHz channels 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 |
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wireless/iwlwifi/iwl-3945.c index 7ad020747252..9e33507661d3 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945.c +++ b/drivers/net/wireless/iwlwifi/iwl-3945.c | |||
@@ -2851,8 +2851,8 @@ static struct iwl_lib_ops iwl3945_lib = { | |||
2851 | EEPROM_REGULATORY_BAND_3_CHANNELS, | 2851 | EEPROM_REGULATORY_BAND_3_CHANNELS, |
2852 | EEPROM_REGULATORY_BAND_4_CHANNELS, | 2852 | EEPROM_REGULATORY_BAND_4_CHANNELS, |
2853 | EEPROM_REGULATORY_BAND_5_CHANNELS, | 2853 | EEPROM_REGULATORY_BAND_5_CHANNELS, |
2854 | EEPROM_REGULATORY_BAND_NO_FAT, | 2854 | EEPROM_REGULATORY_BAND_NO_HT40, |
2855 | EEPROM_REGULATORY_BAND_NO_FAT, | 2855 | EEPROM_REGULATORY_BAND_NO_HT40, |
2856 | }, | 2856 | }, |
2857 | .verify_signature = iwlcore_eeprom_verify_signature, | 2857 | .verify_signature = iwlcore_eeprom_verify_signature, |
2858 | .acquire_semaphore = iwl3945_eeprom_acquire_semaphore, | 2858 | .acquire_semaphore = iwl3945_eeprom_acquire_semaphore, |
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965-hw.h b/drivers/net/wireless/iwlwifi/iwl-4965-hw.h index a71a489096ff..b34322a32458 100644 --- a/drivers/net/wireless/iwlwifi/iwl-4965-hw.h +++ b/drivers/net/wireless/iwlwifi/iwl-4965-hw.h | |||
@@ -188,7 +188,7 @@ static inline int iwl4965_hw_valid_rtc_data_addr(u32 addr) | |||
188 | * | 188 | * |
189 | * 1) Regulatory information (max txpower and channel usage flags) is provided | 189 | * 1) Regulatory information (max txpower and channel usage flags) is provided |
190 | * separately for each channel that can possibly supported by 4965. | 190 | * separately for each channel that can possibly supported by 4965. |
191 | * 40 MHz wide (.11n fat) channels are listed separately from 20 MHz | 191 | * 40 MHz wide (.11n HT40) channels are listed separately from 20 MHz |
192 | * (legacy) channels. | 192 | * (legacy) channels. |
193 | * | 193 | * |
194 | * See struct iwl4965_eeprom_channel for format, and struct iwl4965_eeprom | 194 | * 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 | * no reduction (such as with regulatory txpower limits) is required. | 251 | * no reduction (such as with regulatory txpower limits) is required. |
252 | * | 252 | * |
253 | * Saturation and Backoff values apply equally to 20 Mhz (legacy) channel | 253 | * Saturation and Backoff values apply equally to 20 Mhz (legacy) channel |
254 | * widths and 40 Mhz (.11n fat) channel widths; there is no separate | 254 | * widths and 40 Mhz (.11n HT40) channel widths; there is no separate |
255 | * factory measurement for fat channels. | 255 | * factory measurement for ht40 channels. |
256 | * | 256 | * |
257 | * The result of this step is the final target txpower. The rest of | 257 | * The result of this step is the final target txpower. The rest of |
258 | * the steps figure out the proper settings for the device to achieve | 258 | * the steps figure out the proper settings for the device to achieve |
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c index 62436a90ba89..f02023eea41c 100644 --- a/drivers/net/wireless/iwlwifi/iwl-4965.c +++ b/drivers/net/wireless/iwlwifi/iwl-4965.c | |||
@@ -317,7 +317,7 @@ restart: | |||
317 | queue_work(priv->workqueue, &priv->restart); | 317 | queue_work(priv->workqueue, &priv->restart); |
318 | } | 318 | } |
319 | 319 | ||
320 | static bool is_fat_channel(__le32 rxon_flags) | 320 | static bool is_ht40_channel(__le32 rxon_flags) |
321 | { | 321 | { |
322 | int chan_mod = le32_to_cpu(rxon_flags & RXON_FLG_CHANNEL_MODE_MSK) | 322 | int chan_mod = le32_to_cpu(rxon_flags & RXON_FLG_CHANNEL_MODE_MSK) |
323 | >> RXON_FLG_CHANNEL_MODE_POS; | 323 | >> RXON_FLG_CHANNEL_MODE_POS; |
@@ -806,7 +806,7 @@ static int iwl4965_hw_set_hw_params(struct iwl_priv *priv) | |||
806 | priv->hw_params.max_data_size = IWL49_RTC_DATA_SIZE; | 806 | priv->hw_params.max_data_size = IWL49_RTC_DATA_SIZE; |
807 | priv->hw_params.max_inst_size = IWL49_RTC_INST_SIZE; | 807 | priv->hw_params.max_inst_size = IWL49_RTC_INST_SIZE; |
808 | priv->hw_params.max_bsm_size = BSM_SRAM_SIZE; | 808 | priv->hw_params.max_bsm_size = BSM_SRAM_SIZE; |
809 | priv->hw_params.fat_channel = BIT(IEEE80211_BAND_5GHZ); | 809 | priv->hw_params.ht40_channel = BIT(IEEE80211_BAND_5GHZ); |
810 | 810 | ||
811 | priv->hw_params.rx_wrt_ptr_reg = FH_RSCSR_CHNL0_WPTR; | 811 | priv->hw_params.rx_wrt_ptr_reg = FH_RSCSR_CHNL0_WPTR; |
812 | 812 | ||
@@ -1266,7 +1266,7 @@ static const struct gain_entry gain_table[2][108] = { | |||
1266 | }; | 1266 | }; |
1267 | 1267 | ||
1268 | static int iwl4965_fill_txpower_tbl(struct iwl_priv *priv, u8 band, u16 channel, | 1268 | static int iwl4965_fill_txpower_tbl(struct iwl_priv *priv, u8 band, u16 channel, |
1269 | u8 is_fat, u8 ctrl_chan_high, | 1269 | u8 is_ht40, u8 ctrl_chan_high, |
1270 | struct iwl4965_tx_power_db *tx_power_tbl) | 1270 | struct iwl4965_tx_power_db *tx_power_tbl) |
1271 | { | 1271 | { |
1272 | u8 saturation_power; | 1272 | u8 saturation_power; |
@@ -1298,8 +1298,8 @@ static int iwl4965_fill_txpower_tbl(struct iwl_priv *priv, u8 band, u16 channel, | |||
1298 | user_target_power = 2 * priv->tx_power_user_lmt; | 1298 | user_target_power = 2 * priv->tx_power_user_lmt; |
1299 | 1299 | ||
1300 | /* Get current (RXON) channel, band, width */ | 1300 | /* Get current (RXON) channel, band, width */ |
1301 | IWL_DEBUG_TXPOWER(priv, "chan %d band %d is_fat %d\n", channel, band, | 1301 | IWL_DEBUG_TXPOWER(priv, "chan %d band %d is_ht40 %d\n", channel, band, |
1302 | is_fat); | 1302 | is_ht40); |
1303 | 1303 | ||
1304 | ch_info = iwl_get_channel_info(priv, priv->band, channel); | 1304 | ch_info = iwl_get_channel_info(priv, priv->band, channel); |
1305 | 1305 | ||
@@ -1318,7 +1318,7 @@ static int iwl4965_fill_txpower_tbl(struct iwl_priv *priv, u8 band, u16 channel, | |||
1318 | IWL_DEBUG_TXPOWER(priv, "channel %d belongs to txatten group %d\n", | 1318 | IWL_DEBUG_TXPOWER(priv, "channel %d belongs to txatten group %d\n", |
1319 | channel, txatten_grp); | 1319 | channel, txatten_grp); |
1320 | 1320 | ||
1321 | if (is_fat) { | 1321 | if (is_ht40) { |
1322 | if (ctrl_chan_high) | 1322 | if (ctrl_chan_high) |
1323 | channel -= 2; | 1323 | channel -= 2; |
1324 | else | 1324 | else |
@@ -1342,8 +1342,8 @@ static int iwl4965_fill_txpower_tbl(struct iwl_priv *priv, u8 band, u16 channel, | |||
1342 | 1342 | ||
1343 | /* regulatory txpower limits ... reg_limit values are in half-dBm, | 1343 | /* regulatory txpower limits ... reg_limit values are in half-dBm, |
1344 | * max_power_avg values are in dBm, convert * 2 */ | 1344 | * max_power_avg values are in dBm, convert * 2 */ |
1345 | if (is_fat) | 1345 | if (is_ht40) |
1346 | reg_limit = ch_info->fat_max_power_avg * 2; | 1346 | reg_limit = ch_info->ht40_max_power_avg * 2; |
1347 | else | 1347 | else |
1348 | reg_limit = ch_info->max_power_avg * 2; | 1348 | reg_limit = ch_info->max_power_avg * 2; |
1349 | 1349 | ||
@@ -1509,7 +1509,7 @@ static int iwl4965_fill_txpower_tbl(struct iwl_priv *priv, u8 band, u16 channel, | |||
1509 | /** | 1509 | /** |
1510 | * iwl4965_send_tx_power - Configure the TXPOWER level user limit | 1510 | * iwl4965_send_tx_power - Configure the TXPOWER level user limit |
1511 | * | 1511 | * |
1512 | * Uses the active RXON for channel, band, and characteristics (fat, high) | 1512 | * Uses the active RXON for channel, band, and characteristics (ht40, high) |
1513 | * The power limit is taken from priv->tx_power_user_lmt. | 1513 | * The power limit is taken from priv->tx_power_user_lmt. |
1514 | */ | 1514 | */ |
1515 | static int iwl4965_send_tx_power(struct iwl_priv *priv) | 1515 | 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 | struct iwl4965_txpowertable_cmd cmd = { 0 }; | 1517 | struct iwl4965_txpowertable_cmd cmd = { 0 }; |
1518 | int ret; | 1518 | int ret; |
1519 | u8 band = 0; | 1519 | u8 band = 0; |
1520 | bool is_fat = false; | 1520 | bool is_ht40 = false; |
1521 | u8 ctrl_chan_high = 0; | 1521 | u8 ctrl_chan_high = 0; |
1522 | 1522 | ||
1523 | if (test_bit(STATUS_SCANNING, &priv->status)) { | 1523 | if (test_bit(STATUS_SCANNING, &priv->status)) { |
@@ -1530,9 +1530,9 @@ static int iwl4965_send_tx_power(struct iwl_priv *priv) | |||
1530 | 1530 | ||
1531 | band = priv->band == IEEE80211_BAND_2GHZ; | 1531 | band = priv->band == IEEE80211_BAND_2GHZ; |
1532 | 1532 | ||
1533 | is_fat = is_fat_channel(priv->active_rxon.flags); | 1533 | is_ht40 = is_ht40_channel(priv->active_rxon.flags); |
1534 | 1534 | ||
1535 | if (is_fat && | 1535 | if (is_ht40 && |
1536 | (priv->active_rxon.flags & RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK)) | 1536 | (priv->active_rxon.flags & RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK)) |
1537 | ctrl_chan_high = 1; | 1537 | ctrl_chan_high = 1; |
1538 | 1538 | ||
@@ -1541,7 +1541,7 @@ static int iwl4965_send_tx_power(struct iwl_priv *priv) | |||
1541 | 1541 | ||
1542 | ret = iwl4965_fill_txpower_tbl(priv, band, | 1542 | ret = iwl4965_fill_txpower_tbl(priv, band, |
1543 | le16_to_cpu(priv->active_rxon.channel), | 1543 | le16_to_cpu(priv->active_rxon.channel), |
1544 | is_fat, ctrl_chan_high, &cmd.tx_power); | 1544 | is_ht40, ctrl_chan_high, &cmd.tx_power); |
1545 | if (ret) | 1545 | if (ret) |
1546 | goto out; | 1546 | goto out; |
1547 | 1547 | ||
@@ -1595,7 +1595,7 @@ static int iwl4965_hw_channel_switch(struct iwl_priv *priv, u16 channel) | |||
1595 | { | 1595 | { |
1596 | int rc; | 1596 | int rc; |
1597 | u8 band = 0; | 1597 | u8 band = 0; |
1598 | bool is_fat = false; | 1598 | bool is_ht40 = false; |
1599 | u8 ctrl_chan_high = 0; | 1599 | u8 ctrl_chan_high = 0; |
1600 | struct iwl4965_channel_switch_cmd cmd = { 0 }; | 1600 | struct iwl4965_channel_switch_cmd cmd = { 0 }; |
1601 | const struct iwl_channel_info *ch_info; | 1601 | const struct iwl_channel_info *ch_info; |
@@ -1604,9 +1604,9 @@ static int iwl4965_hw_channel_switch(struct iwl_priv *priv, u16 channel) | |||
1604 | 1604 | ||
1605 | ch_info = iwl_get_channel_info(priv, priv->band, channel); | 1605 | ch_info = iwl_get_channel_info(priv, priv->band, channel); |
1606 | 1606 | ||
1607 | is_fat = is_fat_channel(priv->staging_rxon.flags); | 1607 | is_ht40 = is_ht40_channel(priv->staging_rxon.flags); |
1608 | 1608 | ||
1609 | if (is_fat && | 1609 | if (is_ht40 && |
1610 | (priv->active_rxon.flags & RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK)) | 1610 | (priv->active_rxon.flags & RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK)) |
1611 | ctrl_chan_high = 1; | 1611 | ctrl_chan_high = 1; |
1612 | 1612 | ||
@@ -1621,7 +1621,7 @@ static int iwl4965_hw_channel_switch(struct iwl_priv *priv, u16 channel) | |||
1621 | else | 1621 | else |
1622 | cmd.expect_beacon = 1; | 1622 | cmd.expect_beacon = 1; |
1623 | 1623 | ||
1624 | rc = iwl4965_fill_txpower_tbl(priv, band, channel, is_fat, | 1624 | rc = iwl4965_fill_txpower_tbl(priv, band, channel, is_ht40, |
1625 | ctrl_chan_high, &cmd.tx_power); | 1625 | ctrl_chan_high, &cmd.tx_power); |
1626 | if (rc) { | 1626 | if (rc) { |
1627 | IWL_DEBUG_11H(priv, "error:%d fill txpower_tbl\n", rc); | 1627 | 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 | u32 R4; | 1688 | u32 R4; |
1689 | 1689 | ||
1690 | if (test_bit(STATUS_TEMPERATURE, &priv->status) && | 1690 | if (test_bit(STATUS_TEMPERATURE, &priv->status) && |
1691 | (priv->statistics.flag & STATISTICS_REPLY_FLG_FAT_MODE_MSK)) { | 1691 | (priv->statistics.flag & STATISTICS_REPLY_FLG_HT40_MODE_MSK)) { |
1692 | IWL_DEBUG_TEMP(priv, "Running FAT temperature calibration\n"); | 1692 | IWL_DEBUG_TEMP(priv, "Running HT40 temperature calibration\n"); |
1693 | R1 = (s32)le32_to_cpu(priv->card_alive_init.therm_r1[1]); | 1693 | R1 = (s32)le32_to_cpu(priv->card_alive_init.therm_r1[1]); |
1694 | R2 = (s32)le32_to_cpu(priv->card_alive_init.therm_r2[1]); | 1694 | R2 = (s32)le32_to_cpu(priv->card_alive_init.therm_r2[1]); |
1695 | R3 = (s32)le32_to_cpu(priv->card_alive_init.therm_r3[1]); | 1695 | R3 = (s32)le32_to_cpu(priv->card_alive_init.therm_r3[1]); |
@@ -2330,8 +2330,8 @@ static struct iwl_lib_ops iwl4965_lib = { | |||
2330 | EEPROM_REGULATORY_BAND_3_CHANNELS, | 2330 | EEPROM_REGULATORY_BAND_3_CHANNELS, |
2331 | EEPROM_REGULATORY_BAND_4_CHANNELS, | 2331 | EEPROM_REGULATORY_BAND_4_CHANNELS, |
2332 | EEPROM_REGULATORY_BAND_5_CHANNELS, | 2332 | EEPROM_REGULATORY_BAND_5_CHANNELS, |
2333 | EEPROM_4965_REGULATORY_BAND_24_FAT_CHANNELS, | 2333 | EEPROM_4965_REGULATORY_BAND_24_HT40_CHANNELS, |
2334 | EEPROM_4965_REGULATORY_BAND_52_FAT_CHANNELS | 2334 | EEPROM_4965_REGULATORY_BAND_52_HT40_CHANNELS |
2335 | }, | 2335 | }, |
2336 | .verify_signature = iwlcore_eeprom_verify_signature, | 2336 | .verify_signature = iwlcore_eeprom_verify_signature, |
2337 | .acquire_semaphore = iwlcore_eeprom_acquire_semaphore, | 2337 | .acquire_semaphore = iwlcore_eeprom_acquire_semaphore, |
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c index 87957c052839..755c184b3ecb 100644 --- a/drivers/net/wireless/iwlwifi/iwl-5000.c +++ b/drivers/net/wireless/iwlwifi/iwl-5000.c | |||
@@ -845,7 +845,7 @@ int iwl5000_hw_set_hw_params(struct iwl_priv *priv) | |||
845 | } | 845 | } |
846 | 846 | ||
847 | priv->hw_params.max_bsm_size = 0; | 847 | priv->hw_params.max_bsm_size = 0; |
848 | priv->hw_params.fat_channel = BIT(IEEE80211_BAND_2GHZ) | | 848 | priv->hw_params.ht40_channel = BIT(IEEE80211_BAND_2GHZ) | |
849 | BIT(IEEE80211_BAND_5GHZ); | 849 | BIT(IEEE80211_BAND_5GHZ); |
850 | priv->hw_params.rx_wrt_ptr_reg = FH_RSCSR_CHNL0_WPTR; | 850 | priv->hw_params.rx_wrt_ptr_reg = FH_RSCSR_CHNL0_WPTR; |
851 | 851 | ||
@@ -1547,8 +1547,8 @@ struct iwl_lib_ops iwl5000_lib = { | |||
1547 | EEPROM_5000_REG_BAND_3_CHANNELS, | 1547 | EEPROM_5000_REG_BAND_3_CHANNELS, |
1548 | EEPROM_5000_REG_BAND_4_CHANNELS, | 1548 | EEPROM_5000_REG_BAND_4_CHANNELS, |
1549 | EEPROM_5000_REG_BAND_5_CHANNELS, | 1549 | EEPROM_5000_REG_BAND_5_CHANNELS, |
1550 | EEPROM_5000_REG_BAND_24_FAT_CHANNELS, | 1550 | EEPROM_5000_REG_BAND_24_HT40_CHANNELS, |
1551 | EEPROM_5000_REG_BAND_52_FAT_CHANNELS | 1551 | EEPROM_5000_REG_BAND_52_HT40_CHANNELS |
1552 | }, | 1552 | }, |
1553 | .verify_signature = iwlcore_eeprom_verify_signature, | 1553 | .verify_signature = iwlcore_eeprom_verify_signature, |
1554 | .acquire_semaphore = iwlcore_eeprom_acquire_semaphore, | 1554 | .acquire_semaphore = iwlcore_eeprom_acquire_semaphore, |
@@ -1597,8 +1597,8 @@ static struct iwl_lib_ops iwl5150_lib = { | |||
1597 | EEPROM_5000_REG_BAND_3_CHANNELS, | 1597 | EEPROM_5000_REG_BAND_3_CHANNELS, |
1598 | EEPROM_5000_REG_BAND_4_CHANNELS, | 1598 | EEPROM_5000_REG_BAND_4_CHANNELS, |
1599 | EEPROM_5000_REG_BAND_5_CHANNELS, | 1599 | EEPROM_5000_REG_BAND_5_CHANNELS, |
1600 | EEPROM_5000_REG_BAND_24_FAT_CHANNELS, | 1600 | EEPROM_5000_REG_BAND_24_HT40_CHANNELS, |
1601 | EEPROM_5000_REG_BAND_52_FAT_CHANNELS | 1601 | EEPROM_5000_REG_BAND_52_HT40_CHANNELS |
1602 | }, | 1602 | }, |
1603 | .verify_signature = iwlcore_eeprom_verify_signature, | 1603 | .verify_signature = iwlcore_eeprom_verify_signature, |
1604 | .acquire_semaphore = iwlcore_eeprom_acquire_semaphore, | 1604 | .acquire_semaphore = iwlcore_eeprom_acquire_semaphore, |
diff --git a/drivers/net/wireless/iwlwifi/iwl-6000.c b/drivers/net/wireless/iwlwifi/iwl-6000.c index 4450943d3dac..c3ec6c20cc94 100644 --- a/drivers/net/wireless/iwlwifi/iwl-6000.c +++ b/drivers/net/wireless/iwlwifi/iwl-6000.c | |||
@@ -118,8 +118,8 @@ static struct iwl_lib_ops iwl6000_lib = { | |||
118 | EEPROM_5000_REG_BAND_3_CHANNELS, | 118 | EEPROM_5000_REG_BAND_3_CHANNELS, |
119 | EEPROM_5000_REG_BAND_4_CHANNELS, | 119 | EEPROM_5000_REG_BAND_4_CHANNELS, |
120 | EEPROM_5000_REG_BAND_5_CHANNELS, | 120 | EEPROM_5000_REG_BAND_5_CHANNELS, |
121 | EEPROM_5000_REG_BAND_24_FAT_CHANNELS, | 121 | EEPROM_5000_REG_BAND_24_HT40_CHANNELS, |
122 | EEPROM_5000_REG_BAND_52_FAT_CHANNELS | 122 | EEPROM_5000_REG_BAND_52_HT40_CHANNELS |
123 | }, | 123 | }, |
124 | .verify_signature = iwlcore_eeprom_verify_signature, | 124 | .verify_signature = iwlcore_eeprom_verify_signature, |
125 | .acquire_semaphore = iwlcore_eeprom_acquire_semaphore, | 125 | .acquire_semaphore = iwlcore_eeprom_acquire_semaphore, |
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c index 52a4810274e9..0c3ed23ed775 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c | |||
@@ -97,7 +97,7 @@ struct iwl_scale_tbl_info { | |||
97 | enum iwl_table_type lq_type; | 97 | enum iwl_table_type lq_type; |
98 | u8 ant_type; | 98 | u8 ant_type; |
99 | u8 is_SGI; /* 1 = short guard interval */ | 99 | u8 is_SGI; /* 1 = short guard interval */ |
100 | u8 is_fat; /* 1 = 40 MHz channel width */ | 100 | u8 is_ht40; /* 1 = 40 MHz channel width */ |
101 | u8 is_dup; /* 1 = duplicated data streams */ | 101 | u8 is_dup; /* 1 = duplicated data streams */ |
102 | u8 action; /* change modulation; IWL_[LEGACY/SISO/MIMO]_SWITCH_* */ | 102 | u8 action; /* change modulation; IWL_[LEGACY/SISO/MIMO]_SWITCH_* */ |
103 | u8 max_search; /* maximun number of tables we can search */ | 103 | 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 | RATE_MCS_ANT_ABC_MSK); | 539 | RATE_MCS_ANT_ABC_MSK); |
540 | 540 | ||
541 | if (is_Ht(tbl->lq_type)) { | 541 | if (is_Ht(tbl->lq_type)) { |
542 | if (tbl->is_fat) { | 542 | if (tbl->is_ht40) { |
543 | if (tbl->is_dup) | 543 | if (tbl->is_dup) |
544 | rate_n_flags |= RATE_MCS_DUP_MSK; | 544 | rate_n_flags |= RATE_MCS_DUP_MSK; |
545 | else | 545 | else |
546 | rate_n_flags |= RATE_MCS_FAT_MSK; | 546 | rate_n_flags |= RATE_MCS_HT40_MSK; |
547 | } | 547 | } |
548 | if (tbl->is_SGI) | 548 | if (tbl->is_SGI) |
549 | rate_n_flags |= RATE_MCS_SGI_MSK; | 549 | 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 | return -EINVAL; | 579 | return -EINVAL; |
580 | } | 580 | } |
581 | tbl->is_SGI = 0; /* default legacy setup */ | 581 | tbl->is_SGI = 0; /* default legacy setup */ |
582 | tbl->is_fat = 0; | 582 | tbl->is_ht40 = 0; |
583 | tbl->is_dup = 0; | 583 | tbl->is_dup = 0; |
584 | tbl->ant_type = (ant_msk >> RATE_MCS_ANT_POS); | 584 | tbl->ant_type = (ant_msk >> RATE_MCS_ANT_POS); |
585 | tbl->lq_type = LQ_NONE; | 585 | tbl->lq_type = LQ_NONE; |
@@ -598,9 +598,9 @@ static int rs_get_tbl_info_from_mcs(const u32 rate_n_flags, | |||
598 | if (rate_n_flags & RATE_MCS_SGI_MSK) | 598 | if (rate_n_flags & RATE_MCS_SGI_MSK) |
599 | tbl->is_SGI = 1; | 599 | tbl->is_SGI = 1; |
600 | 600 | ||
601 | if ((rate_n_flags & RATE_MCS_FAT_MSK) || | 601 | if ((rate_n_flags & RATE_MCS_HT40_MSK) || |
602 | (rate_n_flags & RATE_MCS_DUP_MSK)) | 602 | (rate_n_flags & RATE_MCS_DUP_MSK)) |
603 | tbl->is_fat = 1; | 603 | tbl->is_ht40 = 1; |
604 | 604 | ||
605 | if (rate_n_flags & RATE_MCS_DUP_MSK) | 605 | if (rate_n_flags & RATE_MCS_DUP_MSK) |
606 | tbl->is_dup = 1; | 606 | tbl->is_dup = 1; |
@@ -776,7 +776,7 @@ static u32 rs_get_lower_rate(struct iwl_lq_sta *lq_sta, | |||
776 | if (num_of_ant(tbl->ant_type) > 1) | 776 | if (num_of_ant(tbl->ant_type) > 1) |
777 | tbl->ant_type = ANT_A;/*FIXME:RS*/ | 777 | tbl->ant_type = ANT_A;/*FIXME:RS*/ |
778 | 778 | ||
779 | tbl->is_fat = 0; | 779 | tbl->is_ht40 = 0; |
780 | tbl->is_SGI = 0; | 780 | tbl->is_SGI = 0; |
781 | tbl->max_search = IWL_MAX_SEARCH; | 781 | tbl->max_search = IWL_MAX_SEARCH; |
782 | } | 782 | } |
@@ -880,7 +880,7 @@ static void rs_tx_status(void *priv_r, struct ieee80211_supported_band *sband, | |||
880 | 880 | ||
881 | if ((info->status.rates[0].idx < 0) || | 881 | if ((info->status.rates[0].idx < 0) || |
882 | (tbl_type.is_SGI != !!(info->status.rates[0].flags & IEEE80211_TX_RC_SHORT_GI)) || | 882 | (tbl_type.is_SGI != !!(info->status.rates[0].flags & IEEE80211_TX_RC_SHORT_GI)) || |
883 | (tbl_type.is_fat != !!(info->status.rates[0].flags & IEEE80211_TX_RC_40_MHZ_WIDTH)) || | 883 | (tbl_type.is_ht40 != !!(info->status.rates[0].flags & IEEE80211_TX_RC_40_MHZ_WIDTH)) || |
884 | (tbl_type.is_dup != !!(info->status.rates[0].flags & IEEE80211_TX_RC_DUP_DATA)) || | 884 | (tbl_type.is_dup != !!(info->status.rates[0].flags & IEEE80211_TX_RC_DUP_DATA)) || |
885 | (tbl_type.ant_type != info->antenna_sel_tx) || | 885 | (tbl_type.ant_type != info->antenna_sel_tx) || |
886 | (!!(tx_rate & RATE_MCS_HT_MSK) != !!(info->status.rates[0].flags & IEEE80211_TX_RC_MCS)) || | 886 | (!!(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 | else | 1049 | else |
1050 | tbl->expected_tpt = expected_tpt_A; | 1050 | tbl->expected_tpt = expected_tpt_A; |
1051 | } else if (is_siso(tbl->lq_type)) { | 1051 | } else if (is_siso(tbl->lq_type)) { |
1052 | if (tbl->is_fat && !lq_sta->is_dup) | 1052 | if (tbl->is_ht40 && !lq_sta->is_dup) |
1053 | if (tbl->is_SGI) | 1053 | if (tbl->is_SGI) |
1054 | tbl->expected_tpt = expected_tpt_siso40MHzSGI; | 1054 | tbl->expected_tpt = expected_tpt_siso40MHzSGI; |
1055 | else | 1055 | else |
@@ -1059,7 +1059,7 @@ static void rs_set_expected_tpt_table(struct iwl_lq_sta *lq_sta, | |||
1059 | else | 1059 | else |
1060 | tbl->expected_tpt = expected_tpt_siso20MHz; | 1060 | tbl->expected_tpt = expected_tpt_siso20MHz; |
1061 | } else if (is_mimo2(tbl->lq_type)) { | 1061 | } else if (is_mimo2(tbl->lq_type)) { |
1062 | if (tbl->is_fat && !lq_sta->is_dup) | 1062 | if (tbl->is_ht40 && !lq_sta->is_dup) |
1063 | if (tbl->is_SGI) | 1063 | if (tbl->is_SGI) |
1064 | tbl->expected_tpt = expected_tpt_mimo2_40MHzSGI; | 1064 | tbl->expected_tpt = expected_tpt_mimo2_40MHzSGI; |
1065 | else | 1065 | else |
@@ -1069,7 +1069,7 @@ static void rs_set_expected_tpt_table(struct iwl_lq_sta *lq_sta, | |||
1069 | else | 1069 | else |
1070 | tbl->expected_tpt = expected_tpt_mimo2_20MHz; | 1070 | tbl->expected_tpt = expected_tpt_mimo2_20MHz; |
1071 | } else if (is_mimo3(tbl->lq_type)) { | 1071 | } else if (is_mimo3(tbl->lq_type)) { |
1072 | if (tbl->is_fat && !lq_sta->is_dup) | 1072 | if (tbl->is_ht40 && !lq_sta->is_dup) |
1073 | if (tbl->is_SGI) | 1073 | if (tbl->is_SGI) |
1074 | tbl->expected_tpt = expected_tpt_mimo3_40MHzSGI; | 1074 | tbl->expected_tpt = expected_tpt_mimo3_40MHzSGI; |
1075 | else | 1075 | else |
@@ -1217,13 +1217,13 @@ static int rs_switch_to_mimo2(struct iwl_priv *priv, | |||
1217 | tbl->max_search = IWL_MAX_SEARCH; | 1217 | tbl->max_search = IWL_MAX_SEARCH; |
1218 | rate_mask = lq_sta->active_mimo2_rate; | 1218 | rate_mask = lq_sta->active_mimo2_rate; |
1219 | 1219 | ||
1220 | if (iwl_is_fat_tx_allowed(priv, &sta->ht_cap)) | 1220 | if (iwl_is_ht40_tx_allowed(priv, &sta->ht_cap)) |
1221 | tbl->is_fat = 1; | 1221 | tbl->is_ht40 = 1; |
1222 | else | 1222 | else |
1223 | tbl->is_fat = 0; | 1223 | tbl->is_ht40 = 0; |
1224 | 1224 | ||
1225 | /* FIXME: - don't toggle SGI here | 1225 | /* FIXME: - don't toggle SGI here |
1226 | if (tbl->is_fat) { | 1226 | if (tbl->is_ht40) { |
1227 | if (priv->current_ht_config.sgf & HT_SHORT_GI_40MHZ_ONLY) | 1227 | if (priv->current_ht_config.sgf & HT_SHORT_GI_40MHZ_ONLY) |
1228 | tbl->is_SGI = 1; | 1228 | tbl->is_SGI = 1; |
1229 | else | 1229 | else |
@@ -1283,13 +1283,13 @@ static int rs_switch_to_mimo3(struct iwl_priv *priv, | |||
1283 | tbl->max_search = IWL_MAX_11N_MIMO3_SEARCH; | 1283 | tbl->max_search = IWL_MAX_11N_MIMO3_SEARCH; |
1284 | rate_mask = lq_sta->active_mimo3_rate; | 1284 | rate_mask = lq_sta->active_mimo3_rate; |
1285 | 1285 | ||
1286 | if (iwl_is_fat_tx_allowed(priv, &sta->ht_cap)) | 1286 | if (iwl_is_ht40_tx_allowed(priv, &sta->ht_cap)) |
1287 | tbl->is_fat = 1; | 1287 | tbl->is_ht40 = 1; |
1288 | else | 1288 | else |
1289 | tbl->is_fat = 0; | 1289 | tbl->is_ht40 = 0; |
1290 | 1290 | ||
1291 | /* FIXME: - don't toggle SGI here | 1291 | /* FIXME: - don't toggle SGI here |
1292 | if (tbl->is_fat) { | 1292 | if (tbl->is_ht40) { |
1293 | if (priv->current_ht_config.sgf & HT_SHORT_GI_40MHZ_ONLY) | 1293 | if (priv->current_ht_config.sgf & HT_SHORT_GI_40MHZ_ONLY) |
1294 | tbl->is_SGI = 1; | 1294 | tbl->is_SGI = 1; |
1295 | else | 1295 | else |
@@ -1342,13 +1342,13 @@ static int rs_switch_to_siso(struct iwl_priv *priv, | |||
1342 | tbl->max_search = IWL_MAX_SEARCH; | 1342 | tbl->max_search = IWL_MAX_SEARCH; |
1343 | rate_mask = lq_sta->active_siso_rate; | 1343 | rate_mask = lq_sta->active_siso_rate; |
1344 | 1344 | ||
1345 | if (iwl_is_fat_tx_allowed(priv, &sta->ht_cap)) | 1345 | if (iwl_is_ht40_tx_allowed(priv, &sta->ht_cap)) |
1346 | tbl->is_fat = 1; | 1346 | tbl->is_ht40 = 1; |
1347 | else | 1347 | else |
1348 | tbl->is_fat = 0; | 1348 | tbl->is_ht40 = 0; |
1349 | 1349 | ||
1350 | /* FIXME: - don't toggle SGI here | 1350 | /* FIXME: - don't toggle SGI here |
1351 | if (tbl->is_fat) { | 1351 | if (tbl->is_ht40) { |
1352 | if (priv->current_ht_config.sgf & HT_SHORT_GI_40MHZ_ONLY) | 1352 | if (priv->current_ht_config.sgf & HT_SHORT_GI_40MHZ_ONLY) |
1353 | tbl->is_SGI = 1; | 1353 | tbl->is_SGI = 1; |
1354 | else | 1354 | else |
@@ -1586,11 +1586,11 @@ static int rs_move_siso_to_other(struct iwl_priv *priv, | |||
1586 | goto out; | 1586 | goto out; |
1587 | break; | 1587 | break; |
1588 | case IWL_SISO_SWITCH_GI: | 1588 | case IWL_SISO_SWITCH_GI: |
1589 | if (!tbl->is_fat && | 1589 | if (!tbl->is_ht40 && |
1590 | !(priv->current_ht_config.sgf & | 1590 | !(priv->current_ht_config.sgf & |
1591 | HT_SHORT_GI_20MHZ)) | 1591 | HT_SHORT_GI_20MHZ)) |
1592 | break; | 1592 | break; |
1593 | if (tbl->is_fat && | 1593 | if (tbl->is_ht40 && |
1594 | !(priv->current_ht_config.sgf & | 1594 | !(priv->current_ht_config.sgf & |
1595 | HT_SHORT_GI_40MHZ)) | 1595 | HT_SHORT_GI_40MHZ)) |
1596 | break; | 1596 | break; |
@@ -1726,11 +1726,11 @@ static int rs_move_mimo2_to_other(struct iwl_priv *priv, | |||
1726 | break; | 1726 | break; |
1727 | 1727 | ||
1728 | case IWL_MIMO2_SWITCH_GI: | 1728 | case IWL_MIMO2_SWITCH_GI: |
1729 | if (!tbl->is_fat && | 1729 | if (!tbl->is_ht40 && |
1730 | !(priv->current_ht_config.sgf & | 1730 | !(priv->current_ht_config.sgf & |
1731 | HT_SHORT_GI_20MHZ)) | 1731 | HT_SHORT_GI_20MHZ)) |
1732 | break; | 1732 | break; |
1733 | if (tbl->is_fat && | 1733 | if (tbl->is_ht40 && |
1734 | !(priv->current_ht_config.sgf & | 1734 | !(priv->current_ht_config.sgf & |
1735 | HT_SHORT_GI_40MHZ)) | 1735 | HT_SHORT_GI_40MHZ)) |
1736 | break; | 1736 | break; |
@@ -1890,11 +1890,11 @@ static int rs_move_mimo3_to_other(struct iwl_priv *priv, | |||
1890 | break; | 1890 | break; |
1891 | 1891 | ||
1892 | case IWL_MIMO3_SWITCH_GI: | 1892 | case IWL_MIMO3_SWITCH_GI: |
1893 | if (!tbl->is_fat && | 1893 | if (!tbl->is_ht40 && |
1894 | !(priv->current_ht_config.sgf & | 1894 | !(priv->current_ht_config.sgf & |
1895 | HT_SHORT_GI_20MHZ)) | 1895 | HT_SHORT_GI_20MHZ)) |
1896 | break; | 1896 | break; |
1897 | if (tbl->is_fat && | 1897 | if (tbl->is_ht40 && |
1898 | !(priv->current_ht_config.sgf & | 1898 | !(priv->current_ht_config.sgf & |
1899 | HT_SHORT_GI_40MHZ)) | 1899 | HT_SHORT_GI_40MHZ)) |
1900 | break; | 1900 | break; |
@@ -2576,7 +2576,7 @@ static void rs_get_rate(void *priv_r, struct ieee80211_sta *sta, void *priv_sta, | |||
2576 | info->control.rates[0].flags |= IEEE80211_TX_RC_SHORT_GI; | 2576 | info->control.rates[0].flags |= IEEE80211_TX_RC_SHORT_GI; |
2577 | if (lq_sta->last_rate_n_flags & RATE_MCS_DUP_MSK) | 2577 | if (lq_sta->last_rate_n_flags & RATE_MCS_DUP_MSK) |
2578 | info->control.rates[0].flags |= IEEE80211_TX_RC_DUP_DATA; | 2578 | info->control.rates[0].flags |= IEEE80211_TX_RC_DUP_DATA; |
2579 | if (lq_sta->last_rate_n_flags & RATE_MCS_FAT_MSK) | 2579 | if (lq_sta->last_rate_n_flags & RATE_MCS_HT40_MSK) |
2580 | info->control.rates[0].flags |= IEEE80211_TX_RC_40_MHZ_WIDTH; | 2580 | info->control.rates[0].flags |= IEEE80211_TX_RC_40_MHZ_WIDTH; |
2581 | if (lq_sta->last_rate_n_flags & RATE_MCS_GF_MSK) | 2581 | if (lq_sta->last_rate_n_flags & RATE_MCS_GF_MSK) |
2582 | info->control.rates[0].flags |= IEEE80211_TX_RC_GREEN_FIELD; | 2582 | 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 | (is_siso(tbl->lq_type)) ? "SISO" : | 2963 | (is_siso(tbl->lq_type)) ? "SISO" : |
2964 | ((is_mimo2(tbl->lq_type)) ? "MIMO2" : "MIMO3")); | 2964 | ((is_mimo2(tbl->lq_type)) ? "MIMO2" : "MIMO3")); |
2965 | desc += sprintf(buff+desc, " %s", | 2965 | desc += sprintf(buff+desc, " %s", |
2966 | (tbl->is_fat) ? "40MHz" : "20MHz"); | 2966 | (tbl->is_ht40) ? "40MHz" : "20MHz"); |
2967 | desc += sprintf(buff+desc, " %s %s\n", (tbl->is_SGI) ? "SGI" : "", | 2967 | desc += sprintf(buff+desc, " %s %s\n", (tbl->is_SGI) ? "SGI" : "", |
2968 | (lq_sta->is_green) ? "GF enabled" : ""); | 2968 | (lq_sta->is_green) ? "GF enabled" : ""); |
2969 | } | 2969 | } |
@@ -3028,12 +3028,13 @@ static ssize_t rs_sta_dbgfs_stats_table_read(struct file *file, | |||
3028 | return -ENOMEM; | 3028 | return -ENOMEM; |
3029 | 3029 | ||
3030 | for (i = 0; i < LQ_SIZE; i++) { | 3030 | for (i = 0; i < LQ_SIZE; i++) { |
3031 | desc += sprintf(buff+desc, "%s type=%d SGI=%d FAT=%d DUP=%d GF=%d\n" | 3031 | desc += sprintf(buff+desc, |
3032 | "%s type=%d SGI=%d HT40=%d DUP=%d GF=%d\n" | ||
3032 | "rate=0x%X\n", | 3033 | "rate=0x%X\n", |
3033 | lq_sta->active_tbl == i ? "*" : "x", | 3034 | lq_sta->active_tbl == i ? "*" : "x", |
3034 | lq_sta->lq_info[i].lq_type, | 3035 | lq_sta->lq_info[i].lq_type, |
3035 | lq_sta->lq_info[i].is_SGI, | 3036 | lq_sta->lq_info[i].is_SGI, |
3036 | lq_sta->lq_info[i].is_fat, | 3037 | lq_sta->lq_info[i].is_ht40, |
3037 | lq_sta->lq_info[i].is_dup, | 3038 | lq_sta->lq_info[i].is_dup, |
3038 | lq_sta->is_green, | 3039 | lq_sta->is_green, |
3039 | lq_sta->lq_info[i].current_rate); | 3040 | lq_sta->lq_info[i].current_rate); |
diff --git a/drivers/net/wireless/iwlwifi/iwl-commands.h b/drivers/net/wireless/iwlwifi/iwl-commands.h index 39ede5727fe4..6188c54113b0 100644 --- a/drivers/net/wireless/iwlwifi/iwl-commands.h +++ b/drivers/net/wireless/iwlwifi/iwl-commands.h | |||
@@ -283,7 +283,7 @@ struct iwl3945_power_per_rate { | |||
283 | * 1) Dual stream (MIMO) | 283 | * 1) Dual stream (MIMO) |
284 | * 2) Triple stream (MIMO) | 284 | * 2) Triple stream (MIMO) |
285 | * | 285 | * |
286 | * 5: Value of 0x20 in bits 7:0 indicates 6 Mbps FAT duplicate data | 286 | * 5: Value of 0x20 in bits 7:0 indicates 6 Mbps HT40 duplicate data |
287 | * | 287 | * |
288 | * Legacy OFDM rate format for bits 7:0 (bit 8 must be "0", bit 9 "0"): | 288 | * Legacy OFDM rate format for bits 7:0 (bit 8 must be "0", bit 9 "0"): |
289 | * 3-0: 0xD) 6 Mbps | 289 | * 3-0: 0xD) 6 Mbps |
@@ -320,11 +320,11 @@ struct iwl3945_power_per_rate { | |||
320 | #define RATE_MCS_GF_POS 10 | 320 | #define RATE_MCS_GF_POS 10 |
321 | #define RATE_MCS_GF_MSK 0x400 | 321 | #define RATE_MCS_GF_MSK 0x400 |
322 | 322 | ||
323 | /* Bit 11: (1) Use 40Mhz FAT chnl width, (0) use 20 MHz legacy chnl width */ | 323 | /* Bit 11: (1) Use 40Mhz HT40 chnl width, (0) use 20 MHz legacy chnl width */ |
324 | #define RATE_MCS_FAT_POS 11 | 324 | #define RATE_MCS_HT40_POS 11 |
325 | #define RATE_MCS_FAT_MSK 0x800 | 325 | #define RATE_MCS_HT40_MSK 0x800 |
326 | 326 | ||
327 | /* Bit 12: (1) Duplicate data on both 20MHz chnls. FAT (bit 11) must be set. */ | 327 | /* Bit 12: (1) Duplicate data on both 20MHz chnls. HT40 (bit 11) must be set. */ |
328 | #define RATE_MCS_DUP_POS 12 | 328 | #define RATE_MCS_DUP_POS 12 |
329 | #define RATE_MCS_DUP_MSK 0x1000 | 329 | #define RATE_MCS_DUP_MSK 0x1000 |
330 | 330 | ||
@@ -459,7 +459,7 @@ struct iwl_init_alive_resp { | |||
459 | 459 | ||
460 | /* calibration values from "initialize" uCode */ | 460 | /* calibration values from "initialize" uCode */ |
461 | __le32 voltage; /* signed, higher value is lower voltage */ | 461 | __le32 voltage; /* signed, higher value is lower voltage */ |
462 | __le32 therm_r1[2]; /* signed, 1st for normal, 2nd for FAT channel*/ | 462 | __le32 therm_r1[2]; /* signed, 1st for normal, 2nd for HT40 */ |
463 | __le32 therm_r2[2]; /* signed */ | 463 | __le32 therm_r2[2]; /* signed */ |
464 | __le32 therm_r3[2]; /* signed */ | 464 | __le32 therm_r3[2]; /* signed */ |
465 | __le32 therm_r4[2]; /* signed */ | 465 | __le32 therm_r4[2]; /* signed */ |
@@ -610,7 +610,7 @@ enum { | |||
610 | #define RXON_FLG_HT_OPERATING_MODE_POS (23) | 610 | #define RXON_FLG_HT_OPERATING_MODE_POS (23) |
611 | 611 | ||
612 | #define RXON_FLG_HT_PROT_MSK cpu_to_le32(0x1 << 23) | 612 | #define RXON_FLG_HT_PROT_MSK cpu_to_le32(0x1 << 23) |
613 | #define RXON_FLG_FAT_PROT_MSK cpu_to_le32(0x2 << 23) | 613 | #define RXON_FLG_HT40_PROT_MSK cpu_to_le32(0x2 << 23) |
614 | 614 | ||
615 | #define RXON_FLG_CHANNEL_MODE_POS (25) | 615 | #define RXON_FLG_CHANNEL_MODE_POS (25) |
616 | #define RXON_FLG_CHANNEL_MODE_MSK cpu_to_le32(0x3 << 25) | 616 | #define RXON_FLG_CHANNEL_MODE_MSK cpu_to_le32(0x3 << 25) |
@@ -891,7 +891,7 @@ struct iwl_qosparam_cmd { | |||
891 | #define STA_FLG_AGG_MPDU_8US_MSK cpu_to_le32(1 << 18) | 891 | #define STA_FLG_AGG_MPDU_8US_MSK cpu_to_le32(1 << 18) |
892 | #define STA_FLG_MAX_AGG_SIZE_POS (19) | 892 | #define STA_FLG_MAX_AGG_SIZE_POS (19) |
893 | #define STA_FLG_MAX_AGG_SIZE_MSK cpu_to_le32(3 << 19) | 893 | #define STA_FLG_MAX_AGG_SIZE_MSK cpu_to_le32(3 << 19) |
894 | #define STA_FLG_FAT_EN_MSK cpu_to_le32(1 << 21) | 894 | #define STA_FLG_HT40_EN_MSK cpu_to_le32(1 << 21) |
895 | #define STA_FLG_MIMO_DIS_MSK cpu_to_le32(1 << 22) | 895 | #define STA_FLG_MIMO_DIS_MSK cpu_to_le32(1 << 22) |
896 | #define STA_FLG_AGG_MPDU_DENSITY_POS (23) | 896 | #define STA_FLG_AGG_MPDU_DENSITY_POS (23) |
897 | #define STA_FLG_AGG_MPDU_DENSITY_MSK cpu_to_le32(7 << 23) | 897 | #define STA_FLG_AGG_MPDU_DENSITY_MSK cpu_to_le32(7 << 23) |
@@ -1984,10 +1984,10 @@ struct iwl_link_qual_agg_params { | |||
1984 | * a) Use this same initial rate for first 3 entries. | 1984 | * a) Use this same initial rate for first 3 entries. |
1985 | * b) Find next lower available rate using same mode (SISO or MIMO), | 1985 | * b) Find next lower available rate using same mode (SISO or MIMO), |
1986 | * use for next 3 entries. If no lower rate available, switch to | 1986 | * use for next 3 entries. If no lower rate available, switch to |
1987 | * legacy mode (no FAT channel, no MIMO, no short guard interval). | 1987 | * legacy mode (no HT40 channel, no MIMO, no short guard interval). |
1988 | * c) If using MIMO, set command's mimo_delimiter to number of entries | 1988 | * c) If using MIMO, set command's mimo_delimiter to number of entries |
1989 | * using MIMO (3 or 6). | 1989 | * using MIMO (3 or 6). |
1990 | * d) After trying 2 HT rates, switch to legacy mode (no FAT channel, | 1990 | * d) After trying 2 HT rates, switch to legacy mode (no HT40 channel, |
1991 | * no MIMO, no short guard interval), at the next lower bit rate | 1991 | * no MIMO, no short guard interval), at the next lower bit rate |
1992 | * (e.g. if second HT bit rate was 54, try 48 legacy), and follow | 1992 | * (e.g. if second HT bit rate was 54, try 48 legacy), and follow |
1993 | * legacy procedure for remaining table entries. | 1993 | * legacy procedure for remaining table entries. |
@@ -3017,7 +3017,7 @@ struct iwl_statistics_cmd { | |||
3017 | * one channel that has just been scanned. | 3017 | * one channel that has just been scanned. |
3018 | */ | 3018 | */ |
3019 | #define STATISTICS_REPLY_FLG_BAND_24G_MSK cpu_to_le32(0x2) | 3019 | #define STATISTICS_REPLY_FLG_BAND_24G_MSK cpu_to_le32(0x2) |
3020 | #define STATISTICS_REPLY_FLG_FAT_MODE_MSK cpu_to_le32(0x8) | 3020 | #define STATISTICS_REPLY_FLG_HT40_MODE_MSK cpu_to_le32(0x8) |
3021 | 3021 | ||
3022 | struct iwl3945_notif_statistics { | 3022 | struct iwl3945_notif_statistics { |
3023 | __le32 flag; | 3023 | __le32 flag; |
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.c b/drivers/net/wireless/iwlwifi/iwl-core.c index 30f1953208ee..5315d347a004 100644 --- a/drivers/net/wireless/iwlwifi/iwl-core.c +++ b/drivers/net/wireless/iwlwifi/iwl-core.c | |||
@@ -105,7 +105,7 @@ void iwl_hwrate_to_tx_control(struct iwl_priv *priv, u32 rate_n_flags, | |||
105 | r->flags |= IEEE80211_TX_RC_MCS; | 105 | r->flags |= IEEE80211_TX_RC_MCS; |
106 | if (rate_n_flags & RATE_MCS_GF_MSK) | 106 | if (rate_n_flags & RATE_MCS_GF_MSK) |
107 | r->flags |= IEEE80211_TX_RC_GREEN_FIELD; | 107 | r->flags |= IEEE80211_TX_RC_GREEN_FIELD; |
108 | if (rate_n_flags & RATE_MCS_FAT_MSK) | 108 | if (rate_n_flags & RATE_MCS_HT40_MSK) |
109 | r->flags |= IEEE80211_TX_RC_40_MHZ_WIDTH; | 109 | r->flags |= IEEE80211_TX_RC_40_MHZ_WIDTH; |
110 | if (rate_n_flags & RATE_MCS_DUP_MSK) | 110 | if (rate_n_flags & RATE_MCS_DUP_MSK) |
111 | r->flags |= IEEE80211_TX_RC_DUP_DATA; | 111 | r->flags |= IEEE80211_TX_RC_DUP_DATA; |
@@ -400,7 +400,7 @@ static void iwlcore_init_ht_hw_capab(const struct iwl_priv *priv, | |||
400 | (WLAN_HT_CAP_SM_PS_DISABLED << 2)); | 400 | (WLAN_HT_CAP_SM_PS_DISABLED << 2)); |
401 | 401 | ||
402 | max_bit_rate = MAX_BIT_RATE_20_MHZ; | 402 | max_bit_rate = MAX_BIT_RATE_20_MHZ; |
403 | if (priv->hw_params.fat_channel & BIT(band)) { | 403 | if (priv->hw_params.ht40_channel & BIT(band)) { |
404 | ht_info->cap |= IEEE80211_HT_CAP_SUP_WIDTH_20_40; | 404 | ht_info->cap |= IEEE80211_HT_CAP_SUP_WIDTH_20_40; |
405 | ht_info->cap |= IEEE80211_HT_CAP_SGI_40; | 405 | ht_info->cap |= IEEE80211_HT_CAP_SGI_40; |
406 | ht_info->mcs.rx_mask[4] = 0x01; | 406 | ht_info->mcs.rx_mask[4] = 0x01; |
@@ -540,7 +540,7 @@ int iwlcore_init_geos(struct iwl_priv *priv) | |||
540 | if (ch->flags & EEPROM_CHANNEL_RADAR) | 540 | if (ch->flags & EEPROM_CHANNEL_RADAR) |
541 | geo_ch->flags |= IEEE80211_CHAN_RADAR; | 541 | geo_ch->flags |= IEEE80211_CHAN_RADAR; |
542 | 542 | ||
543 | geo_ch->flags |= ch->fat_extension_channel; | 543 | geo_ch->flags |= ch->ht40_extension_channel; |
544 | 544 | ||
545 | if (ch->max_power_avg > priv->tx_power_channel_lmt) | 545 | if (ch->max_power_avg > priv->tx_power_channel_lmt) |
546 | priv->tx_power_channel_lmt = ch->max_power_avg; | 546 | priv->tx_power_channel_lmt = ch->max_power_avg; |
@@ -604,16 +604,16 @@ static u8 iwl_is_channel_extension(struct iwl_priv *priv, | |||
604 | return 0; | 604 | return 0; |
605 | 605 | ||
606 | if (extension_chan_offset == IEEE80211_HT_PARAM_CHA_SEC_ABOVE) | 606 | if (extension_chan_offset == IEEE80211_HT_PARAM_CHA_SEC_ABOVE) |
607 | return !(ch_info->fat_extension_channel & | 607 | return !(ch_info->ht40_extension_channel & |
608 | IEEE80211_CHAN_NO_HT40PLUS); | 608 | IEEE80211_CHAN_NO_HT40PLUS); |
609 | else if (extension_chan_offset == IEEE80211_HT_PARAM_CHA_SEC_BELOW) | 609 | else if (extension_chan_offset == IEEE80211_HT_PARAM_CHA_SEC_BELOW) |
610 | return !(ch_info->fat_extension_channel & | 610 | return !(ch_info->ht40_extension_channel & |
611 | IEEE80211_CHAN_NO_HT40MINUS); | 611 | IEEE80211_CHAN_NO_HT40MINUS); |
612 | 612 | ||
613 | return 0; | 613 | return 0; |
614 | } | 614 | } |
615 | 615 | ||
616 | u8 iwl_is_fat_tx_allowed(struct iwl_priv *priv, | 616 | u8 iwl_is_ht40_tx_allowed(struct iwl_priv *priv, |
617 | struct ieee80211_sta_ht_cap *sta_ht_inf) | 617 | struct ieee80211_sta_ht_cap *sta_ht_inf) |
618 | { | 618 | { |
619 | struct iwl_ht_info *iwl_ht_conf = &priv->current_ht_config; | 619 | 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 | le16_to_cpu(priv->staging_rxon.channel), | 637 | le16_to_cpu(priv->staging_rxon.channel), |
638 | iwl_ht_conf->extension_chan_offset); | 638 | iwl_ht_conf->extension_chan_offset); |
639 | } | 639 | } |
640 | EXPORT_SYMBOL(iwl_is_fat_tx_allowed); | 640 | EXPORT_SYMBOL(iwl_is_ht40_tx_allowed); |
641 | 641 | ||
642 | static u16 iwl_adjust_beacon_interval(u16 beacon_val, u16 max_beacon_val) | 642 | static u16 iwl_adjust_beacon_interval(u16 beacon_val, u16 max_beacon_val) |
643 | { | 643 | { |
@@ -866,7 +866,7 @@ void iwl_set_rxon_ht(struct iwl_priv *priv, struct iwl_ht_info *ht_info) | |||
866 | if (!ht_info->is_ht) { | 866 | if (!ht_info->is_ht) { |
867 | rxon->flags &= ~(RXON_FLG_CHANNEL_MODE_MSK | | 867 | rxon->flags &= ~(RXON_FLG_CHANNEL_MODE_MSK | |
868 | RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK | | 868 | RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK | |
869 | RXON_FLG_FAT_PROT_MSK | | 869 | RXON_FLG_HT40_PROT_MSK | |
870 | RXON_FLG_HT_PROT_MSK); | 870 | RXON_FLG_HT_PROT_MSK); |
871 | return; | 871 | return; |
872 | } | 872 | } |
@@ -877,12 +877,12 @@ void iwl_set_rxon_ht(struct iwl_priv *priv, struct iwl_ht_info *ht_info) | |||
877 | rxon->flags |= cpu_to_le32(ht_info->ht_protection << RXON_FLG_HT_OPERATING_MODE_POS); | 877 | rxon->flags |= cpu_to_le32(ht_info->ht_protection << RXON_FLG_HT_OPERATING_MODE_POS); |
878 | 878 | ||
879 | /* Set up channel bandwidth: | 879 | /* Set up channel bandwidth: |
880 | * 20 MHz only, 20/40 mixed or pure 40 if fat ok */ | 880 | * 20 MHz only, 20/40 mixed or pure 40 if ht40 ok */ |
881 | /* clear the HT channel mode before set the mode */ | 881 | /* clear the HT channel mode before set the mode */ |
882 | rxon->flags &= ~(RXON_FLG_CHANNEL_MODE_MSK | | 882 | rxon->flags &= ~(RXON_FLG_CHANNEL_MODE_MSK | |
883 | RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK); | 883 | RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK); |
884 | if (iwl_is_fat_tx_allowed(priv, NULL)) { | 884 | if (iwl_is_ht40_tx_allowed(priv, NULL)) { |
885 | /* pure 40 fat */ | 885 | /* pure ht40 */ |
886 | if (ht_info->ht_protection == IEEE80211_HT_OP_MODE_PROTECTION_20MHZ) { | 886 | if (ht_info->ht_protection == IEEE80211_HT_OP_MODE_PROTECTION_20MHZ) { |
887 | rxon->flags |= RXON_FLG_CHANNEL_MODE_PURE_40; | 887 | rxon->flags |= RXON_FLG_CHANNEL_MODE_PURE_40; |
888 | /* Note: control channel is opposite of extension channel */ | 888 | /* Note: control channel is opposite of extension channel */ |
@@ -2428,7 +2428,7 @@ static void iwl_ht_conf(struct iwl_priv *priv, | |||
2428 | else if (conf_is_ht40_plus(&priv->hw->conf)) | 2428 | else if (conf_is_ht40_plus(&priv->hw->conf)) |
2429 | iwl_conf->extension_chan_offset = IEEE80211_HT_PARAM_CHA_SEC_ABOVE; | 2429 | iwl_conf->extension_chan_offset = IEEE80211_HT_PARAM_CHA_SEC_ABOVE; |
2430 | 2430 | ||
2431 | /* If no above or below channel supplied disable FAT channel */ | 2431 | /* If no above or below channel supplied disable HT40 channel */ |
2432 | if (iwl_conf->extension_chan_offset != IEEE80211_HT_PARAM_CHA_SEC_ABOVE && | 2432 | if (iwl_conf->extension_chan_offset != IEEE80211_HT_PARAM_CHA_SEC_ABOVE && |
2433 | iwl_conf->extension_chan_offset != IEEE80211_HT_PARAM_CHA_SEC_BELOW) | 2433 | iwl_conf->extension_chan_offset != IEEE80211_HT_PARAM_CHA_SEC_BELOW) |
2434 | iwl_conf->supported_chan_width = 0; | 2434 | iwl_conf->supported_chan_width = 0; |
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.h b/drivers/net/wireless/iwlwifi/iwl-core.h index 10ddcdda1041..dd66148a7899 100644 --- a/drivers/net/wireless/iwlwifi/iwl-core.h +++ b/drivers/net/wireless/iwlwifi/iwl-core.h | |||
@@ -264,7 +264,7 @@ int iwl_full_rxon_required(struct iwl_priv *priv); | |||
264 | void iwl_set_rxon_chain(struct iwl_priv *priv); | 264 | void iwl_set_rxon_chain(struct iwl_priv *priv); |
265 | int iwl_set_rxon_channel(struct iwl_priv *priv, struct ieee80211_channel *ch); | 265 | int iwl_set_rxon_channel(struct iwl_priv *priv, struct ieee80211_channel *ch); |
266 | void iwl_set_rxon_ht(struct iwl_priv *priv, struct iwl_ht_info *ht_info); | 266 | void iwl_set_rxon_ht(struct iwl_priv *priv, struct iwl_ht_info *ht_info); |
267 | u8 iwl_is_fat_tx_allowed(struct iwl_priv *priv, | 267 | u8 iwl_is_ht40_tx_allowed(struct iwl_priv *priv, |
268 | struct ieee80211_sta_ht_cap *sta_ht_inf); | 268 | struct ieee80211_sta_ht_cap *sta_ht_inf); |
269 | void iwl_set_flags_for_band(struct iwl_priv *priv, enum ieee80211_band band); | 269 | void iwl_set_flags_for_band(struct iwl_priv *priv, enum ieee80211_band band); |
270 | void iwl_connection_init_rx_config(struct iwl_priv *priv, int mode); | 270 | void iwl_connection_init_rx_config(struct iwl_priv *priv, int mode); |
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h index 1bf3e4ccc5d9..624656a2bbaa 100644 --- a/drivers/net/wireless/iwlwifi/iwl-dev.h +++ b/drivers/net/wireless/iwlwifi/iwl-dev.h | |||
@@ -277,8 +277,8 @@ struct iwl_channel_info { | |||
277 | struct iwl4965_channel_tgd_info tgd; | 277 | struct iwl4965_channel_tgd_info tgd; |
278 | struct iwl4965_channel_tgh_info tgh; | 278 | struct iwl4965_channel_tgh_info tgh; |
279 | struct iwl_eeprom_channel eeprom; /* EEPROM regulatory limit */ | 279 | struct iwl_eeprom_channel eeprom; /* EEPROM regulatory limit */ |
280 | struct iwl_eeprom_channel fat_eeprom; /* EEPROM regulatory limit for | 280 | struct iwl_eeprom_channel ht40_eeprom; /* EEPROM regulatory limit for |
281 | * FAT channel */ | 281 | * HT40 channel */ |
282 | 282 | ||
283 | u8 channel; /* channel number */ | 283 | u8 channel; /* channel number */ |
284 | u8 flags; /* flags copied from EEPROM */ | 284 | u8 flags; /* flags copied from EEPROM */ |
@@ -291,13 +291,13 @@ struct iwl_channel_info { | |||
291 | u8 band_index; /* 0-4, maps channel to band1/2/3/4/5 */ | 291 | u8 band_index; /* 0-4, maps channel to band1/2/3/4/5 */ |
292 | enum ieee80211_band band; | 292 | enum ieee80211_band band; |
293 | 293 | ||
294 | /* FAT channel info */ | 294 | /* HT40 channel info */ |
295 | s8 fat_max_power_avg; /* (dBm) regul. eeprom, normal Tx, any rate */ | 295 | s8 ht40_max_power_avg; /* (dBm) regul. eeprom, normal Tx, any rate */ |
296 | s8 fat_curr_txpow; /* (dBm) regulatory/spectrum/user (not h/w) */ | 296 | s8 ht40_curr_txpow; /* (dBm) regulatory/spectrum/user (not h/w) */ |
297 | s8 fat_min_power; /* always 0 */ | 297 | s8 ht40_min_power; /* always 0 */ |
298 | s8 fat_scan_power; /* (dBm) eeprom, direct scans, any rate */ | 298 | s8 ht40_scan_power; /* (dBm) eeprom, direct scans, any rate */ |
299 | u8 fat_flags; /* flags copied from EEPROM */ | 299 | u8 ht40_flags; /* flags copied from EEPROM */ |
300 | u8 fat_extension_channel; /* HT_IE_EXT_CHANNEL_* */ | 300 | u8 ht40_extension_channel; /* HT_IE_EXT_CHANNEL_* */ |
301 | 301 | ||
302 | /* Radio/DSP gain settings for each "normal" data Tx rate. | 302 | /* Radio/DSP gain settings for each "normal" data Tx rate. |
303 | * These include, in addition to RF and DSP gain, a few fields for | 303 | * These include, in addition to RF and DSP gain, a few fields for |
@@ -649,7 +649,7 @@ struct iwl_sensitivity_ranges { | |||
649 | * @rx_wrt_ptr_reg: FH{39}_RSCSR_CHNL0_WPTR | 649 | * @rx_wrt_ptr_reg: FH{39}_RSCSR_CHNL0_WPTR |
650 | * @max_stations: | 650 | * @max_stations: |
651 | * @bcast_sta_id: | 651 | * @bcast_sta_id: |
652 | * @fat_channel: is 40MHz width possible in band 2.4 | 652 | * @ht40_channel: is 40MHz width possible in band 2.4 |
653 | * BIT(IEEE80211_BAND_5GHZ) BIT(IEEE80211_BAND_5GHZ) | 653 | * BIT(IEEE80211_BAND_5GHZ) BIT(IEEE80211_BAND_5GHZ) |
654 | * @sw_crypto: 0 for hw, 1 for sw | 654 | * @sw_crypto: 0 for hw, 1 for sw |
655 | * @max_xxx_size: for ucode uses | 655 | * @max_xxx_size: for ucode uses |
@@ -673,7 +673,7 @@ struct iwl_hw_params { | |||
673 | u32 max_pkt_size; | 673 | u32 max_pkt_size; |
674 | u8 max_stations; | 674 | u8 max_stations; |
675 | u8 bcast_sta_id; | 675 | u8 bcast_sta_id; |
676 | u8 fat_channel; | 676 | u8 ht40_channel; |
677 | u8 max_beacon_itrvl; /* in 1024 ms */ | 677 | u8 max_beacon_itrvl; /* in 1024 ms */ |
678 | u32 max_inst_size; | 678 | u32 max_inst_size; |
679 | u32 max_data_size; | 679 | u32 max_data_size; |
diff --git a/drivers/net/wireless/iwlwifi/iwl-eeprom.c b/drivers/net/wireless/iwlwifi/iwl-eeprom.c index 51eed7226669..78c4a324a3b5 100644 --- a/drivers/net/wireless/iwlwifi/iwl-eeprom.c +++ b/drivers/net/wireless/iwlwifi/iwl-eeprom.c | |||
@@ -127,11 +127,11 @@ static const u8 iwl_eeprom_band_5[] = { /* 5725-5825MHz */ | |||
127 | 145, 149, 153, 157, 161, 165 | 127 | 145, 149, 153, 157, 161, 165 |
128 | }; | 128 | }; |
129 | 129 | ||
130 | static const u8 iwl_eeprom_band_6[] = { /* 2.4 FAT channel */ | 130 | static const u8 iwl_eeprom_band_6[] = { /* 2.4 ht40 channel */ |
131 | 1, 2, 3, 4, 5, 6, 7 | 131 | 1, 2, 3, 4, 5, 6, 7 |
132 | }; | 132 | }; |
133 | 133 | ||
134 | static const u8 iwl_eeprom_band_7[] = { /* 5.2 FAT channel */ | 134 | static const u8 iwl_eeprom_band_7[] = { /* 5.2 ht40 channel */ |
135 | 36, 44, 52, 60, 100, 108, 116, 124, 132, 149, 157 | 135 | 36, 44, 52, 60, 100, 108, 116, 124, 132, 149, 157 |
136 | }; | 136 | }; |
137 | 137 | ||
@@ -462,13 +462,13 @@ static void iwl_init_band_reference(const struct iwl_priv *priv, | |||
462 | iwl_eeprom_query_addr(priv, offset); | 462 | iwl_eeprom_query_addr(priv, offset); |
463 | *eeprom_ch_index = iwl_eeprom_band_5; | 463 | *eeprom_ch_index = iwl_eeprom_band_5; |
464 | break; | 464 | break; |
465 | case 6: /* 2.4GHz FAT channels */ | 465 | case 6: /* 2.4GHz ht40 channels */ |
466 | *eeprom_ch_count = ARRAY_SIZE(iwl_eeprom_band_6); | 466 | *eeprom_ch_count = ARRAY_SIZE(iwl_eeprom_band_6); |
467 | *eeprom_ch_info = (struct iwl_eeprom_channel *) | 467 | *eeprom_ch_info = (struct iwl_eeprom_channel *) |
468 | iwl_eeprom_query_addr(priv, offset); | 468 | iwl_eeprom_query_addr(priv, offset); |
469 | *eeprom_ch_index = iwl_eeprom_band_6; | 469 | *eeprom_ch_index = iwl_eeprom_band_6; |
470 | break; | 470 | break; |
471 | case 7: /* 5 GHz FAT channels */ | 471 | case 7: /* 5 GHz ht40 channels */ |
472 | *eeprom_ch_count = ARRAY_SIZE(iwl_eeprom_band_7); | 472 | *eeprom_ch_count = ARRAY_SIZE(iwl_eeprom_band_7); |
473 | *eeprom_ch_info = (struct iwl_eeprom_channel *) | 473 | *eeprom_ch_info = (struct iwl_eeprom_channel *) |
474 | iwl_eeprom_query_addr(priv, offset); | 474 | iwl_eeprom_query_addr(priv, offset); |
@@ -484,14 +484,14 @@ static void iwl_init_band_reference(const struct iwl_priv *priv, | |||
484 | ? # x " " : "") | 484 | ? # x " " : "") |
485 | 485 | ||
486 | /** | 486 | /** |
487 | * iwl_set_fat_chan_info - Copy fat channel info into driver's priv. | 487 | * iwl_set_ht40_chan_info - Copy ht40 channel info into driver's priv. |
488 | * | 488 | * |
489 | * Does not set up a command, or touch hardware. | 489 | * Does not set up a command, or touch hardware. |
490 | */ | 490 | */ |
491 | static int iwl_set_fat_chan_info(struct iwl_priv *priv, | 491 | static int iwl_set_ht40_chan_info(struct iwl_priv *priv, |
492 | enum ieee80211_band band, u16 channel, | 492 | enum ieee80211_band band, u16 channel, |
493 | const struct iwl_eeprom_channel *eeprom_ch, | 493 | const struct iwl_eeprom_channel *eeprom_ch, |
494 | u8 fat_extension_channel) | 494 | u8 ht40_extension_channel) |
495 | { | 495 | { |
496 | struct iwl_channel_info *ch_info; | 496 | struct iwl_channel_info *ch_info; |
497 | 497 | ||
@@ -501,7 +501,7 @@ static int iwl_set_fat_chan_info(struct iwl_priv *priv, | |||
501 | if (!is_channel_valid(ch_info)) | 501 | if (!is_channel_valid(ch_info)) |
502 | return -1; | 502 | return -1; |
503 | 503 | ||
504 | IWL_DEBUG_INFO(priv, "FAT Ch. %d [%sGHz] %s%s%s%s%s(0x%02x %ddBm):" | 504 | IWL_DEBUG_INFO(priv, "HT40 Ch. %d [%sGHz] %s%s%s%s%s(0x%02x %ddBm):" |
505 | " Ad-Hoc %ssupported\n", | 505 | " Ad-Hoc %ssupported\n", |
506 | ch_info->channel, | 506 | ch_info->channel, |
507 | is_channel_a_band(ch_info) ? | 507 | is_channel_a_band(ch_info) ? |
@@ -517,13 +517,13 @@ static int iwl_set_fat_chan_info(struct iwl_priv *priv, | |||
517 | && !(eeprom_ch->flags & EEPROM_CHANNEL_RADAR)) ? | 517 | && !(eeprom_ch->flags & EEPROM_CHANNEL_RADAR)) ? |
518 | "" : "not "); | 518 | "" : "not "); |
519 | 519 | ||
520 | ch_info->fat_eeprom = *eeprom_ch; | 520 | ch_info->ht40_eeprom = *eeprom_ch; |
521 | ch_info->fat_max_power_avg = eeprom_ch->max_power_avg; | 521 | ch_info->ht40_max_power_avg = eeprom_ch->max_power_avg; |
522 | ch_info->fat_curr_txpow = eeprom_ch->max_power_avg; | 522 | ch_info->ht40_curr_txpow = eeprom_ch->max_power_avg; |
523 | ch_info->fat_min_power = 0; | 523 | ch_info->ht40_min_power = 0; |
524 | ch_info->fat_scan_power = eeprom_ch->max_power_avg; | 524 | ch_info->ht40_scan_power = eeprom_ch->max_power_avg; |
525 | ch_info->fat_flags = eeprom_ch->flags; | 525 | ch_info->ht40_flags = eeprom_ch->flags; |
526 | ch_info->fat_extension_channel = fat_extension_channel; | 526 | ch_info->ht40_extension_channel = ht40_extension_channel; |
527 | 527 | ||
528 | return 0; | 528 | return 0; |
529 | } | 529 | } |
@@ -589,9 +589,9 @@ int iwl_init_channel_map(struct iwl_priv *priv) | |||
589 | /* Copy the run-time flags so they are there even on | 589 | /* Copy the run-time flags so they are there even on |
590 | * invalid channels */ | 590 | * invalid channels */ |
591 | ch_info->flags = eeprom_ch_info[ch].flags; | 591 | ch_info->flags = eeprom_ch_info[ch].flags; |
592 | /* First write that fat is not enabled, and then enable | 592 | /* First write that ht40 is not enabled, and then enable |
593 | * one by one */ | 593 | * one by one */ |
594 | ch_info->fat_extension_channel = | 594 | ch_info->ht40_extension_channel = |
595 | (IEEE80211_CHAN_NO_HT40PLUS | | 595 | (IEEE80211_CHAN_NO_HT40PLUS | |
596 | IEEE80211_CHAN_NO_HT40MINUS); | 596 | IEEE80211_CHAN_NO_HT40MINUS); |
597 | 597 | ||
@@ -642,17 +642,17 @@ int iwl_init_channel_map(struct iwl_priv *priv) | |||
642 | } | 642 | } |
643 | } | 643 | } |
644 | 644 | ||
645 | /* Check if we do have FAT channels */ | 645 | /* Check if we do have HT40 channels */ |
646 | if (priv->cfg->ops->lib->eeprom_ops.regulatory_bands[5] == | 646 | if (priv->cfg->ops->lib->eeprom_ops.regulatory_bands[5] == |
647 | EEPROM_REGULATORY_BAND_NO_FAT && | 647 | EEPROM_REGULATORY_BAND_NO_HT40 && |
648 | priv->cfg->ops->lib->eeprom_ops.regulatory_bands[6] == | 648 | priv->cfg->ops->lib->eeprom_ops.regulatory_bands[6] == |
649 | EEPROM_REGULATORY_BAND_NO_FAT) | 649 | EEPROM_REGULATORY_BAND_NO_HT40) |
650 | return 0; | 650 | return 0; |
651 | 651 | ||
652 | /* Two additional EEPROM bands for 2.4 and 5 GHz FAT channels */ | 652 | /* Two additional EEPROM bands for 2.4 and 5 GHz HT40 channels */ |
653 | for (band = 6; band <= 7; band++) { | 653 | for (band = 6; band <= 7; band++) { |
654 | enum ieee80211_band ieeeband; | 654 | enum ieee80211_band ieeeband; |
655 | u8 fat_extension_chan; | 655 | u8 ht40_extension_chan; |
656 | 656 | ||
657 | iwl_init_band_reference(priv, band, &eeprom_ch_count, | 657 | iwl_init_band_reference(priv, band, &eeprom_ch_count, |
658 | &eeprom_ch_info, &eeprom_ch_index); | 658 | &eeprom_ch_info, &eeprom_ch_index); |
@@ -669,19 +669,19 @@ int iwl_init_channel_map(struct iwl_priv *priv) | |||
669 | (eeprom_ch_index[ch] == 6) || | 669 | (eeprom_ch_index[ch] == 6) || |
670 | (eeprom_ch_index[ch] == 7))) | 670 | (eeprom_ch_index[ch] == 7))) |
671 | /* both are allowed: above and below */ | 671 | /* both are allowed: above and below */ |
672 | fat_extension_chan = 0; | 672 | ht40_extension_chan = 0; |
673 | else | 673 | else |
674 | fat_extension_chan = | 674 | ht40_extension_chan = |
675 | IEEE80211_CHAN_NO_HT40MINUS; | 675 | IEEE80211_CHAN_NO_HT40MINUS; |
676 | 676 | ||
677 | /* Set up driver's info for lower half */ | 677 | /* Set up driver's info for lower half */ |
678 | iwl_set_fat_chan_info(priv, ieeeband, | 678 | iwl_set_ht40_chan_info(priv, ieeeband, |
679 | eeprom_ch_index[ch], | 679 | eeprom_ch_index[ch], |
680 | &(eeprom_ch_info[ch]), | 680 | &(eeprom_ch_info[ch]), |
681 | fat_extension_chan); | 681 | ht40_extension_chan); |
682 | 682 | ||
683 | /* Set up driver's info for upper half */ | 683 | /* Set up driver's info for upper half */ |
684 | iwl_set_fat_chan_info(priv, ieeeband, | 684 | iwl_set_ht40_chan_info(priv, ieeeband, |
685 | (eeprom_ch_index[ch] + 4), | 685 | (eeprom_ch_index[ch] + 4), |
686 | &(eeprom_ch_info[ch]), | 686 | &(eeprom_ch_info[ch]), |
687 | IEEE80211_CHAN_NO_HT40PLUS); | 687 | IEEE80211_CHAN_NO_HT40PLUS); |
diff --git a/drivers/net/wireless/iwlwifi/iwl-eeprom.h b/drivers/net/wireless/iwlwifi/iwl-eeprom.h index 195b4ef12c27..05d4fc4451dc 100644 --- a/drivers/net/wireless/iwlwifi/iwl-eeprom.h +++ b/drivers/net/wireless/iwlwifi/iwl-eeprom.h | |||
@@ -88,10 +88,10 @@ struct iwl_priv; | |||
88 | * requirement for establishing a new network for legal operation on channels | 88 | * requirement for establishing a new network for legal operation on channels |
89 | * requiring RADAR detection or restricting ACTIVE scanning. | 89 | * requiring RADAR detection or restricting ACTIVE scanning. |
90 | * | 90 | * |
91 | * NOTE: "WIDE" flag does not indicate anything about "FAT" 40 MHz channels. | 91 | * NOTE: "WIDE" flag does not indicate anything about "HT40" 40 MHz channels. |
92 | * It only indicates that 20 MHz channel use is supported; FAT channel | 92 | * It only indicates that 20 MHz channel use is supported; HT40 channel |
93 | * usage is indicated by a separate set of regulatory flags for each | 93 | * usage is indicated by a separate set of regulatory flags for each |
94 | * FAT channel pair. | 94 | * HT40 channel pair. |
95 | * | 95 | * |
96 | * NOTE: Using a channel inappropriately will result in a uCode error! | 96 | * NOTE: Using a channel inappropriately will result in a uCode error! |
97 | */ | 97 | */ |
@@ -112,7 +112,7 @@ enum { | |||
112 | #define EEPROM_SKU_CAP_HW_RF_KILL_ENABLE (1 << 1) | 112 | #define EEPROM_SKU_CAP_HW_RF_KILL_ENABLE (1 << 1) |
113 | 113 | ||
114 | /* *regulatory* channel data format in eeprom, one for each channel. | 114 | /* *regulatory* channel data format in eeprom, one for each channel. |
115 | * There are separate entries for FAT (40 MHz) vs. normal (20 MHz) channels. */ | 115 | * There are separate entries for HT40 (40 MHz) vs. normal (20 MHz) channels. */ |
116 | struct iwl_eeprom_channel { | 116 | struct iwl_eeprom_channel { |
117 | u8 flags; /* EEPROM_CHANNEL_* flags copied from EEPROM */ | 117 | u8 flags; /* EEPROM_CHANNEL_* flags copied from EEPROM */ |
118 | s8 max_power_avg; /* max power (dBm) on this chnl, limit 31 */ | 118 | s8 max_power_avg; /* max power (dBm) on this chnl, limit 31 */ |
@@ -170,9 +170,9 @@ struct iwl_eeprom_channel { | |||
170 | | INDIRECT_ADDRESS | INDIRECT_REGULATORY) /* 22 bytes */ | 170 | | INDIRECT_ADDRESS | INDIRECT_REGULATORY) /* 22 bytes */ |
171 | #define EEPROM_5000_REG_BAND_5_CHANNELS ((0x74)\ | 171 | #define EEPROM_5000_REG_BAND_5_CHANNELS ((0x74)\ |
172 | | INDIRECT_ADDRESS | INDIRECT_REGULATORY) /* 12 bytes */ | 172 | | INDIRECT_ADDRESS | INDIRECT_REGULATORY) /* 12 bytes */ |
173 | #define EEPROM_5000_REG_BAND_24_FAT_CHANNELS ((0x82)\ | 173 | #define EEPROM_5000_REG_BAND_24_HT40_CHANNELS ((0x82)\ |
174 | | INDIRECT_ADDRESS | INDIRECT_REGULATORY) /* 14 bytes */ | 174 | | INDIRECT_ADDRESS | INDIRECT_REGULATORY) /* 14 bytes */ |
175 | #define EEPROM_5000_REG_BAND_52_FAT_CHANNELS ((0x92)\ | 175 | #define EEPROM_5000_REG_BAND_52_HT40_CHANNELS ((0x92)\ |
176 | | INDIRECT_ADDRESS | INDIRECT_REGULATORY) /* 22 bytes */ | 176 | | INDIRECT_ADDRESS | INDIRECT_REGULATORY) /* 22 bytes */ |
177 | 177 | ||
178 | /* 5050 Specific */ | 178 | /* 5050 Specific */ |
@@ -313,7 +313,7 @@ struct iwl_eeprom_calib_info { | |||
313 | * in EEPROM containing EEPROM_CHANNEL_* usage flags (LSB) and max regulatory | 313 | * in EEPROM containing EEPROM_CHANNEL_* usage flags (LSB) and max regulatory |
314 | * txpower (MSB). | 314 | * txpower (MSB). |
315 | * | 315 | * |
316 | * Entries immediately below are for 20 MHz channel width. FAT (40 MHz) | 316 | * Entries immediately below are for 20 MHz channel width. HT40 (40 MHz) |
317 | * channels (only for 4965, not supported by 3945) appear later in the EEPROM. | 317 | * channels (only for 4965, not supported by 3945) appear later in the EEPROM. |
318 | * | 318 | * |
319 | * 2.4 GHz channels 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 | 319 | * 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 | #define EEPROM_REGULATORY_BAND_5_CHANNELS (2*0x99) /* 12 bytes */ | 352 | #define EEPROM_REGULATORY_BAND_5_CHANNELS (2*0x99) /* 12 bytes */ |
353 | 353 | ||
354 | /* | 354 | /* |
355 | * 2.4 GHz FAT channels 1 (5), 2 (6), 3 (7), 4 (8), 5 (9), 6 (10), 7 (11) | 355 | * 2.4 GHz HT40 channels 1 (5), 2 (6), 3 (7), 4 (8), 5 (9), 6 (10), 7 (11) |
356 | * | 356 | * |
357 | * The channel listed is the center of the lower 20 MHz half of the channel. | 357 | * The channel listed is the center of the lower 20 MHz half of the channel. |
358 | * The overall center frequency is actually 2 channels (10 MHz) above that, | 358 | * The overall center frequency is actually 2 channels (10 MHz) above that, |
359 | * and the upper half of each FAT channel is centered 4 channels (20 MHz) away | 359 | * and the upper half of each HT40 channel is centered 4 channels (20 MHz) away |
360 | * from the lower half; e.g. the upper half of FAT channel 1 is channel 5, | 360 | * from the lower half; e.g. the upper half of HT40 channel 1 is channel 5, |
361 | * and the overall FAT channel width centers on channel 3. | 361 | * and the overall HT40 channel width centers on channel 3. |
362 | * | 362 | * |
363 | * NOTE: The RXON command uses 20 MHz channel numbers to specify the | 363 | * NOTE: The RXON command uses 20 MHz channel numbers to specify the |
364 | * control channel to which to tune. RXON also specifies whether the | 364 | * control channel to which to tune. RXON also specifies whether the |
365 | * control channel is the upper or lower half of a FAT channel. | 365 | * control channel is the upper or lower half of a HT40 channel. |
366 | * | 366 | * |
367 | * NOTE: 4965 does not support FAT channels on 2.4 GHz. | 367 | * NOTE: 4965 does not support HT40 channels on 2.4 GHz. |
368 | */ | 368 | */ |
369 | #define EEPROM_4965_REGULATORY_BAND_24_FAT_CHANNELS (2*0xA0) /* 14 bytes */ | 369 | #define EEPROM_4965_REGULATORY_BAND_24_HT40_CHANNELS (2*0xA0) /* 14 bytes */ |
370 | 370 | ||
371 | /* | 371 | /* |
372 | * 5.2 GHz FAT channels 36 (40), 44 (48), 52 (56), 60 (64), | 372 | * 5.2 GHz HT40 channels 36 (40), 44 (48), 52 (56), 60 (64), |
373 | * 100 (104), 108 (112), 116 (120), 124 (128), 132 (136), 149 (153), 157 (161) | 373 | * 100 (104), 108 (112), 116 (120), 124 (128), 132 (136), 149 (153), 157 (161) |
374 | */ | 374 | */ |
375 | #define EEPROM_4965_REGULATORY_BAND_52_FAT_CHANNELS (2*0xA8) /* 22 bytes */ | 375 | #define EEPROM_4965_REGULATORY_BAND_52_HT40_CHANNELS (2*0xA8) /* 22 bytes */ |
376 | 376 | ||
377 | #define EEPROM_REGULATORY_BAND_NO_FAT (0) | 377 | #define EEPROM_REGULATORY_BAND_NO_HT40 (0) |
378 | 378 | ||
379 | struct iwl_eeprom_ops { | 379 | struct iwl_eeprom_ops { |
380 | const u32 regulatory_bands[7]; | 380 | const u32 regulatory_bands[7]; |
diff --git a/drivers/net/wireless/iwlwifi/iwl-power.c b/drivers/net/wireless/iwlwifi/iwl-power.c index 00937b3ee8ec..594b5c2540b5 100644 --- a/drivers/net/wireless/iwlwifi/iwl-power.c +++ b/drivers/net/wireless/iwlwifi/iwl-power.c | |||
@@ -583,7 +583,7 @@ static void iwl_advance_tt_handler(struct iwl_priv *priv, s32 temp) | |||
583 | /* disable HT */ | 583 | /* disable HT */ |
584 | rxon->flags &= ~(RXON_FLG_CHANNEL_MODE_MSK | | 584 | rxon->flags &= ~(RXON_FLG_CHANNEL_MODE_MSK | |
585 | RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK | | 585 | RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK | |
586 | RXON_FLG_FAT_PROT_MSK | | 586 | RXON_FLG_HT40_PROT_MSK | |
587 | RXON_FLG_HT_PROT_MSK); | 587 | RXON_FLG_HT_PROT_MSK); |
588 | else { | 588 | else { |
589 | /* check HT capability and set | 589 | /* check HT capability and set |
diff --git a/drivers/net/wireless/iwlwifi/iwl-rx.c b/drivers/net/wireless/iwlwifi/iwl-rx.c index 98f014276e6d..9e63f9d149ed 100644 --- a/drivers/net/wireless/iwlwifi/iwl-rx.c +++ b/drivers/net/wireless/iwlwifi/iwl-rx.c | |||
@@ -544,8 +544,8 @@ void iwl_rx_statistics(struct iwl_priv *priv, | |||
544 | change = ((priv->statistics.general.temperature != | 544 | change = ((priv->statistics.general.temperature != |
545 | pkt->u.stats.general.temperature) || | 545 | pkt->u.stats.general.temperature) || |
546 | ((priv->statistics.flag & | 546 | ((priv->statistics.flag & |
547 | STATISTICS_REPLY_FLG_FAT_MODE_MSK) != | 547 | STATISTICS_REPLY_FLG_HT40_MODE_MSK) != |
548 | (pkt->u.stats.flag & STATISTICS_REPLY_FLG_FAT_MODE_MSK))); | 548 | (pkt->u.stats.flag & STATISTICS_REPLY_FLG_HT40_MODE_MSK))); |
549 | 549 | ||
550 | memcpy(&priv->statistics, &pkt->u.stats, sizeof(priv->statistics)); | 550 | memcpy(&priv->statistics, &pkt->u.stats, sizeof(priv->statistics)); |
551 | 551 | ||
diff --git a/drivers/net/wireless/iwlwifi/iwl-sta.c b/drivers/net/wireless/iwlwifi/iwl-sta.c index def12545d9a9..c6633fec8216 100644 --- a/drivers/net/wireless/iwlwifi/iwl-sta.c +++ b/drivers/net/wireless/iwlwifi/iwl-sta.c | |||
@@ -214,10 +214,10 @@ static void iwl_set_ht_add_station(struct iwl_priv *priv, u8 index, | |||
214 | sta_flags |= cpu_to_le32( | 214 | sta_flags |= cpu_to_le32( |
215 | (u32)sta_ht_inf->ampdu_density << STA_FLG_AGG_MPDU_DENSITY_POS); | 215 | (u32)sta_ht_inf->ampdu_density << STA_FLG_AGG_MPDU_DENSITY_POS); |
216 | 216 | ||
217 | if (iwl_is_fat_tx_allowed(priv, sta_ht_inf)) | 217 | if (iwl_is_ht40_tx_allowed(priv, sta_ht_inf)) |
218 | sta_flags |= STA_FLG_FAT_EN_MSK; | 218 | sta_flags |= STA_FLG_HT40_EN_MSK; |
219 | else | 219 | else |
220 | sta_flags &= ~STA_FLG_FAT_EN_MSK; | 220 | sta_flags &= ~STA_FLG_HT40_EN_MSK; |
221 | 221 | ||
222 | priv->stations[index].sta.station_flags = sta_flags; | 222 | priv->stations[index].sta.station_flags = sta_flags; |
223 | done: | 223 | done: |