linux_old1/sound/pci/hda
Ian Minett 01ef7dbffb ALSA: hda - Update CA0132 codec to load DSP firmware binary
This patch adds the code needed to fetch the DSP binary image from the local
firmware install location and transfer it over to the chip using the new DSP
loader bus ops.
Actual DSP effect controls, parameters and mixers are to be included later.

- Add calls to new DSP loader system to transfer firmware to the hardware.
- Add chip read/write routines, DSP I/O, SCP packet format helper functions and
  transfer DMA management.
- Add guard around DSP download to ensure loader config switch is enabled.

The general scheme for downloading the DSP is as follows:
1) If DSP firmware loader is enabled, ca0132_download_dsp() is called
to start the process.
2) Driver requests DSP image using request_firmware().
3) Driver sets up the streaming DMA for DSP image download
with dspload_image() and dspxfr_image(), which in turn calls the DSP loader
op snd_hda_codec_load_dsp_prepare() to ready the system.
4) DSP image will consist of 1 or more segments, each transferred in sequence
by a call to dspxfr_one_seg() and snd_hda_codec_load_dsp_trigger().
5) Once complete, the loader state is cleaned up with
snd_hda_codec_load_dsp_cleanup().

Signed-off-by: Ian Minett <ian_minett@creativelabs.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-11-28 08:47:12 +01:00
..
Kconfig ALSA: hda - Add new DSP loader callback routines 2012-11-28 08:47:03 +01:00
Makefile ALSA: hda - Move up the fixup helper functions to the library module 2012-05-08 18:01:33 +02:00
ca0132_regs.h ALSA: hda - Add CA0132 register definitions file 2012-11-28 08:47:06 +01:00
hda_auto_parser.c ALSA: hda - avoid unneccesary indices on "Headphone Jack" controls 2012-10-06 16:51:09 +02: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 - Warn an allocation for an uninitialized array 2012-10-10 09:24:08 +02:00
hda_codec.h ALSA: hda - Add new DSP loader callback routines 2012-11-28 08:47:03 +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: hda - Clean up CONFIG_SND_HDA_POWER_SAVE 2012-08-30 07:50:13 -07:00
hda_intel.c ALSA: hda - Add new DSP loader callback routines 2012-11-28 08:47:03 +01:00
hda_jack.c ALSA: hda - make a generic unsol event handler 2012-10-06 16:43:31 +02:00
hda_jack.h ALSA: hda - make a generic unsol event handler 2012-10-06 16:43:31 +02:00
hda_local.h ALSA: hda - Clean up CONFIG_SND_HDA_POWER_SAVE 2012-08-30 07:50:13 -07:00
hda_proc.c Merge branch 'for-linus' into for-next 2012-08-20 22:14:26 +02:00
hda_trace.h ALSA: hda - Clean up CONFIG_SND_HDA_POWER_SAVE 2012-08-30 07:50:13 -07:00
patch_analog.c ALSA: hda - Force to reset IEC958 status bits for AD codecs 2012-11-05 12:36:32 +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 - Update CA0132 codec to load DSP firmware binary 2012-11-28 08:47:12 +01:00
patch_cirrus.c ALSA: HDA: Mark CS260x immutable structures const 2012-11-05 12:29:00 +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 ALSA: hda - fix indices on boost volume on Conexant 2012-10-06 16:50:47 +02:00
patch_hdmi.c ALSA: hda - Allow 3/5/7 channel map for HDMI/DP 2012-09-10 16:08:40 +02:00
patch_realtek.c ALSA: hda - Add a missing quirk entry for iMac 9,1 2012-11-12 10:07:36 +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 mute-LED setup for HP dv5 laptop 2012-10-26 16:57:28 +02:00
patch_via.c ALSA: hda - Add pin fixups for ASUS G75 2012-11-07 14:42:05 +01:00