alistair23-linux/sound/pci
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
..
ac97 ALSA: ac97 - Fix missing NULL check in snd_ac97_cvol_new() 2012-10-15 09:55:48 +02:00
ali5451 ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
asihpi ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
au88x0 ALSA: au88x0: fix incorrect left shift 2013-01-07 09:33:56 +01:00
aw2 ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
ca0106 ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
cs46xx ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
cs5535audio ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
ctxfi ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
echoaudio ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
emu10k1 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-12-13 12:00:02 -08:00
hda ALSA: hda - Introduce cache & flush cmd / amp writes 2013-01-12 08:29:17 +01:00
ice1712 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-12-13 12:00:02 -08:00
korg1212 ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
lola ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
lx6464es ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
mixart ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
nm256 ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
oxygen ALSA: oxygen: remove __dev* attributes 2012-12-07 07:32:02 +01:00
pcxhr ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
riptide ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
rme9652 ALSA: hdspm - Fix wordclock status on AES32 2013-01-09 16:59:24 +01:00
trident ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
vx222 ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
ymfpci ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
ad1889.c ALSA: ad1889: remove __dev* attributes 2012-12-07 07:31:18 +01:00
ad1889.h [ALSA] ad1889: add AD1889 driver 2005-09-12 10:40:17 +02:00
ak4531_codec.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
als300.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
als4000.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
atiixp.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
atiixp_modem.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
azt3328.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
azt3328.h ALSA: azt3328: fix previous breakage, improve suspend, cleanups 2009-07-15 12:03:26 +02:00
bt87x.c ALSA: bt87X: remove __dev* attributes 2012-12-07 07:31:45 +01:00
cmipci.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
cs4281.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
cs5530.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
ens1370.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
ens1371.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
es1938.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
es1968.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-12-13 12:00:02 -08:00
fm801.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
intel8x0.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
intel8x0m.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
Kconfig ALSA: hdsp: improve firmware caching 2012-11-22 17:48:07 +01:00
maestro3.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
Makefile ALSA: Add the driver for Digigram Lola PCI-e boards 2011-05-03 16:31:05 +02:00
rme32.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
rme96.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
sis7019.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-12-13 12:00:02 -08:00
sis7019.h trivial: fix typos s/paramter/parameter/ and s/excute/execute/ in documentation and source comments. 2009-06-12 18:01:46 +02:00
sonicvibes.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
via82xx.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
via82xx_modem.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00