mac80211: add offset_tsf driver op and use it for mesh
This allows the mesh sync (and debugfs) code to make incremental TSF adjustments, avoiding any uncertainty introduced by delay in programming absolute TSF. Signed-off-by: Thomas Pedersen <twp@qca.qualcomm.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
committed by
Johannes Berg
parent
3ff23cd565
commit
354d381baf
@@ -556,9 +556,15 @@ static ssize_t ieee80211_if_parse_tsf(
|
||||
ret = kstrtoull(buf, 10, &tsf);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
if (tsf_is_delta)
|
||||
tsf = drv_get_tsf(local, sdata) + tsf_is_delta * tsf;
|
||||
if (local->ops->set_tsf) {
|
||||
if (tsf_is_delta && local->ops->offset_tsf) {
|
||||
drv_offset_tsf(local, sdata, tsf_is_delta * tsf);
|
||||
wiphy_info(local->hw.wiphy,
|
||||
"debugfs offset TSF by %018lld\n",
|
||||
tsf_is_delta * tsf);
|
||||
} else if (local->ops->set_tsf) {
|
||||
if (tsf_is_delta)
|
||||
tsf = drv_get_tsf(local, sdata) +
|
||||
tsf_is_delta * tsf;
|
||||
drv_set_tsf(local, sdata, tsf);
|
||||
wiphy_info(local->hw.wiphy,
|
||||
"debugfs set TSF to %#018llx\n", tsf);
|
||||
|
||||
Reference in New Issue
Block a user