alistair23-linux/sound/pci/hda
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
..
hda_auto_parser.c ALSA: hda - Use standard sort function in hda_auto_parser.c 2012-11-30 10:54:45 +01:00
hda_auto_parser.h ALSA: hda - Fix memory leaks in Realtek & Conexant codec parsers 2012-06-26 14:56:20 +02:00
hda_beep.c ALSA: hda - Fix 'Beep Playback Switch' with no underlying mute switch 2012-08-14 10:22:31 +02:00
hda_beep.h ALSA: hda - Get rid of superfluous beep->mode field 2012-07-03 18:31:36 +02:00
hda_codec.c ALSA: hda - Introduce cache & flush cmd / amp writes 2013-01-12 08:29:17 +01:00
hda_codec.h ALSA: hda - Introduce cache & flush cmd / amp writes 2013-01-12 08:29:17 +01:00
hda_eld.c ALSA: hda - hide HDMI/ELD printks unless snd.debug=2 2012-04-10 14:53:55 +02:00
hda_generic.c ALSA: hda - Clean up CONFIG_SND_HDA_POWER_SAVE 2012-08-30 07:50:13 -07:00
hda_hwdep.c ALSA: Remove the rest of __devinit* in comments 2012-12-07 07:41:56 +01:00
hda_intel.c ALSA: hda - Disable runtime D3 for Intel CPT & co 2013-01-09 11:00:08 +01:00
hda_intel_trace.h ALSA: hda - Add tracepoints to HD-audio controller driver 2012-10-30 10:39:59 +01:00
hda_jack.c ALSA: hda - Call snd_array_init() early and only once 2012-11-28 09:03:39 +01:00
hda_jack.h ALSA: hda - Allow jack state to depend on another jack 2012-11-19 19:49:58 +01:00
hda_local.h ALSA: hda - Introduce cache & flush cmd / amp writes 2013-01-12 08:29:17 +01:00
hda_proc.c ALSA: hda - Fix mono amp values in proc output 2013-01-10 10:34:27 +01:00
hda_trace.h ALSA: hda - Clean up CONFIG_SND_HDA_POWER_SAVE 2012-08-30 07:50:13 -07:00
Kconfig ALSA: sound/pci/hda: remove CONFIG_EXPERIMENTAL 2012-10-25 00:17:20 +02:00
Makefile ALSA: hda - Add tracepoints to HD-audio controller driver 2012-10-30 10:39:59 +01:00
patch_analog.c ALSA: hda - Remove snd_hda_codec_amp_update() call from patch_*.c 2013-01-10 10:34:30 +01:00
patch_ca0110.c ALSA: hda - Move BIOS pin-parser code to hda_auto_parser.c 2012-05-08 18:01:33 +02:00
patch_ca0132.c ALSA: hda - don't create dysfunctional mixer controls for ca0132 2012-08-20 11:33:23 +02:00
patch_cirrus.c ALSA: hda - Add a fixup for internal mic on MacBook Pro 8,1 2012-11-23 08:37:32 +01:00
patch_cmedia.c ALSA: hda - Move BIOS pin-parser code to hda_auto_parser.c 2012-05-08 18:01:33 +02:00
patch_conexant.c Revert "ALSA: hda - Shut up pins at power-saving mode with Conexnat codecs" 2013-01-09 11:03:38 +01:00
patch_hdmi.c ALSA: hda - bug fix for invalid connection list of Haswell HDMI codec pins 2012-12-18 11:05:36 +01:00
patch_realtek.c ALSA: hda/realtek - Fix initialization of input amps in output paths 2013-01-10 10:34:30 +01:00
patch_si3054.c sound: Add module.h to the previously silent sound users 2011-10-31 19:31:21 -04:00
patch_sigmatel.c ALSA: hda - Fix pin configuration of HP Pavilion dv7 2012-12-13 14:36:09 +01:00
patch_via.c ALSA: HDA: VIA: Add support for codec VT1808. 2012-12-10 12:05:16 +01:00