Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Apr 2012 02:51:53 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r233967 - head/sys/dev/ath
Message-ID:  <201204070251.q372prsQ038011@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adrian
Date: Sat Apr  7 02:51:53 2012
New Revision: 233967
URL: http://svn.freebsd.org/changeset/base/233967

Log:
  Store away the RTS aggregate limit from the HAL.
  
  This will be used by some upcoming code to ensure that aggregates
  are enforced to be a certain size.  The AR5416 has a limitation on
  RTS protected aggregates (8KiB).

Modified:
  head/sys/dev/ath/if_ath.c
  head/sys/dev/ath/if_athvar.h

Modified: head/sys/dev/ath/if_ath.c
==============================================================================
--- head/sys/dev/ath/if_ath.c	Sat Apr  7 02:01:26 2012	(r233966)
+++ head/sys/dev/ath/if_ath.c	Sat Apr  7 02:51:53 2012	(r233967)
@@ -732,6 +732,13 @@ ath_attach(u_int16_t devid, struct ath_s
 		ic->ic_txstream = txs;
 		ic->ic_rxstream = rxs;
 
+		(void) ath_hal_getcapability(ah, HAL_CAP_RTS_AGGR_LIMIT, 1,
+		    &sc->sc_rts_aggr_limit);
+		if (sc->sc_rts_aggr_limit != (64 * 1024))
+			device_printf(sc->sc_dev,
+			    "[HT] RTS aggregates limited to %d KiB\n",
+			    sc->sc_rts_aggr_limit / 1024);
+
 		device_printf(sc->sc_dev,
 		    "[HT] %d RX streams; %d TX streams\n", rxs, txs);
 	}

Modified: head/sys/dev/ath/if_athvar.h
==============================================================================
--- head/sys/dev/ath/if_athvar.h	Sat Apr  7 02:01:26 2012	(r233966)
+++ head/sys/dev/ath/if_athvar.h	Sat Apr  7 02:51:53 2012	(r233967)
@@ -533,6 +533,7 @@ struct ath_softc {
 	uint16_t		*sc_eepromdata;	/* Local eeprom data, if AR9100 */
 	int			sc_txchainmask;	/* currently configured TX chainmask */
 	int			sc_rxchainmask;	/* currently configured RX chainmask */
+	int			sc_rts_aggr_limit;	/* TX limit on RTS aggregates */
 
 	/* Queue limits */
 



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