aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/sound/alsa
diff options
context:
space:
mode:
authorJonathan Herman <hermanjl@cs.unc.edu>2013-01-17 16:15:55 -0500
committerJonathan Herman <hermanjl@cs.unc.edu>2013-01-17 16:15:55 -0500
commit8dea78da5cee153b8af9c07a2745f6c55057fe12 (patch)
treea8f4d49d63b1ecc92f2fddceba0655b2472c5bd9 /Documentation/sound/alsa
parent406089d01562f1e2bf9f089fd7637009ebaad589 (diff)
Patched in Tegra support.
Diffstat (limited to 'Documentation/sound/alsa')
-rw-r--r--Documentation/sound/alsa/ALSA-Configuration.txt40
-rw-r--r--Documentation/sound/alsa/Audiophile-Usb.txt4
-rw-r--r--Documentation/sound/alsa/Channel-Mapping-API.txt153
-rw-r--r--Documentation/sound/alsa/HD-Audio-Controls.txt16
-rw-r--r--Documentation/sound/alsa/HD-Audio-Models.txt180
-rw-r--r--Documentation/sound/alsa/HD-Audio.txt70
-rw-r--r--Documentation/sound/alsa/MIXART.txt6
-rw-r--r--Documentation/sound/alsa/OSS-Emulation.txt2
-rw-r--r--Documentation/sound/alsa/compress_offload.txt188
-rw-r--r--Documentation/sound/alsa/hdspm.txt2
-rw-r--r--Documentation/sound/alsa/soc/machine.txt6
11 files changed, 187 insertions, 480 deletions
diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt
index b9cfd339a6f..89757012c7f 100644
--- a/Documentation/sound/alsa/ALSA-Configuration.txt
+++ b/Documentation/sound/alsa/ALSA-Configuration.txt
@@ -860,14 +860,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
860 860
861 [Multiple options for each card instance] 861 [Multiple options for each card instance]
862 model - force the model name 862 model - force the model name
863 position_fix - Fix DMA pointer 863 position_fix - Fix DMA pointer (0 = auto, 1 = use LPIB, 2 = POSBUF)
864 -1 = system default: choose appropriate one per controller
865 hardware
866 0 = auto: falls back to LPIB when POSBUF doesn't work
867 1 = use LPIB
868 2 = POSBUF: use position buffer
869 3 = VIACOMBO: VIA-specific workaround for capture
870 4 = COMBO: use LPIB for playback, auto for capture stream
871 probe_mask - Bitmask to probe codecs (default = -1, meaning all slots) 864 probe_mask - Bitmask to probe codecs (default = -1, meaning all slots)
872 When the bit 8 (0x100) is set, the lower 8 bits are used 865 When the bit 8 (0x100) is set, the lower 8 bits are used
873 as the "fixed" codec slots; i.e. the driver probes the 866 as the "fixed" codec slots; i.e. the driver probes the
@@ -881,7 +874,8 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
881 setup before initializing the codecs. This option is 874 setup before initializing the codecs. This option is
882 available only when CONFIG_SND_HDA_PATCH_LOADER=y is set. 875 available only when CONFIG_SND_HDA_PATCH_LOADER=y is set.
883 See HD-Audio.txt for details. 876 See HD-Audio.txt for details.
884 beep_mode - Selects the beep registration mode (0=off, 1=on); default 877 beep_mode - Selects the beep registration mode (0=off, 1=on, 2=
878 dynamic registration via mute switch on/off); the default
885 value is set via CONFIG_SND_HDA_INPUT_BEEP_MODE kconfig. 879 value is set via CONFIG_SND_HDA_INPUT_BEEP_MODE kconfig.
886 880
887 [Single (global) options] 881 [Single (global) options]
@@ -892,12 +886,6 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
892 disable) 886 disable)
893 power_save_controller - Reset HD-audio controller in power-saving mode 887 power_save_controller - Reset HD-audio controller in power-saving mode
894 (default = on) 888 (default = on)
895 align_buffer_size - Force rounding of buffer/period sizes to multiples
896 of 128 bytes. This is more efficient in terms of memory
897 access but isn't required by the HDA spec and prevents
898 users from specifying exact period/buffer sizes.
899 (default = on)
900 snoop - Enable/disable snooping (default = on)
901 889
902 This module supports multiple cards and autoprobe. 890 This module supports multiple cards and autoprobe.
903 891
@@ -931,11 +919,6 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
931 (Usually SD_LPIB register is more accurate than the 919 (Usually SD_LPIB register is more accurate than the
932 position buffer.) 920 position buffer.)
933 921
934 position_fix=3 is specific to VIA devices. The position
935 of the capture stream is checked from both LPIB and POSBUF
936 values. position_fix=4 is a combination mode, using LPIB
937 for playback and POSBUF for capture.
938
939 NB: If you get many "azx_get_response timeout" messages at 922 NB: If you get many "azx_get_response timeout" messages at
940 loading, it's likely a problem of interrupts (e.g. ACPI irq 923 loading, it's likely a problem of interrupts (e.g. ACPI irq
941 routing). Try to boot with options like "pci=noacpi". Also, you 924 routing). Try to boot with options like "pci=noacpi". Also, you
@@ -1550,7 +1533,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
1550 1533
1551 Module for sound cards based on the C-Media CMI8786/8787/8788 chip: 1534 Module for sound cards based on the C-Media CMI8786/8787/8788 chip:
1552 * Asound A-8788 1535 * Asound A-8788
1553 * Asus Xonar DG/DGX 1536 * Asus Xonar DG
1554 * AuzenTech X-Meridian 1537 * AuzenTech X-Meridian
1555 * AuzenTech X-Meridian 2G 1538 * AuzenTech X-Meridian 2G
1556 * Bgears b-Enspirer 1539 * Bgears b-Enspirer
@@ -1599,7 +1582,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
1599 1582
1600 Module supports autoprobe a chip. 1583 Module supports autoprobe a chip.
1601 1584
1602 Note: the driver may have problems regarding endianness. 1585 Note: the driver may have problems regarding endianess.
1603 1586
1604 The power-management is supported. 1587 The power-management is supported.
1605 1588
@@ -1905,6 +1888,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
1905 vid - Vendor ID for the device (optional) 1888 vid - Vendor ID for the device (optional)
1906 pid - Product ID for the device (optional) 1889 pid - Product ID for the device (optional)
1907 nrpacks - Max. number of packets per URB (default: 8) 1890 nrpacks - Max. number of packets per URB (default: 8)
1891 async_unlink - Use async unlink mode (default: yes)
1908 device_setup - Device specific magic number (optional) 1892 device_setup - Device specific magic number (optional)
1909 - Influence depends on the device 1893 - Influence depends on the device
1910 - Default: 0x0000 1894 - Default: 0x0000
@@ -1916,6 +1900,8 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
1916 NB: nrpacks parameter can be modified dynamically via sysfs. 1900 NB: nrpacks parameter can be modified dynamically via sysfs.
1917 Don't put the value over 20. Changing via sysfs has no sanity 1901 Don't put the value over 20. Changing via sysfs has no sanity
1918 check. 1902 check.
1903 NB: async_unlink=0 would cause Oops. It remains just for
1904 debugging purpose (if any).
1919 NB: ignore_ctl_error=1 may help when you get an error at accessing 1905 NB: ignore_ctl_error=1 may help when you get an error at accessing
1920 the mixer element such as URB error -22. This happens on some 1906 the mixer element such as URB error -22. This happens on some
1921 buggy USB device or the controller. 1907 buggy USB device or the controller.
@@ -2046,7 +2032,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
2046 Install the necessary firmware files in alsa-firmware package. 2032 Install the necessary firmware files in alsa-firmware package.
2047 When no hotplug fw loader is available, you need to load the 2033 When no hotplug fw loader is available, you need to load the
2048 firmware via vxloader utility in alsa-tools package. To invoke 2034 firmware via vxloader utility in alsa-tools package. To invoke
2049 vxloader automatically, add the following to /etc/modprobe.d/alsa.conf 2035 vxloader automatically, add the following to /etc/modprobe.conf
2050 2036
2051 install snd-vx222 /sbin/modprobe --first-time -i snd-vx222 && /usr/bin/vxloader 2037 install snd-vx222 /sbin/modprobe --first-time -i snd-vx222 && /usr/bin/vxloader
2052 2038
@@ -2170,10 +2156,10 @@ corresponds to the card index of ALSA. Usually, define this
2170as the same card module. 2156as the same card module.
2171 2157
2172An example configuration for a single emu10k1 card is like below: 2158An example configuration for a single emu10k1 card is like below:
2173----- /etc/modprobe.d/alsa.conf 2159----- /etc/modprobe.conf
2174alias snd-card-0 snd-emu10k1 2160alias snd-card-0 snd-emu10k1
2175alias sound-slot-0 snd-emu10k1 2161alias sound-slot-0 snd-emu10k1
2176----- /etc/modprobe.d/alsa.conf 2162----- /etc/modprobe.conf
2177 2163
2178The available number of auto-loaded sound cards depends on the module 2164The available number of auto-loaded sound cards depends on the module
2179option "cards_limit" of snd module. As default it's set to 1. 2165option "cards_limit" of snd module. As default it's set to 1.
@@ -2186,7 +2172,7 @@ cards is kept consistent.
2186 2172
2187An example configuration for two sound cards is like below: 2173An example configuration for two sound cards is like below:
2188 2174
2189----- /etc/modprobe.d/alsa.conf 2175----- /etc/modprobe.conf
2190# ALSA portion 2176# ALSA portion
2191options snd cards_limit=2 2177options snd cards_limit=2
2192alias snd-card-0 snd-interwave 2178alias snd-card-0 snd-interwave
@@ -2196,7 +2182,7 @@ options snd-ens1371 index=1
2196# OSS/Free portion 2182# OSS/Free portion
2197alias sound-slot-0 snd-interwave 2183alias sound-slot-0 snd-interwave
2198alias sound-slot-1 snd-ens1371 2184alias sound-slot-1 snd-ens1371
2199----- /etc/modprobe.d/alsa.conf 2185----- /etc/modprobe.conf
2200 2186
2201In this example, the interwave card is always loaded as the first card 2187In this example, the interwave card is always loaded as the first card
2202(index 0) and ens1371 as the second (index 1). 2188(index 0) and ens1371 as the second (index 1).
diff --git a/Documentation/sound/alsa/Audiophile-Usb.txt b/Documentation/sound/alsa/Audiophile-Usb.txt
index 654dd3b694a..a4c53d8961e 100644
--- a/Documentation/sound/alsa/Audiophile-Usb.txt
+++ b/Documentation/sound/alsa/Audiophile-Usb.txt
@@ -232,7 +232,7 @@ The parameter can be given:
232 # modprobe snd-usb-audio index=1 device_setup=0x09 232 # modprobe snd-usb-audio index=1 device_setup=0x09
233 233
234 * Or while configuring the modules options in your modules configuration file 234 * Or while configuring the modules options in your modules configuration file
235 (tipically a .conf file in /etc/modprobe.d/ directory: 235 - For Fedora distributions, edit the /etc/modprobe.conf file:
236 alias snd-card-1 snd-usb-audio 236 alias snd-card-1 snd-usb-audio
237 options snd-usb-audio index=1 device_setup=0x09 237 options snd-usb-audio index=1 device_setup=0x09
238 238
@@ -253,7 +253,7 @@ CAUTION when initializing the device
253 - first turn off the device 253 - first turn off the device
254 - de-register the snd-usb-audio module (modprobe -r) 254 - de-register the snd-usb-audio module (modprobe -r)
255 - change the device_setup parameter by changing the device_setup 255 - change the device_setup parameter by changing the device_setup
256 option in /etc/modprobe.d/*.conf 256 option in /etc/modprobe.conf
257 - turn on the device 257 - turn on the device
258 * A workaround for this last issue has been applied to kernel 2.6.23, but it may not 258 * A workaround for this last issue has been applied to kernel 2.6.23, but it may not
259 be enough to ensure the 'stability' of the device initialization. 259 be enough to ensure the 'stability' of the device initialization.
diff --git a/Documentation/sound/alsa/Channel-Mapping-API.txt b/Documentation/sound/alsa/Channel-Mapping-API.txt
deleted file mode 100644
index 3c43d1a4ca0..00000000000
--- a/Documentation/sound/alsa/Channel-Mapping-API.txt
+++ /dev/null
@@ -1,153 +0,0 @@
1ALSA PCM channel-mapping API
2============================
3 Takashi Iwai <tiwai@suse.de>
4
5GENERAL
6-------
7
8The channel mapping API allows user to query the possible channel maps
9and the current channel map, also optionally to modify the channel map
10of the current stream.
11
12A channel map is an array of position for each PCM channel.
13Typically, a stereo PCM stream has a channel map of
14 { front_left, front_right }
15while a 4.0 surround PCM stream has a channel map of
16 { front left, front right, rear left, rear right }.
17
18The problem, so far, was that we had no standard channel map
19explicitly, and applications had no way to know which channel
20corresponds to which (speaker) position. Thus, applications applied
21wrong channels for 5.1 outputs, and you hear suddenly strange sound
22from rear. Or, some devices secretly assume that center/LFE is the
23third/fourth channels while others that C/LFE as 5th/6th channels.
24
25Also, some devices such as HDMI are configurable for different speaker
26positions even with the same number of total channels. However, there
27was no way to specify this because of lack of channel map
28specification. These are the main motivations for the new channel
29mapping API.
30
31
32DESIGN
33------
34
35Actually, "the channel mapping API" doesn't introduce anything new in
36the kernel/user-space ABI perspective. It uses only the existing
37control element features.
38
39As a ground design, each PCM substream may contain a control element
40providing the channel mapping information and configuration. This
41element is specified by:
42 iface = SNDRV_CTL_ELEM_IFACE_PCM
43 name = "Playback Channel Map" or "Capture Channel Map"
44 device = the same device number for the assigned PCM substream
45 index = the same index number for the assigned PCM substream
46
47Note the name is different depending on the PCM substream direction.
48
49Each control element provides at least the TLV read operation and the
50read operation. Optionally, the write operation can be provided to
51allow user to change the channel map dynamically.
52
53* TLV
54
55The TLV operation gives the list of available channel
56maps. A list item of a channel map is usually a TLV of
57 type data-bytes ch0 ch1 ch2...
58where type is the TLV type value, the second argument is the total
59bytes (not the numbers) of channel values, and the rest are the
60position value for each channel.
61
62As a TLV type, either SNDRV_CTL_TLVT_CHMAP_FIXED,
63SNDRV_CTL_TLV_CHMAP_VAR or SNDRV_CTL_TLVT_CHMAP_PAIRED can be used.
64The _FIXED type is for a channel map with the fixed channel position
65while the latter two are for flexible channel positions. _VAR type is
66for a channel map where all channels are freely swappable and _PAIRED
67type is where pair-wise channels are swappable. For example, when you
68have {FL/FR/RL/RR} channel map, _PAIRED type would allow you to swap
69only {RL/RR/FL/FR} while _VAR type would allow even swapping FL and
70RR.
71
72These new TLV types are defined in sound/tlv.h.
73
74The available channel position values are defined in sound/asound.h,
75here is a cut:
76
77/* channel positions */
78enum {
79 SNDRV_CHMAP_UNKNOWN = 0,
80 SNDRV_CHMAP_NA, /* N/A, silent */
81 SNDRV_CHMAP_MONO, /* mono stream */
82 /* this follows the alsa-lib mixer channel value + 3 */
83 SNDRV_CHMAP_FL, /* front left */
84 SNDRV_CHMAP_FR, /* front right */
85 SNDRV_CHMAP_RL, /* rear left */
86 SNDRV_CHMAP_RR, /* rear right */
87 SNDRV_CHMAP_FC, /* front center */
88 SNDRV_CHMAP_LFE, /* LFE */
89 SNDRV_CHMAP_SL, /* side left */
90 SNDRV_CHMAP_SR, /* side right */
91 SNDRV_CHMAP_RC, /* rear center */
92 /* new definitions */
93 SNDRV_CHMAP_FLC, /* front left center */
94 SNDRV_CHMAP_FRC, /* front right center */
95 SNDRV_CHMAP_RLC, /* rear left center */
96 SNDRV_CHMAP_RRC, /* rear right center */
97 SNDRV_CHMAP_FLW, /* front left wide */
98 SNDRV_CHMAP_FRW, /* front right wide */
99 SNDRV_CHMAP_FLH, /* front left high */
100 SNDRV_CHMAP_FCH, /* front center high */
101 SNDRV_CHMAP_FRH, /* front right high */
102 SNDRV_CHMAP_TC, /* top center */
103 SNDRV_CHMAP_TFL, /* top front left */
104 SNDRV_CHMAP_TFR, /* top front right */
105 SNDRV_CHMAP_TFC, /* top front center */
106 SNDRV_CHMAP_TRL, /* top rear left */
107 SNDRV_CHMAP_TRR, /* top rear right */
108 SNDRV_CHMAP_TRC, /* top rear center */
109 SNDRV_CHMAP_LAST = SNDRV_CHMAP_TRC,
110};
111
112When a PCM stream can provide more than one channel map, you can
113provide multiple channel maps in a TLV container type. The TLV data
114to be returned will contain such as:
115 SNDRV_CTL_TLVT_CONTAINER 96
116 SNDRV_CTL_TLVT_CHMAP_FIXED 4 SNDRV_CHMAP_FC
117 SNDRV_CTL_TLVT_CHMAP_FIXED 8 SNDRV_CHMAP_FL SNDRV_CHMAP_FR
118 SNDRV_CTL_TLVT_CHMAP_FIXED 16 NDRV_CHMAP_FL SNDRV_CHMAP_FR \
119 SNDRV_CHMAP_RL SNDRV_CHMAP_RR
120
121The channel position is provided in LSB 16bits. The upper bits are
122used for bit flags.
123
124#define SNDRV_CHMAP_POSITION_MASK 0xffff
125#define SNDRV_CHMAP_PHASE_INVERSE (0x01 << 16)
126#define SNDRV_CHMAP_DRIVER_SPEC (0x02 << 16)
127
128SNDRV_CHMAP_PHASE_INVERSE indicates the channel is phase inverted,
129(thus summing left and right channels would result in almost silence).
130Some digital mic devices have this.
131
132When SNDRV_CHMAP_DRIVER_SPEC is set, all the channel position values
133don't follow the standard definition above but driver-specific.
134
135* READ OPERATION
136
137The control read operation is for providing the current channel map of
138the given stream. The control element returns an integer array
139containing the position of each channel.
140
141When this is performed before the number of the channel is specified
142(i.e. hw_params is set), it should return all channels set to
143UNKNOWN.
144
145* WRITE OPERATION
146
147The control write operation is optional, and only for devices that can
148change the channel configuration on the fly, such as HDMI. User needs
149to pass an integer value containing the valid channel positions for
150all channels of the assigned PCM substream.
151
152This operation is allowed only at PCM PREPARED state. When called in
153other states, it shall return an error.
diff --git a/Documentation/sound/alsa/HD-Audio-Controls.txt b/Documentation/sound/alsa/HD-Audio-Controls.txt
index e9621e349e1..1482035243e 100644
--- a/Documentation/sound/alsa/HD-Audio-Controls.txt
+++ b/Documentation/sound/alsa/HD-Audio-Controls.txt
@@ -98,19 +98,3 @@ Conexant codecs
98 98
99* Auto-Mute Mode 99* Auto-Mute Mode
100 See Reatek codecs. 100 See Reatek codecs.
101
102
103Analog codecs
104--------------
105
106* Channel Mode
107 This is an enum control to change the surround-channel setup,
108 appears only when the surround channels are available.
109 It gives the number of channels to be used, "2ch", "4ch" and "6ch".
110 According to the configuration, this also controls the
111 jack-retasking of multi-I/O jacks.
112
113* Independent HP
114 When this enum control is enabled, the headphone output is routed
115 from an individual stream (the third PCM such as hw:0,2) instead of
116 the primary stream.
diff --git a/Documentation/sound/alsa/HD-Audio-Models.txt b/Documentation/sound/alsa/HD-Audio-Models.txt
index 16dfe57f173..f8961402a85 100644
--- a/Documentation/sound/alsa/HD-Audio-Models.txt
+++ b/Documentation/sound/alsa/HD-Audio-Models.txt
@@ -8,31 +8,101 @@ ALC880
8 5stack-digout 5-jack in back, 2-jack in front, a SPDIF out 8 5stack-digout 5-jack in back, 2-jack in front, a SPDIF out
9 6stack 6-jack in back, 2-jack in front 9 6stack 6-jack in back, 2-jack in front
10 6stack-digout 6-jack with a SPDIF out 10 6stack-digout 6-jack with a SPDIF out
11 w810 3-jack
12 z71v 3-jack (HP shared SPDIF)
13 asus 3-jack (ASUS Mobo)
14 asus-w1v ASUS W1V
15 asus-dig ASUS with SPDIF out
16 asus-dig2 ASUS with SPDIF out (using GPIO2)
17 uniwill 3-jack
18 fujitsu Fujitsu Laptops (Pi1536)
19 F1734 2-jack
20 lg LG laptop (m1 express dual)
21 lg-lw LG LW20/LW25 laptop
22 tcl TCL S700
23 clevo Clevo laptops (m520G, m665n)
24 medion Medion Rim 2150
25 test for testing/debugging purpose, almost all controls can be
26 adjusted. Appearing only when compiled with
27 $CONFIG_SND_DEBUG=y
28 auto auto-config reading BIOS (default)
11 29
12ALC260 30ALC260
13====== 31======
14 N/A 32 hp HP machines
33 hp-3013 HP machines (3013-variant)
34 hp-dc7600 HP DC7600
35 fujitsu Fujitsu S7020
36 acer Acer TravelMate
37 will Will laptops (PB V7900)
38 replacer Replacer 672V
39 favorit100 Maxdata Favorit 100XS
40 basic fixed pin assignment (old default model)
41 test for testing/debugging purpose, almost all controls can
42 adjusted. Appearing only when compiled with
43 $CONFIG_SND_DEBUG=y
44 auto auto-config reading BIOS (default)
15 45
16ALC262 46ALC262
17====== 47======
18 inv-dmic Inverted internal mic workaround 48 fujitsu Fujitsu Laptop
49 hp-bpc HP xw4400/6400/8400/9400 laptops
50 hp-bpc-d7000 HP BPC D7000
51 hp-tc-t5735 HP Thin Client T5735
52 hp-rp5700 HP RP5700
53 benq Benq ED8
54 benq-t31 Benq T31
55 hippo Hippo (ATI) with jack detection, Sony UX-90s
56 hippo_1 Hippo (Benq) with jack detection
57 sony-assamd Sony ASSAMD
58 toshiba-s06 Toshiba S06
59 toshiba-rx1 Toshiba RX1
60 tyan Tyan Thunder n6650W (S2915-E)
61 ultra Samsung Q1 Ultra Vista model
62 lenovo-3000 Lenovo 3000 y410
63 nec NEC Versa S9100
64 basic fixed pin assignment w/o SPDIF
65 auto auto-config reading BIOS (default)
19 66
20ALC267/268 67ALC267/268
21========== 68==========
22 inv-dmic Inverted internal mic workaround 69 quanta-il1 Quanta IL1 mini-notebook
70 3stack 3-stack model
71 toshiba Toshiba A205
72 acer Acer laptops
73 acer-dmic Acer laptops with digital-mic
74 acer-aspire Acer Aspire One
75 dell Dell OEM laptops (Vostro 1200)
76 zepto Zepto laptops
77 test for testing/debugging purpose, almost all controls can
78 adjusted. Appearing only when compiled with
79 $CONFIG_SND_DEBUG=y
80 auto auto-config reading BIOS (default)
23 81
24ALC269/270/275/276/280/282 82ALC269
25====== 83======
84 basic Basic preset
85 quanta Quanta FL1
26 laptop-amic Laptops with analog-mic input 86 laptop-amic Laptops with analog-mic input
27 laptop-dmic Laptops with digital-mic input 87 laptop-dmic Laptops with digital-mic input
28 alc269-dmic Enable ALC269(VA) digital mic workaround 88 fujitsu FSC Amilo
29 alc271-dmic Enable ALC271X digital mic workaround 89 lifebook Fujitsu Lifebook S6420
30 inv-dmic Inverted internal mic workaround 90 auto auto-config reading BIOS (default)
31 lenovo-dock Enables docking station I/O for some Lenovos
32 91
33ALC662/663/272 92ALC662/663/272
34============== 93==============
35 mario Chromebook mario model fixup 94 3stack-dig 3-stack (2-channel) with SPDIF
95 3stack-6ch 3-stack (6-channel)
96 3stack-6ch-dig 3-stack (6-channel) with SPDIF
97 5stack-dig 5-stack with SPDIF
98 lenovo-101e Lenovo laptop
99 eeepc-p701 ASUS Eeepc P701
100 eeepc-ep20 ASUS Eeepc EP20
101 ecs ECS/Foxconn mobo
102 m51va ASUS M51VA
103 g71v ASUS G71V
104 h13 ASUS H13
105 g50v ASUS G50V
36 asus-mode1 ASUS 106 asus-mode1 ASUS
37 asus-mode2 ASUS 107 asus-mode2 ASUS
38 asus-mode3 ASUS 108 asus-mode3 ASUS
@@ -41,27 +111,92 @@ ALC662/663/272
41 asus-mode6 ASUS 111 asus-mode6 ASUS
42 asus-mode7 ASUS 112 asus-mode7 ASUS
43 asus-mode8 ASUS 113 asus-mode8 ASUS
44 inv-dmic Inverted internal mic workaround 114 dell Dell with ALC272
115 dell-zm1 Dell ZM1 with ALC272
116 samsung-nc10 Samsung NC10 mini notebook
117 auto auto-config reading BIOS (default)
45 118
46ALC680 119ALC680
47====== 120======
48 N/A 121 base Base model (ASUS NX90)
122 auto auto-config reading BIOS (default)
49 123
50ALC882/883/885/888/889 124ALC882/883/885/888/889
51====================== 125======================
52 acer-aspire-4930g Acer Aspire 4930G/5930G/6530G/6930G/7730G 126 3stack-dig 3-jack with SPDIF I/O
53 acer-aspire-8930g Acer Aspire 8330G/6935G 127 6stack-dig 6-jack digital with SPDIF I/O
54 acer-aspire Acer Aspire others 128 arima Arima W820Di1
55 inv-dmic Inverted internal mic workaround 129 targa Targa T8, MSI-1049 T8
56 no-primary-hp VAIO Z workaround (for fixed speaker DAC) 130 asus-a7j ASUS A7J
131 asus-a7m ASUS A7M
132 macpro MacPro support
133 mb5 Macbook 5,1
134 macmini3 Macmini 3,1
135 mba21 Macbook Air 2,1
136 mbp3 Macbook Pro rev3
137 imac24 iMac 24'' with jack detection
138 imac91 iMac 9,1
139 w2jc ASUS W2JC
140 3stack-2ch-dig 3-jack with SPDIF I/O (ALC883)
141 alc883-6stack-dig 6-jack digital with SPDIF I/O (ALC883)
142 3stack-6ch 3-jack 6-channel
143 3stack-6ch-dig 3-jack 6-channel with SPDIF I/O
144 6stack-dig-demo 6-jack digital for Intel demo board
145 acer Acer laptops (Travelmate 3012WTMi, Aspire 5600, etc)
146 acer-aspire Acer Aspire 9810
147 acer-aspire-4930g Acer Aspire 4930G
148 acer-aspire-6530g Acer Aspire 6530G
149 acer-aspire-7730g Acer Aspire 7730G
150 acer-aspire-8930g Acer Aspire 8930G
151 medion Medion Laptops
152 targa-dig Targa/MSI
153 targa-2ch-dig Targa/MSI with 2-channel
154 targa-8ch-dig Targa/MSI with 8-channel (MSI GX620)
155 laptop-eapd 3-jack with SPDIF I/O and EAPD (Clevo M540JE, M550JE)
156 lenovo-101e Lenovo 101E
157 lenovo-nb0763 Lenovo NB0763
158 lenovo-ms7195-dig Lenovo MS7195
159 lenovo-sky Lenovo Sky
160 haier-w66 Haier W66
161 3stack-hp HP machines with 3stack (Lucknow, Samba boards)
162 6stack-dell Dell machines with 6stack (Inspiron 530)
163 mitac Mitac 8252D
164 clevo-m540r Clevo M540R (6ch + digital)
165 clevo-m720 Clevo M720 laptop series
166 fujitsu-pi2515 Fujitsu AMILO Pi2515
167 fujitsu-xa3530 Fujitsu AMILO XA3530
168 3stack-6ch-intel Intel DG33* boards
169 intel-alc889a Intel IbexPeak with ALC889A
170 intel-x58 Intel DX58 with ALC889
171 asus-p5q ASUS P5Q-EM boards
172 mb31 MacBook 3,1
173 sony-vaio-tt Sony VAIO TT
174 auto auto-config reading BIOS (default)
57 175
58ALC861/660 176ALC861/660
59========== 177==========
60 N/A 178 3stack 3-jack
179 3stack-dig 3-jack with SPDIF I/O
180 6stack-dig 6-jack with SPDIF I/O
181 3stack-660 3-jack (for ALC660)
182 uniwill-m31 Uniwill M31 laptop
183 toshiba Toshiba laptop support
184 asus Asus laptop support
185 asus-laptop ASUS F2/F3 laptops
186 auto auto-config reading BIOS (default)
61 187
62ALC861VD/660VD 188ALC861VD/660VD
63============== 189==============
64 N/A 190 3stack 3-jack
191 3stack-dig 3-jack with SPDIF OUT
192 6stack-dig 6-jack with SPDIF OUT
193 3stack-660 3-jack (for ALC660VD)
194 3stack-660-digout 3-jack with SPDIF OUT (for ALC660VD)
195 lenovo Lenovo 3000 C200
196 dallas Dallas laptops
197 hp HP TX1000
198 asus-v1s ASUS V1Sn
199 auto auto-config reading BIOS (default)
65 200
66CMI9880 201CMI9880
67======= 202=======
@@ -74,8 +209,7 @@ CMI9880
74 209
75AD1882 / AD1882A 210AD1882 / AD1882A
76================ 211================
77 3stack 3-stack mode 212 3stack 3-stack mode (default)
78 3stack-automute 3-stack with automute front HP (default)
79 6stack 6-stack mode 213 6stack 6-stack mode
80 214
81AD1884A / AD1883 / AD1984A / AD1984B 215AD1884A / AD1883 / AD1984A / AD1984B
@@ -155,6 +289,7 @@ Conexant 5051
155 hp-dv6736 HP dv6736 289 hp-dv6736 HP dv6736
156 hp-f700 HP Compaq Presario F700 290 hp-f700 HP Compaq Presario F700
157 ideapad Lenovo IdeaPad laptop 291 ideapad Lenovo IdeaPad laptop
292 lenovo-x200 Lenovo X200 laptop
158 toshiba Toshiba Satellite M300 293 toshiba Toshiba Satellite M300
159 294
160Conexant 5066 295Conexant 5066
@@ -274,11 +409,8 @@ STAC92HD83*
274 mic-ref Reference board with power management for ports 409 mic-ref Reference board with power management for ports
275 dell-s14 Dell laptop 410 dell-s14 Dell laptop
276 dell-vostro-3500 Dell Vostro 3500 laptop 411 dell-vostro-3500 Dell Vostro 3500 laptop
412 hp HP laptops with (inverted) mute-LED
277 hp-dv7-4000 HP dv-7 4000 413 hp-dv7-4000 HP dv-7 4000
278 hp_cNB11_intquad HP CNB models with 4 speakers
279 hp-zephyr HP Zephyr
280 hp-led HP with broken BIOS for mute LED
281 hp-inv-led HP with broken BIOS for inverted mute LED
282 auto BIOS setup (default) 414 auto BIOS setup (default)
283 415
284STAC9872 416STAC9872
diff --git a/Documentation/sound/alsa/HD-Audio.txt b/Documentation/sound/alsa/HD-Audio.txt
index 7813c06a5c7..c82beb00763 100644
--- a/Documentation/sound/alsa/HD-Audio.txt
+++ b/Documentation/sound/alsa/HD-Audio.txt
@@ -59,12 +59,7 @@ a case, you can change the default method via `position_fix` option.
59`position_fix=1` means to use LPIB method explicitly. 59`position_fix=1` means to use LPIB method explicitly.
60`position_fix=2` means to use the position-buffer. 60`position_fix=2` means to use the position-buffer.
61`position_fix=3` means to use a combination of both methods, needed 61`position_fix=3` means to use a combination of both methods, needed
62for some VIA controllers. The capture stream position is corrected 62for some VIA and ATI controllers. 0 is the default value for all other
63by comparing both LPIB and position-buffer values.
64`position_fix=4` is another combination available for all controllers,
65and uses LPIB for the playback and the position-buffer for the capture
66streams.
670 is the default value for all other
68controllers, the automatic check and fallback to LPIB as described in 63controllers, the automatic check and fallback to LPIB as described in
69the above. If you get a problem of repeated sounds, this option might 64the above. If you get a problem of repeated sounds, this option might
70help. 65help.
@@ -452,10 +447,7 @@ The file needs to have a line `[codec]`. The next line should contain
452three numbers indicating the codec vendor-id (0x12345678 in the 447three numbers indicating the codec vendor-id (0x12345678 in the
453example), the codec subsystem-id (0xabcd1234) and the address (2) of 448example), the codec subsystem-id (0xabcd1234) and the address (2) of
454the codec. The rest patch entries are applied to this specified codec 449the codec. The rest patch entries are applied to this specified codec
455until another codec entry is given. Passing 0 or a negative number to 450until another codec entry is given.
456the first or the second value will make the check of the corresponding
457field be skipped. It'll be useful for really broken devices that don't
458initialize SSID properly.
459 451
460The `[model]` line allows to change the model name of the each codec. 452The `[model]` line allows to change the model name of the each codec.
461In the example above, it will be changed to model=auto. 453In the example above, it will be changed to model=auto.
@@ -499,7 +491,7 @@ Also, the codec chip name can be rewritten via `[chip_name]` line.
499The hd-audio driver reads the file via request_firmware(). Thus, 491The hd-audio driver reads the file via request_firmware(). Thus,
500a patch file has to be located on the appropriate firmware path, 492a patch file has to be located on the appropriate firmware path,
501typically, /lib/firmware. For example, when you pass the option 493typically, /lib/firmware. For example, when you pass the option
502`patch=hda-init.fw`, the file /lib/firmware/hda-init.fw must be 494`patch=hda-init.fw`, the file /lib/firmware/hda-init-fw must be
503present. 495present.
504 496
505The patch module option is specific to each card instance, and you 497The patch module option is specific to each card instance, and you
@@ -532,59 +524,11 @@ power-saving. See /sys/module/snd_hda_intel/parameters/power_save to
532check the current value. If it's non-zero, the feature is turned on. 524check the current value. If it's non-zero, the feature is turned on.
533 525
534 526
535Tracepoints
536~~~~~~~~~~~
537The hd-audio driver gives a few basic tracepoints.
538`hda:hda_send_cmd` traces each CORB write while `hda:hda_get_response`
539traces the response from RIRB (only when read from the codec driver).
540`hda:hda_bus_reset` traces the bus-reset due to fatal error, etc,
541`hda:hda_unsol_event` traces the unsolicited events, and
542`hda:hda_power_down` and `hda:hda_power_up` trace the power down/up
543via power-saving behavior.
544
545Enabling all tracepoints can be done like
546------------------------------------------------------------------------
547 # echo 1 > /sys/kernel/debug/tracing/events/hda/enable
548------------------------------------------------------------------------
549then after some commands, you can traces from
550/sys/kernel/debug/tracing/trace file. For example, when you want to
551trace what codec command is sent, enable the tracepoint like:
552------------------------------------------------------------------------
553 # cat /sys/kernel/debug/tracing/trace
554 # tracer: nop
555 #
556 # TASK-PID CPU# TIMESTAMP FUNCTION
557 # | | | | |
558 <...>-7807 [002] 105147.774889: hda_send_cmd: [0:0] val=e3a019
559 <...>-7807 [002] 105147.774893: hda_send_cmd: [0:0] val=e39019
560 <...>-7807 [002] 105147.999542: hda_send_cmd: [0:0] val=e3a01a
561 <...>-7807 [002] 105147.999543: hda_send_cmd: [0:0] val=e3901a
562 <...>-26764 [001] 349222.837143: hda_send_cmd: [0:0] val=e3a019
563 <...>-26764 [001] 349222.837148: hda_send_cmd: [0:0] val=e39019
564 <...>-26764 [001] 349223.058539: hda_send_cmd: [0:0] val=e3a01a
565 <...>-26764 [001] 349223.058541: hda_send_cmd: [0:0] val=e3901a
566------------------------------------------------------------------------
567Here `[0:0]` indicates the card number and the codec address, and
568`val` shows the value sent to the codec, respectively. The value is
569a packed value, and you can decode it via hda-decode-verb program
570included in hda-emu package below. For example, the value e3a019 is
571to set the left output-amp value to 25.
572------------------------------------------------------------------------
573 % hda-decode-verb 0xe3a019
574 raw value = 0x00e3a019
575 cid = 0, nid = 0x0e, verb = 0x3a0, parm = 0x19
576 raw value: verb = 0x3a0, parm = 0x19
577 verbname = set_amp_gain_mute
578 amp raw val = 0xa019
579 output, left, idx=0, mute=0, val=25
580------------------------------------------------------------------------
581
582
583Development Tree 527Development Tree
584~~~~~~~~~~~~~~~~ 528~~~~~~~~~~~~~~~~
585The latest development codes for HD-audio are found on sound git tree: 529The latest development codes for HD-audio are found on sound git tree:
586 530
587- git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git 531- git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
588 532
589The master branch or for-next branches can be used as the main 533The master branch or for-next branches can be used as the main
590development branches in general while the HD-audio specific patches 534development branches in general while the HD-audio specific patches
@@ -599,7 +543,7 @@ is, installed via the usual spells: configure, make and make
599install(-modules). See INSTALL in the package. The snapshot tarballs 543install(-modules). See INSTALL in the package. The snapshot tarballs
600are found at: 544are found at:
601 545
602- ftp://ftp.suse.com/pub/people/tiwai/snapshot/ 546- ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/
603 547
604 548
605Sending a Bug Report 549Sending a Bug Report
@@ -701,7 +645,7 @@ via hda-verb won't change the mixer value.
701 645
702The hda-verb program is found in the ftp directory: 646The hda-verb program is found in the ftp directory:
703 647
704- ftp://ftp.suse.com/pub/people/tiwai/misc/ 648- ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/misc/
705 649
706Also a git repository is available: 650Also a git repository is available:
707 651
@@ -769,7 +713,7 @@ operation, the jack plugging simulation, etc.
769 713
770The package is found in: 714The package is found in:
771 715
772- ftp://ftp.suse.com/pub/people/tiwai/misc/ 716- ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/misc/
773 717
774A git repository is available: 718A git repository is available:
775 719
diff --git a/Documentation/sound/alsa/MIXART.txt b/Documentation/sound/alsa/MIXART.txt
index 4ee35b4fbe4..ef42c44fa1f 100644
--- a/Documentation/sound/alsa/MIXART.txt
+++ b/Documentation/sound/alsa/MIXART.txt
@@ -76,9 +76,9 @@ FIRMWARE
76 when CONFIG_FW_LOADER is set. The mixartloader is necessary only 76 when CONFIG_FW_LOADER is set. The mixartloader is necessary only
77 for older versions or when you build the driver into kernel.] 77 for older versions or when you build the driver into kernel.]
78 78
79For loading the firmware automatically after the module is loaded, use a 79For loading the firmware automatically after the module is loaded, use
80install command. For example, add the following entry to 80the post-install command. For example, add the following entry to
81/etc/modprobe.d/mixart.conf for miXart driver: 81/etc/modprobe.conf for miXart driver:
82 82
83 install snd-mixart /sbin/modprobe --first-time -i snd-mixart && \ 83 install snd-mixart /sbin/modprobe --first-time -i snd-mixart && \
84 /usr/bin/mixartloader 84 /usr/bin/mixartloader
diff --git a/Documentation/sound/alsa/OSS-Emulation.txt b/Documentation/sound/alsa/OSS-Emulation.txt
index 152ca2a3f1b..022aaeb0e9d 100644
--- a/Documentation/sound/alsa/OSS-Emulation.txt
+++ b/Documentation/sound/alsa/OSS-Emulation.txt
@@ -19,7 +19,7 @@ the card number and the minor unit number. Usually you don't have to
19define these aliases by yourself. 19define these aliases by yourself.
20 20
21Only necessary step for auto-loading of OSS modules is to define the 21Only necessary step for auto-loading of OSS modules is to define the
22card alias in /etc/modprobe.d/alsa.conf, such as 22card alias in /etc/modprobe.conf, such as
23 23
24 alias sound-slot-0 snd-emu10k1 24 alias sound-slot-0 snd-emu10k1
25 25
diff --git a/Documentation/sound/alsa/compress_offload.txt b/Documentation/sound/alsa/compress_offload.txt
deleted file mode 100644
index 90e9b3a11ab..00000000000
--- a/Documentation/sound/alsa/compress_offload.txt
+++ /dev/null
@@ -1,188 +0,0 @@
1 compress_offload.txt
2 =====================
3 Pierre-Louis.Bossart <pierre-louis.bossart@linux.intel.com>
4 Vinod Koul <vinod.koul@linux.intel.com>
5
6Overview
7
8Since its early days, the ALSA API was defined with PCM support or
9constant bitrates payloads such as IEC61937 in mind. Arguments and
10returned values in frames are the norm, making it a challenge to
11extend the existing API to compressed data streams.
12
13In recent years, audio digital signal processors (DSP) were integrated
14in system-on-chip designs, and DSPs are also integrated in audio
15codecs. Processing compressed data on such DSPs results in a dramatic
16reduction of power consumption compared to host-based
17processing. Support for such hardware has not been very good in Linux,
18mostly because of a lack of a generic API available in the mainline
19kernel.
20
21Rather than requiring a compatibility break with an API change of the
22ALSA PCM interface, a new 'Compressed Data' API is introduced to
23provide a control and data-streaming interface for audio DSPs.
24
25The design of this API was inspired by the 2-year experience with the
26Intel Moorestown SOC, with many corrections required to upstream the
27API in the mainline kernel instead of the staging tree and make it
28usable by others.
29
30Requirements
31
32The main requirements are:
33
34- separation between byte counts and time. Compressed formats may have
35 a header per file, per frame, or no header at all. The payload size
36 may vary from frame-to-frame. As a result, it is not possible to
37 estimate reliably the duration of audio buffers when handling
38 compressed data. Dedicated mechanisms are required to allow for
39 reliable audio-video synchronization, which requires precise
40 reporting of the number of samples rendered at any given time.
41
42- Handling of multiple formats. PCM data only requires a specification
43 of the sampling rate, number of channels and bits per sample. In
44 contrast, compressed data comes in a variety of formats. Audio DSPs
45 may also provide support for a limited number of audio encoders and
46 decoders embedded in firmware, or may support more choices through
47 dynamic download of libraries.
48
49- Focus on main formats. This API provides support for the most
50 popular formats used for audio and video capture and playback. It is
51 likely that as audio compression technology advances, new formats
52 will be added.
53
54- Handling of multiple configurations. Even for a given format like
55 AAC, some implementations may support AAC multichannel but HE-AAC
56 stereo. Likewise WMA10 level M3 may require too much memory and cpu
57 cycles. The new API needs to provide a generic way of listing these
58 formats.
59
60- Rendering/Grabbing only. This API does not provide any means of
61 hardware acceleration, where PCM samples are provided back to
62 user-space for additional processing. This API focuses instead on
63 streaming compressed data to a DSP, with the assumption that the
64 decoded samples are routed to a physical output or logical back-end.
65
66 - Complexity hiding. Existing user-space multimedia frameworks all
67 have existing enums/structures for each compressed format. This new
68 API assumes the existence of a platform-specific compatibility layer
69 to expose, translate and make use of the capabilities of the audio
70 DSP, eg. Android HAL or PulseAudio sinks. By construction, regular
71 applications are not supposed to make use of this API.
72
73
74Design
75
76The new API shares a number of concepts with with the PCM API for flow
77control. Start, pause, resume, drain and stop commands have the same
78semantics no matter what the content is.
79
80The concept of memory ring buffer divided in a set of fragments is
81borrowed from the ALSA PCM API. However, only sizes in bytes can be
82specified.
83
84Seeks/trick modes are assumed to be handled by the host.
85
86The notion of rewinds/forwards is not supported. Data committed to the
87ring buffer cannot be invalidated, except when dropping all buffers.
88
89The Compressed Data API does not make any assumptions on how the data
90is transmitted to the audio DSP. DMA transfers from main memory to an
91embedded audio cluster or to a SPI interface for external DSPs are
92possible. As in the ALSA PCM case, a core set of routines is exposed;
93each driver implementer will have to write support for a set of
94mandatory routines and possibly make use of optional ones.
95
96The main additions are
97
98- get_caps
99This routine returns the list of audio formats supported. Querying the
100codecs on a capture stream will return encoders, decoders will be
101listed for playback streams.
102
103- get_codec_caps For each codec, this routine returns a list of
104capabilities. The intent is to make sure all the capabilities
105correspond to valid settings, and to minimize the risks of
106configuration failures. For example, for a complex codec such as AAC,
107the number of channels supported may depend on a specific profile. If
108the capabilities were exposed with a single descriptor, it may happen
109that a specific combination of profiles/channels/formats may not be
110supported. Likewise, embedded DSPs have limited memory and cpu cycles,
111it is likely that some implementations make the list of capabilities
112dynamic and dependent on existing workloads. In addition to codec
113settings, this routine returns the minimum buffer size handled by the
114implementation. This information can be a function of the DMA buffer
115sizes, the number of bytes required to synchronize, etc, and can be
116used by userspace to define how much needs to be written in the ring
117buffer before playback can start.
118
119- set_params
120This routine sets the configuration chosen for a specific codec. The
121most important field in the parameters is the codec type; in most
122cases decoders will ignore other fields, while encoders will strictly
123comply to the settings
124
125- get_params
126This routines returns the actual settings used by the DSP. Changes to
127the settings should remain the exception.
128
129- get_timestamp
130The timestamp becomes a multiple field structure. It lists the number
131of bytes transferred, the number of samples processed and the number
132of samples rendered/grabbed. All these values can be used to determine
133the avarage bitrate, figure out if the ring buffer needs to be
134refilled or the delay due to decoding/encoding/io on the DSP.
135
136Note that the list of codecs/profiles/modes was derived from the
137OpenMAX AL specification instead of reinventing the wheel.
138Modifications include:
139- Addition of FLAC and IEC formats
140- Merge of encoder/decoder capabilities
141- Profiles/modes listed as bitmasks to make descriptors more compact
142- Addition of set_params for decoders (missing in OpenMAX AL)
143- Addition of AMR/AMR-WB encoding modes (missing in OpenMAX AL)
144- Addition of format information for WMA
145- Addition of encoding options when required (derived from OpenMAX IL)
146- Addition of rateControlSupported (missing in OpenMAX AL)
147
148Not supported:
149
150- Support for VoIP/circuit-switched calls is not the target of this
151 API. Support for dynamic bit-rate changes would require a tight
152 coupling between the DSP and the host stack, limiting power savings.
153
154- Packet-loss concealment is not supported. This would require an
155 additional interface to let the decoder synthesize data when frames
156 are lost during transmission. This may be added in the future.
157
158- Volume control/routing is not handled by this API. Devices exposing a
159 compressed data interface will be considered as regular ALSA devices;
160 volume changes and routing information will be provided with regular
161 ALSA kcontrols.
162
163- Embedded audio effects. Such effects should be enabled in the same
164 manner, no matter if the input was PCM or compressed.
165
166- multichannel IEC encoding. Unclear if this is required.
167
168- Encoding/decoding acceleration is not supported as mentioned
169 above. It is possible to route the output of a decoder to a capture
170 stream, or even implement transcoding capabilities. This routing
171 would be enabled with ALSA kcontrols.
172
173- Audio policy/resource management. This API does not provide any
174 hooks to query the utilization of the audio DSP, nor any premption
175 mechanisms.
176
177- No notion of underun/overrun. Since the bytes written are compressed
178 in nature and data written/read doesn't translate directly to
179 rendered output in time, this does not deal with underrun/overun and
180 maybe dealt in user-library
181
182Credits:
183- Mark Brown and Liam Girdwood for discussions on the need for this API
184- Harsha Priya for her work on intel_sst compressed API
185- Rakesh Ughreja for valuable feedback
186- Sing Nallasellan, Sikkandar Madar and Prasanna Samaga for
187 demonstrating and quantifying the benefits of audio offload on a
188 real platform.
diff --git a/Documentation/sound/alsa/hdspm.txt b/Documentation/sound/alsa/hdspm.txt
index 7ba31948dea..7a67ff71a9f 100644
--- a/Documentation/sound/alsa/hdspm.txt
+++ b/Documentation/sound/alsa/hdspm.txt
@@ -359,4 +359,4 @@ Calling Parameter:
359 enable_monitor int array (min = 1, max = 8), 359 enable_monitor int array (min = 1, max = 8),
360 "Enable Analog Out on Channel 63/64 by default." 360 "Enable Analog Out on Channel 63/64 by default."
361 361
362 note: here the analog output is enabled (but not routed). 362 note: here the analog output is enabled (but not routed). \ No newline at end of file
diff --git a/Documentation/sound/alsa/soc/machine.txt b/Documentation/sound/alsa/soc/machine.txt
index d50c14df341..3e2ec9cbf39 100644
--- a/Documentation/sound/alsa/soc/machine.txt
+++ b/Documentation/sound/alsa/soc/machine.txt
@@ -50,7 +50,8 @@ Machine DAI Configuration
50The machine DAI configuration glues all the codec and CPU DAIs together. It can 50The machine DAI configuration glues all the codec and CPU DAIs together. It can
51also be used to set up the DAI system clock and for any machine related DAI 51also be used to set up the DAI system clock and for any machine related DAI
52initialisation e.g. the machine audio map can be connected to the codec audio 52initialisation e.g. the machine audio map can be connected to the codec audio
53map, unconnected codec pins can be set as such. 53map, unconnected codec pins can be set as such. Please see corgi.c, spitz.c
54for examples.
54 55
55struct snd_soc_dai_link is used to set up each DAI in your machine. e.g. 56struct snd_soc_dai_link is used to set up each DAI in your machine. e.g.
56 57
@@ -82,7 +83,8 @@ Machine Power Map
82The machine driver can optionally extend the codec power map and to become an 83The machine driver can optionally extend the codec power map and to become an
83audio power map of the audio subsystem. This allows for automatic power up/down 84audio power map of the audio subsystem. This allows for automatic power up/down
84of speaker/HP amplifiers, etc. Codec pins can be connected to the machines jack 85of speaker/HP amplifiers, etc. Codec pins can be connected to the machines jack
85sockets in the machine init function. 86sockets in the machine init function. See soc/pxa/spitz.c and dapm.txt for
87details.
86 88
87 89
88Machine Controls 90Machine Controls