svn commit: r238858 - in head/sys/dev/ath/ath_hal: . ar5210 ar5211
ar5212 ar5416
Adrian Chadd
adrian at FreeBSD.org
Sat Jul 28 07:28:09 UTC 2012
Author: adrian
Date: Sat Jul 28 07:28:08 2012
New Revision: 238858
URL: http://svn.freebsd.org/changeset/base/238858
Log:
Flesh out the multi-rate retry capability.
The existing method for testing for MRR is to call the "SetupXTXDesc"
HAL method and see if it returns AH_TRUE or AH_FALSE. This capability
explicitly lists what number of multi-rate attempts are possible.
"1" means "one rate attempt supported".
Modified:
head/sys/dev/ath/ath_hal/ah.c
head/sys/dev/ath/ath_hal/ah_internal.h
head/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c
head/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c
head/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c
head/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
Modified: head/sys/dev/ath/ath_hal/ah.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ah.c Sat Jul 28 07:25:00 2012 (r238857)
+++ head/sys/dev/ath/ath_hal/ah.c Sat Jul 28 07:28:08 2012 (r238858)
@@ -657,7 +657,8 @@ ath_hal_getcapability(struct ath_hal *ah
}
case HAL_CAP_RXBUFSIZE:
case HAL_CAP_NUM_MR_RETRIES:
- return HAL_EINVAL; /* XXX not yet */
+ *result = pCap->halNumMRRetries;
+ return HAL_OK;
case HAL_CAP_BT_COEX:
return pCap->halBtCoexSupport ? HAL_OK : HAL_ENOTSUPP;
case HAL_CAP_HT20_SGI:
Modified: head/sys/dev/ath/ath_hal/ah_internal.h
==============================================================================
--- head/sys/dev/ath/ath_hal/ah_internal.h Sat Jul 28 07:25:00 2012 (r238857)
+++ head/sys/dev/ath/ath_hal/ah_internal.h Sat Jul 28 07:28:08 2012 (r238858)
@@ -252,6 +252,7 @@ typedef struct {
int halRxStatusLen;
int halRxHpFifoDepth;
int halRxLpFifoDepth;
+ int halNumMRRetries;
} HAL_CAPABILITIES;
struct regDomain;
Modified: head/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c Sat Jul 28 07:25:00 2012 (r238857)
+++ head/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c Sat Jul 28 07:28:08 2012 (r238858)
@@ -361,6 +361,7 @@ ar5210FillCapabilityInfo(struct ath_hal
pCap->halSleepAfterBeaconBroken = AH_TRUE;
pCap->halPSPollBroken = AH_FALSE;
+ pCap->halNumMRRetries = 1; /* No hardware MRR support */
pCap->halTotalQueues = HAL_NUM_TX_QUEUES;
pCap->halKeyCacheSize = 64;
Modified: head/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c Sat Jul 28 07:25:00 2012 (r238857)
+++ head/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c Sat Jul 28 07:28:08 2012 (r238858)
@@ -496,6 +496,7 @@ ar5211FillCapabilityInfo(struct ath_hal
pCap->halSleepAfterBeaconBroken = AH_TRUE;
pCap->halPSPollBroken = AH_TRUE;
pCap->halVEOLSupport = AH_TRUE;
+ pCap->halNumMRRetries = 1; /* No hardware MRR support */
pCap->halTotalQueues = HAL_NUM_TX_QUEUES;
pCap->halKeyCacheSize = 128;
Modified: head/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c Sat Jul 28 07:25:00 2012 (r238857)
+++ head/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c Sat Jul 28 07:28:08 2012 (r238858)
@@ -824,6 +824,7 @@ ar5212FillCapabilityInfo(struct ath_hal
pCap->halTurboGSupport = pCap->halWirelessModes & HAL_MODE_108G;
pCap->halPSPollBroken = AH_TRUE; /* XXX fixed in later revs? */
+ pCap->halNumMRRetries = 4; /* Hardware supports 4 MRR */
pCap->halVEOLSupport = AH_TRUE;
pCap->halBssIdMaskSupport = AH_TRUE;
pCap->halMcastKeySrchSupport = AH_TRUE;
Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Sat Jul 28 07:25:00 2012 (r238857)
+++ head/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Sat Jul 28 07:28:08 2012 (r238858)
@@ -892,6 +892,7 @@ ar5416FillCapabilityInfo(struct ath_hal
pCap->halTurboGSupport = pCap->halWirelessModes & HAL_MODE_108G;
pCap->halPSPollBroken = AH_TRUE; /* XXX fixed in later revs? */
+ pCap->halNumMRRetries = 4; /* Hardware supports 4 MRR */
pCap->halVEOLSupport = AH_TRUE;
pCap->halBssIdMaskSupport = AH_TRUE;
pCap->halMcastKeySrchSupport = AH_TRUE; /* Works on AR5416 and later */
More information about the svn-src-head
mailing list