linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Seth Forshee <seth.forshee@canonical.com>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: linux-wireless@vger.kernel.org,
	"John W. Linville" <linville@tuxdriver.com>,
	Stanislaw Gruszka <sgruszka@redhat.com>,
	"Luis R. Rodriguez" <mcgrof@qca.qualcomm.com>,
	Jouni Malinen <jouni@qca.qualcomm.com>,
	Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>,
	Senthil Balasubramanian <senthilb@qca.qualcomm.com>,
	Christian Lamparter <chunkeey@googlemail.com>,
	Ivo van Doorn <IvDoorn@gmail.com>,
	Gertjan van Wingerde <gwingerde@gmail.com>,
	Helmut Schaa <helmut.schaa@googlemail.com>,
	Larry Finger <Larry.Finger@lwfinger.net>,
	Chaoming Li <chaoming_li@realsil.com.cn>,
	Arend van Spriel <arend@broadcom.com>,
	Luciano Coelho <coelho@ti.com>,
	ath9k-devel@venema.h4ckr.net, brcm80211-dev-list@broadcom.com,
	users@rt2x00.serialmonkey.com
Subject: Re: [PATCH 5/7] mac80211: Expand powersave configuration flag to be two bits
Date: Wed, 6 Feb 2013 11:09:52 -0600	[thread overview]
Message-ID: <20130206170952.GA6280@thinkpad-t410> (raw)
In-Reply-To: <1360169290.7910.29.camel@jlt4.sipsolutions.net>

On Wed, Feb 06, 2013 at 05:48:10PM +0100, Johannes Berg wrote:
> Hi Seth,
> 
> > I've been thinking about and playing around with these ideas. I've
> > implemented the CONF_PM idea, and it does end up with fewer changes, but
> > I just don't think separating powersave from setting PM makes much
> > sense. In the end it just seems like a kludge to fix a problem with
> > Broadcom chips, and if I want a kludge I can do it entirely within the
> > driver.
> > 
> > So what I'm planning to do know is implement the awake/doze/offchannel
> > powersave modes like I had mentioned, but taking things a bit further.
> > I'd change IEEE80211_HW_SUPPORTS_PS to SUPPORTS_PS_DOZE, indicating
> > support for a low-power powersave state rather than support for
> > powersave in general.
> 
> Hm, I'm not sure I fully understand this. What does PS_DOZE mean then? I
> think in the spec doze is a specific term for mesh?
> 
> Does it just mean "I support actually turning off the radio"? But then
> what's the difference to supporting powersave? Can we maybe just
> disregard wl1251, which has the stupidest powersave implementation on
> the planet, and solve the "normal" problems first? :)

PS_DOZE means it actually supports putting the hardware into a low-power
state for powersave. I did take the term from the spec (802.11-2012). It
is usually used with regard to mesh, but it also appears wrt
infrastructure BSS (see especially 10.2.1.2 which defines both awake and
doze in the context of infrastructure networks).

I'm open to other terms, doze just seems to be consistent with the spec.

I haven't considered wl1251 specifically, only enough to update it so
that it continues to build.

> > All hardware will be reconfigured for
> > awake<->offchannel transitions (though most drivers can simply ignore
> > these transitions), but hardware will only be put in the doze state if
> > it indicates PS_DOZE support.
> > 
> > This will make it compulsory for all drivers to indicate whether or not
> > they require IEEE802111_HW_PS_NULLFUNC_STACK. I'll simply set this flag
> > for any drivers not currently supporting powersave.
> 
> That seems odd, why would they advertise they want null-data packets for
> powersave, when they don't have powersave? Just for the interaction with
> scan/offchannel?

Yes.

Maybe what's confusing here is that I'm making a differentiation between
"powersave" as a mac-level feature and "powersave" as a low-power
hardware state. Which is why I'm trying to change the mac80211
terminology around so that "doze" now means the low-power state and
"powersave" refers only to the state in which the AP is bufferring
frames for us.

