svn commit: r220027 - in head/sys/dev/ath/ath_hal: . ar9002
Adrian Chadd
adrian at FreeBSD.org
Sat Mar 26 10:47:17 UTC 2011
Author: adrian
Date: Sat Mar 26 10:47:17 2011
New Revision: 220027
URL: http://svn.freebsd.org/changeset/base/220027
Log:
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.
Modified:
head/sys/dev/ath/ath_hal/ah.c
head/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c
head/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c
Modified: head/sys/dev/ath/ath_hal/ah.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ah.c Sat Mar 26 09:25:35 2011 (r220026)
+++ head/sys/dev/ath/ath_hal/ah.c Sat Mar 26 10:47:17 2011 (r220027)
@@ -599,8 +599,10 @@ ath_hal_getcapability(struct ath_hal *ah
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;
}
Modified: head/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c Sat Mar 26 09:25:35 2011 (r220026)
+++ head/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c Sat Mar 26 10:47:17 2011 (r220027)
@@ -780,6 +780,8 @@ ar9280FillCapabilityInfo(struct ath_hal
#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;
Modified: head/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c Sat Mar 26 09:25:35 2011 (r220026)
+++ head/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c Sat Mar 26 10:47:17 2011 (r220027)
@@ -380,6 +380,9 @@ ar9285FillCapabilityInfo(struct ath_hal
#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;
More information about the svn-src-all
mailing list