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