linux/sound/pci
Takashi Iwai cb53c626e1 [ALSA] hda-intel - Add POWER_SAVE option
Added CONFIG_SND_HDA_POWER_SAVE kconfig.  It's an experimental option
to achieve an aggressive power-saving.  With this option, the driver
will turn on/off the power of each codec and controller chip dynamically
on demand.
The patch introduces a new module option 'power_save'.  It specifies
the second of time-out for automatic power-down.  As default, it's
10 seconds.  Setting 0 means to suppress the power-saving feature.
The codec may have analog-input loopbacks, which are usually represented
by mixer elements such as 'Mic Playback Switch' or 'CD Playback Switch'.
When these are on, we cannot turn off the mixer and the codec chip has
to be kept on.  For bookkeeping these states, a new codec-callback is
introduced.
For the bus-controller side, a new callback pm_notify is introduced,
which can be used to turn on/off the contoller appropriately.
Note that this power-saving might cause slight click-noise at
power-on/off.  Also, it might take some time to wake up the codec, and
might even drop some tones at the very beginning.  This seems to be the
side-effect of turning off the controller chip.
This turn-off of the controller can be disabled by undefining
HDA_POWER_SAVE_RESET_CONTOLLER in hda_intel.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:58:46 +02:00
..
ac97 [ALSA] Use msecs_to_jiffies() in ac97_codec.c 2007-10-16 15:58:40 +02:00
ali5451 [ALSA] Clean up with common snd_ctl_boolean_*_info callbacks 2007-10-16 15:57:45 +02:00
au88x0 [ALSA] au88x0: mem leak fix in snd_vortex_create() 2007-10-16 15:58:25 +02:00
ca0106 [ALSA] Coding style fix sound/pci/ca0106/ca_midi.h 2007-10-16 15:58:23 +02:00
cs46xx [ALSA] Clean up Makefile 2007-10-16 15:58:05 +02:00
cs5535audio [ALSA] Clean up Makefile 2007-10-16 15:58:05 +02:00
echoaudio [ALSA] Clean up with common snd_ctl_boolean_*_info callbacks 2007-10-16 15:57:45 +02:00
emu10k1 [ALSA] check for linked substreams of different cards 2007-10-16 15:58:13 +02:00
hda [ALSA] hda-intel - Add POWER_SAVE option 2007-10-16 15:58:46 +02:00
ice1712 [ALSA] check for linked substreams of different cards 2007-10-16 15:58:13 +02:00
korg1212 [ALSA] add MODULE_FIRMWARE entries 2007-05-11 16:56:14 +02:00
mixart [ALSA] Clean up with common snd_ctl_boolean_*_info callbacks 2007-10-16 15:57:45 +02:00
nm256 [ALSA] nm256 - Add mention of opl3sa2 to a diagnostic message 2007-07-20 11:11:41 +02:00
pcxhr [ALSA] check for linked substreams of different cards 2007-10-16 15:58:13 +02:00
riptide [ALSA] add MODULE_FIRMWARE entries 2007-05-11 16:56:14 +02:00
rme9652 [ALSA] hdspm - Coding style fixes 2007-10-16 15:58:10 +02:00
trident [ALSA] Clean up with common snd_ctl_boolean_*_info callbacks 2007-10-16 15:57:45 +02:00
vx222 [ALSA] Add even more 'const' to everything related to TLV 2007-02-09 09:03:19 +01:00
ymfpci [ALSA] ymfpci: fix volume handling of the 44.1 kHz slot 2007-10-16 15:57:50 +02:00
ad1889.c [ALSA] Remove IRQF_DISABLED for shared PCI irqs 2006-12-20 08:55:57 +01:00
ad1889.h [ALSA] ad1889: add AD1889 driver 2005-09-12 10:40:17 +02:00
als300.c [ALSA] Disable debugging output for the ALS300 driver 2007-07-20 11:11:21 +02:00
als4000.c [ALSA] Various fixes for suspend/resume of ALSA PCI drivers 2006-10-22 10:51:10 +02:00
atiixp_modem.c PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
atiixp.c PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
azt3328.c [ALSA] azt3328.c: small cleanup patch 2007-05-11 16:55:52 +02:00
azt3328.h [ALSA] azt3328.c: small cleanup patch 2007-05-11 16:55:52 +02:00
bt87x.c [ALSA] Clean up with common snd_ctl_boolean_*_info callbacks 2007-10-16 15:57:45 +02:00
cmipci.c [ALSA] Clean up with common snd_ctl_boolean_*_info callbacks 2007-10-16 15:57:45 +02:00
cs4281.c [ALSA] Add even more 'const' to everything related to TLV 2007-02-09 09:03:19 +01:00
cs5530.c [ALSA] Add support for Cyrix/NatSemi Geode CS5530 (VSA1) 2007-07-20 11:11:19 +02:00
ens1370.c [ALSA] Clean up with common snd_ctl_boolean_*_info callbacks 2007-10-16 15:57:45 +02:00
ens1371.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
es1938.c [ALSA] Clean up with common snd_ctl_boolean_*_info callbacks 2007-10-16 15:57:45 +02:00
es1968.c [ALSA] es1968 - Fix stuttering capture 2007-05-11 16:55:54 +02:00
fm801.c PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
intel8x0.c [ALSA] Include quirks from Ubuntu Dapper/Edgy/Feisty 2007-05-16 12:23:03 +02:00
intel8x0m.c [ALSA] ac97 - Suppress power-saving mode on non-supporting drivers 2007-02-09 09:01:09 +01:00
Kconfig [ALSA] hda-intel - Add POWER_SAVE option 2007-10-16 15:58:46 +02:00
maestro3.c [ALSA] add MODULE_FIRMWARE entries 2007-05-11 16:56:14 +02:00
Makefile [ALSA] Add support for Cyrix/NatSemi Geode CS5530 (VSA1) 2007-07-20 11:11:19 +02:00
rme32.c [ALSA] Clean up with common snd_ctl_boolean_*_info callbacks 2007-10-16 15:57:45 +02:00
rme96.c [ALSA] Clean up with common snd_ctl_boolean_*_info callbacks 2007-10-16 15:57:45 +02:00
sonicvibes.c [ALSA] Remove IRQF_DISABLED for shared PCI irqs 2006-12-20 08:55:57 +01:00
via82xx_modem.c [ALSA] Fix invalid schedule_timeout_interruptible() 2007-07-20 11:11:36 +02:00
via82xx.c [ALSA] Clean up with common snd_ctl_boolean_*_info callbacks 2007-10-16 15:57:45 +02:00