From: Marco Porsch <marco@cozybit.com> To: mcgrof@qca.qualcomm.com, jouni@qca.qualcomm.com, vthiagar@qca.qualcomm.com, senthilb@qca.qualcomm.com, johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org, devel@lists.open80211s.org, ath9k-devel@lists.ath9k.org, Marco Porsch <marco@cozybit.com> Subject: [RFC 0/3] mesh power save - hardware doze Date: Wed, 23 Jan 2013 11:19:17 +0100 [thread overview] Message-ID: <1358936360-7795-1-git-send-email-marco@cozybit.com> (raw) Commits #2 and #3 implement the actual power saving mechanism for mesh. When the current peer link states allow doze state, the HW is configured accordingly. STA wake up from doze state for 1) sending their own beacon and tailing awake window 2) receiving beacons of peers they are in light sleep towards In these two situations a Mesh Peer Service Period may be initiated to extend the awake phase to transmit/receive frames. Design goal was to implement all PS routines in mac80211 to keep maintainability high and allow simple driver adaption. Since mesh PS requires waiting for beacon/multicasts (CAB) per STA, these routines are re-implemented in mac80211. The implementation should be capable of managing multiple concurrent mesh vif, although this has rarely been tested, yet. (For more info see https://github.com/cozybit/open80211s/wiki /Mesh-Powersave-Implementation-Notes.) On some test devices (WNDR3700/3800 with openwrt r35284) I experience frequent crashes ("Data bus error"). Adding udelay to ath9k_hw_set_power_awake and ath9k_set_power_network_sleep as described in https://dev.openwrt.org/ticket/9107 seems to help. I am unsure if I just stumble over a bug or cause it myself here. Marco Porsch (3): mac80211: move mesh sync beacon handler into neighbour_update mac80211: mesh power save doze scheduling ath9k: mesh powersave support drivers/net/wireless/ath/ath9k/ath9k.h | 1 + drivers/net/wireless/ath/ath9k/main.c | 46 +++- include/net/mac80211.h | 34 +++ net/mac80211/ieee80211_i.h | 19 +- net/mac80211/mesh.c | 25 ++- net/mac80211/mesh.h | 22 +- net/mac80211/mesh_plink.c | 17 +- net/mac80211/mesh_ps.c | 357 ++++++++++++++++++++++++++++++++ net/mac80211/mesh_sync.c | 47 ++--- net/mac80211/sta_info.c | 4 + net/mac80211/sta_info.h | 13 ++ net/mac80211/tx.c | 2 + 12 files changed, 536 insertions(+), 51 deletions(-) -- 1.7.9.5
WARNING: multiple messages have this Message-ID (diff)
From: Marco Porsch <marco@cozybit.com> To: ath9k-devel@lists.ath9k.org Subject: [ath9k-devel] [RFC 0/3] mesh power save - hardware doze Date: Wed, 23 Jan 2013 11:19:17 +0100 [thread overview] Message-ID: <1358936360-7795-1-git-send-email-marco@cozybit.com> (raw) Commits #2 and #3 implement the actual power saving mechanism for mesh. When the current peer link states allow doze state, the HW is configured accordingly. STA wake up from doze state for 1) sending their own beacon and tailing awake window 2) receiving beacons of peers they are in light sleep towards In these two situations a Mesh Peer Service Period may be initiated to extend the awake phase to transmit/receive frames. Design goal was to implement all PS routines in mac80211 to keep maintainability high and allow simple driver adaption. Since mesh PS requires waiting for beacon/multicasts (CAB) per STA, these routines are re-implemented in mac80211. The implementation should be capable of managing multiple concurrent mesh vif, although this has rarely been tested, yet. (For more info see https://github.com/cozybit/open80211s/wiki /Mesh-Powersave-Implementation-Notes.) On some test devices (WNDR3700/3800 with openwrt r35284) I experience frequent crashes ("Data bus error"). Adding udelay to ath9k_hw_set_power_awake and ath9k_set_power_network_sleep as described in https://dev.openwrt.org/ticket/9107 seems to help. I am unsure if I just stumble over a bug or cause it myself here. Marco Porsch (3): mac80211: move mesh sync beacon handler into neighbour_update mac80211: mesh power save doze scheduling ath9k: mesh powersave support drivers/net/wireless/ath/ath9k/ath9k.h | 1 + drivers/net/wireless/ath/ath9k/main.c | 46 +++- include/net/mac80211.h | 34 +++ net/mac80211/ieee80211_i.h | 19 +- net/mac80211/mesh.c | 25 ++- net/mac80211/mesh.h | 22 +- net/mac80211/mesh_plink.c | 17 +- net/mac80211/mesh_ps.c | 357 ++++++++++++++++++++++++++++++++ net/mac80211/mesh_sync.c | 47 ++--- net/mac80211/sta_info.c | 4 + net/mac80211/sta_info.h | 13 ++ net/mac80211/tx.c | 2 + 12 files changed, 536 insertions(+), 51 deletions(-) -- 1.7.9.5
next reply other threads:[~2013-01-23 10:19 UTC|newest] Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top 2013-01-23 10:19 Marco Porsch [this message] 2013-01-23 10:19 ` [ath9k-devel] [RFC 0/3] mesh power save - hardware doze Marco Porsch 2013-01-23 10:19 ` [RFC 1/3] mac80211: move mesh sync beacon handler into neighbour_update Marco Porsch 2013-01-23 10:19 ` [ath9k-devel] " Marco Porsch 2013-01-31 13:43 ` Johannes Berg 2013-01-31 13:43 ` [ath9k-devel] " Johannes Berg 2013-01-31 15:28 ` Marco Porsch 2013-01-31 15:28 ` [ath9k-devel] " Marco Porsch 2013-02-02 17:53 ` Sam Leffler 2013-01-23 10:19 ` [RFC 2/3] mac80211: mesh power save doze scheduling Marco Porsch 2013-01-23 10:19 ` [ath9k-devel] " Marco Porsch 2013-01-23 19:16 ` Thomas Pedersen 2013-01-23 19:16 ` [ath9k-devel] " Thomas Pedersen 2013-01-31 13:51 ` Johannes Berg 2013-01-31 13:51 ` [ath9k-devel] " Johannes Berg 2013-01-31 15:23 ` Marco Porsch 2013-01-31 15:23 ` [ath9k-devel] " Marco Porsch 2013-01-31 15:34 ` Johannes Berg 2013-01-31 15:34 ` [ath9k-devel] " Johannes Berg 2013-01-23 10:19 ` [RFC 3/3] ath9k: mesh powersave support Marco Porsch 2013-01-23 10:19 ` [ath9k-devel] " Marco Porsch
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1358936360-7795-1-git-send-email-marco@cozybit.com \ --to=marco@cozybit.com \ --cc=ath9k-devel@lists.ath9k.org \ --cc=devel@lists.open80211s.org \ --cc=johannes@sipsolutions.net \ --cc=jouni@qca.qualcomm.com \ --cc=linux-wireless@vger.kernel.org \ --cc=mcgrof@qca.qualcomm.com \ --cc=senthilb@qca.qualcomm.com \ --cc=vthiagar@qca.qualcomm.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.