aboutsummaryrefslogtreecommitdiff
path: root/sys/contrib/dev/ath
diff options
context:
space:
mode:
authorAdrian Chadd <adrian@FreeBSD.org>2016-07-08 22:37:52 +0000
committerAdrian Chadd <adrian@FreeBSD.org>2016-07-08 22:37:52 +0000
commitada3f60304fe0bafae869ecea043b3a386acadc4 (patch)
tree93d5e130f3f12dfaa9a205d3c30699f2ce762fc5 /sys/contrib/dev/ath
parent3fd8559331b0d9f5aba49b3f852effee1526c17f (diff)
downloadsrc-ada3f60304fe0bafae869ecea043b3a386acadc4.tar.gz
src-ada3f60304fe0bafae869ecea043b3a386acadc4.zip
[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.
Notes
Notes: svn path=/head/; revision=302466
Diffstat (limited to 'sys/contrib/dev/ath')
-rw-r--r--sys/contrib/dev/ath/ath_hal/ar9300/ar9300_xmit_ds.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_xmit_ds.c b/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_xmit_ds.c
index ee6bb0f68eec..fff72363158b 100644
--- a/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_xmit_ds.c
+++ b/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_xmit_ds.c
@@ -335,6 +335,9 @@ ar9300_proc_tx_desc(struct ath_hal *ah, void *txstatus)
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.