Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Jan 2005 07:06:25 GMT
From:      Sam Leffler <sam@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 68809 for review
Message-ID:  <200501120706.j0C76PfW046901@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=68809

Change 68809 by sam@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200501120706.j0C76PfW046901>