So using these definition powersave is already a mandatory feature for
any hardware which uses software scanning. All I'm really doing is
making this explicit, and drivers would now opt in to being placed into
the doze state rather than opting into powersave in general. And of
course drivers are now told about transitions to the non-doze powersave
state (what I'm calling offchannel), so that drivers which need to do
hardware configuration for this state can do so.

> > In practice the changes shouldn't end up much different than what I have
> > in these patches, but I think it's conceptually cleaner (and less
> > confusing!). Does this sound reasonable to you?
> 
> Not really sure I understand it enough to comment :)

I've got working patches now, so maybe those will make everything clear.
I need to do a little more testing and give them a quick review, then
I'll send them out.

Seth


  reply	other threads:[~2013-02-06 17:10 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-29 23:47 [PATCH 0/7] Improvements to software scanning Seth Forshee
2013-01-29 23:47 ` [PATCH 1/7] mac80211: Return a status for tx operations Seth Forshee
2013-01-29 23:47 ` [PATCH 2/7] mac80211: Fix tx queue handling during scans Seth Forshee
2013-01-31 15:14   ` Johannes Berg
2013-01-31 16:14     ` Seth Forshee
2013-01-29 23:47 ` [PATCH 3/7] mac80211: Improve error handling for off-channel operation Seth Forshee
2013-01-31 15:15   ` Johannes Berg
2013-01-31 16:17     ` Seth Forshee
2013-01-29 23:47 ` [PATCH 4/7] mac80211: Add flushes before going off-channel Seth Forshee
2013-01-29 23:47 ` [PATCH 5/7] mac80211: Expand powersave configuration flag to be two bits Seth Forshee
2013-01-31 15:20   ` Johannes Berg
2013-01-31 16:33     ` Seth Forshee
2013-01-31 16:53       ` Johannes Berg
2013-01-31 17:18         ` Seth Forshee
2013-01-31 17:50           ` Johannes Berg
2013-02-05 22:51             ` Seth Forshee
2013-02-06 16:48               ` Johannes Berg
2013-02-06 17:09                 ` Seth Forshee [this message]
2013-02-06 17:44                   ` Johannes Berg
2013-02-06 18:02                     ` Seth Forshee
2013-02-06 21:30                       ` Johannes Berg
2013-01-29 23:47 ` [PATCH 6/7] mac80211: Add off-channel powersave state Seth Forshee
2013-01-29 23:47 ` [PATCH 7/7] brcmsmac: Add support for off-channel powersave Seth Forshee
2013-01-29 23:56   ` Julian Calaby
2013-01-30  5:28     ` Seth Forshee
2013-01-30 19:34 ` [PATCH 0/7] Improvements to software scanning John W. Linville
2013-01-30 21:27 ` Arend van Spriel
2013-01-30 21:53   ` Seth Forshee
2013-01-31 15:04 ` Johannes Berg
2013-01-31 15:08   ` Johannes Berg
2013-01-31 16:02     ` Seth Forshee
2013-01-31 15:48   ` Seth Forshee

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=20130206170952.GA6280@thinkpad-t410 \
    --to=seth.forshee@canonical.com \
    --cc=IvDoorn@gmail.com \
    --cc=Larry.Finger@lwfinger.net \
    --cc=arend@broadcom.com \
    --cc=ath9k-devel@venema.h4ckr.net \
    --cc=brcm80211-dev-list@broadcom.com \
    --cc=chaoming_li@realsil.com.cn \
    --cc=chunkeey@googlemail.com \
    --cc=coelho@ti.com \
    --cc=gwingerde@gmail.com \
    --cc=helmut.schaa@googlemail.com \
    --cc=johannes@sipsolutions.net \
    --cc=jouni@qca.qualcomm.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=mcgrof@qca.qualcomm.com \
    --cc=senthilb@qca.qualcomm.com \
    --cc=sgruszka@redhat.com \
    --cc=users@rt2x00.serialmonkey.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: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).