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".
This commit is contained in:
parent
8443512a77
commit
ee3e4df90c
@ -657,7 +657,8 @@ ath_hal_getcapability(struct ath_hal *ah, HAL_CAPABILITY_TYPE type,
|
||||
}
|
||||
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:
|
||||
|
@ -252,6 +252,7 @@ typedef struct {
|
||||
int halRxStatusLen;
|
||||
int halRxHpFifoDepth;
|
||||
int halRxLpFifoDepth;
|
||||
int halNumMRRetries;
|
||||
} HAL_CAPABILITIES;
|
||||
|
||||
struct regDomain;
|
||||
|
@ -361,6 +361,7 @@ ar5210FillCapabilityInfo(struct ath_hal *ah)
|
||||
|
||||
pCap->halSleepAfterBeaconBroken = AH_TRUE;
|
||||
pCap->halPSPollBroken = AH_FALSE;
|
||||
pCap->halNumMRRetries = 1; /* No hardware MRR support */
|
||||
|
||||
pCap->halTotalQueues = HAL_NUM_TX_QUEUES;
|
||||
pCap->halKeyCacheSize = 64;
|
||||
|
@ -496,6 +496,7 @@ ar5211FillCapabilityInfo(struct ath_hal *ah)
|
||||
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;
|
||||
|
@ -824,6 +824,7 @@ ar5212FillCapabilityInfo(struct ath_hal *ah)
|
||||
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;
|
||||
|
@ -892,6 +892,7 @@ ar5416FillCapabilityInfo(struct ath_hal *ah)
|
||||
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 */
|
||||
|
Loading…
Reference in New Issue
Block a user