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

Adrian Chadd adrian at FreeBSD.org
Fri Jul 8 22:37:54 UTC 2016


Author: adrian
Date: Fri Jul  8 22:37:52 2016
New Revision: 302466
URL: https://svnweb.freebsd.org/changeset/base/302466

Log:
  [ath_hal] Add setting positioning bit and clear sounding-disable bit.
  
  * If fast_ts is set then the TX timestamp is the fast timestamp, not
    normal TSF.
  * If the TX descriptor has the position bit set then request locationing
    and clear sounding-disable.  This way we (a) get the response with
    the TX timestamp from the location side of things, and (b) we get
    a CSI dump of the response ACK, which we will eventually use in the
    locationing path.

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

Modified: head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_xmit_ds.c
==============================================================================
--- head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_xmit_ds.c	Fri Jul  8 22:32:03 2016	(r302465)
+++ head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_xmit_ds.c	Fri Jul  8 22:37:52 2016	(r302466)
@@ -335,6 +335,9 @@ ar9300_proc_tx_desc(struct ath_hal *ah, 
         ts->ts_ba_low = ads->status5;
         ts->ts_ba_high = ads->status6;
     }
+    if (ads->status8 & AR_tx_fast_ts) {
+        ts->ts_flags |= HAL_TX_FAST_TS;
+    }
 
     /*
      * Extract the transmit rate.
@@ -624,6 +627,11 @@ ar9300_set_11n_tx_desc(
     ads->ds_ctl18 = 0;
     ads->ds_ctl19 = AR_not_sounding; /* set not sounding for normal frame */
 
+    /* ToA/ToD positioning */
+    if (flags & HAL_TXDESC_POS) {
+        ads->ds_ctl12 |= AR_loc_mode;
+        ads->ds_ctl19 &= ~AR_not_sounding;
+    }
 
     /*
      * Clear Ness1/2/3 (Number of Extension Spatial Streams) fields.


More information about the svn-src-head mailing list