From owner-p4-projects@FreeBSD.ORG Wed Jan 12 07:06:25 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 92F6216A4D0; Wed, 12 Jan 2005 07:06:25 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6474D16A4CE for ; Wed, 12 Jan 2005 07:06:25 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4E87A43D1D for ; Wed, 12 Jan 2005 07:06:25 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j0C76PFU046904 for ; Wed, 12 Jan 2005 07:06:25 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j0C76PfW046901 for perforce@freebsd.org; Wed, 12 Jan 2005 07:06:25 GMT (envelope-from sam@freebsd.org) Date: Wed, 12 Jan 2005 07:06:25 GMT Message-Id: <200501120706.j0C76PfW046901@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 68809 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Jan 2005 07:06:26 -0000 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