On 02/08/2013 10:57 PM, Johannes Berg wrote:
On Fri, 2013-02-08 at 11:09 +0100, Marco Porsch wrote:
For mesh Awake Windows wakeup on SWBA (beacon_get_tim) and start
a timer which triggers a doze call on expiry.
That seems questionable -- drivers are not required to request each
beacon. I know you only want to make it work on ath9k, but I don't think
"stretching" the API, without even documenting it, is a good idea.
Currently, we already use ieee80211_beacon_get_tim as time reference for
mesh sync's adjust_tbtt. And, as far as I know, all mesh-capable drivers
use the call for each and every beacon.
Oops, why did I miss that before? :-)
So what would you recommend: keep using beacon_get and adding
documentation - or - creating an exported callback for awake_window_start?
I guess you could add it... However, I don't really fully understand.
There's no guarantee that fetching the beacon is done anywhere close to
TBTT? Or does ath9k happen to do it just after TXing a beacon? You're
encoding quite a lot of ath9k-specific assumptions here it seems?
I think the assumption is currently correct for ath5k, ath9k, ath9k_htc,
carl9170 and rt2800 (that's as far as I checked). All of these fetch a
beacon on SWBA/PRETBTT interrupt (more or less) immediately before TBTT.
--Marco
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html