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 */
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to