PERFORCE change 68809 for review
Sam Leffler
sam at FreeBSD.org
Tue Jan 11 23:06:26 PST 2005
http://perforce.freebsd.org/chv.cgi?CH=68809
Change 68809 by sam at sam_ebb on 2005/01/12 07:05:44
Setup the beacon queue so it doesn't generate any interrupts;
we don't use them and for ibss mode the overhead can be noticeable.
This also eliminates softled flash when operating in adhoc/ap mode.
Affected files ...
.. //depot/projects/wifi/sys/dev/ath/if_ath.c#67 edit
Differences ...
==== //depot/projects/wifi/sys/dev/ath/if_ath.c#67 (text+ko) ====
@@ -122,6 +122,7 @@
static void ath_mode_init(struct ath_softc *);
static void ath_setslottime(struct ath_softc *);
static void ath_updateslot(struct ifnet *);
+static int ath_beaconq_setup(struct ath_hal *);
static int ath_beacon_alloc(struct ath_softc *, struct ieee80211_node *);
static void ath_beacon_setup(struct ath_softc *, struct ath_buf *);
static void ath_beacon_proc(void *, int);
@@ -380,7 +381,7 @@
*
* XXX PS-Poll
*/
- sc->sc_bhalq = ath_hal_setuptxqueue(ah, HAL_TX_QUEUE_BEACON, NULL);
+ sc->sc_bhalq = ath_beaconq_setup(ah);
if (sc->sc_bhalq == (u_int) -1) {
if_printf(ifp, "unable to setup a beacon xmit queue!\n");
error = EIO;
@@ -2036,6 +2037,22 @@
}
/*
+ * Setup a h/w transmit queue for beacons.
+ */
+static int
+ath_beaconq_setup(struct ath_hal *ah)
+{
+ HAL_TXQ_INFO qi;
+
+ memset(&qi, 0, sizeof(qi));
+ qi.tqi_aifs = HAL_TXQ_USEDEFAULT;
+ qi.tqi_cwmin = HAL_TXQ_USEDEFAULT;
+ qi.tqi_cwmax = HAL_TXQ_USEDEFAULT;
+ /* NB: don't enable any interrupts */
+ return ath_hal_setuptxqueue(ah, HAL_TX_QUEUE_BEACON, &qi);
+}
+
+/*
* Allocate and setup an initial beacon frame.
*/
static int
More information about the p4-projects
mailing list