Gucea Doru
2016-11-21 17:06:19 UTC
Hello, everyone
We looked at the beacon behavior [1] at the station side and we are
trying to understand the logic used for computing the nexttbtt -
Target Beacon Transmission Time - value [2]:
return (u32) tsf + divisor - offset;
What's the reason for taking only 32 bits from TSF - which is 64 bits
long - and losing the upper 32 bits?
I noticed that the nexttbtt value is later used for arming the
AR_NEXT_TBTT_TIMER [3] but there is no clear explanation related to
this hardware timer. What is the connection between this hardware
timer and TSF? My assumption is that, for triggering this timer, the
value from the timer is continuously compared with the TSF value but I
can't figure it out how a 32 bit value is compared with a 64 bit
value.
[1] http://lxr.free-electrons.com/source/drivers/net/wireless/ath/ath9k/common-beacon.c#L41
[2] http://lxr.free-electrons.com/source/drivers/net/wireless/ath/ath9k/common-beacon.c#L30
[3] http://lxr.free-electrons.com/source/drivers/net/wireless/ath/ath9k/hw.c?v=4.3#L2278
Thanks,
Doru
We looked at the beacon behavior [1] at the station side and we are
trying to understand the logic used for computing the nexttbtt -
Target Beacon Transmission Time - value [2]:
return (u32) tsf + divisor - offset;
What's the reason for taking only 32 bits from TSF - which is 64 bits
long - and losing the upper 32 bits?
I noticed that the nexttbtt value is later used for arming the
AR_NEXT_TBTT_TIMER [3] but there is no clear explanation related to
this hardware timer. What is the connection between this hardware
timer and TSF? My assumption is that, for triggering this timer, the
value from the timer is continuously compared with the TSF value but I
can't figure it out how a 32 bit value is compared with a 64 bit
value.
[1] http://lxr.free-electrons.com/source/drivers/net/wireless/ath/ath9k/common-beacon.c#L41
[2] http://lxr.free-electrons.com/source/drivers/net/wireless/ath/ath9k/common-beacon.c#L30
[3] http://lxr.free-electrons.com/source/drivers/net/wireless/ath/ath9k/hw.c?v=4.3#L2278
Thanks,
Doru