diff options
author | Adrian Chadd <adrian@FreeBSD.org> | 2016-07-08 22:37:52 +0000 |
---|---|---|
committer | Adrian Chadd <adrian@FreeBSD.org> | 2016-07-08 22:37:52 +0000 |
commit | ada3f60304fe0bafae869ecea043b3a386acadc4 (patch) | |
tree | 93d5e130f3f12dfaa9a205d3c30699f2ce762fc5 /sys/contrib/dev/ath | |
parent | 3fd8559331b0d9f5aba49b3f852effee1526c17f (diff) | |
download | src-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.c | 8 |
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. |