Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 May 2015 01:04:02 -0700
From:      Adrian Chadd <adrian@freebsd.org>
To:        "freebsd-wireless@freebsd.org" <freebsd-wireless@freebsd.org>
Subject:   Fwd: svn commit: r283309 - head/sys/contrib/dev/ath/ath_hal/ar9300
Message-ID:  <CAJ-Vmom6vbo7EfmpM3H0tKLD1M9HZP90T1M70F54Rcu_vHNCsg@mail.gmail.com>
In-Reply-To: <201505230802.t4N82sLA097528@svn.freebsd.org>
References:  <201505230802.t4N82sLA097528@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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@freebsd.org>
Date: 23 May 2015 at 01:02
Subject: svn commit: r283309 - head/sys/contrib/dev/ath/ath_hal/ar9300
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
svn-src-head@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@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,



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