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>