On Mon, 2013-02-11 at 13:03 +0100, Marco Porsch wrote: > 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. It's still pretty bad to make that assumption implicitly -- I think you should at least document it as a big todo item :) johannes -- 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