Sophie

Sophie

distrib > CentOS > 6 > i386 > by-pkgid > cf93d8a8acdcc6fe2225039da0502495 > files > 2510

kernel-doc-2.6.32-131.17.1.el6.centos.plus.noarch.rpm

<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968" /><title>Chapter&#160;7.&#160;Powersave support</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="index.html" title="The mac80211 subsystem for kernel developers" /><link rel="up" href="pt02.html" title="Part&#160;II.&#160;Advanced driver interface" /><link rel="prev" href="re37.html" title="enum ieee80211_key_flags" /><link rel="next" href="ch08.html" title="Chapter&#160;8.&#160;Beacon filter support" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&#160;7.&#160;Powersave support</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="re37.html">Prev</a>&#160;</td><th width="60%" align="center">Part&#160;II.&#160;Advanced driver interface</th><td width="20%" align="right">&#160;<a accesskey="n" href="ch08.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter&#160;7.&#160;Powersave support"><div class="titlepage"><div><div><h2 class="title"><a id="powersave"></a>Chapter&#160;7.&#160;Powersave support</h2></div></div></div><p>
   </p><p>
   mac80211 has support for various powersave implementations.
   </p><p>
   First, it can support hardware that handles all powersaving by
   itself, such hardware should simply set the <code class="constant">IEEE80211_HW_SUPPORTS_PS</code>
   hardware flag. In that case, it will be told about the desired
   powersave mode depending on the association status, and the driver
   must take care of sending nullfunc frames when necessary, i.e. when
   entering and leaving powersave mode. The driver is required to look at
   the AID in beacons and signal to the AP that it woke up when it finds
   traffic directed to it. This mode supports dynamic PS by simply
   enabling/disabling PS.
   </p><p>
   Additionally, such hardware may set the <code class="constant">IEEE80211_HW_SUPPORTS_DYNAMIC_PS</code>
   flag to indicate that it can support dynamic PS mode itself (see below).
   </p><p>
   Other hardware designs cannot send nullfunc frames by themselves and also
   need software support for parsing the TIM bitmap. This is also supported
   by mac80211 by combining the <code class="constant">IEEE80211_HW_SUPPORTS_PS</code> and
   <code class="constant">IEEE80211_HW_PS_NULLFUNC_STACK</code> flags. The hardware is of course still
   required to pass up beacons. The hardware is still required to handle
   waking up for multicast traffic; if it cannot the driver must handle that
   as best as it can, mac80211 is too slow.
   </p><p>
   Dynamic powersave mode is an extension to normal powersave mode in which
   the hardware stays awake for a user-specified period of time after sending
   a frame so that reply frames need not be buffered and therefore delayed
   to the next wakeup. This can either be supported by hardware, in which case
   the driver needs to look at the <em class="parameter"><code>dynamic_ps_timeout</code></em> hardware configuration
   value, or by the stack if all nullfunc handling is in the stack.
</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="re37.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="pt02.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="ch08.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span>enum ieee80211_key_flags</span>&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;Chapter&#160;8.&#160;Beacon filter support</td></tr></table></div></body></html>