Fwd: svn commit: r283309 - head/sys/contrib/dev/ath/ath_hal/ar9300

Adrian Chadd adrian at freebsd.org
Sat May 23 08:04:03 UTC 2015


If you're using the carambola 2, you'll want to update.

This makes it behave much, much better!



-adrian


---------- Forwarded message ----------
From: Adrian Chadd <adrian at freebsd.org>
Date: 23 May 2015 at 01:02
Subject: svn commit: r283309 - head/sys/contrib/dev/ath/ath_hal/ar9300
To: src-committers at freebsd.org, svn-src-all at freebsd.org,
svn-src-head at freebsd.org


Author: adrian
Date: Sat May 23 08:02:54 2015
New Revision: 283309
URL: https://svnweb.freebsd.org/changeset/base/283309

Log:
  Add support for the tuning cap for Hornet/AR9331 boards.

  This dramatically improves RX sensitivity and behaviour on the
  AR9331 hardware I have, including the Carambola 2.

  Tested:

  * AR9331, Carambola 2 board

  Submitted by: Zilvinas Valinskas <zilvinas.valinskas at gmail.com>

Modified:
  head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c

Modified: head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c
==============================================================================
--- head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c     Sat
May 23 01:17:50 2015        (r283308)
+++ head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c     Sat
May 23 08:02:54 2015        (r283309)
@@ -4476,8 +4476,16 @@ HAL_BOOL ar9300_tuning_caps_apply(struct
     if ((eep->base_eep_header.feature_enable & 0x40) >> 6) {
         tuning_caps_params &= 0x7f;

-        if (AR_SREV_HORNET(ah) || AR_SREV_POSEIDON(ah) || AR_SREV_WASP(ah)) {
+        /* XXX TODO: ath9k skips it for Wasp and Honeybee/AR9531, not
Poseidon */
+        if (AR_SREV_POSEIDON(ah) || AR_SREV_WASP(ah)) {
             return AH_TRUE;
+        } else if (AR_SREV_HORNET(ah)) {
+            OS_REG_RMW_FIELD(ah,
+                AR_HORNET_CH0_XTAL, AR_OSPREY_CHO_XTAL_CAPINDAC,
+                tuning_caps_params);
+            OS_REG_RMW_FIELD(ah,
+                AR_HORNET_CH0_XTAL, AR_OSPREY_CHO_XTAL_CAPOUTDAC,
+                tuning_caps_params);
         } else if (AR_SREV_SCORPION(ah)) {
             OS_REG_RMW_FIELD(ah,
                 AR_SCORPION_CH0_XTAL, AR_OSPREY_CHO_XTAL_CAPINDAC,


More information about the freebsd-wireless mailing list