Introduce hardware PS-POLL support in the HAL.

Linux ath9k only enables this for AR9280 and later NICs; so
create a capability for it so it isn't enabled for earlier
NICs.

Enabling hardware PS-POLL support will come in a later commit
and will be disabled by default.
This commit is contained in:
adrian 2011-03-26 10:47:17 +00:00
parent 7a5ef72838
commit 66cc5279f5
3 changed files with 8 additions and 1 deletions

View File

@ -599,8 +599,10 @@ ath_hal_getcapability(struct ath_hal *ah, HAL_CAPABILITY_TYPE type,
default:
return HAL_ENOTSUPP;
}
case HAP_CAP_SPLIT_4KB_TRANS: /* hardware handles descriptors straddling 4k page boundary */
case HAL_CAP_SPLIT_4KB_TRANS: /* hardware handles descriptors straddling 4k page boundary */
return pCap->hal4kbSplitTransSupport ? HAL_OK : HAL_ENOTSUPP;
case HAL_CAP_HAS_PSPOLL: /* hardware has ps-poll support */
return pCap->halHasPsPollSupport ? HAL_OK : HAL_ENOTSUPP;
default:
return HAL_EINVAL;
}

View File

@ -780,6 +780,8 @@ ar9280FillCapabilityInfo(struct ath_hal *ah)
#endif
pCap->halAutoSleepSupport = AH_FALSE; /* XXX? */
pCap->hal4kbSplitTransSupport = AH_FALSE;
if (AR_SREV_MERLIN_20_OR_LATER(ah))
pCap->halHasPsPollSupport = AH_TRUE;
pCap->halRxStbcSupport = 1;
pCap->halTxStbcSupport = 1;

View File

@ -380,6 +380,9 @@ ar9285FillCapabilityInfo(struct ath_hal *ah)
#endif
pCap->halAutoSleepSupport = AH_FALSE; /* XXX? */
pCap->hal4kbSplitTransSupport = AH_FALSE;
if (AR_SREV_KITE_12_OR_LATER(ah))
pCap->halHasPsPollSupport = AH_TRUE;
pCap->halRxStbcSupport = 1;
pCap->halTxStbcSupport = 1;