This diff removes turbo mode, which is a proprietary extension offered by Atheros devices of the ath(4) 11a/b/g generation. This seems to be a channel bonding technique, similar to 11n 40 MHz channels but not interoperable with 11n.
I'd like to remove this because the implementation looks incomplete, the code adds extra complexity, and because turbo mode apparently only works with a specific set of old Atheros devices from 10 years ago. Index: share/man/man4/ifmedia.4 =================================================================== RCS file: /cvs/src/share/man/man4/ifmedia.4,v retrieving revision 1.21 diff -u -p -r1.21 ifmedia.4 --- share/man/man4/ifmedia.4 10 Sep 2015 17:55:21 -0000 1.21 +++ share/man/man4/ifmedia.4 10 Jan 2016 13:53:44 -0000 @@ -286,9 +286,6 @@ IBSS master mode. .It Dv IFM_IEEE80211_MONITOR Monitor mode. [monitor] -.It Dv IFM_IEEE80211_TURBO -Turbo mode. -[turbo] .El .Pp The following media modes are defined for IEEE802.11 Wireless LAN: Index: sys/dev/ic/ar5210.c =================================================================== RCS file: /cvs/src/sys/dev/ic/ar5210.c,v retrieving revision 1.46 diff -u -p -r1.46 ar5210.c --- sys/dev/ic/ar5210.c 12 Jul 2014 18:48:17 -0000 1.46 +++ sys/dev/ic/ar5210.c 10 Jan 2016 14:01:53 -0000 @@ -26,8 +26,8 @@ #include <dev/ic/ar5210var.h> HAL_BOOL ar5k_ar5210_nic_reset(struct ath_hal *, u_int32_t); -HAL_BOOL ar5k_ar5210_nic_wakeup(struct ath_hal *, HAL_BOOL, HAL_BOOL); -void ar5k_ar5210_init_tx_queue(struct ath_hal *, u_int, HAL_BOOL); +HAL_BOOL ar5k_ar5210_nic_wakeup(struct ath_hal *, HAL_BOOL); +void ar5k_ar5210_init_tx_queue(struct ath_hal *, u_int); void ar5k_ar5210_fill(struct ath_hal *); HAL_BOOL ar5k_ar5210_do_calibrate(struct ath_hal *, HAL_CHANNEL *); HAL_BOOL ar5k_ar5210_noise_floor(struct ath_hal *, HAL_CHANNEL *); @@ -202,7 +202,7 @@ ar5k_ar5210_attach(u_int16_t device, voi ar5k_ar5210_fill(hal); /* Bring device out of sleep and reset its units */ - if (ar5k_ar5210_nic_wakeup(hal, AH_FALSE, AH_TRUE) != AH_TRUE) + if (ar5k_ar5210_nic_wakeup(hal, AH_TRUE) != AH_TRUE) return (NULL); /* Get MAC, PHY and RADIO revisions */ @@ -270,7 +270,7 @@ ar5k_ar5210_nic_reset(struct ath_hal *ha } HAL_BOOL -ar5k_ar5210_nic_wakeup(struct ath_hal *hal, HAL_BOOL turbo, HAL_BOOL initial) +ar5k_ar5210_nic_wakeup(struct ath_hal *hal, HAL_BOOL initial) { /* * Reset and wakeup the device @@ -294,9 +294,8 @@ ar5k_ar5210_nic_wakeup(struct ath_hal *h return (AH_FALSE); } - /* ...enable Atheros turbo mode if requested */ - AR5K_REG_WRITE(AR5K_AR5210_PHY_FC, - turbo == AH_TRUE ? AR5K_AR5210_PHY_FC_TURBO_MODE : 0); + /* ...do not enable Atheros turbo mode */ + AR5K_REG_WRITE(AR5K_AR5210_PHY_FC, 0); /* ...reset chipset */ if (ar5k_ar5210_nic_reset(hal, AR5K_AR5210_RC_CHIP) == AH_FALSE) { @@ -337,8 +336,6 @@ ar5k_ar5210_get_rate_table(struct ath_ha switch (mode) { case HAL_MODE_11A: return (&hal->ah_rt_11a); - case HAL_MODE_TURBO: - return (&hal->ah_rt_turbo); case HAL_MODE_11B: case HAL_MODE_11G: default: @@ -373,9 +370,7 @@ ar5k_ar5210_reset(struct ath_hal *hal, H /* Not used, keep for HAL compatibility */ *status = HAL_OK; - if (ar5k_ar5210_nic_wakeup(hal, - channel->c_channel_flags & IEEE80211_CHAN_T ? - AH_TRUE : AH_FALSE, AH_FALSE) == AH_FALSE) + if (ar5k_ar5210_nic_wakeup(hal, AH_FALSE) == AH_FALSE) return (AH_FALSE); /* @@ -797,21 +792,19 @@ ar5k_ar5210_release_tx_queue(struct ath_ } void -ar5k_ar5210_init_tx_queue(struct ath_hal *hal, u_int aifs, HAL_BOOL turbo) +ar5k_ar5210_init_tx_queue(struct ath_hal *hal, u_int aifs) { int i; struct { u_int16_t mode_register; - u_int32_t mode_base, mode_turbo; + u_int32_t mode_base; } initial[] = AR5K_AR5210_INI_MODE(aifs); /* * Write initial mode register settings */ for (i = 0; i < nitems(initial); i++) - AR5K_REG_WRITE((u_int32_t)initial[i].mode_register, - turbo == AH_TRUE ? - initial[i].mode_turbo : initial[i].mode_base); + AR5K_REG_WRITE((u_int32_t)initial[i].mode_register, initial[i].mode_base); } HAL_BOOL @@ -829,8 +822,7 @@ ar5k_ar5210_reset_tx_queue(struct ath_ha return (AH_TRUE); /* Set turbo/base mode parameters */ - ar5k_ar5210_init_tx_queue(hal, hal->ah_aifs + tq->tqi_aifs, - hal->ah_turbo == AH_TRUE ? AH_TRUE : AH_FALSE); + ar5k_ar5210_init_tx_queue(hal, hal->ah_aifs + tq->tqi_aifs); /* * Set retry limits @@ -1742,8 +1734,7 @@ ar5k_ar5210_set_slot_time(struct ath_hal if (slot_time < HAL_SLOT_TIME_9 || slot_time > HAL_SLOT_TIME_MAX) return (AH_FALSE); - AR5K_REG_WRITE(AR5K_AR5210_SLOT_TIME, - ar5k_htoclock(slot_time, hal->ah_turbo)); + AR5K_REG_WRITE(AR5K_AR5210_SLOT_TIME, ar5k_htoclock(slot_time)); return (AH_TRUE); } @@ -1751,19 +1742,18 @@ ar5k_ar5210_set_slot_time(struct ath_hal u_int ar5k_ar5210_get_slot_time(struct ath_hal *hal) { - return (ar5k_clocktoh(AR5K_REG_READ(AR5K_AR5210_SLOT_TIME) & - 0xffff, hal->ah_turbo)); + return (ar5k_clocktoh(AR5K_REG_READ(AR5K_AR5210_SLOT_TIME) & 0xffff)); } HAL_BOOL ar5k_ar5210_set_ack_timeout(struct ath_hal *hal, u_int timeout) { - if (ar5k_clocktoh(AR5K_REG_MS(0xffffffff, AR5K_AR5210_TIME_OUT_ACK), - hal->ah_turbo) <= timeout) + if (ar5k_clocktoh(AR5K_REG_MS(0xffffffff, AR5K_AR5210_TIME_OUT_ACK)) + <= timeout) return (AH_FALSE); AR5K_REG_WRITE_BITS(AR5K_AR5210_TIME_OUT, AR5K_AR5210_TIME_OUT_ACK, - ar5k_htoclock(timeout, hal->ah_turbo)); + ar5k_htoclock(timeout)); return (AH_TRUE); } @@ -1772,18 +1762,18 @@ u_int ar5k_ar5210_get_ack_timeout(struct ath_hal *hal) { return (ar5k_clocktoh(AR5K_REG_MS(AR5K_REG_READ(AR5K_AR5210_TIME_OUT), - AR5K_AR5210_TIME_OUT_ACK), hal->ah_turbo)); + AR5K_AR5210_TIME_OUT_ACK))); } HAL_BOOL ar5k_ar5210_set_cts_timeout(struct ath_hal *hal, u_int timeout) { - if (ar5k_clocktoh(AR5K_REG_MS(0xffffffff, AR5K_AR5210_TIME_OUT_CTS), - hal->ah_turbo) <= timeout) + if (ar5k_clocktoh(AR5K_REG_MS(0xffffffff, AR5K_AR5210_TIME_OUT_CTS)) + <= timeout) return (AH_FALSE); AR5K_REG_WRITE_BITS(AR5K_AR5210_TIME_OUT, AR5K_AR5210_TIME_OUT_CTS, - ar5k_htoclock(timeout, hal->ah_turbo)); + ar5k_htoclock(timeout)); return (AH_TRUE); } @@ -1792,7 +1782,7 @@ u_int ar5k_ar5210_get_cts_timeout(struct ath_hal *hal) { return (ar5k_clocktoh(AR5K_REG_MS(AR5K_REG_READ(AR5K_AR5210_TIME_OUT), - AR5K_AR5210_TIME_OUT_CTS), hal->ah_turbo)); + AR5K_AR5210_TIME_OUT_CTS))); } /* @@ -2313,7 +2303,7 @@ ar5k_ar5210_get_capabilities(struct ath_ hal->ah_capabilities.cap_range.range_2ghz_max = 0; /* Set supported modes */ - hal->ah_capabilities.cap_mode = HAL_MODE_11A | HAL_MODE_TURBO; + hal->ah_capabilities.cap_mode = HAL_MODE_11A; /* Set number of GPIO pins */ hal->ah_gpio_npins = AR5K_AR5210_NUM_GPIO; Index: sys/dev/ic/ar5210var.h =================================================================== RCS file: /cvs/src/sys/dev/ic/ar5210var.h,v retrieving revision 1.14 diff -u -p -r1.14 ar5210var.h --- sys/dev/ic/ar5210var.h 12 Mar 2007 01:04:52 -0000 1.14 +++ sys/dev/ic/ar5210var.h 8 Jan 2016 00:16:23 -0000 @@ -184,40 +184,25 @@ extern ar5k_attach_t ar5k_ar5210_attach; #define AR5K_AR5210_INI_MODE(_aifs) { \ { AR5K_AR5210_SLOT_TIME, \ - AR5K_INIT_SLOT_TIME, \ - AR5K_INIT_SLOT_TIME_TURBO }, \ + AR5K_INIT_SLOT_TIME }, \ { AR5K_AR5210_SLOT_TIME, \ - AR5K_INIT_ACK_CTS_TIMEOUT, \ - AR5K_INIT_ACK_CTS_TIMEOUT_TURBO }, \ + AR5K_INIT_ACK_CTS_TIMEOUT }, \ { AR5K_AR5210_USEC, \ - AR5K_INIT_TRANSMIT_LATENCY, \ - AR5K_INIT_TRANSMIT_LATENCY_TURBO}, \ + AR5K_INIT_TRANSMIT_LATENCY }, \ { AR5K_AR5210_IFS0, \ ((AR5K_INIT_SIFS + (_aifs) * AR5K_INIT_SLOT_TIME) \ - << AR5K_AR5210_IFS0_DIFS_S) | AR5K_INIT_SIFS, \ - ((AR5K_INIT_SIFS_TURBO + (_aifs) * AR5K_INIT_SLOT_TIME_TURBO) \ - << AR5K_AR5210_IFS0_DIFS_S) | AR5K_INIT_SIFS_TURBO }, \ + << AR5K_AR5210_IFS0_DIFS_S) | AR5K_INIT_SIFS }, \ { AR5K_AR5210_IFS1, \ - AR5K_INIT_PROTO_TIME_CNTRL, \ - AR5K_INIT_PROTO_TIME_CNTRL_TURBO }, \ + AR5K_INIT_PROTO_TIME_CNTRL }, \ { AR5K_AR5210_PHY(17), \ - (AR5K_REG_READ(AR5K_AR5210_PHY(17)) & ~0x7F) | 0x1C, \ - (AR5K_REG_READ(AR5K_AR5210_PHY(17)) & ~0x7F) | 0x38 }, \ + (AR5K_REG_READ(AR5K_AR5210_PHY(17)) & ~0x7F) | 0x1C }, \ { AR5K_AR5210_PHY_FC, \ AR5K_AR5210_PHY_FC_SERVICE_ERR | \ AR5K_AR5210_PHY_FC_TXURN_ERR | \ AR5K_AR5210_PHY_FC_ILLLEN_ERR | \ AR5K_AR5210_PHY_FC_ILLRATE_ERR | \ AR5K_AR5210_PHY_FC_PARITY_ERR | \ - AR5K_AR5210_PHY_FC_TIMING_ERR | 0x1020, \ - AR5K_AR5210_PHY_FC_SERVICE_ERR | \ - AR5K_AR5210_PHY_FC_TXURN_ERR | \ - AR5K_AR5210_PHY_FC_ILLLEN_ERR | \ - AR5K_AR5210_PHY_FC_ILLRATE_ERR | \ - AR5K_AR5210_PHY_FC_PARITY_ERR | \ - AR5K_AR5210_PHY_FC_TURBO_MODE | \ - AR5K_AR5210_PHY_FC_TURBO_SHORT | \ - AR5K_AR5210_PHY_FC_TIMING_ERR | 0x2020 }, \ + AR5K_AR5210_PHY_FC_TIMING_ERR | 0x1020 }, \ } /* Index: sys/dev/ic/ar5211.c =================================================================== RCS file: /cvs/src/sys/dev/ic/ar5211.c,v retrieving revision 1.47 diff -u -p -r1.47 ar5211.c --- sys/dev/ic/ar5211.c 20 Mar 2015 11:05:49 -0000 1.47 +++ sys/dev/ic/ar5211.c 10 Jan 2016 14:03:38 -0000 @@ -301,11 +301,6 @@ ar5k_ar5211_nic_wakeup(struct ath_hal *h return (AH_FALSE); } - if (flags & IEEE80211_CHAN_TURBO) { - turbo = AR5K_AR5211_PHY_TURBO_MODE | - AR5K_AR5211_PHY_TURBO_SHORT; - } - /* * Reset and wakeup the device */ @@ -384,8 +379,6 @@ ar5k_ar5211_get_rate_table(struct ath_ha switch (mode) { case HAL_MODE_11A: return (&hal->ah_rt_11a); - case HAL_MODE_TURBO: - return (&hal->ah_rt_turbo); case HAL_MODE_11B: return (&hal->ah_rt_11b); case HAL_MODE_11G: @@ -453,11 +446,6 @@ ar5k_ar5211_reset(struct ath_hal *hal, H freq = AR5K_INI_RFGAIN_5GHZ; ee_mode = AR5K_EEPROM_MODE_11A; break; - case CHANNEL_T: - mode = AR5K_INI_VAL_11A_TURBO; - freq = AR5K_INI_RFGAIN_5GHZ; - ee_mode = AR5K_EEPROM_MODE_11A; - break; case CHANNEL_B: mode = AR5K_INI_VAL_11B; freq = AR5K_INI_RFGAIN_2GHZ; @@ -1864,12 +1852,12 @@ ar5k_ar5211_get_slot_time(struct ath_hal HAL_BOOL ar5k_ar5211_set_ack_timeout(struct ath_hal *hal, u_int timeout) { - if (ar5k_clocktoh(AR5K_REG_MS(0xffffffff, AR5K_AR5211_TIME_OUT_ACK), - hal->ah_turbo) <= timeout) + if (ar5k_clocktoh(AR5K_REG_MS(0xffffffff, AR5K_AR5211_TIME_OUT_ACK)) + <= timeout) return (AH_FALSE); AR5K_REG_WRITE_BITS(AR5K_AR5211_TIME_OUT, AR5K_AR5211_TIME_OUT_ACK, - ar5k_htoclock(timeout, hal->ah_turbo)); + ar5k_htoclock(timeout)); return (AH_TRUE); } @@ -1878,18 +1866,18 @@ u_int ar5k_ar5211_get_ack_timeout(struct ath_hal *hal) { return (ar5k_clocktoh(AR5K_REG_MS(AR5K_REG_READ(AR5K_AR5211_TIME_OUT), - AR5K_AR5211_TIME_OUT_ACK), hal->ah_turbo)); + AR5K_AR5211_TIME_OUT_ACK))); } HAL_BOOL ar5k_ar5211_set_cts_timeout(struct ath_hal *hal, u_int timeout) { - if (ar5k_clocktoh(AR5K_REG_MS(0xffffffff, AR5K_AR5211_TIME_OUT_CTS), - hal->ah_turbo) <= timeout) + if (ar5k_clocktoh(AR5K_REG_MS(0xffffffff, AR5K_AR5211_TIME_OUT_CTS)) + <= timeout) return (AH_FALSE); AR5K_REG_WRITE_BITS(AR5K_AR5211_TIME_OUT, AR5K_AR5211_TIME_OUT_CTS, - ar5k_htoclock(timeout, hal->ah_turbo)); + ar5k_htoclock(timeout)); return (AH_TRUE); } @@ -1898,7 +1886,7 @@ u_int ar5k_ar5211_get_cts_timeout(struct ath_hal *hal) { return (ar5k_clocktoh(AR5K_REG_MS(AR5K_REG_READ(AR5K_AR5211_TIME_OUT), - AR5K_AR5211_TIME_OUT_CTS), hal->ah_turbo)); + AR5K_AR5211_TIME_OUT_CTS))); } /* Index: sys/dev/ic/ar5212.c =================================================================== RCS file: /cvs/src/sys/dev/ic/ar5212.c,v retrieving revision 1.55 diff -u -p -r1.55 ar5212.c --- sys/dev/ic/ar5212.c 12 Jul 2014 18:48:17 -0000 1.55 +++ sys/dev/ic/ar5212.c 10 Jan 2016 14:04:46 -0000 @@ -354,11 +354,6 @@ ar5k_ar5212_nic_wakeup(struct ath_hal *h return (AH_FALSE); } - if (flags & IEEE80211_CHAN_TURBO) { - turbo = AR5K_AR5212_PHY_TURBO_MODE | - AR5K_AR5212_PHY_TURBO_SHORT; - } - /* * Reset and wakeup the device */ @@ -437,8 +432,6 @@ ar5k_ar5212_get_rate_table(struct ath_ha switch (mode) { case HAL_MODE_11A: return (&hal->ah_rt_11a); - case HAL_MODE_TURBO: - return (&hal->ah_rt_turbo); case HAL_MODE_11B: return (&hal->ah_rt_11b); case HAL_MODE_11G: @@ -526,16 +519,6 @@ ar5k_ar5212_reset(struct ath_hal *hal, H freq = AR5K_INI_RFGAIN_2GHZ; ee_mode = AR5K_EEPROM_MODE_11G; break; - case CHANNEL_T: - mode = AR5K_INI_VAL_11A_TURBO; - freq = AR5K_INI_RFGAIN_5GHZ; - ee_mode = AR5K_EEPROM_MODE_11A; - break; - case CHANNEL_TG: - mode = AR5K_INI_VAL_11G_TURBO; - freq = AR5K_INI_RFGAIN_2GHZ; - ee_mode = AR5K_EEPROM_MODE_11G; - break; case CHANNEL_XR: mode = AR5K_INI_VAL_XR; freq = AR5K_INI_RFGAIN_5GHZ; @@ -603,9 +586,7 @@ ar5k_ar5212_reset(struct ath_hal *hal, H /* * Set rate duration table */ - rt = ar5k_ar5212_get_rate_table(hal, - channel->c_channel_flags & IEEE80211_CHAN_TURBO ? - HAL_MODE_TURBO : HAL_MODE_XR); + rt = ar5k_ar5212_get_rate_table(hal, HAL_MODE_XR); for (i = 0; i < rt->rt_rate_count; i++) { AR5K_REG_WRITE(AR5K_AR5212_RATE_DUR(rt->rt_info[i].r_rate_code), @@ -613,19 +594,17 @@ ar5k_ar5212_reset(struct ath_hal *hal, H rt->rt_info[i].r_control_rate, AH_FALSE)); } - if ((channel->c_channel_flags & IEEE80211_CHAN_TURBO) == 0) { - rt = ar5k_ar5212_get_rate_table(hal, HAL_MODE_11B); - for (i = 0; i < rt->rt_rate_count; i++) { - data = AR5K_AR5212_RATE_DUR(rt->rt_info[i].r_rate_code); - AR5K_REG_WRITE(data, + rt = ar5k_ar5212_get_rate_table(hal, HAL_MODE_11B); + for (i = 0; i < rt->rt_rate_count; i++) { + data = AR5K_AR5212_RATE_DUR(rt->rt_info[i].r_rate_code); + AR5K_REG_WRITE(data, + ath_hal_computetxtime(hal, rt, 14, + rt->rt_info[i].r_control_rate, AH_FALSE)); + if (rt->rt_info[i].r_short_preamble) { + AR5K_REG_WRITE(data + + (rt->rt_info[i].r_short_preamble << 2), ath_hal_computetxtime(hal, rt, 14, rt->rt_info[i].r_control_rate, AH_FALSE)); - if (rt->rt_info[i].r_short_preamble) { - AR5K_REG_WRITE(data + - (rt->rt_info[i].r_short_preamble << 2), - ath_hal_computetxtime(hal, rt, 14, - rt->rt_info[i].r_control_rate, AH_FALSE)); - } } } @@ -663,7 +642,7 @@ ar5k_ar5212_reset(struct ath_hal *hal, H u_int32_t coef_scaled, coef_exp, coef_man, ds_coef_exp, ds_coef_man, clock; - clock = channel->c_channel_flags & IEEE80211_CHAN_T ? 80 : 40; + clock = 40; coef_scaled = ((5 * (clock << 24)) / 2) / channel->c_channel; for (coef_exp = 31; coef_exp > 0; coef_exp--) @@ -2237,12 +2216,12 @@ ar5k_ar5212_get_slot_time(struct ath_hal HAL_BOOL ar5k_ar5212_set_ack_timeout(struct ath_hal *hal, u_int timeout) { - if (ar5k_clocktoh(AR5K_REG_MS(0xffffffff, AR5K_AR5212_TIME_OUT_ACK), - hal->ah_turbo) <= timeout) + if (ar5k_clocktoh(AR5K_REG_MS(0xffffffff, AR5K_AR5212_TIME_OUT_ACK)) + <= timeout) return (AH_FALSE); AR5K_REG_WRITE_BITS(AR5K_AR5212_TIME_OUT, AR5K_AR5212_TIME_OUT_ACK, - ar5k_htoclock(timeout, hal->ah_turbo)); + ar5k_htoclock(timeout)); return (AH_TRUE); } @@ -2251,18 +2230,18 @@ u_int ar5k_ar5212_get_ack_timeout(struct ath_hal *hal) { return (ar5k_clocktoh(AR5K_REG_MS(AR5K_REG_READ(AR5K_AR5212_TIME_OUT), - AR5K_AR5212_TIME_OUT_ACK), hal->ah_turbo)); + AR5K_AR5212_TIME_OUT_ACK))); } HAL_BOOL ar5k_ar5212_set_cts_timeout(struct ath_hal *hal, u_int timeout) { - if (ar5k_clocktoh(AR5K_REG_MS(0xffffffff, AR5K_AR5212_TIME_OUT_CTS), - hal->ah_turbo) <= timeout) + if (ar5k_clocktoh(AR5K_REG_MS(0xffffffff, AR5K_AR5212_TIME_OUT_CTS)) + <= timeout) return (AH_FALSE); AR5K_REG_WRITE_BITS(AR5K_AR5212_TIME_OUT, AR5K_AR5212_TIME_OUT_CTS, - ar5k_htoclock(timeout, hal->ah_turbo)); + ar5k_htoclock(timeout)); return (AH_TRUE); } @@ -2271,7 +2250,7 @@ u_int ar5k_ar5212_get_cts_timeout(struct ath_hal *hal) { return (ar5k_clocktoh(AR5K_REG_MS(AR5K_REG_READ(AR5K_AR5212_TIME_OUT), - AR5K_AR5212_TIME_OUT_CTS), hal->ah_turbo)); + AR5K_AR5212_TIME_OUT_CTS))); } /* Index: sys/dev/ic/ar5xxx.c =================================================================== RCS file: /cvs/src/sys/dev/ic/ar5xxx.c,v retrieving revision 1.58 diff -u -p -r1.58 ar5xxx.c --- sys/dev/ic/ar5xxx.c 13 Jul 2014 23:10:23 -0000 1.58 +++ sys/dev/ic/ar5xxx.c 10 Jan 2016 14:00:07 -0000 @@ -75,7 +75,6 @@ static const struct { static const HAL_RATE_TABLE ar5k_rt_11a = AR5K_RATES_11A; static const HAL_RATE_TABLE ar5k_rt_11b = AR5K_RATES_11B; static const HAL_RATE_TABLE ar5k_rt_11g = AR5K_RATES_11G; -static const HAL_RATE_TABLE ar5k_rt_turbo = AR5K_RATES_TURBO; static const HAL_RATE_TABLE ar5k_rt_xr = AR5K_RATES_XR; int ar5k_eeprom_read_ants(struct ath_hal *, u_int32_t *, u_int); @@ -199,7 +198,6 @@ ath_hal_attach(u_int16_t device, void *a hal->ah_abi = HAL_ABI_VERSION; hal->ah_op_mode = HAL_M_STA; hal->ah_radar.r_enabled = AR5K_TUNE_RADAR_ALERT; - hal->ah_turbo = AH_FALSE; hal->ah_txpower.txp_tpc = AR5K_TUNE_TPC_TXPOWER; hal->ah_imr = 0; hal->ah_atim_window = 0; @@ -266,8 +264,6 @@ ath_hal_attach(u_int16_t device, void *a ar5k_rt_copy(&hal->ah_rt_11b, &ar5k_rt_11b); if (hal->ah_capabilities.cap_mode & HAL_MODE_11G) ar5k_rt_copy(&hal->ah_rt_11g, &ar5k_rt_11g); - if (hal->ah_capabilities.cap_mode & HAL_MODE_TURBO) - ar5k_rt_copy(&hal->ah_rt_turbo, &ar5k_rt_turbo); if (hal->ah_capabilities.cap_mode & HAL_MODE_XR) ar5k_rt_copy(&hal->ah_rt_xr, &ar5k_rt_xr); @@ -334,16 +330,6 @@ ath_hal_computetxtime(struct ath_hal *ha value = AR5K_OFDM_TX_TIME(rate->rateKbps, frame_length); break; - case IEEE80211_T_TURBO: - /* - * Orthogonal Frequency Division Multiplexing - * Atheros "Turbo Mode" (doubled rates) - */ - if (AR5K_TURBO_NUM_BITS_PER_SYM(rate->rateKbps) == 0) - return (0); - value = AR5K_TURBO_TX_TIME(rate->rateKbps, frame_length); - break; - case IEEE80211_T_XR: /* * Orthogonal Frequency Division Multiplexing @@ -406,7 +392,7 @@ ath_hal_init_channels(struct ath_hal *ha IEEE80211_CHAN_2GHZ); max = ieee80211_mhz2ieee(IEEE80211_CHANNELS_2GHZ_MAX, IEEE80211_CHAN_2GHZ); - flags = CHANNEL_B | CHANNEL_TG | + flags = CHANNEL_B | (hal->ah_version == AR5K_AR5211 ? CHANNEL_PUREG : CHANNEL_G); @@ -424,7 +410,7 @@ ath_hal_init_channels(struct ath_hal *ha IEEE80211_CHAN_5GHZ); max = ieee80211_mhz2ieee(IEEE80211_CHANNELS_5GHZ_MAX, IEEE80211_CHAN_5GHZ); - flags = CHANNEL_A | CHANNEL_T | CHANNEL_XR; + flags = CHANNEL_A | CHANNEL_XR; goto debugchan; } @@ -455,12 +441,9 @@ ath_hal_init_channels(struct ath_hal *ha continue; /* Match modes */ - if (ar5k_5ghz_channels[i].rc_mode & IEEE80211_CHAN_TURBO) { - all_channels[c].c_channel_flags = CHANNEL_T; - } else if (ar5k_5ghz_channels[i].rc_mode & - IEEE80211_CHAN_OFDM) { + if (ar5k_5ghz_channels[i].rc_mode & IEEE80211_CHAN_OFDM) all_channels[c].c_channel_flags = CHANNEL_A; - } else + else continue; /* Write channel and increment counter */ @@ -494,9 +477,6 @@ ath_hal_init_channels(struct ath_hal *ha all_channels[c].c_channel_flags |= hal->ah_version == AR5K_AR5211 ? CHANNEL_PUREG : CHANNEL_G; - if (ar5k_2ghz_channels[i].rc_mode & - IEEE80211_CHAN_TURBO) - all_channels[c].c_channel_flags |= CHANNEL_TG; } /* Write channel and increment counter */ @@ -637,15 +617,15 @@ ar5k_bitswap(u_int32_t val, u_int bits) } u_int -ar5k_htoclock(u_int usec, HAL_BOOL turbo) +ar5k_htoclock(u_int usec) { - return (turbo == AH_TRUE ? (usec * 80) : (usec * 40)); + return (usec * 40); } u_int -ar5k_clocktoh(u_int clock, HAL_BOOL turbo) +ar5k_clocktoh(u_int clock) { - return (turbo == AH_TRUE ? (clock / 80) : (clock / 40)); + return (clock / 40); } void @@ -923,9 +903,6 @@ ar5k_eeprom_init(struct ath_hal *hal) */ mode = AR5K_EEPROM_MODE_11A; - ee->ee_turbo_max_power[mode] = - AR5K_EEPROM_HDR_T_5GHZ_DBM(ee->ee_header); - offset = AR5K_EEPROM_MODES_11A(hal->ah_ee_version); if ((ret = ar5k_eeprom_read_ants(hal, &offset, mode)) != 0) @@ -1011,7 +988,6 @@ ar5k_eeprom_init(struct ath_hal *hal) ar5k_eeprom_bin2freq(hal, (val >> 8) & 0xff, mode); AR5K_EEPROM_READ(offset++, val); - ee->ee_turbo_max_power[mode] = val & 0x7f; ee->ee_xr_power[mode] = (val >> 7) & 0x3f; AR5K_EEPROM_READ(offset++, val); @@ -1137,8 +1113,6 @@ ar5k_channel(struct ath_hal *hal, HAL_CH hal->ah_current_channel.c_channel = channel->c_channel; hal->ah_current_channel.c_channel_flags = channel->c_channel_flags; - hal->ah_turbo = channel->c_channel_flags == CHANNEL_T ? - AH_TRUE : AH_FALSE; return (AH_TRUE); } Index: sys/dev/ic/ar5xxx.h =================================================================== RCS file: /cvs/src/sys/dev/ic/ar5xxx.h,v retrieving revision 1.55 diff -u -p -r1.55 ar5xxx.h --- sys/dev/ic/ar5xxx.h 24 Nov 2015 17:11:39 -0000 1.55 +++ sys/dev/ic/ar5xxx.h 10 Jan 2016 13:57:34 -0000 @@ -400,20 +400,6 @@ typedef struct { { 1, IEEE80211_T_OFDM, 54000, 12, 0, 108, 8 } } \ } -#define AR5K_RATES_TURBO { 8, { \ - 255, 255, 255, 255, 255, 255, 255, 255, 6, 4, 2, 0, \ - 7, 5, 3, 1, 255, 255, 255, 255, 255, 255, 255, 255, \ - 255, 255, 255, 255, 255, 255, 255, 255 }, { \ - { 1, IEEE80211_T_TURBO, 6000, 11, 0, 140, 0 }, \ - { 1, IEEE80211_T_TURBO, 9000, 15, 0, 18, 0 }, \ - { 1, IEEE80211_T_TURBO, 12000, 10, 0, 152, 2 }, \ - { 1, IEEE80211_T_TURBO, 18000, 14, 0, 36, 2 }, \ - { 1, IEEE80211_T_TURBO, 24000, 9, 0, 176, 4 }, \ - { 1, IEEE80211_T_TURBO, 36000, 13, 0, 72, 4 }, \ - { 1, IEEE80211_T_TURBO, 48000, 8, 0, 96, 4 }, \ - { 1, IEEE80211_T_TURBO, 54000, 12, 0, 108, 4 } } \ -} - #define AR5K_RATES_XR { 12, { \ 255, 3, 1, 255, 255, 255, 2, 0, 10, 8, 6, 4, \ 11, 9, 7, 5, 255, 255, 255, 255, 255, 255, 255, 255, \ @@ -455,12 +441,9 @@ typedef struct { #define CHANNEL_B (IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK) #define CHANNEL_G (IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_DYN) #define CHANNEL_PUREG (IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_OFDM) -#define CHANNEL_T (CHANNEL_A | IEEE80211_CHAN_TURBO) -#define CHANNEL_TG (CHANNEL_PUREG | IEEE80211_CHAN_TURBO) #define CHANNEL_XR (CHANNEL_A | IEEE80211_CHAN_XR) #define CHANNEL_MODES \ - (CHANNEL_A | CHANNEL_B | CHANNEL_G | CHANNEL_PUREG | \ - CHANNEL_T | CHANNEL_TG | CHANNEL_XR) + (CHANNEL_A | CHANNEL_B | CHANNEL_G | CHANNEL_PUREG | CHANNEL_XR) typedef enum { HAL_CHIP_5GHZ = IEEE80211_CHAN_5GHZ, @@ -757,7 +740,6 @@ struct ar5k_eeprom_info { u_int16_t ee_i_cal[AR5K_EEPROM_N_MODES]; u_int16_t ee_q_cal[AR5K_EEPROM_N_MODES]; u_int16_t ee_fixed_bias[AR5K_EEPROM_N_MODES]; - u_int16_t ee_turbo_max_power[AR5K_EEPROM_N_MODES]; u_int16_t ee_xr_power[AR5K_EEPROM_N_MODES]; u_int16_t ee_switch_settling[AR5K_EEPROM_N_MODES]; u_int16_t ee_ant_tx_rx[AR5K_EEPROM_N_MODES]; @@ -1102,7 +1084,6 @@ struct ath_hal { HAL_OPMODE ah_op_mode; HAL_POWER_MODE ah_power_mode; HAL_CHANNEL ah_current_channel; - HAL_BOOL ah_turbo; HAL_BOOL ah_calibration; HAL_BOOL ah_running; HAL_BOOL ah_single_chip; @@ -1114,7 +1095,6 @@ struct ath_hal { HAL_RATE_TABLE ah_rt_11a; HAL_RATE_TABLE ah_rt_11b; HAL_RATE_TABLE ah_rt_11g; - HAL_RATE_TABLE ah_rt_turbo; HAL_RATE_TABLE ah_rt_xr; u_int32_t ah_mac_srev; @@ -2290,8 +2270,8 @@ u_int16_t ar5k_regdomain_from_ieee(iee u_int16_t ar5k_get_regdomain(struct ath_hal *); u_int32_t ar5k_bitswap(u_int32_t, u_int); -u_int ar5k_clocktoh(u_int, HAL_BOOL); -u_int ar5k_htoclock(u_int, HAL_BOOL); +u_int ar5k_clocktoh(u_int); +u_int ar5k_htoclock(u_int); void ar5k_rt_copy(HAL_RATE_TABLE *, const HAL_RATE_TABLE *); HAL_BOOL ar5k_register_timeout(struct ath_hal *, u_int32_t, Index: sys/dev/ic/ath.c =================================================================== RCS file: /cvs/src/sys/dev/ic/ath.c,v retrieving revision 1.109 diff -u -p -r1.109 ath.c --- sys/dev/ic/ath.c 8 Dec 2015 13:34:22 -0000 1.109 +++ sys/dev/ic/ath.c 8 Jan 2016 00:02:41 -0000 @@ -299,7 +299,6 @@ ath_attach(u_int16_t devid, struct ath_s ath_rate_setup(sc, IEEE80211_MODE_11A); ath_rate_setup(sc, IEEE80211_MODE_11B); ath_rate_setup(sc, IEEE80211_MODE_11G); - ath_rate_setup(sc, IEEE80211_MODE_TURBO); error = ath_desc_alloc(sc); if (error != 0) { @@ -617,8 +616,6 @@ ath_chan2flags(struct ieee80211com *ic, return CHANNEL_B; case IEEE80211_MODE_11G: return CHANNEL_G; - case IEEE80211_MODE_TURBO: - return CHANNEL_T; default: panic("%s: unsupported mode %d", __func__, mode); return 0; @@ -3052,9 +3049,6 @@ ath_rate_setup(struct ath_softc *sc, u_i break; case IEEE80211_MODE_11G: sc->sc_rates[mode] = ath_hal_get_rate_table(ah, HAL_MODE_11G); - break; - case IEEE80211_MODE_TURBO: - sc->sc_rates[mode] = ath_hal_get_rate_table(ah, HAL_MODE_TURBO); break; default: DPRINTF(ATH_DEBUG_ANY, Index: sys/dev/ic/pgt.c =================================================================== RCS file: /cvs/src/sys/dev/ic/pgt.c,v retrieving revision 1.85 diff -u -p -r1.85 pgt.c --- sys/dev/ic/pgt.c 11 Dec 2015 16:07:01 -0000 1.85 +++ sys/dev/ic/pgt.c 8 Jan 2016 00:02:46 -0000 @@ -2635,8 +2635,6 @@ badopmode: preamble = PGT_OID_PREAMBLE_MODE_SHORT; DPRINTF(("IEEE80211_MODE_11G\n")); break; - case IEEE80211_MODE_TURBO: /* not handled */ - /* FALLTHROUGH */ case IEEE80211_MODE_AUTO: profile = PGT_PROFILE_MIXED_G_WIFI; preamble = PGT_OID_PREAMBLE_MODE_DYNAMIC; Index: sys/net/if_media.h =================================================================== RCS file: /cvs/src/sys/net/if_media.h,v retrieving revision 1.35 diff -u -p -r1.35 if_media.h --- sys/net/if_media.h 15 Nov 2015 00:17:47 -0000 1.35 +++ sys/net/if_media.h 8 Jan 2016 00:07:47 -0000 @@ -285,7 +285,6 @@ uint64_t ifmedia_baudrate(uint64_t); #define IFM_IEEE80211_IBSS 0x0000000000040000ULL /* Operate in IBSS mode */ #define IFM_IEEE80211_IBSSMASTER 0x0000000000080000ULL /* Operate as an IBSS master */ #define IFM_IEEE80211_MONITOR 0x0000000000100000ULL /* Operate in Monitor mode */ -#define IFM_IEEE80211_TURBO 0x0000000000200000ULL /* Operate in Turbo mode */ /* operating mode for multi-mode devices */ #define IFM_IEEE80211_11A 0x0000000100000000ULL /* 5GHz, OFDM mode */ @@ -652,7 +651,6 @@ struct ifmedia_description { { IFM_IEEE80211|IFM_IEEE80211_IBSS, "ibss" }, \ { IFM_IEEE80211|IFM_IEEE80211_IBSSMASTER, "ibss-master" }, \ { IFM_IEEE80211|IFM_IEEE80211_MONITOR, "monitor" }, \ - { IFM_IEEE80211|IFM_IEEE80211_TURBO, "turbo" }, \ \ { IFM_TDM|IFM_TDM_HDLC_CRC16, "hdlc-crc16" }, \ { IFM_TDM|IFM_TDM_PPP, "ppp" }, \ Index: sys/net80211/ieee80211.c =================================================================== RCS file: /cvs/src/sys/net80211/ieee80211.c,v retrieving revision 1.56 diff -u -p -r1.56 ieee80211.c --- sys/net80211/ieee80211.c 5 Jan 2016 18:41:16 -0000 1.56 +++ sys/net80211/ieee80211.c 8 Jan 2016 00:24:41 -0000 @@ -109,8 +109,6 @@ ieee80211_channel_init(struct ifnet *ifp ic->ic_modecaps |= 1<<IEEE80211_MODE_11B; if (IEEE80211_IS_CHAN_PUREG(c)) ic->ic_modecaps |= 1<<IEEE80211_MODE_11G; - if (IEEE80211_IS_CHAN_T(c)) - ic->ic_modecaps |= 1<<IEEE80211_MODE_TURBO; if (IEEE80211_IS_CHAN_N(c)) ic->ic_modecaps |= 1<<IEEE80211_MODE_11N; } @@ -277,13 +275,12 @@ ieee80211_media_init(struct ifnet *ifp, ifmedia_init(&ic->ic_media, 0, media_change, media_stat); maxrate = 0; memset(&allrates, 0, sizeof(allrates)); - for (mode = IEEE80211_MODE_AUTO; mode <= IEEE80211_MODE_TURBO; mode++) { + for (mode = IEEE80211_MODE_AUTO; mode <= IEEE80211_MODE_11G; mode++) { static const uint64_t mopts[] = { IFM_AUTO, IFM_IEEE80211_11A, IFM_IEEE80211_11B, IFM_IEEE80211_11G, - IFM_IEEE80211_11A | IFM_IEEE80211_TURBO, }; if ((ic->ic_modecaps & (1<<mode)) == 0) continue; @@ -442,15 +439,7 @@ ieee80211_media_change(struct ifnet *ifp default: return EINVAL; } - /* - * Turbo mode is an ``option''. Eventually it - * needs to be applied to 11g too. - */ - if (ime->ifm_media & IFM_IEEE80211_TURBO) { - if (newphymode != IEEE80211_MODE_11A) - return EINVAL; - newphymode = IEEE80211_MODE_TURBO; - } + /* * Validate requested mode is available. */ @@ -659,10 +648,6 @@ ieee80211_media_status(struct ifnet *ifp case IEEE80211_MODE_11G: imr->ifm_active |= IFM_IEEE80211_11G; break; - case IEEE80211_MODE_TURBO: - imr->ifm_active |= IFM_IEEE80211_11A - | IFM_IEEE80211_TURBO; - break; case IEEE80211_MODE_11N: imr->ifm_active |= IFM_IEEE80211_11N; break; @@ -705,7 +690,6 @@ ieee80211_setbasicrates(struct ieee80211 { 3, { 12, 24, 48 } }, /* IEEE80211_MODE_11A */ { 2, { 2, 4 } }, /* IEEE80211_MODE_11B */ { 4, { 2, 4, 11, 22 } }, /* IEEE80211_MODE_11G */ - { 0 }, /* IEEE80211_MODE_TURBO */ { 0 }, /* IEEE80211_MODE_11N */ }; enum ieee80211_phymode mode; @@ -743,7 +727,6 @@ ieee80211_setmode(struct ieee80211com *i IEEE80211_CHAN_A, /* IEEE80211_MODE_11A */ IEEE80211_CHAN_B, /* IEEE80211_MODE_11B */ IEEE80211_CHAN_PUREG, /* IEEE80211_MODE_11G */ - IEEE80211_CHAN_T, /* IEEE80211_MODE_TURBO */ IEEE80211_CHAN_HT, /* IEEE80211_MODE_11N */ }; const struct ieee80211_channel *c; @@ -766,14 +749,9 @@ ieee80211_setmode(struct ieee80211com *i modeflags = chanflags[mode]; for (i = 0; i <= IEEE80211_CHAN_MAX; i++) { c = &ic->ic_channels[i]; - if (mode == IEEE80211_MODE_AUTO) { - /* ignore turbo channels for autoselect */ - if ((c->ic_flags &~ IEEE80211_CHAN_TURBO) != 0) - break; - } else { - if ((c->ic_flags & modeflags) == modeflags) - break; - } + if (mode == IEEE80211_MODE_AUTO || + (c->ic_flags & modeflags) == modeflags) + break; } if (i > IEEE80211_CHAN_MAX) { DPRINTF(("no channels found for mode %u\n", mode)); @@ -786,14 +764,9 @@ ieee80211_setmode(struct ieee80211com *i memset(ic->ic_chan_active, 0, sizeof(ic->ic_chan_active)); for (i = 0; i <= IEEE80211_CHAN_MAX; i++) { c = &ic->ic_channels[i]; - if (mode == IEEE80211_MODE_AUTO) { - /* take anything but pure turbo channels */ - if ((c->ic_flags &~ IEEE80211_CHAN_TURBO) != 0) - setbit(ic->ic_chan_active, i); - } else { - if ((c->ic_flags & modeflags) == modeflags) - setbit(ic->ic_chan_active, i); - } + if (mode == IEEE80211_MODE_AUTO || + (c->ic_flags & modeflags) == modeflags) + setbit(ic->ic_chan_active, i); } /* * If no current/default channel is setup or the current @@ -846,10 +819,6 @@ ieee80211_next_mode(struct ifnet *ifp) for (++ic->ic_curmode; ic->ic_curmode <= IEEE80211_MODE_MAX; ic->ic_curmode++) { - /* Wrap around and ignore turbo mode */ - if (ic->ic_curmode == IEEE80211_MODE_TURBO) - continue; - /* * Skip over 11n mode. Its set of channels is the superset * of all channels supported by the other modes. @@ -879,8 +848,6 @@ ieee80211_next_mode(struct ifnet *ifp) * Because the result of this function is ultimately used to select a * rate from the rate set of the returned mode, it must not return * IEEE80211_MODE_11N, which uses MCS instead of rates for unicast frames. - * - * XXX never returns turbo modes -dcy */ enum ieee80211_phymode ieee80211_chan2mode(struct ieee80211com *ic, @@ -896,12 +863,9 @@ ieee80211_chan2mode(struct ieee80211com return ic->ic_curmode; /* * In autoselect or 11n mode; deduce a mode based on the channel - * characteristics. We assume that turbo-only channels - * are not considered when the channel set is constructed. + * characteristics. */ - if (IEEE80211_IS_CHAN_T(chan)) - return IEEE80211_MODE_TURBO; - else if (IEEE80211_IS_CHAN_5GHZ(chan)) + if (IEEE80211_IS_CHAN_5GHZ(chan)) return IEEE80211_MODE_11A; else if (chan->ic_flags & (IEEE80211_CHAN_OFDM|IEEE80211_CHAN_DYN)) return IEEE80211_MODE_11G; @@ -918,7 +882,6 @@ ieee80211_mcs2media(struct ieee80211com { switch (mode) { case IEEE80211_MODE_11A: - case IEEE80211_MODE_TURBO: case IEEE80211_MODE_11B: case IEEE80211_MODE_11G: /* these modes use rates, not MCS */ @@ -1002,7 +965,6 @@ ieee80211_rate2media(struct ieee80211com mask = rate & IEEE80211_RATE_VAL; switch (mode) { case IEEE80211_MODE_11A: - case IEEE80211_MODE_TURBO: mask |= IFM_IEEE80211_11A; break; case IEEE80211_MODE_11B: Index: sys/net80211/ieee80211_ioctl.h =================================================================== RCS file: /cvs/src/sys/net80211/ieee80211_ioctl.h,v retrieving revision 1.22 diff -u -p -r1.22 ieee80211_ioctl.h --- sys/net80211/ieee80211_ioctl.h 15 Nov 2015 01:05:25 -0000 1.22 +++ sys/net80211/ieee80211_ioctl.h 8 Jan 2016 00:08:22 -0000 @@ -167,7 +167,6 @@ struct ieee80211_channel { /* * Channel attributes (XXX must keep in sync with radiotap flags). */ -#define IEEE80211_CHAN_TURBO 0x0010 /* Turbo channel */ #define IEEE80211_CHAN_CCK 0x0020 /* CCK channel */ #define IEEE80211_CHAN_OFDM 0x0040 /* OFDM channel */ #define IEEE80211_CHAN_2GHZ 0x0080 /* 2 GHz spectrum channel */ Index: sys/net80211/ieee80211_output.c =================================================================== RCS file: /cvs/src/sys/net80211/ieee80211_output.c,v retrieving revision 1.106 diff -u -p -r1.106 ieee80211_output.c --- sys/net80211/ieee80211_output.c 6 Jan 2016 19:56:50 -0000 1.106 +++ sys/net80211/ieee80211_output.c 8 Jan 2016 00:08:48 -0000 @@ -270,7 +270,6 @@ ieee80211_mgmt_output(struct ifnet *ifp, * 11A 15 1023 * 11B 31 1023 * 11G 15* 1023 (*) aCWmin(1) - * Turbo A/G 7 1023 (Atheros proprietary mode) */ #if 0 static const struct ieee80211_edca_ac_params @@ -293,12 +292,6 @@ static const struct ieee80211_edca_ac_pa [EDCA_AC_VI] = { 3, 4, 2, 94 }, [EDCA_AC_VO] = { 2, 3, 2, 47 } }, - [IEEE80211_MODE_TURBO] = { - [EDCA_AC_BK] = { 3, 10, 7, 0 }, - [EDCA_AC_BE] = { 3, 10, 2, 0 }, - [EDCA_AC_VI] = { 2, 3, 2, 94 }, - [EDCA_AC_VO] = { 2, 2, 1, 47 } - } }; #endif @@ -323,12 +316,6 @@ static const struct ieee80211_edca_ac_pa [EDCA_AC_VI] = { 3, 4, 1, 94 }, [EDCA_AC_VO] = { 2, 3, 1, 47 } }, - [IEEE80211_MODE_TURBO] = { - [EDCA_AC_BK] = { 3, 10, 7, 0 }, - [EDCA_AC_BE] = { 3, 5, 2, 0 }, - [EDCA_AC_VI] = { 2, 3, 1, 94 }, - [EDCA_AC_VO] = { 2, 2, 1, 47 } - } }; #endif /* IEEE80211_STA_ONLY */ Index: sys/net80211/ieee80211_proto.c =================================================================== RCS file: /cvs/src/sys/net80211/ieee80211_proto.c,v retrieving revision 1.59 diff -u -p -r1.59 ieee80211_proto.c --- sys/net80211/ieee80211_proto.c 7 Jan 2016 23:22:31 -0000 1.59 +++ sys/net80211/ieee80211_proto.c 8 Jan 2016 00:06:12 -0000 @@ -73,7 +73,6 @@ const char * const ieee80211_phymode_nam "11a", /* IEEE80211_MODE_11A */ "11b", /* IEEE80211_MODE_11B */ "11g", /* IEEE80211_MODE_11G */ - "turbo", /* IEEE80211_MODE_TURBO */ "11n", /* IEEE80211_MODE_11N */ }; Index: sys/net80211/ieee80211_radiotap.h =================================================================== RCS file: /cvs/src/sys/net80211/ieee80211_radiotap.h,v retrieving revision 1.12 diff -u -p -r1.12 ieee80211_radiotap.h --- sys/net80211/ieee80211_radiotap.h 15 Nov 2015 01:05:25 -0000 1.12 +++ sys/net80211/ieee80211_radiotap.h 8 Jan 2016 00:09:07 -0000 @@ -187,7 +187,6 @@ enum ieee80211_radiotap_type { #ifndef _KERNEL /* For IEEE80211_RADIOTAP_CHANNEL */ -#define IEEE80211_CHAN_TURBO 0x0010 /* Turbo channel */ #define IEEE80211_CHAN_CCK 0x0020 /* CCK channel */ #define IEEE80211_CHAN_OFDM 0x0040 /* OFDM channel */ #define IEEE80211_CHAN_2GHZ 0x0080 /* 2 GHz spectrum channel */ Index: sys/net80211/ieee80211_regdomain.h =================================================================== RCS file: /cvs/src/sys/net80211/ieee80211_regdomain.h,v retrieving revision 1.8 diff -u -p -r1.8 ieee80211_regdomain.h --- sys/net80211/ieee80211_regdomain.h 18 Dec 2005 17:59:59 -0000 1.8 +++ sys/net80211/ieee80211_regdomain.h 8 Jan 2016 00:09:42 -0000 @@ -522,8 +522,6 @@ struct ieee80211_regchannel { { 2472, DMN_APLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM }, \ \ { 2432, DMN_ETSIB, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM }, \ - { 2437, DMN_ETSIB, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM| \ - IEEE80211_CHAN_TURBO }, \ { 2442, DMN_ETSIB, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM }, \ \ { 2412, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM }, \ @@ -531,8 +529,6 @@ struct ieee80211_regchannel { { 2422, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM }, \ { 2427, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM }, \ { 2432, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM }, \ - { 2437, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM| \ - IEEE80211_CHAN_TURBO }, \ { 2442, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM }, \ { 2447, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM }, \ { 2452, DMN_ETSIC, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM }, \ @@ -546,8 +542,6 @@ struct ieee80211_regchannel { { 2422, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM }, \ { 2427, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM }, \ { 2432, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM }, \ - { 2437, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM| \ - IEEE80211_CHAN_TURBO }, \ { 2442, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM }, \ { 2447, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM }, \ { 2452, DMN_FCCA, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM }, \ @@ -574,8 +568,6 @@ struct ieee80211_regchannel { { 2422, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM }, \ { 2427, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM }, \ { 2432, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM }, \ - { 2437, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM| \ - IEEE80211_CHAN_TURBO }, \ { 2442, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM }, \ { 2447, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM }, \ { 2452, DMN_WORLD, IEEE80211_CHAN_CCK|IEEE80211_CHAN_OFDM }, \ @@ -692,20 +684,15 @@ struct ieee80211_regchannel { \ { 5180, DMN_FCC1, IEEE80211_CHAN_OFDM }, \ { 5200, DMN_FCC1, IEEE80211_CHAN_OFDM }, \ - { 5210, DMN_FCC1, IEEE80211_CHAN_OFDM|IEEE80211_CHAN_TURBO }, \ { 5220, DMN_FCC1, IEEE80211_CHAN_OFDM }, \ { 5240, DMN_FCC1, IEEE80211_CHAN_OFDM }, \ - { 5250, DMN_FCC1, IEEE80211_CHAN_OFDM|IEEE80211_CHAN_TURBO }, \ { 5260, DMN_FCC1, IEEE80211_CHAN_OFDM }, \ { 5280, DMN_FCC1, IEEE80211_CHAN_OFDM }, \ - { 5290, DMN_FCC1, IEEE80211_CHAN_OFDM|IEEE80211_CHAN_TURBO }, \ { 5300, DMN_FCC1, IEEE80211_CHAN_OFDM }, \ { 5320, DMN_FCC1, IEEE80211_CHAN_OFDM }, \ { 5745, DMN_FCC1, IEEE80211_CHAN_OFDM }, \ - { 5760, DMN_FCC1, IEEE80211_CHAN_OFDM|IEEE80211_CHAN_TURBO }, \ { 5765, DMN_FCC1, IEEE80211_CHAN_OFDM }, \ { 5785, DMN_FCC1, IEEE80211_CHAN_OFDM }, \ - { 5800, DMN_FCC1, IEEE80211_CHAN_OFDM|IEEE80211_CHAN_TURBO }, \ { 5805, DMN_FCC1, IEEE80211_CHAN_OFDM }, \ { 5825, DMN_FCC1, IEEE80211_CHAN_OFDM }, \ \ @@ -725,13 +712,10 @@ struct ieee80211_regchannel { \ { 5180, DMN_FCC3, IEEE80211_CHAN_OFDM }, \ { 5200, DMN_FCC3, IEEE80211_CHAN_OFDM }, \ - { 5210, DMN_FCC3, IEEE80211_CHAN_OFDM|IEEE80211_CHAN_TURBO }, \ { 5220, DMN_FCC3, IEEE80211_CHAN_OFDM }, \ { 5240, DMN_FCC3, IEEE80211_CHAN_OFDM }, \ - { 5250, DMN_FCC3, IEEE80211_CHAN_OFDM|IEEE80211_CHAN_TURBO }, \ { 5260, DMN_FCC3, IEEE80211_CHAN_OFDM }, \ { 5280, DMN_FCC3, IEEE80211_CHAN_OFDM }, \ - { 5290, DMN_FCC3, IEEE80211_CHAN_OFDM|IEEE80211_CHAN_TURBO }, \ { 5300, DMN_FCC3, IEEE80211_CHAN_OFDM }, \ { 5320, DMN_FCC3, IEEE80211_CHAN_OFDM }, \ { 5500, DMN_FCC3, IEEE80211_CHAN_OFDM }, \ @@ -746,10 +730,8 @@ struct ieee80211_regchannel { { 5680, DMN_FCC3, IEEE80211_CHAN_OFDM }, \ { 5700, DMN_FCC3, IEEE80211_CHAN_OFDM }, \ { 5745, DMN_FCC3, IEEE80211_CHAN_OFDM }, \ - { 5760, DMN_FCC3, IEEE80211_CHAN_OFDM|IEEE80211_CHAN_TURBO }, \ { 5765, DMN_FCC3, IEEE80211_CHAN_OFDM }, \ { 5785, DMN_FCC3, IEEE80211_CHAN_OFDM }, \ - { 5800, DMN_FCC3, IEEE80211_CHAN_OFDM|IEEE80211_CHAN_TURBO }, \ { 5805, DMN_FCC3, IEEE80211_CHAN_OFDM }, \ { 5825, DMN_FCC3, IEEE80211_CHAN_OFDM }, \ \ Index: sys/net80211/ieee80211_var.h =================================================================== RCS file: /cvs/src/sys/net80211/ieee80211_var.h,v retrieving revision 1.69 diff -u -p -r1.69 ieee80211_var.h --- sys/net80211/ieee80211_var.h 6 Jan 2016 19:56:50 -0000 1.69 +++ sys/net80211/ieee80211_var.h 8 Jan 2016 00:07:07 -0000 @@ -60,7 +60,6 @@ enum ieee80211_phytype { IEEE80211_T_DS, /* direct sequence spread spectrum */ IEEE80211_T_OFDM, /* frequency division multiplexing */ - IEEE80211_T_TURBO, /* high rate OFDM, aka turbo mode */ IEEE80211_T_XR /* extended range mode */ }; #define IEEE80211_T_CCK IEEE80211_T_DS /* more common nomenclature */ @@ -71,8 +70,7 @@ enum ieee80211_phymode { IEEE80211_MODE_11A = 1, /* 5GHz, OFDM */ IEEE80211_MODE_11B = 2, /* 2GHz, CCK */ IEEE80211_MODE_11G = 3, /* 2GHz, OFDM */ - IEEE80211_MODE_TURBO = 4, /* 5GHz, OFDM, 2x clock */ - IEEE80211_MODE_11N = 5, /* 11n, 2GHz/5GHz */ + IEEE80211_MODE_11N = 4, /* 11n, 2GHz/5GHz */ }; #define IEEE80211_MODE_MAX (IEEE80211_MODE_11N+1) @@ -106,7 +104,6 @@ struct ieee80211_channel { /* * Channel attributes (XXX must keep in sync with radiotap flags). */ -#define IEEE80211_CHAN_TURBO 0x0010 /* Turbo channel */ #define IEEE80211_CHAN_CCK 0x0020 /* CCK channel */ #define IEEE80211_CHAN_OFDM 0x0040 /* OFDM channel */ #define IEEE80211_CHAN_2GHZ 0x0080 /* 2 GHz spectrum channel */ @@ -127,10 +124,6 @@ struct ieee80211_channel { (IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_OFDM) #define IEEE80211_CHAN_G \ (IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_DYN) -#define IEEE80211_CHAN_T \ - (IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_TURBO) -#define IEEE80211_CHAN_TG \ - (IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_TURBO) #define IEEE80211_IS_CHAN_A(_c) \ (((_c)->ic_flags & IEEE80211_CHAN_A) == IEEE80211_CHAN_A) @@ -140,10 +133,6 @@ struct ieee80211_channel { (((_c)->ic_flags & IEEE80211_CHAN_PUREG) == IEEE80211_CHAN_PUREG) #define IEEE80211_IS_CHAN_G(_c) \ (((_c)->ic_flags & IEEE80211_CHAN_G) == IEEE80211_CHAN_G) -#define IEEE80211_IS_CHAN_T(_c) \ - (((_c)->ic_flags & IEEE80211_CHAN_T) == IEEE80211_CHAN_T) -#define IEEE80211_IS_CHAN_TG(_c) \ - (((_c)->ic_flags & IEEE80211_CHAN_TG) == IEEE80211_CHAN_TG) #define IEEE80211_IS_CHAN_N(_c) \ (((_c)->ic_flags & IEEE80211_CHAN_HT) == IEEE80211_CHAN_HT) Index: usr.sbin/hostapd/print-802_11.c =================================================================== RCS file: /cvs/src/usr.sbin/hostapd/print-802_11.c,v retrieving revision 1.8 diff -u -p -r1.8 print-802_11.c --- usr.sbin/hostapd/print-802_11.c 15 Jul 2015 03:05:00 -0000 1.8 +++ usr.sbin/hostapd/print-802_11.c 10 Jan 2016 13:59:11 -0000 @@ -539,8 +539,6 @@ ieee802_11_radio_if_print(u_int8_t *buf, flags & IEEE80211_CHAN_5GHZ) PRINTF(", 11a"); - if (flags & IEEE80211_CHAN_TURBO) - PRINTF(", TURBO"); if (flags & IEEE80211_CHAN_XR) PRINTF(", XR"); } Index: usr.sbin/tcpdump/print-802_11.c =================================================================== RCS file: /cvs/src/usr.sbin/tcpdump/print-802_11.c,v retrieving revision 1.27 diff -u -p -r1.27 print-802_11.c --- usr.sbin/tcpdump/print-802_11.c 13 Oct 2015 14:36:15 -0000 1.27 +++ usr.sbin/tcpdump/print-802_11.c 10 Jan 2016 13:59:23 -0000 @@ -953,8 +953,6 @@ ieee802_11_radio_if_print(u_char *user, flags & IEEE80211_CHAN_5GHZ) printf(", 11a"); - if (flags & IEEE80211_CHAN_TURBO) - printf(", TURBO"); if (flags & IEEE80211_CHAN_XR) printf(", XR"); }