Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Jan 2012 23:07:27 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r230791 - in head/sys/dev/ath/ath_hal: ar5210 ar5211 ar5212
Message-ID:  <201201302307.q0UN7Rvl006718@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adrian
Date: Mon Jan 30 23:07:27 2012
New Revision: 230791
URL: http://svn.freebsd.org/changeset/base/230791

Log:
  Radar API related fixes.
  
  * For legacy NICs, the combined RSSI should be used.
    For earlier AR5416 NICs, use control chain 0 RSSI rather than combined
    RSSI.
    For AR5416 > version 2.1, use the combined RSSI again.
  
  * Add in a missing AR5212 HAL method (get11nextbusy) which may be called
    by radar code.
  
  This serves no functional change for what's currently in FreeBSD.

Modified:
  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.h
  head/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c
  head/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c

Modified: head/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c	Mon Jan 30 23:03:21 2012	(r230790)
+++ head/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c	Mon Jan 30 23:07:27 2012	(r230791)
@@ -359,6 +359,12 @@ ar5210FillCapabilityInfo(struct ath_hal 
 	pCap->halChanHalfRate = AH_FALSE;
 	pCap->halChanQuarterRate = AH_FALSE;
 
+	/*
+	 * RSSI uses the combined field; some 11n NICs may use
+	 * the control chain RSSI.
+	 */
+	pCap->halUseCombinedRadarRssi = AH_TRUE;
+
 	if (ath_hal_eepromGetFlag(ah, AR_EEP_RFKILL)) {
 		/*
 		 * Setup initial rfsilent settings based on the EEPROM

Modified: head/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c	Mon Jan 30 23:03:21 2012	(r230790)
+++ head/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c	Mon Jan 30 23:07:27 2012	(r230791)
@@ -494,6 +494,12 @@ ar5211FillCapabilityInfo(struct ath_hal 
 	pCap->halChanHalfRate = AH_FALSE;
 	pCap->halChanQuarterRate = AH_FALSE;
 
+	/*
+	 * RSSI uses the combined field; some 11n NICs may use
+	 * the control chain RSSI.
+	 */
+	pCap->halUseCombinedRadarRssi = AH_TRUE;
+
 	if (ath_hal_eepromGetFlag(ah, AR_EEP_RFKILL) &&
 	    ath_hal_eepromGet(ah, AR_EEP_RFSILENT, &ahpriv->ah_rfsilent) == HAL_OK) {
 		/* NB: enabled by default */

Modified: head/sys/dev/ath/ath_hal/ar5212/ar5212.h
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5212/ar5212.h	Mon Jan 30 23:03:21 2012	(r230790)
+++ head/sys/dev/ath/ath_hal/ar5212/ar5212.h	Mon Jan 30 23:07:27 2012	(r230791)
@@ -628,5 +628,6 @@ extern	HAL_BOOL ar5212ProcessRadarEvent(
 	    struct ath_rx_status *rxs, uint64_t fulltsf, const char *buf,
 	    HAL_DFS_EVENT *event);
 extern	HAL_BOOL ar5212IsFastClockEnabled(struct ath_hal *ah);
+extern	uint32_t ar5212Get11nExtBusy(struct ath_hal *ah);
 
 #endif	/* _ATH_AR5212_H_ */

Modified: head/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c	Mon Jan 30 23:03:21 2012	(r230790)
+++ head/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c	Mon Jan 30 23:07:27 2012	(r230791)
@@ -134,6 +134,7 @@ static const struct ath_hal_private ar52
 	.ah_getDfsThresh		= ar5212GetDfsThresh,
 	.ah_procRadarEvent		= ar5212ProcessRadarEvent,
 	.ah_isFastClockEnabled		= ar5212IsFastClockEnabled,
+	.ah_get11nExtBusy		= ar5212Get11nExtBusy,
 
 	/* Key Cache Functions */
 	.ah_getKeyCacheSize		= ar5212GetKeyCacheSize,
@@ -839,6 +840,12 @@ ar5212FillCapabilityInfo(struct ath_hal 
 	pCap->halChanHalfRate = AH_TRUE;
 	pCap->halChanQuarterRate = AH_TRUE;
 
+	/*
+	 * RSSI uses the combined field; some 11n NICs may use
+	 * the control chain RSSI.
+	 */
+	pCap->halUseCombinedRadarRssi = AH_TRUE;
+
 	if (ath_hal_eepromGetFlag(ah, AR_EEP_RFKILL) &&
 	    ath_hal_eepromGet(ah, AR_EEP_RFSILENT, &ahpriv->ah_rfsilent) == HAL_OK) {
 		/* NB: enabled by default */

Modified: head/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c	Mon Jan 30 23:03:21 2012	(r230790)
+++ head/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c	Mon Jan 30 23:07:27 2012	(r230791)
@@ -1233,3 +1233,13 @@ ar5212IsFastClockEnabled(struct ath_hal 
 {
 	return AH_FALSE;
 }
+
+/*
+ * Return what percentage of the extension channel is busy.
+ * This is always disabled for AR5212 series NICs.
+ */
+uint32_t
+ar5212Get11nExtBusy(struct ath_hal *ah)
+{
+	return 0;
+}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201201302307.q0UN7Rvl006718>