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