diff options
Diffstat (limited to 'Documentation')
19 files changed, 339 insertions, 80 deletions
diff --git a/Documentation/DocBook/writing-an-alsa-driver.tmpl b/Documentation/DocBook/writing-an-alsa-driver.tmpl index 598c22f3b3ac..5de23c007078 100644 --- a/Documentation/DocBook/writing-an-alsa-driver.tmpl +++ b/Documentation/DocBook/writing-an-alsa-driver.tmpl | |||
@@ -4288,7 +4288,7 @@ struct _snd_pcm_runtime { | |||
4288 | <![CDATA[ | 4288 | <![CDATA[ |
4289 | struct snd_rawmidi *rmidi; | 4289 | struct snd_rawmidi *rmidi; |
4290 | snd_mpu401_uart_new(card, 0, MPU401_HW_MPU401, port, info_flags, | 4290 | snd_mpu401_uart_new(card, 0, MPU401_HW_MPU401, port, info_flags, |
4291 | irq, irq_flags, &rmidi); | 4291 | irq, &rmidi); |
4292 | ]]> | 4292 | ]]> |
4293 | </programlisting> | 4293 | </programlisting> |
4294 | </informalexample> | 4294 | </informalexample> |
@@ -4343,6 +4343,13 @@ struct _snd_pcm_runtime { | |||
4343 | by itself to start processing the output stream in the irq handler. | 4343 | by itself to start processing the output stream in the irq handler. |
4344 | </para> | 4344 | </para> |
4345 | 4345 | ||
4346 | <para> | ||
4347 | If the MPU-401 interface shares its interrupt with the other logical | ||
4348 | devices on the card, set <constant>MPU401_INFO_IRQ_HOOK</constant> | ||
4349 | (see <link linkend="midi-interface-interrupt-handler"><citetitle> | ||
4350 | below</citetitle></link>). | ||
4351 | </para> | ||
4352 | |||
4346 | <para> | 4353 | <para> |
4347 | Usually, the port address corresponds to the command port and | 4354 | Usually, the port address corresponds to the command port and |
4348 | port + 1 corresponds to the data port. If not, you may change | 4355 | port + 1 corresponds to the data port. If not, you may change |
@@ -4375,14 +4382,12 @@ struct _snd_pcm_runtime { | |||
4375 | </para> | 4382 | </para> |
4376 | 4383 | ||
4377 | <para> | 4384 | <para> |
4378 | The 6th argument specifies the irq number for UART. If the irq | 4385 | The 6th argument specifies the ISA irq number that will be |
4379 | is already allocated, pass 0 to the 7th argument | 4386 | allocated. If no interrupt is to be allocated (because your |
4380 | (<parameter>irq_flags</parameter>). Otherwise, pass the flags | 4387 | code is already allocating a shared interrupt, or because the |
4381 | for irq allocation | 4388 | device does not use interrupts), pass -1 instead. |
4382 | (<constant>SA_XXX</constant> bits) to it, and the irq will be | 4389 | For a MPU-401 device without an interrupt, a polling timer |
4383 | reserved by the mpu401-uart layer. If the card doesn't generate | 4390 | will be used instead. |
4384 | UART interrupts, pass -1 as the irq number. Then a timer | ||
4385 | interrupt will be invoked for polling. | ||
4386 | </para> | 4391 | </para> |
4387 | </section> | 4392 | </section> |
4388 | 4393 | ||
@@ -4390,12 +4395,13 @@ struct _snd_pcm_runtime { | |||
4390 | <title>Interrupt Handler</title> | 4395 | <title>Interrupt Handler</title> |
4391 | <para> | 4396 | <para> |
4392 | When the interrupt is allocated in | 4397 | When the interrupt is allocated in |
4393 | <function>snd_mpu401_uart_new()</function>, the private | 4398 | <function>snd_mpu401_uart_new()</function>, an exclusive ISA |
4394 | interrupt handler is used, hence you don't have anything else to do | 4399 | interrupt handler is automatically used, hence you don't have |
4395 | than creating the mpu401 stuff. Otherwise, you have to call | 4400 | anything else to do than creating the mpu401 stuff. Otherwise, you |
4396 | <function>snd_mpu401_uart_interrupt()</function> explicitly when | 4401 | have to set <constant>MPU401_INFO_IRQ_HOOK</constant>, and call |
4397 | a UART interrupt is invoked and checked in your own interrupt | 4402 | <function>snd_mpu401_uart_interrupt()</function> explicitly from your |
4398 | handler. | 4403 | own interrupt handler when it has determined that a UART interrupt |
4404 | has occurred. | ||
4399 | </para> | 4405 | </para> |
4400 | 4406 | ||
4401 | <para> | 4407 | <para> |
diff --git a/Documentation/devicetree/bindings/sound/soc/codecs/fsl-sgtl5000.txt b/Documentation/devicetree/bindings/sound/soc/codecs/fsl-sgtl5000.txt new file mode 100644 index 000000000000..2c3cd413f042 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/soc/codecs/fsl-sgtl5000.txt | |||
@@ -0,0 +1,11 @@ | |||
1 | * Freescale SGTL5000 Stereo Codec | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "fsl,sgtl5000". | ||
5 | |||
6 | Example: | ||
7 | |||
8 | codec: sgtl5000@0a { | ||
9 | compatible = "fsl,sgtl5000"; | ||
10 | reg = <0x0a>; | ||
11 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8510.txt b/Documentation/devicetree/bindings/sound/wm8510.txt new file mode 100644 index 000000000000..fa1a32b85577 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8510.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8510 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8510" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8510@1a { | ||
16 | compatible = "wlf,wm8510"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8523.txt b/Documentation/devicetree/bindings/sound/wm8523.txt new file mode 100644 index 000000000000..04746186b283 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8523.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | WM8523 audio CODEC | ||
2 | |||
3 | This device supports I2C only. | ||
4 | |||
5 | Required properties: | ||
6 | |||
7 | - compatible : "wlf,wm8523" | ||
8 | |||
9 | - reg : the I2C address of the device. | ||
10 | |||
11 | Example: | ||
12 | |||
13 | codec: wm8523@1a { | ||
14 | compatible = "wlf,wm8523"; | ||
15 | reg = <0x1a>; | ||
16 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8580.txt b/Documentation/devicetree/bindings/sound/wm8580.txt new file mode 100644 index 000000000000..7d9821f348da --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8580.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | WM8580 audio CODEC | ||
2 | |||
3 | This device supports I2C only. | ||
4 | |||
5 | Required properties: | ||
6 | |||
7 | - compatible : "wlf,wm8580" | ||
8 | |||
9 | - reg : the I2C address of the device. | ||
10 | |||
11 | Example: | ||
12 | |||
13 | codec: wm8580@1a { | ||
14 | compatible = "wlf,wm8580"; | ||
15 | reg = <0x1a>; | ||
16 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8711.txt b/Documentation/devicetree/bindings/sound/wm8711.txt new file mode 100644 index 000000000000..8ed9998cd23c --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8711.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8711 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8711" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8711@1a { | ||
16 | compatible = "wlf,wm8711"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8728.txt b/Documentation/devicetree/bindings/sound/wm8728.txt new file mode 100644 index 000000000000..a8b5c3668e60 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8728.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8728 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8728" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8728@1a { | ||
16 | compatible = "wlf,wm8728"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8731.txt b/Documentation/devicetree/bindings/sound/wm8731.txt new file mode 100644 index 000000000000..15f70048469b --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8731.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8731 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8731" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8731@1a { | ||
16 | compatible = "wlf,wm8731"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8737.txt b/Documentation/devicetree/bindings/sound/wm8737.txt new file mode 100644 index 000000000000..4bc2cea3b140 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8737.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8737 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8737" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8737@1a { | ||
16 | compatible = "wlf,wm8737"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8741.txt b/Documentation/devicetree/bindings/sound/wm8741.txt new file mode 100644 index 000000000000..74bda58c1bcf --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8741.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8741 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8741" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8741@1a { | ||
16 | compatible = "wlf,wm8741"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8750.txt b/Documentation/devicetree/bindings/sound/wm8750.txt new file mode 100644 index 000000000000..8db239fd5ecd --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8750.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8750 and WM8987 audio CODECs | ||
2 | |||
3 | These devices support both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8750" or "wlf,wm8987" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8750@1a { | ||
16 | compatible = "wlf,wm8750"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8753.txt b/Documentation/devicetree/bindings/sound/wm8753.txt new file mode 100644 index 000000000000..e65277a0fb60 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8753.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8753 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8753" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8737@1a { | ||
16 | compatible = "wlf,wm8753"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8770.txt b/Documentation/devicetree/bindings/sound/wm8770.txt new file mode 100644 index 000000000000..866e00ca150b --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8770.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | WM8770 audio CODEC | ||
2 | |||
3 | This device supports SPI. | ||
4 | |||
5 | Required properties: | ||
6 | |||
7 | - compatible : "wlf,wm8770" | ||
8 | |||
9 | - reg : the chip select number. | ||
10 | |||
11 | Example: | ||
12 | |||
13 | codec: wm8770@1 { | ||
14 | compatible = "wlf,wm8770"; | ||
15 | reg = <1>; | ||
16 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8776.txt b/Documentation/devicetree/bindings/sound/wm8776.txt new file mode 100644 index 000000000000..3b9ca49abc2b --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8776.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8776 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8776" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8776@1a { | ||
16 | compatible = "wlf,wm8776"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8804.txt b/Documentation/devicetree/bindings/sound/wm8804.txt new file mode 100644 index 000000000000..4d3a56f38adc --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8804.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8804 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8804" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8804@1a { | ||
16 | compatible = "wlf,wm8804"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt index 89757012c7ff..936699e4f04b 100644 --- a/Documentation/sound/alsa/ALSA-Configuration.txt +++ b/Documentation/sound/alsa/ALSA-Configuration.txt | |||
@@ -886,6 +886,12 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
886 | disable) | 886 | disable) |
887 | power_save_controller - Reset HD-audio controller in power-saving mode | 887 | power_save_controller - Reset HD-audio controller in power-saving mode |
888 | (default = on) | 888 | (default = on) |
889 | align_buffer_size - Force rounding of buffer/period sizes to multiples | ||
890 | of 128 bytes. This is more efficient in terms of memory | ||
891 | access but isn't required by the HDA spec and prevents | ||
892 | users from specifying exact period/buffer sizes. | ||
893 | (default = on) | ||
894 | snoop - Enable/disable snooping (default = on) | ||
889 | 895 | ||
890 | This module supports multiple cards and autoprobe. | 896 | This module supports multiple cards and autoprobe. |
891 | 897 | ||
diff --git a/Documentation/sound/alsa/HD-Audio-Controls.txt b/Documentation/sound/alsa/HD-Audio-Controls.txt index 1482035243e6..e9621e349e17 100644 --- a/Documentation/sound/alsa/HD-Audio-Controls.txt +++ b/Documentation/sound/alsa/HD-Audio-Controls.txt | |||
@@ -98,3 +98,19 @@ Conexant codecs | |||
98 | 98 | ||
99 | * Auto-Mute Mode | 99 | * Auto-Mute Mode |
100 | See Reatek codecs. | 100 | See Reatek codecs. |
101 | |||
102 | |||
103 | Analog 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 d70c93bdcadf..4f3443230d89 100644 --- a/Documentation/sound/alsa/HD-Audio-Models.txt +++ b/Documentation/sound/alsa/HD-Audio-Models.txt | |||
@@ -29,9 +29,6 @@ ALC880 | |||
29 | 29 | ||
30 | ALC260 | 30 | ALC260 |
31 | ====== | 31 | ====== |
32 | hp HP machines | ||
33 | hp-3013 HP machines (3013-variant) | ||
34 | hp-dc7600 HP DC7600 | ||
35 | fujitsu Fujitsu S7020 | 32 | fujitsu Fujitsu S7020 |
36 | acer Acer TravelMate | 33 | acer Acer TravelMate |
37 | will Will laptops (PB V7900) | 34 | will Will laptops (PB V7900) |
@@ -46,15 +43,10 @@ ALC260 | |||
46 | ALC262 | 43 | ALC262 |
47 | ====== | 44 | ====== |
48 | fujitsu Fujitsu Laptop | 45 | 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 | 46 | benq Benq ED8 |
54 | benq-t31 Benq T31 | 47 | benq-t31 Benq T31 |
55 | hippo Hippo (ATI) with jack detection, Sony UX-90s | 48 | hippo Hippo (ATI) with jack detection, Sony UX-90s |
56 | hippo_1 Hippo (Benq) with jack detection | 49 | hippo_1 Hippo (Benq) with jack detection |
57 | sony-assamd Sony ASSAMD | ||
58 | toshiba-s06 Toshiba S06 | 50 | toshiba-s06 Toshiba S06 |
59 | toshiba-rx1 Toshiba RX1 | 51 | toshiba-rx1 Toshiba RX1 |
60 | tyan Tyan Thunder n6650W (S2915-E) | 52 | tyan Tyan Thunder n6650W (S2915-E) |
@@ -66,43 +58,15 @@ ALC262 | |||
66 | 58 | ||
67 | ALC267/268 | 59 | ALC267/268 |
68 | ========== | 60 | ========== |
69 | quanta-il1 Quanta IL1 mini-notebook | 61 | N/A |
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) | ||
81 | 62 | ||
82 | ALC269 | 63 | ALC269 |
83 | ====== | 64 | ====== |
84 | basic Basic preset | ||
85 | quanta Quanta FL1 | ||
86 | laptop-amic Laptops with analog-mic input | 65 | laptop-amic Laptops with analog-mic input |
87 | laptop-dmic Laptops with digital-mic input | 66 | laptop-dmic Laptops with digital-mic input |
88 | fujitsu FSC Amilo | ||
89 | lifebook Fujitsu Lifebook S6420 | ||
90 | auto auto-config reading BIOS (default) | ||
91 | 67 | ||
92 | ALC662/663/272 | 68 | ALC662/663/272 |
93 | ============== | 69 | ============== |
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 | ||
106 | asus-mode1 ASUS | 70 | asus-mode1 ASUS |
107 | asus-mode2 ASUS | 71 | asus-mode2 ASUS |
108 | asus-mode3 ASUS | 72 | asus-mode3 ASUS |
@@ -111,15 +75,10 @@ ALC662/663/272 | |||
111 | asus-mode6 ASUS | 75 | asus-mode6 ASUS |
112 | asus-mode7 ASUS | 76 | asus-mode7 ASUS |
113 | asus-mode8 ASUS | 77 | asus-mode8 ASUS |
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) | ||
118 | 78 | ||
119 | ALC680 | 79 | ALC680 |
120 | ====== | 80 | ====== |
121 | base Base model (ASUS NX90) | 81 | N/A |
122 | auto auto-config reading BIOS (default) | ||
123 | 82 | ||
124 | ALC882/883/885/888/889 | 83 | ALC882/883/885/888/889 |
125 | ====================== | 84 | ====================== |
@@ -175,28 +134,11 @@ ALC882/883/885/888/889 | |||
175 | 134 | ||
176 | ALC861/660 | 135 | ALC861/660 |
177 | ========== | 136 | ========== |
178 | 3stack 3-jack | 137 | N/A |
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) | ||
187 | 138 | ||
188 | ALC861VD/660VD | 139 | ALC861VD/660VD |
189 | ============== | 140 | ============== |
190 | 3stack 3-jack | 141 | N/A |
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) | ||
200 | 142 | ||
201 | CMI9880 | 143 | CMI9880 |
202 | ======= | 144 | ======= |
@@ -289,7 +231,6 @@ Conexant 5051 | |||
289 | hp-dv6736 HP dv6736 | 231 | hp-dv6736 HP dv6736 |
290 | hp-f700 HP Compaq Presario F700 | 232 | hp-f700 HP Compaq Presario F700 |
291 | ideapad Lenovo IdeaPad laptop | 233 | ideapad Lenovo IdeaPad laptop |
292 | lenovo-x200 Lenovo X200 laptop | ||
293 | toshiba Toshiba Satellite M300 | 234 | toshiba Toshiba Satellite M300 |
294 | 235 | ||
295 | Conexant 5066 | 236 | Conexant 5066 |
diff --git a/Documentation/sound/alsa/HD-Audio.txt b/Documentation/sound/alsa/HD-Audio.txt index c82beb007634..03e2771ddeef 100644 --- a/Documentation/sound/alsa/HD-Audio.txt +++ b/Documentation/sound/alsa/HD-Audio.txt | |||
@@ -447,7 +447,10 @@ The file needs to have a line `[codec]`. The next line should contain | |||
447 | three numbers indicating the codec vendor-id (0x12345678 in the | 447 | three numbers indicating the codec vendor-id (0x12345678 in the |
448 | example), the codec subsystem-id (0xabcd1234) and the address (2) of | 448 | example), the codec subsystem-id (0xabcd1234) and the address (2) of |
449 | the codec. The rest patch entries are applied to this specified codec | 449 | the codec. The rest patch entries are applied to this specified codec |
450 | until another codec entry is given. | 450 | until another codec entry is given. Passing 0 or a negative number to |
451 | the first or the second value will make the check of the corresponding | ||
452 | field be skipped. It'll be useful for really broken devices that don't | ||
453 | initialize SSID properly. | ||
451 | 454 | ||
452 | The `[model]` line allows to change the model name of the each codec. | 455 | The `[model]` line allows to change the model name of the each codec. |
453 | In the example above, it will be changed to model=auto. | 456 | In the example above, it will be changed to model=auto. |
@@ -491,7 +494,7 @@ Also, the codec chip name can be rewritten via `[chip_name]` line. | |||
491 | The hd-audio driver reads the file via request_firmware(). Thus, | 494 | The hd-audio driver reads the file via request_firmware(). Thus, |
492 | a patch file has to be located on the appropriate firmware path, | 495 | a patch file has to be located on the appropriate firmware path, |
493 | typically, /lib/firmware. For example, when you pass the option | 496 | typically, /lib/firmware. For example, when you pass the option |
494 | `patch=hda-init.fw`, the file /lib/firmware/hda-init-fw must be | 497 | `patch=hda-init.fw`, the file /lib/firmware/hda-init.fw must be |
495 | present. | 498 | present. |
496 | 499 | ||
497 | The patch module option is specific to each card instance, and you | 500 | The patch module option is specific to each card instance, and you |
@@ -524,6 +527,54 @@ power-saving. See /sys/module/snd_hda_intel/parameters/power_save to | |||
524 | check the current value. If it's non-zero, the feature is turned on. | 527 | check the current value. If it's non-zero, the feature is turned on. |
525 | 528 | ||
526 | 529 | ||
530 | Tracepoints | ||
531 | ~~~~~~~~~~~ | ||
532 | The hd-audio driver gives a few basic tracepoints. | ||
533 | `hda:hda_send_cmd` traces each CORB write while `hda:hda_get_response` | ||
534 | traces the response from RIRB (only when read from the codec driver). | ||
535 | `hda:hda_bus_reset` traces the bus-reset due to fatal error, etc, | ||
536 | `hda:hda_unsol_event` traces the unsolicited events, and | ||
537 | `hda:hda_power_down` and `hda:hda_power_up` trace the power down/up | ||
538 | via power-saving behavior. | ||
539 | |||
540 | Enabling all tracepoints can be done like | ||
541 | ------------------------------------------------------------------------ | ||
542 | # echo 1 > /sys/kernel/debug/tracing/events/hda/enable | ||
543 | ------------------------------------------------------------------------ | ||
544 | then after some commands, you can traces from | ||
545 | /sys/kernel/debug/tracing/trace file. For example, when you want to | ||
546 | trace what codec command is sent, enable the tracepoint like: | ||
547 | ------------------------------------------------------------------------ | ||
548 | # cat /sys/kernel/debug/tracing/trace | ||
549 | # tracer: nop | ||
550 | # | ||
551 | # TASK-PID CPU# TIMESTAMP FUNCTION | ||
552 | # | | | | | | ||
553 | <...>-7807 [002] 105147.774889: hda_send_cmd: [0:0] val=e3a019 | ||
554 | <...>-7807 [002] 105147.774893: hda_send_cmd: [0:0] val=e39019 | ||
555 | <...>-7807 [002] 105147.999542: hda_send_cmd: [0:0] val=e3a01a | ||
556 | <...>-7807 [002] 105147.999543: hda_send_cmd: [0:0] val=e3901a | ||
557 | <...>-26764 [001] 349222.837143: hda_send_cmd: [0:0] val=e3a019 | ||
558 | <...>-26764 [001] 349222.837148: hda_send_cmd: [0:0] val=e39019 | ||
559 | <...>-26764 [001] 349223.058539: hda_send_cmd: [0:0] val=e3a01a | ||
560 | <...>-26764 [001] 349223.058541: hda_send_cmd: [0:0] val=e3901a | ||
561 | ------------------------------------------------------------------------ | ||
562 | Here `[0:0]` indicates the card number and the codec address, and | ||
563 | `val` shows the value sent to the codec, respectively. The value is | ||
564 | a packed value, and you can decode it via hda-decode-verb program | ||
565 | included in hda-emu package below. For example, the value e3a019 is | ||
566 | to set the left output-amp value to 25. | ||
567 | ------------------------------------------------------------------------ | ||
568 | % hda-decode-verb 0xe3a019 | ||
569 | raw value = 0x00e3a019 | ||
570 | cid = 0, nid = 0x0e, verb = 0x3a0, parm = 0x19 | ||
571 | raw value: verb = 0x3a0, parm = 0x19 | ||
572 | verbname = set_amp_gain_mute | ||
573 | amp raw val = 0xa019 | ||
574 | output, left, idx=0, mute=0, val=25 | ||
575 | ------------------------------------------------------------------------ | ||
576 | |||
577 | |||
527 | Development Tree | 578 | Development Tree |
528 | ~~~~~~~~~~~~~~~~ | 579 | ~~~~~~~~~~~~~~~~ |
529 | The latest development codes for HD-audio are found on sound git tree: | 580 | The latest development codes for HD-audio are found on sound git tree: |