linux/drivers/net/wireless
Johannes Berg e312c24cf8 iwlwifi: automatically adjust sleep level
Depending on required latency requested by pm_qos (via mac80211)
we can automatically adjust the sleep state. Also, mac80211 has
a user-visible dynamic sleep feature where we are supposed to
stay awake after sending/receiving frames to better receive
response frames to our packets, this can be integrated into the
sleep command.

Currently, and this patch doesn't change that yet, we default
to using sleep level 1 if PS is enabled. With a module parameter
to iwlcore, automatic adjustment to changing network latency
requirements can be enabled -- this isn't yet the default due
to requiring more testing.

The goal is to enable automatic adjustment and then go into the
deepest possible sleep state possible depending on the networking
latency requirements.

This patch does, however, enable IEEE80211_HW_SUPPORTS_DYNAMIC_PS
to avoid the double-timer (one in software and one in the device)
when transmitting -- the exact timeout may be ignored but that is
not of big concern.

Note also that we keep the hard-coded power indices around for
thermal throttling -- the specification of that calls for using
the specified power levels. Those can also be selected in debugfs
to allow easier testing of such parameters.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-14 09:13:50 -04:00
..
ath ath9k: Update beacon RSSI 2009-08-14 09:13:35 -04:00
b43 b43: Fix hardware key index handling 2009-08-14 09:13:45 -04:00
b43legacy b43legacy: Work around mac80211 race condition 2009-08-04 16:44:24 -04:00
hostap hostap_cs: Enable shared interrupts 2009-07-24 15:05:19 -04:00
ipw2x00 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-08-12 17:44:53 -07:00
iwlwifi iwlwifi: automatically adjust sleep level 2009-08-14 09:13:50 -04:00
iwmc3200wifi Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-08-12 17:44:53 -07:00
libertas Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-08-12 17:44:53 -07:00
libertas_tf
orinoco orinoco: consolidate storage of WEP and TKIP keys 2009-08-14 09:12:45 -04:00
p54 p54: implement rfkill 2009-08-14 09:13:45 -04:00
prism54
rt2x00 rt2x00: cancel all work on disconnect 2009-08-04 16:44:24 -04:00
rtl818x mac80211: redefine usage of the mac80211 workqueue 2009-08-04 16:44:14 -04:00
wl12xx wl1251: hack to disable filters for fixing association 2009-08-14 09:13:42 -04:00
zd1211rw zd1211rw: make it clear we don't use leds.h LED stuff 2009-08-14 09:12:39 -04:00
adm8211.c adm8211: remove uneeded code during suspend/resume 2009-07-24 15:05:30 -04:00
adm8211.h
airo.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-07-30 19:22:43 -07:00
airo.h
airo_cs.c
arlan-main.c arlan: inverted logic? 2009-07-24 15:05:27 -04:00
arlan-proc.c
arlan.h
at76c50x-usb.c mac80211: redefine usage of the mac80211 workqueue 2009-08-04 16:44:14 -04:00
at76c50x-usb.h
atmel.c
atmel.h
atmel_cs.c
atmel_pci.c
i82586.h
i82593.h
Kconfig wireless: use menuconfig for WLAN_PRE80211 and WLAN_80211 2009-08-04 16:43:21 -04:00
mac80211_hwsim.c wireless: remove print_mac uses 2009-07-24 15:05:19 -04:00
Makefile
mwl8k.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-08-12 17:44:53 -07:00
netwave_cs.c
ray_cs.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-08-12 17:44:53 -07:00
ray_cs.h
rayctl.h
rndis_wlan.c rndis_wlan: rework key handling 2009-08-04 16:44:17 -04:00
strip.c drivers/net/wireless: Use DIV_ROUND_CLOSEST 2009-08-04 16:44:23 -04:00
wavelan.c
wavelan.h
wavelan.p.h
wavelan_cs.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-08-12 17:44:53 -07:00
wavelan_cs.h
wavelan_cs.p.h
wl3501.h
wl3501_cs.c
zd1201.c
zd1201.h