alistair23-linux/sound
Takashi Iwai c370dd6e9f ALSA: hda - Introduce cache & flush cmd / amp writes
For optimizing the verb executions, a new mechanism to cache the verbs
and amp update commands is introduced.  With the new "write to cache
and flush" way, you can reduce the same verbs that have been written
multiple times.

When codec->cached_write flag is set, the further
snd_hda_codec_write_cache() and snd_hda_codec_amp_stereo() calls will
be performed only on the command or amp cache table, but not sent to
the hardware yet.  Once after you call all commands and update amps,
call snd_hda_codec_resume_amp() and snd_hda_codec_resume_cache().
Then all cached writes and amp updates will be written to the
hardware, and the dirty flags are cleared.

In this implementation, the existing cache table is reused, so
actually no big code change is seen here.  Each cache entry has a new
dirty flag now (so the cache key is now reduced to 31bit).

As a good side-effect by this change, snd_hda_codec_resume_*() will no
longer execute verbs that have been already issued during the resume
phase by checking the dirty flags.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-12 08:29:17 +01:00
..
aoa sound/aoa: Adapt to new i2c probing scheme 2012-07-11 18:22:48 +10:00
arm ALSA: pxa2xx: remove __dev* attributes 2012-12-07 07:21:54 +01:00
atmel ALSA: atmel: remove __dev* attributes 2012-12-07 07:22:12 +01:00
core Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-12-13 12:00:02 -08:00
drivers ALSA: drivers: remove __dev* attributes 2012-12-07 07:34:32 +01:00
firewire ALSA: firewire-speakers: remove __dev* attributes 2012-12-07 07:29:30 +01:00
i2c ALSA: Fix typo in drivers sound 2012-11-04 09:20:58 +01:00
isa ALSA: Remove the rest of __devinit* in comments 2012-12-07 07:41:56 +01:00
mips ALSA: mips: remove __dev* attributes 2012-12-07 07:29:45 +01:00
oss sound: oss/pas2: Fix possible access out of array 2013-01-04 10:38:27 +01:00
parisc ALSA: parisc/harmony: remove __dev* attributes 2012-12-07 07:30:11 +01:00
pci ALSA: hda - Introduce cache & flush cmd / amp writes 2013-01-12 08:29:17 +01:00
pcmcia ALSA: pdaudiocf: Remove superfluous pm_message_t argument from suspend 2012-07-03 08:23:08 +02:00
ppc ALSA: ppc: remove __dev* attributes 2012-12-07 07:33:30 +01:00
sh ALSA: sh: remove __dev* attributes 2012-12-07 07:33:47 +01:00
soc Sound fixes for 3.8-rc1 2012-12-20 07:52:13 -08:00
sparc ALSA: sparc: remove __dev* attributes 2012-12-07 07:34:04 +01:00
spi ALSA: at73c213: remove __dev* attributes 2012-12-07 07:34:13 +01:00
synth
usb ALSA: usb-audio: Make ebox44_table static 2013-01-10 10:22:25 +01:00
ac97_bus.c
Kconfig sound: remove reference to feature-removal-schedule.txt 2012-12-17 17:15:12 -08:00
last.c ALSA: Remove the last mention of SNDRV_MAIN_OBJECT_FILE 2012-09-03 10:07:23 +02:00
Makefile
sound_core.c sound: remove reference to feature-removal-schedule.txt 2012-12-17 17:15:12 -08:00
sound_firmware.c sound_firmware: don't pass crap to filp_close() 2012-07-29 21:24:22 +04:00