svn commit: r219318 - head/sys/dev/ath/ath_hal

Adrian Chadd adrian at FreeBSD.org
Sun Mar 6 00:30:44 UTC 2011


Author: adrian
Date: Sun Mar  6 00:30:43 2011
New Revision: 219318
URL: http://svn.freebsd.org/changeset/base/219318

Log:
  Add an EEPROM op that extracts out the power table offset.
  It defaults to -5 dBm for eeproms earlier than v21.
  
  This apparently only applies to Merlin (AR9280) or later,
  earlier 11n chipsets have a power table offset of 0.
  All the code in ath9k which checks the power table offset
  and takes it into account first ensures the chip is
  Merlin or later.

Modified:
  head/sys/dev/ath/ath_hal/ah_eeprom.h
  head/sys/dev/ath/ath_hal/ah_eeprom_v14.c

Modified: head/sys/dev/ath/ath_hal/ah_eeprom.h
==============================================================================
--- head/sys/dev/ath/ath_hal/ah_eeprom.h	Sat Mar  5 22:31:03 2011	(r219317)
+++ head/sys/dev/ath/ath_hal/ah_eeprom.h	Sun Mar  6 00:30:43 2011	(r219318)
@@ -100,6 +100,7 @@ enum {
 	AR_EEP_ANTGAINMAX_5,	/* int8_t* */
 	AR_EEP_ANTGAINMAX_2,	/* int8_t* */
 	AR_EEP_WRITEPROTECT,	/* use ath_hal_eepromGetFlag */
+	AR_EEP_PWR_TABLE_OFFSET	/* int8_t* */
 };
 
 typedef struct {

Modified: head/sys/dev/ath/ath_hal/ah_eeprom_v14.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ah_eeprom_v14.c	Sat Mar  5 22:31:03 2011	(r219317)
+++ head/sys/dev/ath/ath_hal/ah_eeprom_v14.c	Sun Mar  6 00:30:43 2011	(r219318)
@@ -126,6 +126,13 @@ v14EepromGet(struct ath_hal *ah, int par
 	case AR_EEP_ANTGAINMAX_5:
 		*(int8_t *) val = ee->ee_antennaGainMax[0];
 		return HAL_OK;
+	case AR_EEP_PWR_TABLE_OFFSET:
+		if (IS_VERS(>=, AR5416_EEP_MINOR_VER_21))
+			*(int8_t *) val = pBase->pwr_table_offset;
+		else
+			*(int8_t *) val = AR5416_PWR_TABLE_OFFSET_DB;
+		return HAL_OK;
+		
         default:
 		HALASSERT(0);
 		return HAL_EINVAL;


More information about the svn-src-all mailing list