aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-07-23 13:59:37 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-07-23 13:59:37 -0400
commite4980371059ca4a81ccdcb4381c41af8869ca711 (patch)
tree29758f7e8d66b5866d9d3897eff12f122000b4d7 /Documentation
parent9d1c02135516866cbbb2f80e20cfb65c63a3ce40 (diff)
parent76531d4166fb620375ff3c1ac24753265216d579 (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (297 commits) ALSA: asihpi - Replace with snd_ctl_boolean_mono_info() ALSA: asihpi - HPI version 4.08 ALSA: asihpi - Add volume mute controls ALSA: asihpi - Control name updates ALSA: asihpi - Use size_t for sizeof result ALSA: asihpi - Explicitly include mutex.h ALSA: asihpi - Add new node and message defines ALSA: asihpi - Make local function static ALSA: asihpi - Fix minor typos and spelling ALSA: asihpi - Remove unused structures, macros and functions ALSA: asihpi - Remove spurious adapter index check ALSA: asihpi - Revise snd_pcm_debug_name, get rid of DEBUG_NAME macro ALSA: asihpi - DSP code loader API now independent of OS ALSA: asihpi - Remove controlex structs and associated special data transfer code ALSA: asihpi - Increase request and response buffer sizes ALSA: asihpi - Give more meaningful name to hpi request message type ALSA: usb-audio - Add quirk for Roland / BOSS BR-800 ALSA: hda - Remove a superfluous argument of via_auto_init_output() ALSA: hda - Fix indep-HP path (de-)activation for VT1708* codecs ALSA: hda - Add documentation for codec-specific mixer controls ...
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/DocBook/writing-an-alsa-driver.tmpl10
-rw-r--r--Documentation/sound/alsa/HD-Audio-Controls.txt100
2 files changed, 105 insertions, 5 deletions
diff --git a/Documentation/DocBook/writing-an-alsa-driver.tmpl b/Documentation/DocBook/writing-an-alsa-driver.tmpl
index 58ced2346e67..598c22f3b3ac 100644
--- a/Documentation/DocBook/writing-an-alsa-driver.tmpl
+++ b/Documentation/DocBook/writing-an-alsa-driver.tmpl
@@ -1164,7 +1164,7 @@
1164 } 1164 }
1165 chip->port = pci_resource_start(pci, 0); 1165 chip->port = pci_resource_start(pci, 0);
1166 if (request_irq(pci->irq, snd_mychip_interrupt, 1166 if (request_irq(pci->irq, snd_mychip_interrupt,
1167 IRQF_SHARED, "My Chip", chip)) { 1167 IRQF_SHARED, KBUILD_MODNAME, chip)) {
1168 printk(KERN_ERR "cannot grab irq %d\n", pci->irq); 1168 printk(KERN_ERR "cannot grab irq %d\n", pci->irq);
1169 snd_mychip_free(chip); 1169 snd_mychip_free(chip);
1170 return -EBUSY; 1170 return -EBUSY;
@@ -1197,7 +1197,7 @@
1197 1197
1198 /* pci_driver definition */ 1198 /* pci_driver definition */
1199 static struct pci_driver driver = { 1199 static struct pci_driver driver = {
1200 .name = "My Own Chip", 1200 .name = KBUILD_MODNAME,
1201 .id_table = snd_mychip_ids, 1201 .id_table = snd_mychip_ids,
1202 .probe = snd_mychip_probe, 1202 .probe = snd_mychip_probe,
1203 .remove = __devexit_p(snd_mychip_remove), 1203 .remove = __devexit_p(snd_mychip_remove),
@@ -1340,7 +1340,7 @@
1340 <programlisting> 1340 <programlisting>
1341<![CDATA[ 1341<![CDATA[
1342 if (request_irq(pci->irq, snd_mychip_interrupt, 1342 if (request_irq(pci->irq, snd_mychip_interrupt,
1343 IRQF_SHARED, "My Chip", chip)) { 1343 IRQF_SHARED, KBUILD_MODNAME, chip)) {
1344 printk(KERN_ERR "cannot grab irq %d\n", pci->irq); 1344 printk(KERN_ERR "cannot grab irq %d\n", pci->irq);
1345 snd_mychip_free(chip); 1345 snd_mychip_free(chip);
1346 return -EBUSY; 1346 return -EBUSY;
@@ -1616,7 +1616,7 @@
1616 <programlisting> 1616 <programlisting>
1617<![CDATA[ 1617<![CDATA[
1618 static struct pci_driver driver = { 1618 static struct pci_driver driver = {
1619 .name = "My Own Chip", 1619 .name = KBUILD_MODNAME,
1620 .id_table = snd_mychip_ids, 1620 .id_table = snd_mychip_ids,
1621 .probe = snd_mychip_probe, 1621 .probe = snd_mychip_probe,
1622 .remove = __devexit_p(snd_mychip_remove), 1622 .remove = __devexit_p(snd_mychip_remove),
@@ -5816,7 +5816,7 @@ struct _snd_pcm_runtime {
5816 <programlisting> 5816 <programlisting>
5817<![CDATA[ 5817<![CDATA[
5818 static struct pci_driver driver = { 5818 static struct pci_driver driver = {
5819 .name = "My Chip", 5819 .name = KBUILD_MODNAME,
5820 .id_table = snd_my_ids, 5820 .id_table = snd_my_ids,
5821 .probe = snd_my_probe, 5821 .probe = snd_my_probe,
5822 .remove = __devexit_p(snd_my_remove), 5822 .remove = __devexit_p(snd_my_remove),
diff --git a/Documentation/sound/alsa/HD-Audio-Controls.txt b/Documentation/sound/alsa/HD-Audio-Controls.txt
new file mode 100644
index 000000000000..1482035243e6
--- /dev/null
+++ b/Documentation/sound/alsa/HD-Audio-Controls.txt
@@ -0,0 +1,100 @@
1This file explains the codec-specific mixer controls.
2
3Realtek codecs
4--------------
5
6* Channel Mode
7 This is an enum control to change the surround-channel setup,
8 appears only when the surround channels are available.
9 It gives the number of channels to be used, "2ch", "4ch", "6ch",
10 and "8ch". According to the configuration, this also controls the
11 jack-retasking of multi-I/O jacks.
12
13* Auto-Mute Mode
14 This is an enum control to change the auto-mute behavior of the
15 headphone and line-out jacks. If built-in speakers and headphone
16 and/or line-out jacks are available on a machine, this controls
17 appears.
18 When there are only either headphones or line-out jacks, it gives
19 "Disabled" and "Enabled" state. When enabled, the speaker is muted
20 automatically when a jack is plugged.
21
22 When both headphone and line-out jacks are present, it gives
23 "Disabled", "Speaker Only" and "Line-Out+Speaker". When
24 speaker-only is chosen, plugging into a headphone or a line-out jack
25 mutes the speakers, but not line-outs. When line-out+speaker is
26 selected, plugging to a headphone jack mutes both speakers and
27 line-outs.
28
29
30IDT/Sigmatel codecs
31-------------------
32
33* Analog Loopback
34 This control enables/disables the analog-loopback circuit. This
35 appears only when "loopback" is set to true in a codec hint
36 (see HD-Audio.txt). Note that on some codecs the analog-loopback
37 and the normal PCM playback are exclusive, i.e. when this is on, you
38 won't hear any PCM stream.
39
40* Swap Center/LFE
41 Swaps the center and LFE channel order. Normally, the left
42 corresponds to the center and the right to the LFE. When this is
43 ON, the left to the LFE and the right to the center.
44
45* Headphone as Line Out
46 When this control is ON, treat the headphone jacks as line-out
47 jacks. That is, the headphone won't auto-mute the other line-outs,
48 and no HP-amp is set to the pins.
49
50* Mic Jack Mode, Line Jack Mode, etc
51 These enum controls the direction and the bias of the input jack
52 pins. Depending on the jack type, it can set as "Mic In" and "Line
53 In", for determining the input bias, or it can be set to "Line Out"
54 when the pin is a multi-I/O jack for surround channels.
55
56
57VIA codecs
58----------
59
60* Smart 5.1
61 An enum control to re-task the multi-I/O jacks for surround outputs.
62 When it's ON, the corresponding input jacks (usually a line-in and a
63 mic-in) are switched as the surround and the CLFE output jacks.
64
65* Independent HP
66 When this enum control is enabled, the headphone output is routed
67 from an individual stream (the third PCM such as hw:0,2) instead of
68 the primary stream. In the case the headphone DAC is shared with a
69 side or a CLFE-channel DAC, the DAC is switched to the headphone
70 automatically.
71
72* Loopback Mixing
73 An enum control to determine whether the analog-loopback route is
74 enabled or not. When it's enabled, the analog-loopback is mixed to
75 the front-channel. Also, the same route is used for the headphone
76 and speaker outputs. As a side-effect, when this mode is set, the
77 individual volume controls will be no longer available for
78 headphones and speakers because there is only one DAC connected to a
79 mixer widget.
80
81* Dynamic Power-Control
82 This control determines whether the dynamic power-control per jack
83 detection is enabled or not. When enabled, the widgets power state
84 (D0/D3) are changed dynamically depending on the jack plugging
85 state for saving power consumptions. However, if your system
86 doesn't provide a proper jack-detection, this won't work; in such a
87 case, turn this control OFF.
88
89* Jack Detect
90 This control is provided only for VT1708 codec which gives no proper
91 unsolicited event per jack plug. When this is on, the driver polls
92 the jack detection so that the headphone auto-mute can work, while
93 turning this off would reduce the power consumption.
94
95
96Conexant codecs
97---------------
98
99* Auto-Mute Mode
100 See Reatek codecs.