About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / sound / alsa / ALSA-Configuration.txt


Based on kernel version 4.9. Page generated on 2016-12-21 14:37 EST.

1	
2			Advanced Linux Sound Architecture - Driver
3			==========================================
4				    Configuration guide
5	
6	
7	Kernel Configuration
8	====================
9	
10	To enable ALSA support you need at least to build the kernel with
11	primary sound card support (CONFIG_SOUND).  Since ALSA can emulate OSS,
12	you don't have to choose any of the OSS modules.
13	
14	Enable "OSS API emulation" (CONFIG_SND_OSSEMUL) and both OSS mixer and
15	PCM supports if you want to run OSS applications with ALSA.
16	
17	If you want to support the WaveTable functionality on cards such as
18	SB Live! then you need to enable "Sequencer support"
19	(CONFIG_SND_SEQUENCER).
20	
21	To make ALSA debug messages more verbose, enable the "Verbose printk"
22	and "Debug" options.  To check for memory leaks, turn on "Debug memory"
23	too.  "Debug detection" will add checks for the detection of cards.
24	
25	Please note that all the ALSA ISA drivers support the Linux isapnp API
26	(if the card supports ISA PnP).  You don't need to configure the cards
27	using isapnptools.
28	
29	
30	Creating ALSA devices
31	=====================
32	
33	This depends on your distribution, but normally you use the /dev/MAKEDEV
34	script to create the necessary device nodes.  On some systems you use a
35	script named 'snddevices'.
36	
37	
38	Module parameters
39	=================
40	
41	The user can load modules with options. If the module supports more than
42	one card and you have more than one card of the same type then you can
43	specify multiple values for the option separated by commas.
44	
45	Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
46	
47	  Module snd
48	  ----------
49	
50	    The core ALSA module.  It is used by all ALSA card drivers.
51	    It takes the following options which have global effects.
52	
53	    major	- major number for sound driver
54			- Default: 116
55	    cards_limit
56			- limiting card index for auto-loading (1-8)
57			- Default: 1
58			- For auto-loading more than one card, specify this
59			  option together with snd-card-X aliases.
60	    slots	- Reserve the slot index for the given driver.
61			  This option takes multiple strings.		
62			  See "Module Autoloading Support" section for details.
63	    debug	- Specifies the debug message level
64			  (0 = disable debug prints, 1 = normal debug messages,
65			   2 = verbose debug messages)
66			  This option appears only when CONFIG_SND_DEBUG=y.
67			  This option can be dynamically changed via sysfs
68			  /sys/modules/snd/parameters/debug file.
69	  
70	  Module snd-pcm-oss
71	  ------------------
72	
73	    The PCM OSS emulation module.
74	    This module takes options which change the mapping of devices.
75	
76	    dsp_map	- PCM device number maps assigned to the 1st OSS device.
77			- Default: 0
78	    adsp_map	- PCM device number maps assigned to the 2st OSS device.
79			- Default: 1
80	    nonblock_open
81			- Don't block opening busy PCM devices.  Default: 1
82	
83	    For example, when dsp_map=2, /dev/dsp will be mapped to PCM #2 of
84	    the card #0.  Similarly, when adsp_map=0, /dev/adsp will be mapped
85	    to PCM #0 of the card #0.
86	    For changing the second or later card, specify the option with
87	    commas, such like "dsp_map=0,1".
88	
89	    nonblock_open option is used to change the behavior of the PCM
90	    regarding opening the device.  When this option is non-zero,
91	    opening a busy OSS PCM device won't be blocked but return
92	    immediately with EAGAIN (just like O_NONBLOCK flag).
93	    
94	  Module snd-rawmidi
95	  ------------------
96	
97	    This module takes options which change the mapping of devices.
98	    similar to those of the snd-pcm-oss module.
99	
100	    midi_map	- MIDI device number maps assigned to the 1st OSS device.
101			- Default: 0
102	    amidi_map	- MIDI device number maps assigned to the 2st OSS device.
103			- Default: 1
104	
105	  Common parameters for top sound card modules
106	  --------------------------------------------
107	
108	    Each of top level sound card module takes the following options.
109	
110	    index	- index (slot #) of sound card
111			- Values: 0 through 31 or negative
112			- If nonnegative, assign that index number
113	                - if negative, interpret as a bitmask of permissible
114			  indices; the first free permitted index is assigned
115			- Default: -1
116	    id		- card ID (identifier or name)
117			- Can be up to 15 characters long
118			- Default: the card type
119			- A directory by this name is created under /proc/asound/
120			  containing information about the card
121			- This ID can be used instead of the index number in
122			  identifying the card
123	    enable  	- enable card
124			- Default: enabled, for PCI and ISA PnP cards
125	
126	  Module snd-adlib
127	  ----------------
128	
129	    Module for AdLib FM cards.
130	
131	    port	- port # for OPL chip
132	
133	    This module supports multiple cards. It does not support autoprobe, so
134	    the port must be specified. For actual AdLib FM cards it will be 0x388.
135	    Note that this card does not have PCM support and no mixer; only FM
136	    synthesis.
137	
138	    Make sure you have "sbiload" from the alsa-tools package available and,
139	    after loading the module, find out the assigned ALSA sequencer port
140	    number through "sbiload -l". Example output:
141	
142	      Port     Client name                       Port name
143	      64:0     OPL2 FM synth                     OPL2 FM Port
144	
145	    Load the std.sb and drums.sb patches also supplied by sbiload:
146	
147	      sbiload -p 64:0 std.sb drums.sb
148	
149	    If you use this driver to drive an OPL3, you can use std.o3 and drums.o3
150	    instead. To have the card produce sound, use aplaymidi from alsa-utils:
151	
152	      aplaymidi -p 64:0 foo.mid
153	
154	  Module snd-ad1816a
155	  ------------------
156	
157	    Module for sound cards based on Analog Devices AD1816A/AD1815 ISA chips.
158	
159	    clockfreq   - Clock frequency for AD1816A chip (default = 0, 33000Hz)
160	    
161	    This module supports multiple cards, autoprobe and PnP.
162	    
163	  Module snd-ad1848
164	  -----------------
165	
166	    Module for sound cards based on AD1848/AD1847/CS4248 ISA chips.
167	
168	    port	- port # for AD1848 chip
169	    irq		- IRQ # for AD1848  chip
170	    dma1	- DMA # for AD1848 chip (0,1,3)
171	    
172	    This module supports multiple cards.  It does not support autoprobe
173	    thus main port must be specified!!! Other ports are optional.
174	    
175	    The power-management is supported.
176	
177	  Module snd-ad1889
178	  -----------------
179	
180	    Module for Analog Devices AD1889 chips.
181	
182	    ac97_quirk  - AC'97 workaround for strange hardware
183	                  See the description of intel8x0 module for details.
184	
185	    This module supports multiple cards.
186	
187	  Module snd-ali5451
188	  ------------------
189	
190	    Module for ALi M5451 PCI chip.
191	
192	    pcm_channels    - Number of hardware channels assigned for PCM
193	    spdif           - Support SPDIF I/O
194	    		    - Default: disabled
195	
196	    This module supports one chip and autoprobe.
197	
198	    The power-management is supported.
199	
200	  Module snd-als100
201	  -----------------
202	
203	    Module for sound cards based on Avance Logic ALS100/ALS120 ISA chips.
204	
205	    This module supports multiple cards, autoprobe and PnP.
206	
207	    The power-management is supported.
208	
209	  Module snd-als300
210	  -----------------
211	
212	    Module for  Avance Logic ALS300 and ALS300+
213	
214	    This module supports multiple cards.
215	
216	    The power-management is supported.
217	
218	  Module snd-als4000
219	  ------------------
220	
221	    Module for sound cards based on Avance Logic ALS4000 PCI chip.
222	
223	    joystick_port - port # for legacy joystick support.
224	                    0 = disabled (default), 1 = auto-detect
225	    
226	    This module supports multiple cards, autoprobe and PnP.
227	
228	    The power-management is supported.
229	
230	  Module snd-asihpi
231	  -----------------
232	
233	    Module for AudioScience ASI soundcards
234	
235	    enable_hpi_hwdep	- enable HPI hwdep for AudioScience soundcard
236	
237	    This module supports multiple cards.
238	    The driver requires the firmware loader support on kernel.
239	
240	  Module snd-atiixp
241	  -----------------
242	
243	    Module for ATI IXP 150/200/250/400 AC97 controllers.
244	
245	    ac97_clock		- AC'97 clock (default = 48000)
246	    ac97_quirk		- AC'97 workaround for strange hardware
247				  See "AC97 Quirk Option" section below.
248	    ac97_codec		- Workaround to specify which AC'97 codec 
249				  instead of probing.  If this works for you
250				  file a bug with your `lspci -vn` output.
251				  -2  -- Force probing.
252				  -1  -- Default behavior.
253				  0-2 -- Use the specified codec.
254	    spdif_aclink	- S/PDIF transfer over AC-link (default = 1)
255	
256	    This module supports one card and autoprobe.
257	
258	    ATI IXP has two different methods to control SPDIF output.  One is
259	    over AC-link and another is over the "direct" SPDIF output.  The
260	    implementation depends on the motherboard, and you'll need to
261	    choose the correct one via spdif_aclink module option.
262	
263	    The power-management is supported.
264	
265	  Module snd-atiixp-modem
266	  -----------------------
267	
268	    Module for ATI IXP 150/200/250 AC97 modem controllers.
269	
270	    This module supports one card and autoprobe.
271	
272	    Note: The default index value of this module is -2, i.e. the first
273	          slot is excluded.
274	
275	    The power-management is supported.
276	
277	  Module snd-au8810, snd-au8820, snd-au8830
278	  -----------------------------------------
279	
280	    Module for Aureal Vortex, Vortex2 and Advantage device.
281	
282	    pcifix	- Control PCI workarounds
283			  0 = Disable all workarounds
284			  1 = Force the PCI latency of the Aureal card to 0xff
285			  2 = Force the Extend PCI#2 Internal Master for Efficient
286			      Handling of Dummy Requests on the VIA KT133 AGP Bridge
287			  3 = Force both settings
288			  255 = Autodetect what is required (default)
289	
290	    This module supports all ADB PCM channels, ac97 mixer, SPDIF, hardware
291	    EQ, mpu401, gameport. A3D and wavetable support are still in development.
292	    Development and reverse engineering work is being coordinated at
293	    http://savannah.nongnu.org/projects/openvortex/
294	    SPDIF output has a copy of the AC97 codec output, unless you use the
295	    "spdif" pcm device, which allows raw data passthru.
296	    The hardware EQ hardware and SPDIF is only present in the Vortex2 and 
297	    Advantage.
298	
299	    Note: Some ALSA mixer applications don't handle the SPDIF sample rate 
300	           control correctly. If you have problems regarding this, try
301	           another ALSA compliant mixer (alsamixer works).
302	
303	  Module snd-azt1605
304	  ------------------
305	
306	    Module for Aztech Sound Galaxy soundcards based on the Aztech AZT1605
307	    chipset.
308	
309	    port	- port # for BASE (0x220,0x240,0x260,0x280)
310	    wss_port	- port # for WSS (0x530,0x604,0xe80,0xf40)
311	    irq		- IRQ # for WSS (7,9,10,11)
312	    dma1	- DMA # for WSS playback (0,1,3)
313	    dma2	- DMA # for WSS capture (0,1), -1 = disabled (default)
314	    mpu_port	- port # for MPU-401 UART (0x300,0x330), -1 = disabled (default)
315	    mpu_irq	- IRQ # for MPU-401 UART (3,5,7,9), -1 = disabled (default)
316	    fm_port	- port # for OPL3 (0x388), -1 = disabled (default)
317	
318	    This module supports multiple cards. It does not support autoprobe: port,
319	    wss_port, irq and dma1 have to be specified. The other values are
320	    optional.
321	
322	    "port" needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)
323	    or the value stored in the card's EEPROM for cards that have an EEPROM and
324	    their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can
325	    be chosen freely from the options enumerated above.
326	
327	    If dma2 is specified and different from dma1, the card will operate in
328	    full-duplex mode. When dma1=3, only dma2=0 is valid and the only way to
329	    enable capture since only channels 0 and 1 are available for capture.
330	
331	    Generic settings are "port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0
332	    mpu_port=0x330 mpu_irq=9 fm_port=0x388".
333	
334	    Whatever IRQ and DMA channels you pick, be sure to reserve them for
335	    legacy ISA in your BIOS.
336	
337	  Module snd-azt2316
338	  ------------------
339	
340	    Module for Aztech Sound Galaxy soundcards based on the Aztech AZT2316
341	    chipset.
342	
343	    port	- port # for BASE (0x220,0x240,0x260,0x280)
344	    wss_port	- port # for WSS (0x530,0x604,0xe80,0xf40)
345	    irq		- IRQ # for WSS (7,9,10,11)
346	    dma1	- DMA # for WSS playback (0,1,3)
347	    dma2	- DMA # for WSS capture (0,1), -1 = disabled (default)
348	    mpu_port	- port # for MPU-401 UART (0x300,0x330), -1 = disabled (default)
349	    mpu_irq	- IRQ # for MPU-401 UART (5,7,9,10), -1 = disabled (default)
350	    fm_port	- port # for OPL3 (0x388), -1 = disabled (default)
351	
352	    This module supports multiple cards. It does not support autoprobe: port,
353	    wss_port, irq and dma1 have to be specified. The other values are
354	    optional.
355	
356	    "port" needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)
357	    or the value stored in the card's EEPROM for cards that have an EEPROM and
358	    their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can
359	    be chosen freely from the options enumerated above.
360	
361	    If dma2 is specified and different from dma1, the card will operate in
362	    full-duplex mode. When dma1=3, only dma2=0 is valid and the only way to
363	    enable capture since only channels 0 and 1 are available for capture.
364	
365	    Generic settings are "port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0
366	    mpu_port=0x330 mpu_irq=9 fm_port=0x388".
367	
368	    Whatever IRQ and DMA channels you pick, be sure to reserve them for
369	    legacy ISA in your BIOS.
370	
371	  Module snd-aw2
372	  --------------
373	
374	    Module for Audiowerk2 sound card
375	
376	    This module supports multiple cards.
377	
378	  Module snd-azt2320
379	  ------------------
380	
381	    Module for sound cards based on Aztech System AZT2320 ISA chip (PnP only).
382	
383	    This module supports multiple cards, PnP and autoprobe.
384	    
385	    The power-management is supported.
386	
387	  Module snd-azt3328
388	  ------------------
389	
390	    Module for sound cards based on Aztech AZF3328 PCI chip.
391	
392	    joystick	- Enable joystick (default off)
393	
394	    This module supports multiple cards.
395	
396	  Module snd-bt87x
397	  ----------------
398	
399	    Module for video cards based on Bt87x chips.
400	
401	    digital_rate - Override the default digital rate (Hz)
402	    load_all	- Load the driver even if the card model isn't known
403	
404	    This module supports multiple cards.
405	
406	    Note: The default index value of this module is -2, i.e. the first
407	          slot is excluded.
408	
409	  Module snd-ca0106
410	  -----------------
411	
412	    Module for Creative Audigy LS and SB Live 24bit
413	
414	    This module supports multiple cards.
415	
416	
417	  Module snd-cmi8330
418	  ------------------
419	
420	    Module for sound cards based on C-Media CMI8330 ISA chips.
421	
422	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
423	
424	    with isapnp=0, the following options are available:
425	
426	    wssport	- port # for CMI8330 chip (WSS)
427	    wssirq	- IRQ # for CMI8330 chip (WSS)
428	    wssdma	- first DMA # for CMI8330 chip (WSS)
429	    sbport	- port # for CMI8330 chip (SB16)
430	    sbirq	- IRQ # for CMI8330 chip (SB16)
431	    sbdma8	- 8bit DMA # for CMI8330 chip (SB16)
432	    sbdma16	- 16bit DMA # for CMI8330 chip (SB16)
433	    fmport	- (optional) OPL3 I/O port
434	    mpuport	- (optional) MPU401 I/O port
435	    mpuirq	- (optional) MPU401 irq #
436	
437	    This module supports multiple cards and autoprobe.
438	
439	    The power-management is supported.
440	
441	  Module snd-cmipci
442	  -----------------
443	
444	    Module for C-Media CMI8338/8738/8768/8770 PCI sound cards.
445	
446	    mpu_port    - port address of MIDI interface (8338 only):
447			  0x300,0x310,0x320,0x330 = legacy port,
448			  0 = disable (default)
449	    fm_port     - port address of OPL-3 FM synthesizer (8x38 only):
450			  0x388 = legacy port,
451			  1 = integrated PCI port (default on 8738),
452			  0 = disable
453	    soft_ac3    - Software-conversion of raw SPDIF packets (model 033 only)
454	                  (default = 1)
455	    joystick_port - Joystick port address (0 = disable, 1 = auto-detect)
456	
457	    This module supports autoprobe and multiple cards.
458	    
459	    The power-management is supported.
460	
461	  Module snd-cs4231
462	  -----------------
463	
464	    Module for sound cards based on CS4231 ISA chips.
465	
466	    port	- port # for CS4231 chip
467	    mpu_port	- port # for MPU-401 UART (optional), -1 = disable
468	    irq		- IRQ # for CS4231 chip
469	    mpu_irq	- IRQ # for MPU-401 UART
470	    dma1	- first DMA # for CS4231 chip
471	    dma2	- second DMA # for CS4231 chip
472	    
473	    This module supports multiple cards. This module does not support autoprobe
474	    thus main port must be specified!!! Other ports are optional.
475	
476	    The power-management is supported.
477	    
478	  Module snd-cs4236
479	  -----------------
480	
481	    Module for sound cards based on CS4232/CS4232A,
482	    	       	     	   	   CS4235/CS4236/CS4236B/CS4237B/
483	                                   CS4238B/CS4239 ISA chips.
484	
485	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
486	
487	    with isapnp=0, the following options are available:
488	
489	    port	- port # for CS4236 chip (PnP setup - 0x534)
490	    cport	- control port # for CS4236 chip (PnP setup - 0x120,0x210,0xf00)
491	    mpu_port	- port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
492	    fm_port	- FM port # for CS4236 chip (PnP setup - 0x388), -1 = disable
493	    irq		- IRQ # for CS4236 chip (5,7,9,11,12,15)
494	    mpu_irq	- IRQ # for MPU-401 UART (9,11,12,15)
495	    dma1	- first DMA # for CS4236 chip (0,1,3)
496	    dma2	- second DMA # for CS4236 chip (0,1,3), -1 = disable
497	    
498	    This module supports multiple cards. This module does not support autoprobe
499	    (if ISA PnP is not used) thus main port and control port must be
500	    specified!!! Other ports are optional.
501	
502	    The power-management is supported.
503	
504	    This module is aliased as snd-cs4232 since it provides the old
505	    snd-cs4232 functionality, too.
506	
507	  Module snd-cs4281
508	  -----------------
509	
510	    Module for Cirrus Logic CS4281 soundchip.
511	
512	    dual_codec	- Secondary codec ID (0 = disable, default)
513	
514	    This module supports multiple cards.
515	
516	    The power-management is supported.
517	
518	  Module snd-cs46xx
519	  -----------------
520	
521	    Module for PCI sound cards based on CS4610/CS4612/CS4614/CS4615/CS4622/
522					       CS4624/CS4630/CS4280 PCI chips.
523	
524	    external_amp     - Force to enable external amplifier.
525	    thinkpad         - Force to enable Thinkpad's CLKRUN control.
526	    mmap_valid       - Support OSS mmap mode (default = 0).
527	
528	    This module supports multiple cards and autoprobe.
529	    Usually external amp and CLKRUN controls are detected automatically
530	    from PCI sub vendor/device ids.  If they don't work, give the options
531	    above explicitly.
532	
533	    The power-management is supported.
534	
535	  Module snd-cs5530
536	  _________________
537	
538	    Module for Cyrix/NatSemi Geode 5530 chip. 
539	  
540	  Module snd-cs5535audio
541	  ----------------------
542	
543	    Module for multifunction CS5535 companion PCI device
544	
545	    The power-management is supported.
546	
547	  Module snd-ctxfi
548	  ----------------
549	
550	    Module for Creative Sound Blaster X-Fi boards (20k1 / 20k2 chips)
551		* Creative Sound Blaster X-Fi Titanium Fatal1ty Champion Series
552		* Creative Sound Blaster X-Fi Titanium Fatal1ty Professional Series
553		* Creative Sound Blaster X-Fi Titanium Professional Audio
554		* Creative Sound Blaster X-Fi Titanium
555		* Creative Sound Blaster X-Fi Elite Pro
556		* Creative Sound Blaster X-Fi Platinum
557		* Creative Sound Blaster X-Fi Fatal1ty
558		* Creative Sound Blaster X-Fi XtremeGamer
559		* Creative Sound Blaster X-Fi XtremeMusic
560	
561	    reference_rate	- reference sample rate, 44100 or 48000 (default)
562	    multiple		- multiple to ref. sample rate, 1 or 2 (default)
563	    subsystem		- override the PCI SSID for probing; the value
564				  consists of SSVID << 16 | SSDID.  The default is
565				  zero, which means no override.
566	
567	    This module supports multiple cards.
568	
569	  Module snd-darla20
570	  ------------------
571	
572	    Module for Echoaudio Darla20
573	
574	    This module supports multiple cards.
575	    The driver requires the firmware loader support on kernel.
576	
577	  Module snd-darla24
578	  ------------------
579	
580	    Module for Echoaudio Darla24
581	
582	    This module supports multiple cards.
583	    The driver requires the firmware loader support on kernel.
584	
585	  Module snd-dt019x
586	  -----------------
587	
588	    Module for Diamond Technologies DT-019X / Avance Logic ALS-007 (PnP
589	    only)
590	
591	    This module supports multiple cards.  This module is enabled only with
592	    ISA PnP support.
593	
594	    The power-management is supported.
595	
596	  Module snd-dummy
597	  ----------------
598	
599	    Module for the dummy sound card. This "card" doesn't do any output
600	    or input, but you may use this module for any application which
601	    requires a sound card (like RealPlayer).
602	
603	    pcm_devs       - Number of PCM devices assigned to each card
604	                     (default = 1, up to 4)
605	    pcm_substreams - Number of PCM substreams assigned to each PCM
606	                     (default = 8, up to 128)
607	    hrtimer        - Use hrtimer (=1, default) or system timer (=0)
608	    fake_buffer    - Fake buffer allocations (default = 1)
609	
610	    When multiple PCM devices are created, snd-dummy gives different
611	    behavior to each PCM device:
612	      0 = interleaved with mmap support
613	      1 = non-interleaved with mmap support
614	      2 = interleaved without mmap 
615	      3 = non-interleaved without mmap
616	
617	    As default, snd-dummy drivers doesn't allocate the real buffers
618	    but either ignores read/write or mmap a single dummy page to all
619	    buffer pages, in order to save the resources.  If your apps need
620	    the read/ written buffer data to be consistent, pass fake_buffer=0
621	    option.
622	
623	    The power-management is supported.
624	
625	  Module snd-echo3g
626	  -----------------
627	
628	    Module for Echoaudio 3G cards (Gina3G/Layla3G)
629	
630	    This module supports multiple cards.
631	    The driver requires the firmware loader support on kernel.
632	
633	  Module snd-emu10k1
634	  ------------------
635	
636	    Module for EMU10K1/EMU10k2 based PCI sound cards.
637				* Sound Blaster Live!
638				* Sound Blaster PCI 512
639				* Emu APS (partially supported)
640				* Sound Blaster Audigy
641	
642	    extin   - bitmap of available external inputs for FX8010 (see bellow)
643	    extout  - bitmap of available external outputs for FX8010 (see bellow)
644	    seq_ports - allocated sequencer ports (4 by default)
645	    max_synth_voices - limit of voices used for wavetable (64 by default)
646	    max_buffer_size  - specifies the maximum size of wavetable/pcm buffers
647	                       given in MB unit.  Default value is 128.
648	    enable_ir - enable IR
649	
650	    This module supports multiple cards and autoprobe.
651	
652	    Input & Output configurations 			[extin/extout]
653		* Creative Card wo/Digital out			[0x0003/0x1f03]
654		* Creative Card w/Digital out			[0x0003/0x1f0f]
655		* Creative Card w/Digital CD in			[0x000f/0x1f0f]
656		* Creative Card wo/Digital out + LiveDrive	[0x3fc3/0x1fc3]
657		* Creative Card w/Digital out + LiveDrive	[0x3fc3/0x1fcf]
658		* Creative Card w/Digital CD in + LiveDrive	[0x3fcf/0x1fcf]
659		* Creative Card wo/Digital out + Digital I/O 2  [0x0fc3/0x1f0f]
660		* Creative Card w/Digital out + Digital I/O 2	[0x0fc3/0x1f0f]
661		* Creative Card w/Digital CD in + Digital I/O 2	[0x0fcf/0x1f0f]
662	        * Creative Card 5.1/w Digital out + LiveDrive	[0x3fc3/0x1fff]
663		* Creative Card 5.1 (c) 2003			[0x3fc3/0x7cff]
664	        * Creative Card all ins and outs		[0x3fff/0x7fff]
665	    
666	    The power-management is supported.
667	
668	  Module snd-emu10k1x
669	  -------------------
670	
671	    Module for Creative Emu10k1X (SB Live Dell OEM version)
672	
673	    This module supports multiple cards.
674	
675	  Module snd-ens1370
676	  ------------------
677	
678	    Module for Ensoniq AudioPCI ES1370 PCI sound cards.
679				* SoundBlaster PCI 64
680				* SoundBlaster PCI 128
681	
682	    joystick		- Enable joystick (default off)
683	
684	    This module supports multiple cards and autoprobe.
685	    
686	    The power-management is supported.
687	
688	  Module snd-ens1371
689	  ------------------
690	
691	    Module for Ensoniq AudioPCI ES1371 PCI sound cards.
692				* SoundBlaster PCI 64
693				* SoundBlaster PCI 128
694				* SoundBlaster Vibra PCI
695	
696	    joystick_port	- port # for joystick (0x200,0x208,0x210,0x218),
697				  0 = disable (default), 1 = auto-detect
698	
699	    This module supports multiple cards and autoprobe.
700	    
701	    The power-management is supported.
702	
703	  Module snd-es1688
704	  -----------------
705	
706	    Module for ESS AudioDrive ES-1688 and ES-688 sound cards.
707	
708	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
709	    mpu_port	- port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
710	    mpu_irq	- IRQ # for MPU-401 port (5,7,9,10)
711	    fm_port	- port # for OPL3 (option; share the same port as default)
712	
713	    with isapnp=0, the following additional options are available:
714	    port	- port # for ES-1688 chip (0x220,0x240,0x260)
715	    irq		- IRQ # for ES-1688 chip (5,7,9,10)
716	    dma8	- DMA # for ES-1688 chip (0,1,3)
717	
718	    This module supports multiple cards and autoprobe (without MPU-401 port)
719	    and PnP with the ES968 chip.
720	
721	  Module snd-es18xx
722	  -----------------
723	
724	    Module for ESS AudioDrive ES-18xx sound cards.
725	
726	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
727	
728	    with isapnp=0, the following options are available:
729	
730	    port	- port # for ES-18xx chip (0x220,0x240,0x260)
731	    mpu_port	- port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
732	    fm_port	- port # for FM (optional, not used)
733	    irq		- IRQ # for ES-18xx chip (5,7,9,10)
734	    dma1	- first DMA # for ES-18xx chip (0,1,3)
735	    dma2	- first DMA # for ES-18xx chip (0,1,3)
736	
737	    This module supports multiple cards, ISA PnP and autoprobe (without MPU-401
738	    port if native ISA PnP routines are not used).
739	    When dma2 is equal with dma1, the driver works as half-duplex.
740	
741	    The power-management is supported.
742	
743	  Module snd-es1938
744	  -----------------
745	
746	    Module for sound cards based on ESS Solo-1 (ES1938,ES1946) chips.
747	
748	    This module supports multiple cards and autoprobe.
749	
750	    The power-management is supported.
751	
752	  Module snd-es1968
753	  -----------------
754	
755	    Module for sound cards based on ESS Maestro-1/2/2E (ES1968/ES1978) chips.
756	
757	    total_bufsize	- total buffer size in kB (1-4096kB)
758	    pcm_substreams_p	- playback channels (1-8, default=2)
759	    pcm_substreams_c	- capture channels (1-8, default=0)
760	    clock		- clock (0 = auto-detection)
761	    use_pm		- support the power-management (0 = off, 1 = on,
762				  2 = auto (default))
763	    enable_mpu		- enable MPU401 (0 = off, 1 = on, 2 = auto (default))
764	    joystick		- enable joystick (default off)       
765	
766	    This module supports multiple cards and autoprobe.
767	
768	    The power-management is supported.
769	
770	  Module snd-fm801
771	  ----------------
772	
773	    Module for ForteMedia FM801 based PCI sound cards.
774	
775	    tea575x_tuner       - Enable TEA575x tuner
776	                          - 1 = MediaForte 256-PCS
777	                          - 2 = MediaForte 256-PCPR
778	                          - 3 = MediaForte 64-PCR  
779	                          - High 16-bits are video (radio) device number + 1
780	                          - example: 0x10002 (MediaForte 256-PCPR, device 1)
781	
782	    This module supports multiple cards and autoprobe.
783	    
784	    The power-management is supported.
785	
786	  Module snd-gina20
787	  -----------------
788	
789	    Module for Echoaudio Gina20
790	
791	    This module supports multiple cards.
792	    The driver requires the firmware loader support on kernel.
793	
794	  Module snd-gina24
795	  -----------------
796	
797	    Module for Echoaudio Gina24
798	
799	    This module supports multiple cards.
800	    The driver requires the firmware loader support on kernel.
801	
802	  Module snd-gusclassic
803	  ---------------------
804	
805	    Module for Gravis UltraSound Classic sound card.
806	
807	    port	- port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
808	    irq		- IRQ # for GF1 chip (3,5,9,11,12,15)
809	    dma1	- DMA # for GF1 chip (1,3,5,6,7)
810	    dma2	- DMA # for GF1 chip (1,3,5,6,7,-1=disable)
811	    joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
812	    voices	- GF1 voices limit (14-32)
813	    pcm_voices	- reserved PCM voices
814	
815	    This module supports multiple cards and autoprobe.
816	
817	  Module snd-gusextreme
818	  ---------------------
819	
820	    Module for Gravis UltraSound Extreme (Synergy ViperMax) sound card.
821	
822	    port	- port # for ES-1688 chip (0x220,0x230,0x240,0x250,0x260)
823	    gf1_port	- port # for GF1 chip (0x210,0x220,0x230,0x240,0x250,0x260,0x270)
824	    mpu_port	- port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable
825	    irq		- IRQ # for ES-1688 chip (5,7,9,10)
826	    gf1_irq	- IRQ # for GF1 chip (3,5,9,11,12,15)
827	    mpu_irq	- IRQ # for MPU-401 port (5,7,9,10)
828	    dma8	- DMA # for ES-1688 chip (0,1,3)
829	    dma1	- DMA # for GF1 chip (1,3,5,6,7)
830	    joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
831	    voices	- GF1 voices limit (14-32)
832	    pcm_voices	- reserved PCM voices
833	
834	    This module supports multiple cards and autoprobe (without MPU-401 port).
835	
836	  Module snd-gusmax
837	  -----------------
838	
839	    Module for Gravis UltraSound MAX sound card.
840	
841	    port	- port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
842	    irq		- IRQ # for GF1 chip (3,5,9,11,12,15)
843	    dma1	- DMA # for GF1 chip (1,3,5,6,7)
844	    dma2	- DMA # for GF1 chip (1,3,5,6,7,-1=disable)
845	    joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
846	    voices	- GF1 voices limit (14-32)
847	    pcm_voices	- reserved PCM voices
848	
849	    This module supports multiple cards and autoprobe.
850	    
851	  Module snd-hda-intel
852	  --------------------
853	
854	    Module for Intel HD Audio (ICH6, ICH6M, ESB2, ICH7, ICH8, ICH9, ICH10,
855				PCH, SCH),
856			ATI SB450, SB600, R600, RS600, RS690, RS780, RV610, RV620,
857				RV630, RV635, RV670, RV770,
858			VIA VT8251/VT8237A,
859			SIS966, ULI M5461
860	
861	    [Multiple options for each card instance]
862	    model	- force the model name
863	    position_fix - Fix DMA pointer
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)
872	    		  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
874			  slots regardless what hardware reports back
875	    probe_only	- Only probing and no codec initialization (default=off);
876			  Useful to check the initial codec status for debugging
877	    bdl_pos_adj	- Specifies the DMA IRQ timing delay in samples.
878			Passing -1 will make the driver to choose the appropriate
879			value based on the controller chip.
880	    patch	- Specifies the early "patch" files to modify the HD-audio
881	    		setup before initializing the codecs.  This option is
882			available only when CONFIG_SND_HDA_PATCH_LOADER=y is set.
883			See HD-Audio.txt for details.
884	    beep_mode	- Selects the beep registration mode (0=off, 1=on); default
885			value is set via CONFIG_SND_HDA_INPUT_BEEP_MODE kconfig.
886	    
887	    [Single (global) options]
888	    single_cmd  - Use single immediate commands to communicate with
889			codecs (for debugging only)
890	    enable_msi	- Enable Message Signaled Interrupt (MSI) (default = off)
891	    power_save	- Automatic power-saving timeout (in second, 0 =
892			disable)
893	    power_save_controller - Reset HD-audio controller in power-saving mode
894			(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	
902	    This module supports multiple cards and autoprobe.
903	    
904	    See Documentation/sound/alsa/HD-Audio.txt for more details about
905	    HD-audio driver.
906	
907	    Each codec may have a model table for different configurations.
908	    If your machine isn't listed there, the default (usually minimal)
909	    configuration is set up.  You can pass "model=<name>" option to
910	    specify a certain model in such a case.  There are different
911	    models depending on the codec chip.  The list of available models
912	    is found in HD-Audio-Models.txt
913	
914	    The model name "generic" is treated as a special case.  When this
915	    model is given, the driver uses the generic codec parser without
916	    "codec-patch".  It's sometimes good for testing and debugging.
917	
918	    If the default configuration doesn't work and one of the above
919	    matches with your device, report it together with alsa-info.sh
920	    output (with --no-upload option) to kernel bugzilla or alsa-devel
921	    ML (see the section "Links and Addresses").
922	
923	    power_save and power_save_controller options are for power-saving
924	    mode.  See powersave.txt for details.
925	
926	    Note 2: If you get click noises on output, try the module option
927		    position_fix=1 or 2.  position_fix=1 will use the SD_LPIB
928		    register value without FIFO size correction as the current
929		    DMA pointer.  position_fix=2 will make the driver to use
930		    the position buffer instead of reading SD_LPIB register.
931		    (Usually SD_LPIB register is more accurate than the
932		    position buffer.)
933	
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
940	    loading, it's likely a problem of interrupts (e.g. ACPI irq
941	    routing).  Try to boot with options like "pci=noacpi".  Also, you
942	    can try "single_cmd=1" module option.  This will switch the
943	    communication method between HDA controller and codecs to the
944	    single immediate commands instead of CORB/RIRB.  Basically, the
945	    single command mode is provided only for BIOS, and you won't get
946	    unsolicited events, too.  But, at least, this works independently
947	    from the irq.  Remember this is a last resort, and should be
948	    avoided as much as possible...
949	    
950	    MORE NOTES ON "azx_get_response timeout" PROBLEMS:
951	    On some hardware, you may need to add a proper probe_mask option
952	    to avoid the "azx_get_response timeout" problem above, instead.
953	    This occurs when the access to non-existing or non-working codec slot
954	    (likely a modem one) causes a stall of the communication via HD-audio
955	    bus.  You can see which codec slots are probed by enabling
956	    CONFIG_SND_DEBUG_VERBOSE, or simply from the file name of the codec
957	    proc files.  Then limit the slots to probe by probe_mask option.
958	    For example, probe_mask=1 means to probe only the first slot, and
959	    probe_mask=4 means only the third slot.
960	
961	    The power-management is supported.
962	
963	  Module snd-hdsp
964	  ---------------
965	
966	    Module for RME Hammerfall DSP audio interface(s)
967	
968	    This module supports multiple cards.
969	
970	    Note: The firmware data can be automatically loaded via hotplug
971	          when CONFIG_FW_LOADER is set.  Otherwise, you need to load
972	          the firmware via hdsploader utility included in alsa-tools
973	          package.
974	          The firmware data is found in alsa-firmware package.
975	
976	    Note: snd-page-alloc module does the job which snd-hammerfall-mem
977	          module did formerly.  It will allocate the buffers in advance
978	          when any HDSP cards are found.  To make the buffer
979	          allocation sure, load snd-page-alloc module in the early
980	          stage of boot sequence.  See "Early Buffer Allocation"
981		  section.
982	
983	  Module snd-hdspm
984	  ----------------
985	
986	    Module for RME HDSP MADI board.
987	
988	    precise_ptr		- Enable precise pointer, or disable.
989	    line_outs_monitor	- Send playback streams to analog outs by default.
990	    enable_monitor	- Enable Analog Out on Channel 63/64 by default.
991	
992	    See hdspm.txt for details.
993	
994	  Module snd-ice1712
995	  ------------------
996	
997	    Module for Envy24 (ICE1712) based PCI sound cards.
998				* MidiMan M Audio Delta 1010
999				* MidiMan M Audio Delta 1010LT
1000				* MidiMan M Audio Delta DiO 2496
1001				* MidiMan M Audio Delta 66
1002				* MidiMan M Audio Delta 44
1003				* MidiMan M Audio Delta 410
1004				* MidiMan M Audio Audiophile 2496
1005	                        * TerraTec EWS 88MT
1006	                        * TerraTec EWS 88D
1007	                        * TerraTec EWX 24/96
1008	                        * TerraTec DMX 6Fire
1009				* TerraTec Phase 88
1010	                        * Hoontech SoundTrack DSP 24
1011	                        * Hoontech SoundTrack DSP 24 Value
1012	                        * Hoontech SoundTrack DSP 24 Media 7.1
1013				* Event Electronics, EZ8
1014	                        * Digigram VX442
1015				* Lionstracs, Mediastaton
1016				* Terrasoniq TS 88
1017	
1018	    model       - Use the given board model, one of the following:
1019			  delta1010, dio2496, delta66, delta44, audiophile, delta410,
1020			  delta1010lt, vx442, ewx2496, ews88mt, ews88mt_new, ews88d,
1021			  dmx6fire, dsp24, dsp24_value, dsp24_71, ez8,
1022			  phase88, mediastation
1023	    omni	- Omni I/O support for MidiMan M-Audio Delta44/66
1024	    cs8427_timeout - reset timeout for the CS8427 chip (S/PDIF transceiver)
1025	                     in msec resolution, default value is 500 (0.5 sec)
1026	
1027	    This module supports multiple cards and autoprobe. Note: The consumer part
1028	    is not used with all Envy24 based cards (for example in the MidiMan Delta
1029	    serie).
1030	
1031	    Note: The supported board is detected by reading EEPROM or PCI
1032		  SSID (if EEPROM isn't available).  You can override the
1033		  model by passing "model" module option in case that the
1034		  driver isn't configured properly or you want to try another
1035		  type for testing.
1036	
1037	  Module snd-ice1724
1038	  ------------------
1039	
1040	    Module for Envy24HT (VT/ICE1724), Envy24PT (VT1720) based PCI sound cards.
1041				* MidiMan M Audio Revolution 5.1
1042				* MidiMan M Audio Revolution 7.1
1043				* MidiMan M Audio Audiophile 192
1044				* AMP Ltd AUDIO2000
1045				* TerraTec Aureon 5.1 Sky
1046				* TerraTec Aureon 7.1 Space
1047				* TerraTec Aureon 7.1 Universe
1048				* TerraTec Phase 22
1049				* TerraTec Phase 28
1050				* AudioTrak Prodigy 7.1
1051				* AudioTrak Prodigy 7.1 LT
1052				* AudioTrak Prodigy 7.1 XT
1053				* AudioTrak Prodigy 7.1 HIFI
1054				* AudioTrak Prodigy 7.1 HD2
1055				* AudioTrak Prodigy 192
1056				* Pontis MS300
1057				* Albatron K8X800 Pro II 
1058				* Chaintech ZNF3-150
1059				* Chaintech ZNF3-250
1060				* Chaintech 9CJS
1061				* Chaintech AV-710
1062				* Shuttle SN25P
1063				* Onkyo SE-90PCI
1064				* Onkyo SE-200PCI
1065				* ESI Juli@
1066				* ESI Maya44
1067				* Hercules Fortissimo IV
1068				* EGO-SYS WaveTerminal 192M
1069	
1070	    model       - Use the given board model, one of the following:
1071			  revo51, revo71, amp2000, prodigy71, prodigy71lt,
1072			  prodigy71xt, prodigy71hifi, prodigyhd2, prodigy192,
1073			  juli, aureon51, aureon71, universe, ap192, k8x800,
1074			  phase22, phase28, ms300, av710, se200pci, se90pci,
1075			  fortissimo4, sn25p, WT192M, maya44
1076	
1077	    This module supports multiple cards and autoprobe.
1078	
1079	    Note: The supported board is detected by reading EEPROM or PCI
1080		  SSID (if EEPROM isn't available).  You can override the
1081		  model by passing "model" module option in case that the
1082		  driver isn't configured properly or you want to try another
1083		  type for testing.
1084	
1085	  Module snd-indigo
1086	  -----------------
1087	
1088	    Module for Echoaudio Indigo
1089	
1090	    This module supports multiple cards.
1091	    The driver requires the firmware loader support on kernel.
1092	
1093	  Module snd-indigodj
1094	  -------------------
1095	
1096	    Module for Echoaudio Indigo DJ
1097	
1098	    This module supports multiple cards.
1099	    The driver requires the firmware loader support on kernel.
1100	
1101	  Module snd-indigoio
1102	  -------------------
1103	
1104	    Module for Echoaudio Indigo IO
1105	
1106	    This module supports multiple cards.
1107	    The driver requires the firmware loader support on kernel.
1108	
1109	  Module snd-intel8x0
1110	  -------------------
1111	
1112	    Module for AC'97 motherboards from Intel and compatibles.
1113				* Intel i810/810E, i815, i820, i830, i84x, MX440
1114					ICH5, ICH6, ICH7, 6300ESB, ESB2
1115				* SiS 7012 (SiS 735)
1116				* NVidia NForce, NForce2, NForce3, MCP04, CK804
1117					 CK8, CK8S, MCP501
1118				* AMD AMD768, AMD8111
1119				* ALi m5455
1120	
1121	    ac97_clock	  - AC'97 codec clock base (0 = auto-detect)
1122	    ac97_quirk    - AC'97 workaround for strange hardware
1123			    See "AC97 Quirk Option" section below.
1124	    buggy_irq     - Enable workaround for buggy interrupts on some
1125	                    motherboards (default yes on nForce chips,
1126			    otherwise off)
1127	    buggy_semaphore - Enable workaround for hardware with buggy
1128			    semaphores (e.g. on some ASUS laptops)
1129			    (default off)
1130	    spdif_aclink  - Use S/PDIF over AC-link instead of direct connection
1131			    from the controller chip
1132			    (0 = off, 1 = on, -1 = default)
1133	
1134	    This module supports one chip and autoprobe.
1135	
1136	    Note: the latest driver supports auto-detection of chip clock.
1137	    if you still encounter too fast playback, specify the clock
1138	    explicitly via the module option "ac97_clock=41194".
1139	
1140	    Joystick/MIDI ports are not supported by this driver.  If your
1141	    motherboard has these devices, use the ns558 or snd-mpu401
1142	    modules, respectively.
1143	
1144	    The power-management is supported.
1145	    
1146	  Module snd-intel8x0m
1147	  --------------------
1148	
1149	    Module for Intel ICH (i8x0) chipset MC97 modems.
1150				* Intel i810/810E, i815, i820, i830, i84x, MX440
1151					ICH5, ICH6, ICH7
1152				* SiS 7013 (SiS 735)
1153				* NVidia NForce, NForce2, NForce2s, NForce3
1154				* AMD AMD8111
1155				* ALi m5455
1156	
1157	    ac97_clock	  - AC'97 codec clock base (0 = auto-detect)
1158	
1159	    This module supports one card and autoprobe.
1160	
1161	    Note: The default index value of this module is -2, i.e. the first
1162	          slot is excluded.
1163	
1164	    The power-management is supported.
1165	
1166	  Module snd-interwave
1167	  --------------------
1168	
1169	    Module for Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32
1170	    and other sound cards based on AMD InterWave (tm) chip.
1171	  
1172	    joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1173	    midi	- 1 = MIDI UART enable, 0 = MIDI UART disable (default)
1174	    pcm_voices	- reserved PCM voices for the synthesizer (default 2)
1175	    effect	- 1 = InterWave effects enable (default 0);
1176	                  requires 8 voices
1177	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
1178	
1179	    with isapnp=0, the following options are available:
1180	
1181	    port	- port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
1182	    irq		- IRQ # for InterWave chip (3,5,9,11,12,15)
1183	    dma1	- DMA # for InterWave chip (0,1,3,5,6,7)
1184	    dma2	- DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
1185	
1186	    This module supports multiple cards, autoprobe and ISA PnP.
1187	
1188	  Module snd-interwave-stb
1189	  ------------------------
1190	
1191	    Module for UltraSound 32-Pro (sound card from STB used by Compaq)
1192	    and other sound cards based on AMD InterWave (tm) chip with TEA6330T
1193	    circuit for extended control of bass, treble and master volume.
1194	  
1195	    joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1196	    midi	- 1 = MIDI UART enable, 0 = MIDI UART disable (default)
1197	    pcm_voices	- reserved PCM voices for the synthesizer (default 2)
1198	    effect	- 1 = InterWave effects enable (default 0);
1199	                  requires 8 voices
1200	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
1201	
1202	    with isapnp=0, the following options are available:
1203	
1204	    port	- port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
1205	    port_tc	- tone control (i2c bus) port # for TEA6330T chip (0x350,0x360,0x370,0x380)
1206	    irq		- IRQ # for InterWave chip (3,5,9,11,12,15)
1207	    dma1	- DMA # for InterWave chip (0,1,3,5,6,7)
1208	    dma2	- DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
1209	
1210	    This module supports multiple cards, autoprobe and ISA PnP.
1211	
1212	  Module snd-jazz16
1213	  -------------------
1214	
1215	    Module for Media Vision Jazz16 chipset. The chipset consists of 3 chips:
1216	    MVD1216 + MVA416 + MVA514.
1217	
1218	    port	- port # for SB DSP chip (0x210,0x220,0x230,0x240,0x250,0x260)
1219	    irq		- IRQ # for SB DSP chip (3,5,7,9,10,15)
1220	    dma8	- DMA # for SB DSP chip (1,3)
1221	    dma16	- DMA # for SB DSP chip (5,7)
1222	    mpu_port	- MPU-401 port # (0x300,0x310,0x320,0x330)
1223	    mpu_irq	- MPU-401 irq # (2,3,5,7)
1224	
1225	    This module supports multiple cards.
1226	
1227	  Module snd-korg1212
1228	  -------------------
1229	
1230	    Module for Korg 1212 IO PCI card
1231	
1232	    This module supports multiple cards.
1233	
1234	  Module snd-layla20
1235	  ------------------
1236	
1237	    Module for Echoaudio Layla20
1238	
1239	    This module supports multiple cards.
1240	    The driver requires the firmware loader support on kernel.
1241	
1242	  Module snd-layla24
1243	  ------------------
1244	
1245	    Module for Echoaudio Layla24
1246	
1247	    This module supports multiple cards.
1248	    The driver requires the firmware loader support on kernel.
1249	
1250	  Module snd-lola
1251	  ---------------
1252	
1253	    Module for Digigram Lola PCI-e boards
1254	
1255	    This module supports multiple cards.
1256	
1257	  Module snd-lx6464es
1258	  -------------------
1259	
1260	    Module for Digigram LX6464ES boards
1261	
1262	    This module supports multiple cards.
1263	
1264	  Module snd-maestro3
1265	  -------------------
1266	
1267	    Module for Allegro/Maestro3 chips
1268	
1269	    external_amp     - enable external amp (enabled by default)
1270	    amp_gpio         - GPIO pin number for external amp (0-15) or
1271	                       -1 for default pin (8 for allegro, 1 for
1272	                       others) 
1273	
1274	    This module supports autoprobe and multiple chips.
1275	
1276	    Note: the binding of amplifier is dependent on hardware.
1277	    If there is no sound even though all channels are unmuted, try to
1278	    specify other gpio connection via amp_gpio option. 
1279	    For example, a Panasonic notebook might need "amp_gpio=0x0d"
1280	    option.
1281	
1282	    The power-management is supported.
1283	
1284	  Module snd-mia
1285	  ---------------
1286	
1287	    Module for Echoaudio Mia
1288	
1289	    This module supports multiple cards.
1290	    The driver requires the firmware loader support on kernel.
1291	
1292	  Module snd-miro
1293	  ---------------
1294	
1295	    Module for Miro soundcards: miroSOUND PCM 1 pro, 
1296					miroSOUND PCM 12,
1297					miroSOUND PCM 20 Radio.
1298	
1299	    port	- Port # (0x530,0x604,0xe80,0xf40)
1300	    irq		- IRQ # (5,7,9,10,11)
1301	    dma1	- 1st dma # (0,1,3)
1302	    dma2	- 2nd dma # (0,1)
1303	    mpu_port	- MPU-401 port # (0x300,0x310,0x320,0x330)
1304	    mpu_irq	- MPU-401 irq # (5,7,9,10)
1305	    fm_port	- FM Port # (0x388)
1306	    wss		- enable WSS mode
1307	    ide		- enable onboard ide support
1308	
1309	  Module snd-mixart
1310	  -----------------
1311	
1312	    Module for Digigram miXart8 sound cards.
1313	
1314	    This module supports multiple cards.
1315	    Note: One miXart8 board will be represented as 4 alsa cards.
1316	          See MIXART.txt for details.
1317	
1318	    When the driver is compiled as a module and the hotplug firmware
1319	    is supported, the firmware data is loaded via hotplug automatically.
1320	    Install the necessary firmware files in alsa-firmware package.
1321	    When no hotplug fw loader is available, you need to load the
1322	    firmware via mixartloader utility in alsa-tools package.
1323	
1324	  Module snd-mona
1325	  ---------------
1326	
1327	    Module for Echoaudio Mona
1328	
1329	    This module supports multiple cards.
1330	    The driver requires the firmware loader support on kernel.
1331	
1332	  Module snd-mpu401
1333	  -----------------
1334	
1335	    Module for MPU-401 UART devices.
1336	
1337	    port	- port number or -1 (disable)
1338	    irq		- IRQ number or -1 (disable)
1339	    pnp		- PnP detection - 0 = disable, 1 = enable (default)
1340	
1341	    This module supports multiple devices and PnP.
1342	    
1343	  Module snd-msnd-classic
1344	  -----------------------
1345	
1346	    Module for Turtle Beach MultiSound Classic, Tahiti or Monterey
1347	    soundcards.
1348	
1349	    io		- Port # for msnd-classic card
1350	    irq		- IRQ # for msnd-classic card
1351	    mem		- Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000,
1352			  0xe0000 or 0xe8000)
1353	    write_ndelay - enable write ndelay (default = 1)
1354	    calibrate_signal - calibrate signal (default = 0)
1355	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
1356	    digital	- Digital daughterboard present (default = 0)
1357	    cfg		- Config port (0x250, 0x260 or 0x270) default = PnP
1358	    reset	- Reset all devices
1359	    mpu_io	- MPU401 I/O port
1360	    mpu_irq	- MPU401 irq#
1361	    ide_io0	- IDE port #0
1362	    ide_io1	- IDE port #1
1363	    ide_irq	- IDE irq#
1364	    joystick_io	- Joystick I/O port
1365	
1366	    The driver requires firmware files "turtlebeach/msndinit.bin" and
1367	    "turtlebeach/msndperm.bin" in the proper firmware directory.
1368	
1369	    See Documentation/sound/oss/MultiSound for important information
1370	    about this driver.  Note that it has been discontinued, but the 
1371	    Voyetra Turtle Beach knowledge base entry for it is still available
1372	    at
1373		http://www.turtlebeach.com
1374	
1375	  Module snd-msnd-pinnacle
1376	  ------------------------
1377	
1378	    Module for Turtle Beach MultiSound Pinnacle/Fiji soundcards.
1379	
1380	    io		- Port # for pinnacle/fiji card
1381	    irq		- IRQ # for pinnalce/fiji card
1382	    mem		- Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000,
1383			  0xe0000 or 0xe8000)
1384	    write_ndelay - enable write ndelay (default = 1)
1385	    calibrate_signal - calibrate signal (default = 0)
1386	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
1387	
1388	    The driver requires firmware files "turtlebeach/pndspini.bin" and
1389	    "turtlebeach/pndsperm.bin" in the proper firmware directory.
1390	
1391	  Module snd-mtpav
1392	  ----------------
1393	
1394	    Module for MOTU MidiTimePiece AV multiport MIDI (on the parallel
1395	    port).
1396	
1397	    port	- I/O port # for MTPAV (0x378,0x278, default=0x378)
1398	    irq		- IRQ # for MTPAV (7,5, default=7)
1399	    hwports	- number of supported hardware ports, default=8.
1400	    
1401	    Module supports only 1 card.  This module has no enable option.
1402	
1403	  Module snd-mts64
1404	  ----------------
1405	
1406	    Module for Ego Systems (ESI) Miditerminal 4140
1407	
1408	    This module supports multiple devices.
1409	    Requires parport (CONFIG_PARPORT).
1410	
1411	  Module snd-nm256
1412	  ----------------
1413	
1414	    Module for NeoMagic NM256AV/ZX chips
1415	
1416	    playback_bufsize - max playback frame size in kB (4-128kB)
1417	    capture_bufsize  - max capture frame size in kB (4-128kB)
1418	    force_ac97       - 0 or 1 (disabled by default)
1419	    buffer_top       - specify buffer top address
1420	    use_cache        - 0 or 1 (disabled by default)
1421	    vaio_hack        - alias buffer_top=0x25a800
1422	    reset_workaround - enable AC97 RESET workaround for some laptops
1423	    reset_workaround2 - enable extended AC97 RESET workaround for some
1424			      other laptops
1425	
1426	    This module supports one chip and autoprobe.
1427	
1428	    The power-management is supported.
1429	
1430	    Note: on some notebooks the buffer address cannot be detected
1431	    automatically, or causes hang-up during initialization.
1432	    In such a case, specify the buffer top address explicitly via
1433	    the buffer_top option.
1434	    For example,
1435	      Sony F250: buffer_top=0x25a800
1436	      Sony F270: buffer_top=0x272800
1437	    The driver supports only ac97 codec.  It's possible to force
1438	    to initialize/use ac97 although it's not detected.  In such a
1439	    case, use force_ac97=1 option - but *NO* guarantee whether it
1440	    works!
1441	
1442	    Note: The NM256 chip can be linked internally with non-AC97
1443	    codecs.  This driver supports only the AC97 codec, and won't work
1444	    with machines with other (most likely CS423x or OPL3SAx) chips,
1445	    even though the device is detected in lspci.  In such a case, try
1446	    other drivers, e.g. snd-cs4232 or snd-opl3sa2.  Some has ISA-PnP
1447	    but some doesn't have ISA PnP.  You'll need to specify isapnp=0
1448	    and proper hardware parameters in the case without ISA PnP.
1449	
1450	    Note: some laptops need a workaround for AC97 RESET.  For the
1451	    known hardware like Dell Latitude LS and Sony PCG-F305, this
1452	    workaround is enabled automatically.  For other laptops with a
1453	    hard freeze, you can try reset_workaround=1 option.
1454	
1455	    Note: Dell Latitude CSx laptops have another problem regarding
1456	    AC97 RESET.  On these laptops, reset_workaround2 option is
1457	    turned on as default.  This option is worth to try if the
1458	    previous reset_workaround option doesn't help.
1459	
1460	    Note: This driver is really crappy.  It's a porting from the
1461	    OSS driver, which is a result of black-magic reverse engineering.
1462	    The detection of codec will fail if the driver is loaded *after*
1463	    X-server as described above.  You might be able to force to load
1464	    the module, but it may result in hang-up.   Hence, make sure that
1465	    you load this module *before* X if you encounter this kind of
1466	    problem.
1467	
1468	  Module snd-opl3sa2
1469	  ------------------
1470	
1471	    Module for Yamaha OPL3-SA2/SA3 sound cards.
1472	
1473	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
1474	
1475	    with isapnp=0, the following options are available:
1476	
1477	    port	- control port # for OPL3-SA chip (0x370)
1478	    sb_port	- SB port # for OPL3-SA chip (0x220,0x240)
1479	    wss_port	- WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604)
1480	    midi_port	- port # for MPU-401 UART (0x300,0x330), -1 = disable
1481	    fm_port	- FM port # for OPL3-SA chip (0x388), -1 = disable
1482	    irq		- IRQ # for OPL3-SA chip (5,7,9,10)
1483	    dma1	- first DMA # for Yamaha OPL3-SA chip (0,1,3)
1484	    dma2	- second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable
1485	    
1486	    This module supports multiple cards and ISA PnP.  It does not support
1487	    autoprobe (if ISA PnP is not used) thus all ports must be specified!!!
1488	    
1489	    The power-management is supported.
1490	
1491	  Module snd-opti92x-ad1848
1492	  -------------------------
1493	
1494	    Module for sound cards based on OPTi 82c92x and Analog Devices AD1848 chips.
1495	    Module works with OAK Mozart cards as well.
1496	    
1497	    isapnp    - ISA PnP detection - 0 = disable, 1 = enable (default)
1498	
1499	    with isapnp=0, the following options are available:
1500	
1501	    port      - port # for WSS chip (0x530,0xe80,0xf40,0x604)
1502	    mpu_port  - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1503	    fm_port   - port # for OPL3 device (0x388)
1504	    irq       - IRQ # for WSS chip (5,7,9,10,11)
1505	    mpu_irq   - IRQ # for MPU-401 UART (5,7,9,10)
1506	    dma1      - first DMA # for WSS chip (0,1,3)
1507	
1508	    This module supports only one card, autoprobe and PnP.
1509	
1510	  Module snd-opti92x-cs4231
1511	  -------------------------
1512	
1513	    Module for sound cards based on OPTi 82c92x and Crystal CS4231 chips.
1514	    
1515	    isapnp    - ISA PnP detection - 0 = disable, 1 = enable (default)
1516	
1517	    with isapnp=0, the following options are available:
1518	
1519	    port      - port # for WSS chip (0x530,0xe80,0xf40,0x604)
1520	    mpu_port  - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1521	    fm_port   - port # for OPL3 device (0x388)
1522	    irq       - IRQ # for WSS chip (5,7,9,10,11)
1523	    mpu_irq   - IRQ # for MPU-401 UART (5,7,9,10)
1524	    dma1      - first DMA # for WSS chip (0,1,3)
1525	    dma2      - second DMA # for WSS chip (0,1,3)
1526	
1527	    This module supports only one card, autoprobe and PnP.
1528	
1529	  Module snd-opti93x
1530	  ------------------
1531	
1532	    Module for sound cards based on OPTi 82c93x chips.
1533	    
1534	    isapnp    - ISA PnP detection - 0 = disable, 1 = enable (default)
1535	
1536	    with isapnp=0, the following options are available:
1537	
1538	    port      - port # for WSS chip (0x530,0xe80,0xf40,0x604)
1539	    mpu_port  - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1540	    fm_port   - port # for OPL3 device (0x388)
1541	    irq       - IRQ # for WSS chip (5,7,9,10,11)
1542	    mpu_irq   - IRQ # for MPU-401 UART (5,7,9,10)
1543	    dma1      - first DMA # for WSS chip (0,1,3)
1544	    dma2      - second DMA # for WSS chip (0,1,3)
1545	
1546	    This module supports only one card, autoprobe and PnP.
1547	
1548	  Module snd-oxygen
1549	  -----------------
1550	
1551	    Module for sound cards based on the C-Media CMI8786/8787/8788 chip:
1552	    * Asound A-8788
1553	    * Asus Xonar DG/DGX
1554	    * AuzenTech X-Meridian
1555	    * AuzenTech X-Meridian 2G
1556	    * Bgears b-Enspirer
1557	    * Club3D Theatron DTS
1558	    * HT-Omega Claro (plus)
1559	    * HT-Omega Claro halo (XT)
1560	    * Kuroutoshikou CMI8787-HG2PCI
1561	    * Razer Barracuda AC-1
1562	    * Sondigo Inferno
1563	    * TempoTec HiFier Fantasia
1564	    * TempoTec HiFier Serenade
1565	
1566	    This module supports autoprobe and multiple cards.
1567	
1568	  Module snd-pcsp
1569	  -----------------
1570	
1571	    Module for internal PC-Speaker.
1572	
1573	    nopcm	- Disable PC-Speaker PCM sound. Only beeps remain.
1574	    nforce_wa	- enable NForce chipset workaround. Expect bad sound.
1575	
1576	    This module supports system beeps, some kind of PCM playback and
1577	    even a few mixer controls.
1578	
1579	  Module snd-pcxhr
1580	  ----------------
1581	
1582	    Module for Digigram PCXHR boards
1583	
1584	    This module supports multiple cards.
1585	
1586	  Module snd-portman2x4
1587	  ---------------------
1588	
1589	    Module for Midiman Portman 2x4 parallel port MIDI interface
1590	
1591	    This module supports multiple cards.
1592	
1593	  Module snd-powermac (on ppc only)
1594	  ---------------------------------
1595	
1596	    Module for PowerMac, iMac and iBook on-board soundchips
1597	
1598	    enable_beep     - enable beep using PCM (enabled as default)
1599	
1600	    Module supports autoprobe a chip.
1601	
1602	    Note: the driver may have problems regarding endianness.
1603	
1604	    The power-management is supported.
1605	
1606	  Module snd-pxa2xx-ac97 (on arm only)
1607	  ------------------------------------
1608	
1609	    Module for AC97 driver for the Intel PXA2xx chip
1610	
1611	    For ARM architecture only.
1612	
1613	    The power-management is supported.
1614	
1615	  Module snd-riptide
1616	  ------------------
1617	
1618	    Module for Conexant Riptide chip
1619	
1620	      joystick_port	- Joystick port # (default: 0x200)
1621	      mpu_port		- MPU401 port # (default: 0x330)
1622	      opl3_port		- OPL3 port # (default: 0x388)
1623	
1624	    This module supports multiple cards.
1625	    The driver requires the firmware loader support on kernel.
1626	    You need to install the firmware file "riptide.hex" to the standard
1627	    firmware path (e.g. /lib/firmware).
1628	
1629	  Module snd-rme32
1630	  ----------------
1631	
1632	    Module for RME Digi32, Digi32 Pro and Digi32/8 (Sek'd Prodif32, 
1633	    Prodif96 and Prodif Gold) sound cards.
1634	
1635	    This module supports multiple cards.
1636	
1637	  Module snd-rme96
1638	  ----------------
1639	
1640	    Module for RME Digi96, Digi96/8 and Digi96/8 PRO/PAD/PST sound cards.
1641	
1642	    This module supports multiple cards.
1643	
1644	  Module snd-rme9652
1645	  ------------------
1646	
1647	    Module for RME Digi9652 (Hammerfall, Hammerfall-Light) sound cards.
1648	
1649	    precise_ptr	- Enable precise pointer (doesn't work reliably).
1650			  (default = 0)
1651	
1652	    This module supports multiple cards.
1653	
1654	    Note: snd-page-alloc module does the job which snd-hammerfall-mem
1655	          module did formerly.  It will allocate the buffers in advance
1656	          when any RME9652 cards are found.  To make the buffer
1657	          allocation sure, load snd-page-alloc module in the early
1658	          stage of boot sequence.  See "Early Buffer Allocation"
1659		  section.
1660	
1661	  Module snd-sa11xx-uda1341 (on arm only)
1662	  ---------------------------------------
1663	
1664	    Module for Philips UDA1341TS on Compaq iPAQ H3600 sound card.
1665	
1666	    Module supports only one card.
1667	    Module has no enable and index options.
1668	
1669	    The power-management is supported.
1670	
1671	  Module snd-sb8
1672	  --------------
1673	
1674	    Module for 8-bit SoundBlaster cards: SoundBlaster 1.0,
1675						 SoundBlaster 2.0,
1676						 SoundBlaster Pro
1677	
1678	    port	- port # for SB DSP chip (0x220,0x240,0x260)
1679	    irq		- IRQ # for SB DSP chip (5,7,9,10)
1680	    dma8	- DMA # for SB DSP chip (1,3)
1681	
1682	    This module supports multiple cards and autoprobe.
1683	    
1684	    The power-management is supported.
1685	
1686	  Module snd-sb16 and snd-sbawe
1687	  -----------------------------
1688	
1689	    Module for 16-bit SoundBlaster cards: SoundBlaster 16 (PnP),
1690						  SoundBlaster AWE 32 (PnP),
1691						  SoundBlaster AWE 64 PnP
1692	
1693	    mic_agc	- Mic Auto-Gain-Control - 0 = disable, 1 = enable (default)
1694	    csp		- ASP/CSP chip support - 0 = disable (default), 1 = enable
1695	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
1696	
1697	    with isapnp=0, the following options are available:
1698	
1699	    port	- port # for SB DSP 4.x chip (0x220,0x240,0x260)
1700	    mpu_port	- port # for MPU-401 UART (0x300,0x330), -1 = disable
1701	    awe_port	- base port # for EMU8000 synthesizer (0x620,0x640,0x660)
1702	                   (snd-sbawe module only)
1703	    irq		- IRQ # for SB DSP 4.x chip (5,7,9,10)
1704	    dma8	- 8-bit DMA # for SB DSP 4.x chip (0,1,3)
1705	    dma16	- 16-bit DMA # for SB DSP 4.x chip (5,6,7)
1706	    
1707	    This module supports multiple cards, autoprobe and ISA PnP.
1708	
1709	    Note: To use Vibra16X cards in 16-bit half duplex mode, you must
1710	          disable 16bit DMA with dma16 = -1 module parameter.
1711	          Also, all Sound Blaster 16 type cards can operate in 16-bit
1712	          half duplex mode through 8-bit DMA channel by disabling their
1713	          16-bit DMA channel.
1714	    
1715	    The power-management is supported.
1716	
1717	  Module snd-sc6000
1718	  -----------------
1719	
1720	    Module for Gallant SC-6000 soundcard and later models: SC-6600
1721	    and SC-7000.
1722	
1723	    port	- Port # (0x220 or 0x240)
1724	    mss_port	- MSS Port # (0x530 or 0xe80)
1725	    irq		- IRQ # (5,7,9,10,11)
1726	    mpu_irq	- MPU-401 IRQ # (5,7,9,10) ,0 - no MPU-401 irq
1727	    dma		- DMA # (1,3,0)
1728	    joystick	- Enable gameport - 0 = disable (default), 1 = enable
1729	
1730	    This module supports multiple cards.
1731	
1732	    This card is also known as Audio Excel DSP 16 or Zoltrix AV302.
1733	
1734	  Module snd-sscape
1735	  -----------------
1736	
1737	    Module for ENSONIQ SoundScape cards.
1738	
1739	    port	- Port # (PnP setup)
1740	    wss_port	- WSS Port # (PnP setup)
1741	    irq		- IRQ # (PnP setup)
1742	    mpu_irq	- MPU-401 IRQ # (PnP setup)
1743	    dma		- DMA # (PnP setup)
1744	    dma2	- 2nd DMA # (PnP setup, -1 to disable)
1745	    joystick	- Enable gameport - 0 = disable (default), 1 = enable
1746	
1747	    This module supports multiple cards.
1748	
1749	    The driver requires the firmware loader support on kernel.
1750	
1751	  Module snd-sun-amd7930 (on sparc only)
1752	  --------------------------------------
1753	
1754	    Module for AMD7930 sound chips found on Sparcs.
1755	
1756	    This module supports multiple cards.
1757	
1758	  Module snd-sun-cs4231 (on sparc only)
1759	  -------------------------------------
1760	
1761	    Module for CS4231 sound chips found on Sparcs.
1762	
1763	    This module supports multiple cards.
1764	
1765	  Module snd-sun-dbri (on sparc only)
1766	  -----------------------------------
1767	
1768	    Module for DBRI sound chips found on Sparcs.
1769	
1770	    This module supports multiple cards.
1771	
1772	  Module snd-wavefront
1773	  --------------------
1774	
1775	    Module for Turtle Beach Maui, Tropez and Tropez+ sound cards.
1776	
1777	    use_cs4232_midi - Use CS4232 MPU-401 interface
1778	                      (inaccessibly located inside your computer)
1779	    isapnp          - ISA PnP detection - 0 = disable, 1 = enable (default)
1780	
1781	    with isapnp=0, the following options are available:
1782	
1783	    cs4232_pcm_port - Port # for CS4232 PCM interface.
1784	    cs4232_pcm_irq  - IRQ # for CS4232 PCM interface (5,7,9,11,12,15).
1785	    cs4232_mpu_port - Port # for CS4232 MPU-401 interface.
1786	    cs4232_mpu_irq  - IRQ # for CS4232 MPU-401 interface (9,11,12,15).
1787	    ics2115_port    - Port # for ICS2115
1788	    ics2115_irq     - IRQ # for ICS2115
1789	    fm_port         - FM OPL-3 Port #
1790	    dma1            - DMA1 # for CS4232 PCM interface.
1791	    dma2            - DMA2 # for CS4232 PCM interface.
1792	
1793	    The below are options for wavefront_synth features:
1794	    wf_raw	    - Assume that we need to boot the OS (default:no)
1795		If yes, then during driver loading, the state of the board is
1796		ignored, and we reset the board and load the firmware anyway.
1797	    fx_raw	    - Assume that the FX process needs help (default:yes)
1798		If false, we'll leave the FX processor in whatever state it is
1799		when the driver is loaded.  The default is to download the
1800		microprogram and associated coefficients to set it up for
1801		"default" operation, whatever that means.
1802	    debug_default   - Debug parameters for card initialization
1803	    wait_usecs	    - How long to wait without sleeping, usecs
1804			      (default:150)
1805		This magic number seems to give pretty optimal throughput
1806		based on my limited experimentation. 
1807		If you want to play around with it and find a better value, be
1808		my guest. Remember, the idea is to get a number that causes us
1809		to just busy wait for as many WaveFront commands as possible,
1810		without coming up with a number so large that we hog the whole
1811		CPU. 
1812		Specifically, with this number, out of about 134,000 status
1813		waits, only about 250 result in a sleep. 
1814	    sleep_interval  - How long to sleep when waiting for reply
1815			      (default: 100)
1816	    sleep_tries	    - How many times to try sleeping during a wait
1817			      (default: 50)
1818	    ospath	    - Pathname to processed ICS2115 OS firmware
1819			      (default:wavefront.os)
1820		The path name of the ISC2115 OS firmware.  In the recent
1821		version, it's handled via firmware loader framework, so it
1822		must be installed in the proper path, typically,
1823		/lib/firmware.
1824	    reset_time	    - How long to wait for a reset to take effect
1825			      (default:2)
1826	    ramcheck_time   - How many seconds to wait for the RAM test
1827			      (default:20)
1828	    osrun_time	    - How many seconds to wait for the ICS2115 OS
1829			      (default:10)
1830	
1831	    This module supports multiple cards and ISA PnP.
1832	
1833	    Note: the firmware file "wavefront.os" was located in the earlier
1834	          version in /etc.  Now it's loaded via firmware loader, and
1835		  must be in the proper firmware path, such as /lib/firmware.
1836		  Copy (or symlink) the file appropriately if you get an error
1837		  regarding firmware downloading after upgrading the kernel.
1838	
1839	  Module snd-sonicvibes
1840	  ---------------------
1841	
1842	    Module for S3 SonicVibes PCI sound cards.
1843				* PINE Schubert 32 PCI
1844	
1845	    reverb    - Reverb Enable - 1 = enable, 0 = disable (default)
1846	                  - SoundCard must have onboard SRAM for this.
1847	    mge       - Mic Gain Enable - 1 = enable, 0 = disable (default)
1848	    
1849	    This module supports multiple cards and autoprobe.
1850	
1851	  Module snd-serial-u16550
1852	  ------------------------
1853	
1854	    Module for UART16550A serial MIDI ports.
1855	
1856	    port	- port # for UART16550A chip
1857	    irq		- IRQ # for UART16550A chip, -1 = poll mode
1858	    speed	- speed in bauds (9600,19200,38400,57600,115200)
1859			  38400 = default
1860	    base	- base for divisor in bauds (57600,115200,230400,460800)
1861			  115200 = default
1862	    outs	- number of MIDI ports in a serial port (1-4)
1863			  1 = default
1864	    adaptor	- Type of adaptor.
1865	                  0 = Soundcanvas, 1 = MS-124T, 2 = MS-124W S/A,
1866			  3 = MS-124W M/B, 4 = Generic
1867	    
1868	    This module supports multiple cards. This module does not support autoprobe
1869	    thus the main port must be specified!!! Other options are optional.
1870	
1871	  Module snd-trident
1872	  ------------------
1873	
1874	    Module for Trident 4DWave DX/NX sound cards.
1875				* Best Union  Miss Melody 4DWave PCI
1876				* HIS  4DWave PCI
1877				* Warpspeed  ONSpeed 4DWave PCI
1878				* AzTech  PCI 64-Q3D
1879				* Addonics  SV 750
1880				* CHIC  True Sound 4Dwave
1881				* Shark  Predator4D-PCI
1882				* Jaton  SonicWave 4D
1883				* SiS SI7018 PCI Audio
1884				* Hoontech SoundTrack Digital 4DWave NX
1885	
1886	    pcm_channels   - max channels (voices) reserved for PCM
1887	    wavetable_size - max wavetable size in kB (4-?kb)
1888	
1889	    This module supports multiple cards and autoprobe.
1890	
1891	    The power-management is supported.
1892	
1893	  Module snd-ua101
1894	  ----------------
1895	
1896	    Module for the Edirol UA-101/UA-1000 audio/MIDI interfaces.
1897	
1898	    This module supports multiple devices, autoprobe and hotplugging.
1899	
1900	  Module snd-usb-audio
1901	  --------------------
1902	
1903	    Module for USB audio and USB MIDI devices.
1904	
1905	    vid             - Vendor ID for the device (optional)
1906	    pid             - Product ID for the device (optional)
1907	    nrpacks	    - Max. number of packets per URB (default: 8)
1908	    device_setup    - Device specific magic number (optional)
1909	                    - Influence depends on the device
1910	                    - Default: 0x0000 
1911	    ignore_ctl_error - Ignore any USB-controller regarding mixer
1912	    		       interface (default: no)
1913	    autoclock	    - Enable auto-clock selection for UAC2 devices
1914			      (default: yes)
1915	    quirk_alias	    - Quirk alias list, pass strings like
1916			      "0123abcd:5678beef", which applies the existing
1917			      quirk for the device 5678:beef to a new device
1918			      0123:abcd.
1919	
1920	    This module supports multiple devices, autoprobe and hotplugging.
1921	
1922	    NB: nrpacks parameter can be modified dynamically via sysfs.
1923	        Don't put the value over 20.  Changing via sysfs has no sanity
1924		check.
1925	    NB: ignore_ctl_error=1 may help when you get an error at accessing
1926	        the mixer element such as URB error -22.  This happens on some
1927	        buggy USB device or the controller.
1928	    NB: quirk_alias option is provided only for testing / development.
1929	        If you want to have a proper support, contact to upstream for
1930		adding the matching quirk in the driver code statically.
1931	
1932	  Module snd-usb-caiaq
1933	  --------------------
1934	
1935	    Module for caiaq UB audio interfaces,
1936		    * Native Instruments RigKontrol2
1937		    * Native Instruments Kore Controller
1938		    * Native Instruments Audio Kontrol 1
1939		    * Native Instruments Audio 8 DJ
1940	
1941	    This module supports multiple devices, autoprobe and hotplugging.
1942	
1943	  Module snd-usb-usx2y
1944	  --------------------
1945	
1946	    Module for Tascam USB US-122, US-224 and US-428 devices.
1947	
1948	    This module supports multiple devices, autoprobe and hotplugging.
1949	
1950	    Note: you need to load the firmware via usx2yloader utility included
1951	          in alsa-tools and alsa-firmware packages.
1952	
1953	  Module snd-via82xx
1954	  ------------------
1955	
1956	    Module for AC'97 motherboards based on VIA 82C686A/686B, 8233,
1957	    8233A, 8233C, 8235, 8237 (south) bridge.
1958	
1959	    mpu_port	- 0x300,0x310,0x320,0x330, otherwise obtain BIOS setup
1960			  [VIA686A/686B only]
1961	    joystick	- Enable joystick (default off) [VIA686A/686B only]
1962	    ac97_clock	- AC'97 codec clock base (default 48000Hz)
1963	    dxs_support	- support DXS channels,
1964			  0 = auto (default), 1 = enable, 2 = disable,
1965			  3 = 48k only, 4 = no VRA, 5 = enable any sample
1966			  rate and different sample rates on different
1967			  channels
1968			  [VIA8233/C, 8235, 8237 only]
1969	    ac97_quirk  - AC'97 workaround for strange hardware
1970			  See "AC97 Quirk Option" section below.
1971	
1972	    This module supports one chip and autoprobe.
1973	
1974	    Note: on some SMP motherboards like MSI 694D the interrupts might
1975	          not be generated properly.  In such a case, please try to
1976	          set the SMP (or MPS) version on BIOS to 1.1 instead of
1977	          default value 1.4.  Then the interrupt number will be
1978	          assigned under 15. You might also upgrade your BIOS.
1979	    
1980	    Note: VIA8233/5/7 (not VIA8233A) can support DXS (direct sound)
1981		  channels as the first PCM.  On these channels, up to 4
1982		  streams can be played at the same time, and the controller
1983		  can perform sample rate conversion with separate rates for
1984		  each channel.
1985		  As default (dxs_support = 0), 48k fixed rate is chosen
1986		  except for the known devices since the output is often
1987		  noisy except for 48k on some mother boards due to the
1988		  bug of BIOS.
1989		  Please try once dxs_support=5 and if it works on other
1990		  sample rates (e.g. 44.1kHz of mp3 playback), please let us
1991		  know the PCI subsystem vendor/device id's (output of
1992		  "lspci -nv").
1993		  If dxs_support=5 does not work, try dxs_support=4; if it
1994		  doesn't work too, try dxs_support=1.  (dxs_support=1 is
1995		  usually for old motherboards.  The correct implemented
1996		  board should work with 4 or 5.)  If it still doesn't
1997		  work and the default setting is ok, dxs_support=3 is the
1998		  right choice.  If the default setting doesn't work at all,
1999		  try dxs_support=2 to disable the DXS channels.
2000		  In any cases, please let us know the result and the
2001		  subsystem vendor/device ids.  See "Links and Addresses"
2002		  below.
2003	
2004	    Note: for the MPU401 on VIA823x, use snd-mpu401 driver
2005		  additionally.  The mpu_port option is for VIA686 chips only.
2006	
2007	    The power-management is supported.
2008	
2009	  Module snd-via82xx-modem
2010	  ------------------------
2011	
2012	    Module for VIA82xx AC97 modem
2013	
2014	    ac97_clock	- AC'97 codec clock base (default 48000Hz)
2015	
2016	    This module supports one card and autoprobe.
2017	
2018	    Note: The default index value of this module is -2, i.e. the first
2019	          slot is excluded.
2020	
2021	    The power-management is supported.
2022	
2023	  Module snd-virmidi
2024	  ------------------
2025	
2026	    Module for virtual rawmidi devices.
2027	    This module creates virtual rawmidi devices which communicate
2028	    to the corresponding ALSA sequencer ports.
2029	
2030	    midi_devs	- MIDI devices # (1-4, default=4)
2031	    
2032	    This module supports multiple cards.
2033	
2034	  Module snd-virtuoso
2035	  -------------------
2036	
2037	    Module for sound cards based on the Asus AV66/AV100/AV200 chips,
2038	    i.e., Xonar D1, DX, D2, D2X, DS, DSX, Essence ST (Deluxe),
2039	    Essence STX (II), HDAV1.3 (Deluxe), and HDAV1.3 Slim.
2040	
2041	    This module supports autoprobe and multiple cards.
2042	
2043	  Module snd-vx222
2044	  ----------------
2045	
2046	    Module for Digigram VX-Pocket VX222, V222 v2 and Mic cards.
2047	
2048	    mic		- Enable Microphone on V222 Mic (NYI)
2049	    ibl		- Capture IBL size. (default = 0, minimum size)
2050	
2051	    This module supports multiple cards.
2052	
2053	    When the driver is compiled as a module and the hotplug firmware
2054	    is supported, the firmware data is loaded via hotplug automatically.
2055	    Install the necessary firmware files in alsa-firmware package.
2056	    When no hotplug fw loader is available, you need to load the
2057	    firmware via vxloader utility in alsa-tools package.  To invoke
2058	    vxloader automatically, add the following to /etc/modprobe.d/alsa.conf
2059	
2060		install snd-vx222 /sbin/modprobe --first-time -i snd-vx222 && /usr/bin/vxloader
2061	
2062	    (for 2.2/2.4 kernels, add "post-install /usr/bin/vxloader" to
2063	     /etc/modules.conf, instead.)
2064	    IBL size defines the interrupts period for PCM.  The smaller size
2065	    gives smaller latency but leads to more CPU consumption, too.
2066	    The size is usually aligned to 126.  As default (=0), the smallest
2067	    size is chosen.  The possible IBL values can be found in
2068	    /proc/asound/cardX/vx-status proc file.
2069	
2070	    The power-management is supported.
2071	
2072	  Module snd-vxpocket
2073	  -------------------
2074	
2075	    Module for Digigram VX-Pocket VX2 and 440 PCMCIA cards.
2076	
2077	    ibl      - Capture IBL size. (default = 0, minimum size)
2078	
2079	    This module supports multiple cards.  The module is compiled only when
2080	    PCMCIA is supported on kernel.
2081	
2082	    With the older 2.6.x kernel, to activate the driver via the card
2083	    manager, you'll need to set up /etc/pcmcia/vxpocket.conf.  See the
2084	    sound/pcmcia/vx/vxpocket.c.  2.6.13 or later kernel requires no
2085	    longer require a config file.
2086	
2087	    When the driver is compiled as a module and the hotplug firmware
2088	    is supported, the firmware data is loaded via hotplug automatically.
2089	    Install the necessary firmware files in alsa-firmware package.
2090	    When no hotplug fw loader is available, you need to load the
2091	    firmware via vxloader utility in alsa-tools package.
2092	
2093	    About capture IBL, see the description of snd-vx222 module.
2094	
2095	    Note: snd-vxp440 driver is merged to snd-vxpocket driver since
2096	           ALSA 1.0.10.
2097	
2098	    The power-management is supported.
2099	
2100	  Module snd-ymfpci
2101	  -----------------
2102	
2103	    Module for Yamaha PCI chips (YMF72x, YMF74x & YMF75x).
2104	
2105	    mpu_port      - 0x300,0x330,0x332,0x334, 0 (disable) by default,
2106	                    1 (auto-detect for YMF744/754 only)
2107	    fm_port       - 0x388,0x398,0x3a0,0x3a8, 0 (disable) by default
2108	                    1 (auto-detect for YMF744/754 only)
2109	    joystick_port - 0x201,0x202,0x204,0x205, 0 (disable) by default,
2110	                    1 (auto-detect)
2111	    rear_switch   - enable shared rear/line-in switch (bool)
2112	
2113	    This module supports autoprobe and multiple chips.
2114	
2115	    The power-management is supported.
2116	
2117	  Module snd-pdaudiocf
2118	  --------------------
2119	
2120	    Module for Sound Core PDAudioCF sound card.
2121	
2122	    The power-management is supported.
2123	
2124	
2125	AC97 Quirk Option
2126	=================
2127	
2128	The ac97_quirk option is used to enable/override the workaround for
2129	specific devices on drivers for on-board AC'97 controllers like
2130	snd-intel8x0.  Some hardware have swapped output pins between Master
2131	and Headphone, or Surround (thanks to confusion of AC'97
2132	specifications from version to version :-)
2133	
2134	The driver provides the auto-detection of known problematic devices,
2135	but some might be unknown or wrongly detected.  In such a case, pass
2136	the proper value with this option.
2137	
2138	The following strings are accepted:
2139	    - default	Don't override the default setting
2140	    - none	Disable the quirk
2141	    - hp_only	Bind Master and Headphone controls as a single control
2142	    - swap_hp	Swap headphone and master controls
2143	    - swap_surround  Swap master and surround controls
2144	    - ad_sharing  For AD1985, turn on OMS bit and use headphone
2145	    - alc_jack	For ALC65x, turn on the jack sense mode
2146	    - inv_eapd	Inverted EAPD implementation
2147	    - mute_led	Bind EAPD bit for turning on/off mute LED
2148	
2149	For backward compatibility, the corresponding integer value -1, 0,
2150	... are  accepted, too.
2151	
2152	For example, if "Master" volume control has no effect on your device
2153	but only "Headphone" does, pass ac97_quirk=hp_only module option.
2154	
2155	
2156	Configuring Non-ISAPNP Cards
2157	============================
2158	
2159	When the kernel is configured with ISA-PnP support, the modules
2160	supporting the isapnp cards will have module options "isapnp".
2161	If this option is set, *only* the ISA-PnP devices will be probed.
2162	For probing the non ISA-PnP cards, you have to pass "isapnp=0" option
2163	together with the proper i/o and irq configuration.
2164	
2165	When the kernel is configured without ISA-PnP support, isapnp option
2166	will be not built in.
2167	
2168	
2169	Module Autoloading Support
2170	==========================
2171	
2172	The ALSA drivers can be loaded automatically on demand by defining
2173	module aliases.  The string 'snd-card-%1' is requested for ALSA native
2174	devices where %i is sound card number from zero to seven.
2175	
2176	To auto-load an ALSA driver for OSS services, define the string
2177	'sound-slot-%i' where %i means the slot number for OSS, which
2178	corresponds to the card index of ALSA.  Usually, define this
2179	as the same card module.
2180	
2181	An example configuration for a single emu10k1 card is like below:
2182	----- /etc/modprobe.d/alsa.conf
2183	alias snd-card-0 snd-emu10k1
2184	alias sound-slot-0 snd-emu10k1
2185	----- /etc/modprobe.d/alsa.conf
2186	
2187	The available number of auto-loaded sound cards depends on the module
2188	option "cards_limit" of snd module.  As default it's set to 1.
2189	To enable the auto-loading of multiple cards, specify the number of
2190	sound cards in that option.
2191	
2192	When multiple cards are available, it'd better to specify the index
2193	number for each card via module option, too, so that the order of
2194	cards is kept consistent.
2195	
2196	An example configuration for two sound cards is like below:
2197	
2198	----- /etc/modprobe.d/alsa.conf
2199	# ALSA portion
2200	options snd cards_limit=2
2201	alias snd-card-0 snd-interwave
2202	alias snd-card-1 snd-ens1371
2203	options snd-interwave index=0
2204	options snd-ens1371 index=1
2205	# OSS/Free portion
2206	alias sound-slot-0 snd-interwave
2207	alias sound-slot-1 snd-ens1371
2208	----- /etc/modprobe.d/alsa.conf
2209	
2210	In this example, the interwave card is always loaded as the first card
2211	(index 0) and ens1371 as the second (index 1).
2212	
2213	Alternative (and new) way to fixate the slot assignment is to use
2214	"slots" option of snd module.  In the case above, specify like the
2215	following: 
2216	
2217	options snd slots=snd-interwave,snd-ens1371
2218	
2219	Then, the first slot (#0) is reserved for snd-interwave driver, and
2220	the second (#1) for snd-ens1371.  You can omit index option in each
2221	driver if slots option is used (although you can still have them at
2222	the same time as long as they don't conflict).
2223	
2224	The slots option is especially useful for avoiding the possible
2225	hot-plugging and the resultant slot conflict.  For example, in the
2226	case above again, the first two slots are already reserved.  If any
2227	other driver (e.g. snd-usb-audio) is loaded before snd-interwave or
2228	snd-ens1371, it will be assigned to the third or later slot.
2229	
2230	When a module name is given with '!', the slot will be given for any
2231	modules but that name.  For example, "slots=!snd-pcsp" will reserve
2232	the first slot for any modules but snd-pcsp. 
2233	
2234	
2235	ALSA PCM devices to OSS devices mapping
2236	=======================================
2237	
2238	/dev/snd/pcmC0D0[c|p]  -> /dev/audio0 (/dev/audio) -> minor 4
2239	/dev/snd/pcmC0D0[c|p]  -> /dev/dsp0 (/dev/dsp)     -> minor 3
2240	/dev/snd/pcmC0D1[c|p]  -> /dev/adsp0 (/dev/adsp)   -> minor 12
2241	/dev/snd/pcmC1D0[c|p]  -> /dev/audio1              -> minor 4+16 = 20
2242	/dev/snd/pcmC1D0[c|p]  -> /dev/dsp1                -> minor 3+16 = 19
2243	/dev/snd/pcmC1D1[c|p]  -> /dev/adsp1               -> minor 12+16 = 28
2244	/dev/snd/pcmC2D0[c|p]  -> /dev/audio2              -> minor 4+32 = 36
2245	/dev/snd/pcmC2D0[c|p]  -> /dev/dsp2                -> minor 3+32 = 39
2246	/dev/snd/pcmC2D1[c|p]  -> /dev/adsp2               -> minor 12+32 = 44
2247	
2248	The first number from /dev/snd/pcmC{X}D{Y}[c|p] expression means
2249	sound card number and second means device number.  The ALSA devices
2250	have either 'c' or 'p' suffix indicating the direction, capture and
2251	playback, respectively.
2252	
2253	Please note that the device mapping above may be varied via the module
2254	options of snd-pcm-oss module.
2255	
2256	
2257	Proc interfaces (/proc/asound)
2258	==============================
2259	
2260	/proc/asound/card#/pcm#[cp]/oss
2261	-------------------------------
2262	  String "erase" - erase all additional information about OSS applications
2263	  String "<app_name> <fragments> <fragment_size> [<options>]"
2264	
2265	   <app_name> - name of application with (higher priority) or without path
2266	   <fragments> - number of fragments or zero if auto
2267	   <fragment_size> - size of fragment in bytes or zero if auto
2268	   <options> - optional parameters
2269		  - disable   the application tries to open a pcm device for
2270			      this channel but does not want to use it.
2271			      (Cause a bug or mmap needs)
2272			      It's good for Quake etc...
2273		  - direct    don't use plugins
2274		  - block     force block mode (rvplayer)
2275		  - non-block force non-block mode
2276		  - whole-frag  write only whole fragments (optimization affecting
2277				playback only)
2278		  - no-silence  do not fill silence ahead to avoid clicks
2279		  - buggy-ptr	Returns the whitespace blocks in GETOPTR ioctl
2280				instead of filled blocks
2281	
2282	  Example: echo "x11amp 128 16384" > /proc/asound/card0/pcm0p/oss
2283	           echo "squake 0 0 disable" > /proc/asound/card0/pcm0c/oss
2284		   echo "rvplayer 0 0 block" > /proc/asound/card0/pcm0p/oss
2285	
2286	
2287	Early Buffer Allocation
2288	=======================
2289	
2290	Some drivers (e.g. hdsp) require the large contiguous buffers, and
2291	sometimes it's too late to find such spaces when the driver module is
2292	actually loaded due to memory fragmentation.  You can pre-allocate the
2293	PCM buffers by loading snd-page-alloc module and write commands to its
2294	proc file in prior, for example, in the early boot stage like
2295	/etc/init.d/*.local scripts.
2296	
2297	Reading the proc file /proc/drivers/snd-page-alloc shows the current
2298	usage of page allocation.  In writing, you can send the following
2299	commands to the snd-page-alloc driver:
2300	
2301	  - add VENDOR DEVICE MASK SIZE BUFFERS
2302	
2303	    VENDOR and DEVICE are PCI vendor and device IDs.  They take
2304	    integer numbers (0x prefix is needed for the hex).
2305	    MASK is the PCI DMA mask.  Pass 0 if not restricted.
2306	    SIZE is the size of each buffer to allocate.  You can pass
2307	    k and m suffix for KB and MB.  The max number is 16MB.
2308	    BUFFERS is the number of buffers to allocate.  It must be greater
2309	    than 0.  The max number is 4.
2310	
2311	  - erase
2312	
2313	    This will erase the all pre-allocated buffers which are not in
2314	    use.
2315	
2316	
2317	Links and Addresses
2318	===================
2319	
2320	  ALSA project homepage
2321	       http://www.alsa-project.org
2322	
2323	  Kernel Bugzilla
2324	       http://bugzilla.kernel.org/
2325	
2326	  ALSA Developers ML
2327	       mailto:alsa-devel@alsa-project.org
2328	
2329	  alsa-info.sh script
2330	       http://www.alsa-project.org/alsa-info.sh
Hide Line Numbers


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog