This patchset introduces a new ieee80211_op offset_tsf(), which gives the driver a s64 TSF offset for TSF adjustment. This is more accurate than programming absolute TSF since programming delay is avoided. ath10k can't get the current TSF or program an absolute TSF, so we remove those ops to not mislead the stack and hopefully avoid future bugs. Tested on QCA4019 with firmware 10.4-3.2.1-0033. After this change Toffset remains stable to within 5us. Thomas Pedersen (4): mac80211: add offset_tsf driver op ath10k: implement offset_tsf ieee80211_op ath10k: remove set/get_tsf ieee80211_ops mac80211: mesh: decrease max drift drivers/net/wireless/ath/ath10k/mac.c | 45 +++++++++++-------------------- drivers/net/wireless/ath/ath10k/wmi-tlv.c | 1 - drivers/net/wireless/ath/ath10k/wmi.c | 6 ++--- drivers/net/wireless/ath/ath10k/wmi.h | 8 +++++- include/net/mac80211.h | 8 ++++++ net/mac80211/debugfs_netdev.c | 12 ++++++--- net/mac80211/driver-ops.c | 15 +++++++++++ net/mac80211/driver-ops.h | 3 +++ net/mac80211/mesh_sync.c | 12 ++++++--- net/mac80211/trace.h | 26 ++++++++++++++++++ 10 files changed, 94 insertions(+), 42 deletions(-) -- 2.10.0.297.gf6727b0