mac80211: ath9k: get tx gain type from eeprom
authorGabor Juhos <juhosg@openwrt.org>
Tue, 5 Oct 2010 14:10:32 +0000 (14:10 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Tue, 5 Oct 2010 14:10:32 +0000 (14:10 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23242 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/mac80211/Makefile
package/mac80211/patches/560-ath9k-get-ath9k-get-correct-tx-gain-type.patch [new file with mode: 0644]

index f65a823..b644840 100644 (file)
@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
 PKG_NAME:=mac80211
 
 PKG_VERSION:=2010-09-28
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
 #      http://www.orbit-lab.org/kernel/compat-wireless-2.6/2010/11 \
 #      http://wireless.kernel.org/download/compat-wireless-2.6
diff --git a/package/mac80211/patches/560-ath9k-get-ath9k-get-correct-tx-gain-type.patch b/package/mac80211/patches/560-ath9k-get-ath9k-get-correct-tx-gain-type.patch
new file mode 100644 (file)
index 0000000..d9262cf
--- /dev/null
@@ -0,0 +1,33 @@
+--- a/drivers/net/wireless/ath/ath9k/eeprom_4k.c
++++ b/drivers/net/wireless/ath/ath9k/eeprom_4k.c
+@@ -179,6 +179,9 @@ static u32 ath9k_hw_4k_get_eeprom(struct
+       struct ar5416_eeprom_4k *eep = &ah->eeprom.map4k;
+       struct modal_eep_4k_header *pModal = &eep->modalHeader;
+       struct base_eep_header_4k *pBase = &eep->baseEepHeader;
++      u16 ver_minor;
++
++      ver_minor = pBase->version & AR5416_EEP_VER_MINOR_MASK;
+       switch (param) {
+       case EEP_NFTHRESH_2:
+@@ -204,7 +207,7 @@ static u32 ath9k_hw_4k_get_eeprom(struct
+       case EEP_DB_2:
+               return pModal->db1_1;
+       case EEP_MINOR_REV:
+-              return pBase->version & AR5416_EEP_VER_MINOR_MASK;
++              return ver_minor;
+       case EEP_TX_MASK:
+               return pBase->txMask;
+       case EEP_RX_MASK:
+@@ -217,6 +220,11 @@ static u32 ath9k_hw_4k_get_eeprom(struct
+               return pModal->version;
+       case EEP_ANT_DIV_CTL1:
+               return pModal->antdiv_ctl1;
++      case EEP_TXGAIN_TYPE:
++              if (ver_minor >= AR5416_EEP_MINOR_VER_19)
++                      return pBase->txGainType;
++              else
++                      return AR5416_EEP_TXGAIN_ORIGINAL;
+       default:
+               return 0;
+       }