summaryrefslogtreecommitdiffstats
path: root/sys/contrib
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2015-08-05 21:16:12 +0000
committeradrian <adrian@FreeBSD.org>2015-08-05 21:16:12 +0000
commit269dc4f4f25be8bf7a2a17ff352a3ca43fa8ac2d (patch)
tree30c5e8f5a0c4d61c76f2e2ed6fa4421cf793818b /sys/contrib
parentf8f56ae6efee57607d992367981df435f496616f (diff)
downloadFreeBSD-src-269dc4f4f25be8bf7a2a17ff352a3ca43fa8ac2d.zip
FreeBSD-src-269dc4f4f25be8bf7a2a17ff352a3ca43fa8ac2d.tar.gz
Add a missing method - ath_hal_settsf64().
This is required for TDMA slave mode.
Diffstat (limited to 'sys/contrib')
-rw-r--r--sys/contrib/dev/ath/ath_hal/ar9300/ar9300_freebsd.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_freebsd.c b/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_freebsd.c
index 5bdd74f..6118b82 100644
--- a/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_freebsd.c
+++ b/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_freebsd.c
@@ -97,6 +97,18 @@ ar9300_freebsd_get_cts_timeout(struct ath_hal *ah)
return ath_hal_mac_usec(ah, clks); /* convert from system clocks */
}
+static void
+ar9300_freebsd_set_tsf64(struct ath_hal *ah, uint64_t tsf64)
+{
+
+ /*
+ * XXX TODO: read ar5416SetTsf64() - we should wait before we do
+ * this.
+ */
+ OS_REG_WRITE(ah, AR_TSF_L32, tsf64 & 0xffffffff);
+ OS_REG_WRITE(ah, AR_TSF_U32, (tsf64 >> 32) & 0xffffffff);
+}
+
void
ar9300_attach_freebsd_ops(struct ath_hal *ah)
{
@@ -182,6 +194,7 @@ ar9300_attach_freebsd_ops(struct ath_hal *ah)
ah->ah_getTsf32 = ar9300_get_tsf32;
ah->ah_getTsf64 = ar9300_get_tsf64;
ah->ah_resetTsf = ar9300_reset_tsf;
+ ah->ah_setTsf64 = ar9300_freebsd_set_tsf64;
ah->ah_detectCardPresent = ar9300_detect_card_present;
// ah->ah_updateMibCounters = ar9300_update_mib_counters;
ah->ah_getRfGain = ar9300_get_rfgain;
OpenPOWER on IntegriCloud