PERFORCE change 77110 for review
Sam Leffler
sam at FreeBSD.org
Tue May 17 16:28:35 PDT 2005
http://perforce.freebsd.org/chv.cgi?CH=77110
Change 77110 by sam at sam_ebb on 2005/05/17 23:27:50
dynamic turbo ap mode fixups:
o the bss channel will be the base mode version; check for a
corresponding dturbo channel before enabling
o check ic_flags before enabling dynamic turbo--we coordinate
the usage of all vap's through ic_flags in the 802.11 layer;
this permits us to turn dturbo use on+off with ifconfig
o correct the tmin/tmax calculation; was scaling twice for the
beacon stagger, remove the one in ath_beacon_dturbo_config
Affected files ...
.. //depot/projects/vap/sys/dev/ath/if_ath.c#13 edit
Differences ...
==== //depot/projects/vap/sys/dev/ath/if_ath.c#13 (text+ko) ====
@@ -2344,12 +2344,14 @@
static void
ath_beacon_dturbo_config(struct ath_softc *sc, u_int32_t intval)
{
-#define IS_CAPABLE(ic) \
- (ic->ic_caps & IEEE80211_C_TURBOP)
+#define IS_CHAN_DTURBO(ic, c) \
+ (ieee80211_find_channel(ic, (c)->ic_freq, \
+ (c)->ic_flags | IEEE80211_CHAN_TURBO) != NULL)
struct ieee80211com *ic = &sc->sc_ic;
if (ic->ic_opmode == IEEE80211_M_HOSTAP &&
- IS_CAPABLE(ic) && IEEE80211_IS_CHAN_DTURBO(ic->ic_bsschan)) {
+ (ic->ic_flags & IEEE80211_F_TURBOP) &&
+ IS_CHAN_DTURBO(ic, ic->ic_bsschan)) {
/* Dynamic Turbo is supported on this channel. */
sc->sc_dturbo = 1;
sc->sc_dt_tcount = 0;
@@ -2367,19 +2369,16 @@
*
* sc_dt_base_tmin : ~70 seconds
* sc_dt_turbo_tmax : ~120 seconds
- *
- * NB: scale calculated values to account for staggered
- * beacon handling
*/
- sc->sc_dt_base_tmin = 70 * 1024 * ATH_BCBUF / intval;
- sc->sc_dt_turbo_tmax = 120 * 1024 * ATH_BCBUF / intval;
+ sc->sc_dt_base_tmin = 70 * 1024 / intval;
+ sc->sc_dt_turbo_tmax = 120 * 1024 / intval;
sc->sc_dt_base_bw = 0; /* XXX: TBD */
sc->sc_dt_turbo_bw = 0; /* XXX: TBD */
} else {
sc->sc_dturbo = 0;
ic->ic_flags &= ~IEEE80211_F_BOOST;
}
-#undef IS_CAPABLE
+#undef IS_CHAN_DTURBO
}
/*
More information about the p4-projects
mailing list