> Date: Mon, 11 Jan 2016 10:30:27 +0100 > From: Stefan Sperling <s...@stsp.name> > > 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.
Agreed. I don't have any working ath(4) hardware to test this. This diff introduces some long (>80 characters) lines; you might want to fix that before you commit it. > 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"); > } > >